home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 February / Chip_2003-02_cd1.bin / zkuste / case / download / _SETUP.1 / CaseStud.ts2 < prev    next >
Text File  |  2002-11-14  |  2MB  |  64,287 lines

  1. <SERVERS>
  2. <VERSION>2.3</VERSION>
  3. <SERVER>
  4. <NAME>ADO</NAME>
  5. <ID>180</ID>
  6. <GUID>{E6B33AC2-943B-430F-AEEF-82EDC1EA5F26}</GUID>
  7. <TEMPLATES>
  8. <TEMPLATE>
  9. <NAME>CreateDatabase</NAME>
  10. <ID>1</ID>
  11. <GUID>{9F27405A-59F8-4641-BA86-91F9BA5C0BE1}</GUID>
  12. <CAPTION></CAPTION>
  13. <PACKAGEGUID>{2EBE2EEC-425B-4C52-BDFC-21F837E99AA7}</PACKAGEGUID>
  14. <ENABLED>1</ENABLED>
  15. <LEVEL>2</LEVEL>
  16. <IDPARENT>0</IDPARENT>
  17. <VALUE><![CDATA[@Script( GenerateMessage )
  18. ]]></VALUE>
  19. <LANGUAGE>0</LANGUAGE>
  20. <LANGUAGEWIN>---</LANGUAGEWIN>
  21. <CATEGORY>2</CATEGORY>
  22. <MAINSCRIPT>0</MAINSCRIPT>
  23. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25. <AUTHOR></AUTHOR>
  26. <COMPANY></COMPANY>
  27. <VERSION></VERSION>
  28. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  29. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  30. </TEMPLATE>
  31. <TEMPLATE>
  32. <NAME>GenerateMessage</NAME>
  33. <ID>2</ID>
  34. <GUID>{6E87706C-82C7-4BB7-845C-0B751F0B07EC}</GUID>
  35. <CAPTION></CAPTION>
  36. <PACKAGEGUID>{2EBE2EEC-425B-4C52-BDFC-21F837E99AA7}</PACKAGEGUID>
  37. <ENABLED>1</ENABLED>
  38. <LEVEL>2</LEVEL>
  39. <IDPARENT>0</IDPARENT>
  40. <VALUE><![CDATA[function Main()
  41. {
  42.     Log.Writeln( 'Model ADO is being used for reverse engineering only.' );
  43.         Log.Writeln( 'To generate SQL script convert ADO model into model for desired databese.' );
  44.     Log.Writeln( '(Menu: "Model" - Item: "Database Convertion" )' );
  45.  
  46.     SysUtils.Alert( 'Model ADO is being used for reverse engineering only.\r\nTo generate SQL script convert ADO model into model for desired databese.\r\n(Menu: "Model" - Item: "Database Convertion" )' );
  47. }
  48. ]]></VALUE>
  49. <LANGUAGE>1</LANGUAGE>
  50. <LANGUAGEWIN>---</LANGUAGEWIN>
  51. <CATEGORY>2</CATEGORY>
  52. <MAINSCRIPT>0</MAINSCRIPT>
  53. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55. <AUTHOR></AUTHOR>
  56. <COMPANY></COMPANY>
  57. <VERSION></VERSION>
  58. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  59. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  60. </TEMPLATE>
  61. </TEMPLATES>
  62. <VARIABLES><![CDATA[lDriParUpdRestrict 1
  63. lDriParUpdCascade 1
  64. lDriParUpdSetNull 1
  65. lDriParUpdSetDefault 1
  66. lDriParDelRestrict 1
  67. lDriParDelCascade 1
  68. lDriParDelSetNull 1
  69. lDriParDelSetDefault 1
  70. lDriChildInsRestrict 1
  71. lDriChildUpdRestrict 1
  72. lDriParUpdRestrictSupp 1
  73. lDriParUpdCascadeSupp 0
  74. lDriParUpdSetNullSupp 0
  75. lDriParUpdSetDefaultSupp 1
  76. lDriParDelRestrictSupp 1
  77. lDriParDelCascadeSupp 1
  78. lDriParDelSetNullSupp 1
  79. lDriParDelSetDefaultSupp 1
  80. lDriChildInsRestrictSupp 1
  81. lDriChildUpdRestrictSupp 1
  82. lIndexDescendSupp 1
  83. lIndexItDescendSupp 1
  84. lIndexUpperSupp 1
  85. lIndexExprSupp 1
  86. lIndexUniqueSupp 1
  87. lIndexFilterSupp 1
  88. lIndexStandSupp 1
  89. lIndexClusterSupp 1
  90. lIndexNameUnique 0
  91. lPkSupp 1
  92. lPkNotNull 1
  93. lDRISupp 1
  94. lTriggerSupp 0
  95. lAtrUniqueSupp 1
  96. lAtrNotNullSupp 1
  97. lAtrCheckSupp 1
  98. lAtrDefaultSupp 1
  99. ]]></VARIABLES>
  100. <USEREDITS>
  101. </USEREDITS>
  102. <TYPELIST>
  103. <TYPE>
  104. <NAME>I2</NAME>
  105. <ID>2</ID>
  106. <GUID>{918B991A-0622-473F-AB1D-B42E780F68E5}</GUID>
  107. <PHNAME>I2</PHNAME>
  108. <LLENGTH>0</LLENGTH>
  109. <LDECIMAL>0</LDECIMAL>
  110. <MAXLENGTH>0</MAXLENGTH>
  111. <MINLENGTH>0</MINLENGTH>
  112. <MAXDECIMAL>0</MAXDECIMAL>
  113. <MINDECIMAL>0</MINDECIMAL>
  114. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  115. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  116. <TRANSFORMCODE>I</TRANSFORMCODE>
  117. <TRANSFORMTO>I;LI;SI;N,10,0;</TRANSFORMTO>
  118. <EXPORTTO>0</EXPORTTO>
  119. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  120. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  121. </TYPE>
  122. <TYPE>
  123. <NAME>I4</NAME>
  124. <ID>3</ID>
  125. <GUID>{FAA18DDE-047A-46AC-83C9-4C946DC91DD7}</GUID>
  126. <PHNAME>I4</PHNAME>
  127. <LLENGTH>0</LLENGTH>
  128. <LDECIMAL>0</LDECIMAL>
  129. <MAXLENGTH>0</MAXLENGTH>
  130. <MINLENGTH>0</MINLENGTH>
  131. <MAXDECIMAL>0</MAXDECIMAL>
  132. <MINDECIMAL>0</MINDECIMAL>
  133. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  134. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  135. <TRANSFORMCODE>LI</TRANSFORMCODE>
  136. <TRANSFORMTO>LI;I;SI;N,10,2;</TRANSFORMTO>
  137. <EXPORTTO>0</EXPORTTO>
  138. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  139. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  140. </TYPE>
  141. <TYPE>
  142. <NAME>R4</NAME>
  143. <ID>4</ID>
  144. <GUID>{C2404D1D-AAAF-4DEE-A910-7D8658BC09C5}</GUID>
  145. <PHNAME>R4</PHNAME>
  146. <LLENGTH>0</LLENGTH>
  147. <LDECIMAL>0</LDECIMAL>
  148. <MAXLENGTH>0</MAXLENGTH>
  149. <MINLENGTH>0</MINLENGTH>
  150. <MAXDECIMAL>0</MAXDECIMAL>
  151. <MINDECIMAL>0</MINDECIMAL>
  152. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  153. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  154. <TRANSFORMCODE>F</TRANSFORMCODE>
  155. <TRANSFORMTO>F;LF;SF;N,15,5;</TRANSFORMTO>
  156. <EXPORTTO>0</EXPORTTO>
  157. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  158. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  159. </TYPE>
  160. <TYPE>
  161. <NAME>R8</NAME>
  162. <ID>5</ID>
  163. <GUID>{18DA4FB2-8262-4174-8107-963EF7049F55}</GUID>
  164. <PHNAME>R8</PHNAME>
  165. <LLENGTH>0</LLENGTH>
  166. <LDECIMAL>0</LDECIMAL>
  167. <MAXLENGTH>0</MAXLENGTH>
  168. <MINLENGTH>0</MINLENGTH>
  169. <MAXDECIMAL>0</MAXDECIMAL>
  170. <MINDECIMAL>0</MINDECIMAL>
  171. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  172. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  173. <TRANSFORMCODE>LF</TRANSFORMCODE>
  174. <TRANSFORMTO>LF;F;SF;N,5,5;</TRANSFORMTO>
  175. <EXPORTTO>0</EXPORTTO>
  176. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  177. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  178. </TYPE>
  179. <TYPE>
  180. <NAME>CY</NAME>
  181. <ID>6</ID>
  182. <GUID>{4CE66227-E568-4E22-A111-FB50D2A95F74}</GUID>
  183. <PHNAME>CY</PHNAME>
  184. <LLENGTH>0</LLENGTH>
  185. <LDECIMAL>0</LDECIMAL>
  186. <MAXLENGTH>0</MAXLENGTH>
  187. <MINLENGTH>0</MINLENGTH>
  188. <MAXDECIMAL>0</MAXDECIMAL>
  189. <MINDECIMAL>0</MINDECIMAL>
  190. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  191. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  192. <TRANSFORMCODE>MN</TRANSFORMCODE>
  193. <TRANSFORMTO>MN;N,15,5;</TRANSFORMTO>
  194. <EXPORTTO>0</EXPORTTO>
  195. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  196. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  197. </TYPE>
  198. <TYPE>
  199. <NAME>DATE</NAME>
  200. <ID>7</ID>
  201. <GUID>{B0F42720-FD7E-497E-80DA-A0C98B733CBB}</GUID>
  202. <PHNAME>DATE</PHNAME>
  203. <LLENGTH>0</LLENGTH>
  204. <LDECIMAL>0</LDECIMAL>
  205. <MAXLENGTH>0</MAXLENGTH>
  206. <MINLENGTH>0</MINLENGTH>
  207. <MAXDECIMAL>0</MAXDECIMAL>
  208. <MINDECIMAL>0</MINDECIMAL>
  209. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  210. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  211. <TRANSFORMCODE>D</TRANSFORMCODE>
  212. <TRANSFORMTO>D;DT;TS;T;</TRANSFORMTO>
  213. <EXPORTTO>0</EXPORTTO>
  214. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  215. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  216. </TYPE>
  217. <TYPE>
  218. <NAME>BSTR</NAME>
  219. <ID>8</ID>
  220. <GUID>{288C7249-A657-4CE3-947D-DD0F30880052}</GUID>
  221. <PHNAME>BSTR</PHNAME>
  222. <LLENGTH>1</LLENGTH>
  223. <LDECIMAL>0</LDECIMAL>
  224. <MAXLENGTH>1000</MAXLENGTH>
  225. <MINLENGTH>1</MINLENGTH>
  226. <MAXDECIMAL>0</MAXDECIMAL>
  227. <MINDECIMAL>0</MINDECIMAL>
  228. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  229. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  230. <TRANSFORMCODE>VA</TRANSFORMCODE>
  231. <TRANSFORMTO>VA;A;LA;LVA;</TRANSFORMTO>
  232. <EXPORTTO>0</EXPORTTO>
  233. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  234. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  235. </TYPE>
  236. <TYPE>
  237. <NAME>BOOL</NAME>
  238. <ID>11</ID>
  239. <GUID>{DE51CEFE-5610-4443-8AF8-9D9296208ECE}</GUID>
  240. <PHNAME>BOOL</PHNAME>
  241. <LLENGTH>0</LLENGTH>
  242. <LDECIMAL>0</LDECIMAL>
  243. <MAXLENGTH>0</MAXLENGTH>
  244. <MINLENGTH>0</MINLENGTH>
  245. <MAXDECIMAL>0</MAXDECIMAL>
  246. <MINDECIMAL>0</MINDECIMAL>
  247. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  248. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  249. <TRANSFORMCODE>BL</TRANSFORMCODE>
  250. <TRANSFORMTO>BL;BIT;</TRANSFORMTO>
  251. <EXPORTTO>0</EXPORTTO>
  252. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  253. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  254. </TYPE>
  255. <TYPE>
  256. <NAME>DECIMAL</NAME>
  257. <ID>14</ID>
  258. <GUID>{F9FE68FE-FF1D-4E18-97C0-9C3D78BECE54}</GUID>
  259. <PHNAME>DECIMAL</PHNAME>
  260. <LLENGTH>1</LLENGTH>
  261. <LDECIMAL>1</LDECIMAL>
  262. <MAXLENGTH>20</MAXLENGTH>
  263. <MINLENGTH>1</MINLENGTH>
  264. <MAXDECIMAL>20</MAXDECIMAL>
  265. <MINDECIMAL>0</MINDECIMAL>
  266. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  267. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  268. <TRANSFORMCODE>DC</TRANSFORMCODE>
  269. <TRANSFORMTO>DC;N;F;</TRANSFORMTO>
  270. <EXPORTTO>0</EXPORTTO>
  271. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  272. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  273. </TYPE>
  274. <TYPE>
  275. <NAME>I1</NAME>
  276. <ID>16</ID>
  277. <GUID>{80CAC39B-3BD7-4931-B22B-D5760CDD0253}</GUID>
  278. <PHNAME>I1</PHNAME>
  279. <LLENGTH>0</LLENGTH>
  280. <LDECIMAL>0</LDECIMAL>
  281. <MAXLENGTH>0</MAXLENGTH>
  282. <MINLENGTH>0</MINLENGTH>
  283. <MAXDECIMAL>0</MAXDECIMAL>
  284. <MINDECIMAL>0</MINDECIMAL>
  285. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  286. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  287. <TRANSFORMCODE>SI</TRANSFORMCODE>
  288. <TRANSFORMTO>SI;I;LI;N,10,0;</TRANSFORMTO>
  289. <EXPORTTO>0</EXPORTTO>
  290. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  291. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  292. </TYPE>
  293. <TYPE>
  294. <NAME>UI2</NAME>
  295. <ID>18</ID>
  296. <GUID>{4B474FC1-51CE-4B34-80F3-7657ABBCC6EE}</GUID>
  297. <PHNAME>UI2</PHNAME>
  298. <LLENGTH>0</LLENGTH>
  299. <LDECIMAL>0</LDECIMAL>
  300. <MAXLENGTH>0</MAXLENGTH>
  301. <MINLENGTH>0</MINLENGTH>
  302. <MAXDECIMAL>0</MAXDECIMAL>
  303. <MINDECIMAL>0</MINDECIMAL>
  304. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  305. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  306. <TRANSFORMCODE>I</TRANSFORMCODE>
  307. <TRANSFORMTO>I;LI;SI;N,10,0;</TRANSFORMTO>
  308. <EXPORTTO>0</EXPORTTO>
  309. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  310. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  311. </TYPE>
  312. <TYPE>
  313. <NAME>UI4</NAME>
  314. <ID>19</ID>
  315. <GUID>{8134E5A5-D982-4AC6-8A83-BB41401CD4D1}</GUID>
  316. <PHNAME>UI4</PHNAME>
  317. <LLENGTH>0</LLENGTH>
  318. <LDECIMAL>0</LDECIMAL>
  319. <MAXLENGTH>0</MAXLENGTH>
  320. <MINLENGTH>0</MINLENGTH>
  321. <MAXDECIMAL>0</MAXDECIMAL>
  322. <MINDECIMAL>0</MINDECIMAL>
  323. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  324. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  325. <TRANSFORMCODE>LI</TRANSFORMCODE>
  326. <TRANSFORMTO>LI;I;SI;N,10,0;</TRANSFORMTO>
  327. <EXPORTTO>0</EXPORTTO>
  328. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  329. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  330. </TYPE>
  331. <TYPE>
  332. <NAME>BYTES</NAME>
  333. <ID>128</ID>
  334. <GUID>{333799EE-37C5-4E10-8FAF-3FCC7DC56257}</GUID>
  335. <PHNAME>BYTES</PHNAME>
  336. <LLENGTH>1</LLENGTH>
  337. <LDECIMAL>0</LDECIMAL>
  338. <MAXLENGTH>5000</MAXLENGTH>
  339. <MINLENGTH>1</MINLENGTH>
  340. <MAXDECIMAL>0</MAXDECIMAL>
  341. <MINDECIMAL>0</MINDECIMAL>
  342. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  343. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  344. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  345. <TRANSFORMTO>BIN;BLOB;LBIN;</TRANSFORMTO>
  346. <EXPORTTO>0</EXPORTTO>
  347. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  348. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  349. </TYPE>
  350. <TYPE>
  351. <NAME>STR</NAME>
  352. <ID>129</ID>
  353. <GUID>{1486C53C-5532-4983-B3E4-AF651AAA4CEC}</GUID>
  354. <PHNAME>STR</PHNAME>
  355. <LLENGTH>1</LLENGTH>
  356. <LDECIMAL>0</LDECIMAL>
  357. <MAXLENGTH>5000</MAXLENGTH>
  358. <MINLENGTH>1</MINLENGTH>
  359. <MAXDECIMAL>0</MAXDECIMAL>
  360. <MINDECIMAL>0</MINDECIMAL>
  361. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  362. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  363. <TRANSFORMCODE>A</TRANSFORMCODE>
  364. <TRANSFORMTO>A;VA;LA;LVA;</TRANSFORMTO>
  365. <EXPORTTO>0</EXPORTTO>
  366. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  367. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  368. </TYPE>
  369. <TYPE>
  370. <NAME>WSTR</NAME>
  371. <ID>130</ID>
  372. <GUID>{18AEFBFF-FB66-480F-8FCB-8AAB5A491FB2}</GUID>
  373. <PHNAME>WSTR</PHNAME>
  374. <LLENGTH>1</LLENGTH>
  375. <LDECIMAL>0</LDECIMAL>
  376. <MAXLENGTH>5000</MAXLENGTH>
  377. <MINLENGTH>1</MINLENGTH>
  378. <MAXDECIMAL>0</MAXDECIMAL>
  379. <MINDECIMAL>0</MINDECIMAL>
  380. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  381. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  382. <TRANSFORMCODE>VA</TRANSFORMCODE>
  383. <TRANSFORMTO>VA;A;LA;LVA;</TRANSFORMTO>
  384. <EXPORTTO>0</EXPORTTO>
  385. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  386. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  387. </TYPE>
  388. <TYPE>
  389. <NAME>NUMERIC</NAME>
  390. <ID>131</ID>
  391. <GUID>{57DBDB99-A9B0-4538-9330-B9A7C5D9CD19}</GUID>
  392. <PHNAME>NUMERIC</PHNAME>
  393. <LLENGTH>1</LLENGTH>
  394. <LDECIMAL>1</LDECIMAL>
  395. <MAXLENGTH>20</MAXLENGTH>
  396. <MINLENGTH>1</MINLENGTH>
  397. <MAXDECIMAL>20</MAXDECIMAL>
  398. <MINDECIMAL>0</MINDECIMAL>
  399. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  400. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  401. <TRANSFORMCODE>N</TRANSFORMCODE>
  402. <TRANSFORMTO>N;DC;</TRANSFORMTO>
  403. <EXPORTTO>0</EXPORTTO>
  404. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  405. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  406. </TYPE>
  407. <TYPE>
  408. <NAME>DBTIMESTAMP</NAME>
  409. <ID>135</ID>
  410. <GUID>{DADC52DA-AE1F-46D5-95E2-242F65C38773}</GUID>
  411. <PHNAME>DBTIMESTAMP</PHNAME>
  412. <LLENGTH>0</LLENGTH>
  413. <LDECIMAL>0</LDECIMAL>
  414. <MAXLENGTH>0</MAXLENGTH>
  415. <MINLENGTH>0</MINLENGTH>
  416. <MAXDECIMAL>0</MAXDECIMAL>
  417. <MINDECIMAL>0</MINDECIMAL>
  418. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  419. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  420. <TRANSFORMCODE>TS</TRANSFORMCODE>
  421. <TRANSFORMTO>TS;DT;D;T;</TRANSFORMTO>
  422. <EXPORTTO>0</EXPORTTO>
  423. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  424. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  425. </TYPE>
  426. </TYPELIST>
  427. <TEXTOBJECTTYPES>
  428. </TEXTOBJECTTYPES>
  429. <DISABLED>1</DISABLED>
  430. <MAXLENGTHTABLENAME>32</MAXLENGTHTABLENAME>
  431. <MAXLENGTHCOLNAME>32</MAXLENGTHCOLNAME>
  432. <MAXLENGTHINDEXNAME>32</MAXLENGTHINDEXNAME>
  433. <DEFAULTCHAR>_</DEFAULTCHAR>
  434. <INVALIDCHARACTERS>!"#$%&'</INVALIDCHARACTERS>
  435. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  436. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  437. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  438. <DEFAULTTYPEID>129</DEFAULTTYPEID>
  439. <DESCRIPTION><![CDATA[The ADO template has been designed mainly for reverse engineering of those databases where CASE Studio does not support such option as a standard. After loading the database structure, transfer the created ADO model into the respective model. The ADO templates are not designed for creation of ER diagrams.
  440.  
  441.  
  442. ]]></DESCRIPTION>
  443. <KEYWORDS><![CDATA[]]></KEYWORDS>
  444. </SERVER>
  445. <SERVER>
  446. <NAME>Clipper 5.0</NAME>
  447. <ID>20</ID>
  448. <GUID>{EE7F10A4-5C0F-4705-AECD-D520158572A9}</GUID>
  449. <TEMPLATES>
  450. <TEMPLATE>
  451. <NAME>CREATEDATABASE</NAME>
  452. <ID>1</ID>
  453. <GUID>{361AF2AC-47BE-4C16-9AAA-26DFA527E66C}</GUID>
  454. <CAPTION></CAPTION>
  455. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  456. <ENABLED>1</ENABLED>
  457. <LEVEL>2</LEVEL>
  458. <IDPARENT>0</IDPARENT>
  459. <VALUE><![CDATA[#include 'casestud.ch'
  460.  
  461. // Created        %createddate%
  462. // Modified        %modifieddate%
  463. // Project            %projectname%
  464. // Model            %modelname%
  465. // Company        %company%
  466. // Author            %authorname%
  467. // Version        %version%
  468. // Database        %databasetype%
  469.  
  470. {lBeforeScript}
  471. %beforescript%
  472. {lTableGener}
  473. @showmessage("Create tables")
  474. @template(createtables)
  475. {lDropIndexGener}
  476. @template(DropIndexs)
  477. {lIndexGener}
  478. @showmessage("Create indexes")
  479. @template(createindexs)
  480. {lAfterScript}
  481. %afterscript%
  482. {true}
  483. @template(UserTempl)
  484.  
  485. ]]></VALUE>
  486. <LANGUAGE>0</LANGUAGE>
  487. <LANGUAGEWIN>---</LANGUAGEWIN>
  488. <CATEGORY>2</CATEGORY>
  489. <MAINSCRIPT>0</MAINSCRIPT>
  490. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  491. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  492. <AUTHOR></AUTHOR>
  493. <COMPANY></COMPANY>
  494. <VERSION></VERSION>
  495. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  496. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  497. </TEMPLATE>
  498. <TEMPLATE>
  499. <NAME>CREATETABLES</NAME>
  500. <ID>2</ID>
  501. <GUID>{5413BFAD-8E6E-4774-8912-C011D2F494ED}</GUID>
  502. <CAPTION></CAPTION>
  503. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  504. <ENABLED>1</ENABLED>
  505. <LEVEL>2</LEVEL>
  506. <IDPARENT>0</IDPARENT>
  507. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  508. ]]></VALUE>
  509. <LANGUAGE>0</LANGUAGE>
  510. <LANGUAGEWIN>---</LANGUAGEWIN>
  511. <CATEGORY>2</CATEGORY>
  512. <MAINSCRIPT>0</MAINSCRIPT>
  513. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  514. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  515. <AUTHOR></AUTHOR>
  516. <COMPANY></COMPANY>
  517. <VERSION></VERSION>
  518. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  519. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  520. </TEMPLATE>
  521. <TEMPLATE>
  522. <NAME>CREATETABLE</NAME>
  523. <ID>3</ID>
  524. <GUID>{8226533A-2C1C-4851-BA2D-410A921A1FFF}</GUID>
  525. <CAPTION></CAPTION>
  526. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  527. <ENABLED>1</ENABLED>
  528. <LEVEL>2</LEVEL>
  529. <IDPARENT>0</IDPARENT>
  530. <VALUE><![CDATA[cr+if(ldroptablegener,"Drop table %TableStorage%%tablename%.dbf","")+cr+
  531. "Create table %TableStorage%%tablename%.dbf ("+" ;"+cr+
  532. forcol("", "", macro(CreateAtrib), ", ;"+cr, "")+" ;"+cr+")"+
  533. cr+showmessage("Create table %tablename%")
  534. ]]></VALUE>
  535. <LANGUAGE>0</LANGUAGE>
  536. <LANGUAGEWIN>---</LANGUAGEWIN>
  537. <CATEGORY>2</CATEGORY>
  538. <MAINSCRIPT>0</MAINSCRIPT>
  539. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  540. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  541. <AUTHOR></AUTHOR>
  542. <COMPANY></COMPANY>
  543. <VERSION></VERSION>
  544. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  545. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  546. </TEMPLATE>
  547. <TEMPLATE>
  548. <NAME>CREATEINDEXS</NAME>
  549. <ID>4</ID>
  550. <GUID>{7E91DF2F-F9F0-46D2-B25F-672AA89BCB44}</GUID>
  551. <CAPTION></CAPTION>
  552. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  553. <ENABLED>1</ENABLED>
  554. <LEVEL>2</LEVEL>
  555. <IDPARENT>0</IDPARENT>
  556. <VALUE><![CDATA[{lindexexist}
  557. @fortable("","",macro(createindex),"","")
  558. ]]></VALUE>
  559. <LANGUAGE>0</LANGUAGE>
  560. <LANGUAGEWIN>---</LANGUAGEWIN>
  561. <CATEGORY>2</CATEGORY>
  562. <MAINSCRIPT>0</MAINSCRIPT>
  563. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  564. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  565. <AUTHOR></AUTHOR>
  566. <COMPANY></COMPANY>
  567. <VERSION></VERSION>
  568. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  569. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  570. </TEMPLATE>
  571. <TEMPLATE>
  572. <NAME>CREATEINDEX</NAME>
  573. <ID>5</ID>
  574. <GUID>{E67DF7CA-E49B-4156-ADD8-FD44D84D804B}</GUID>
  575. <CAPTION></CAPTION>
  576. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  577. <ENABLED>1</ENABLED>
  578. <LEVEL>2</LEVEL>
  579. <IDPARENT>0</IDPARENT>
  580. <VALUE><![CDATA[forindex("","" ,"Create "+if(unique,"UNIQUE ","")+
  581. if(desc,"DESCENDING ","")
  582. +"Index %Indexname%  on table %tablestorage%%tablename% ( %IndexExpr% ) "
  583. +if(IndexFilterExist,"FOR (%IndexFilter%)","")
  584. +showmessage("Create index %indexname% for table %tablename%")+"%cr%" ,"",cr+cr)
  585. ]]></VALUE>
  586. <LANGUAGE>0</LANGUAGE>
  587. <LANGUAGEWIN>---</LANGUAGEWIN>
  588. <CATEGORY>2</CATEGORY>
  589. <MAINSCRIPT>0</MAINSCRIPT>
  590. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  591. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  592. <AUTHOR></AUTHOR>
  593. <COMPANY></COMPANY>
  594. <VERSION></VERSION>
  595. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  596. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  597. </TEMPLATE>
  598. <TEMPLATE>
  599. <NAME>CREATEATRIB</NAME>
  600. <ID>6</ID>
  601. <GUID>{555D44D7-B95C-4C7D-BAF5-331781DA7CDB}</GUID>
  602. <CAPTION></CAPTION>
  603. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  604. <ENABLED>1</ENABLED>
  605. <LEVEL>2</LEVEL>
  606. <IDPARENT>0</IDPARENT>
  607. <VALUE><![CDATA[ColName + " " + 
  608. if(type="Character",Type + " ("+length+",0)",if(type="Numeric",Type+" ("+length+","+decimal+")",if(type="Date","Date (8,0)",if(type="Logical","Logical (1,0)","Memo (10,0)"))))
  609. ]]></VALUE>
  610. <LANGUAGE>0</LANGUAGE>
  611. <LANGUAGEWIN>---</LANGUAGEWIN>
  612. <CATEGORY>2</CATEGORY>
  613. <MAINSCRIPT>0</MAINSCRIPT>
  614. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  615. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  616. <AUTHOR></AUTHOR>
  617. <COMPANY></COMPANY>
  618. <VERSION></VERSION>
  619. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  620. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  621. </TEMPLATE>
  622. <TEMPLATE>
  623. <NAME>dropindexs</NAME>
  624. <ID>7</ID>
  625. <GUID>{D251E8E2-40F6-496E-B321-395625E02CC4}</GUID>
  626. <CAPTION></CAPTION>
  627. <PACKAGEGUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</PACKAGEGUID>
  628. <ENABLED>1</ENABLED>
  629. <LEVEL>2</LEVEL>
  630. <IDPARENT>0</IDPARENT>
  631. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname% on table %tablestorage%%tablename% %cr%", "", "" ),"","")
  632. ]]></VALUE>
  633. <LANGUAGE>0</LANGUAGE>
  634. <LANGUAGEWIN>---</LANGUAGEWIN>
  635. <CATEGORY>2</CATEGORY>
  636. <MAINSCRIPT>0</MAINSCRIPT>
  637. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  638. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  639. <AUTHOR></AUTHOR>
  640. <COMPANY></COMPANY>
  641. <VERSION></VERSION>
  642. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  643. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  644. </TEMPLATE>
  645. </TEMPLATES>
  646. <VARIABLES><![CDATA[lDriParUpdRestrict 0
  647. lDriParUpdCascade 0
  648. lDriParUpdSetNull 0
  649. lDriParUpdSetDefault 0
  650. lDriParDelRestrict 0
  651. lDriParDelCascade 0
  652. lDriParDelSetNull 0
  653. lDriParDelSetDefault 0
  654. lDriChildInsRestrict 0
  655. lDriChildUpdRestrict 0
  656. lDriParUpdRestrictSupp 0
  657. lDriParUpdCascadeSupp 0
  658. lDriParUpdSetNullSupp 0
  659. lDriParUpdSetDefaultSupp 0
  660. lDriParDelRestrictSupp 0
  661. lDriParDelCascadeSupp 0
  662. lDriParDelSetNullSupp 0
  663. lDriParDelSetDefaultSupp 0
  664. lDriChildInsRestrictSupp 0
  665. lDriChildUpdRestrictSupp 0
  666. lIndexDescendSupp 1
  667. lIndexItDescendSupp 0
  668. lIndexUpperSupp 0
  669. lIndexExprSupp 1
  670. lIndexUniqueSupp 1
  671. lIndexFilterSupp 1
  672. lIndexStandSupp 0
  673. lIndexClusterSupp 0
  674. lIndexNameUnique 0
  675. lPkSupp 1
  676. lPkNotNull 0
  677. lDRISupp 0
  678. lTriggerSupp 0
  679. lAtrUniqueSupp 0
  680. lAtrNotNullSupp 0
  681. lAtrCheckSupp 0
  682. lAtrDefaultSupp 0
  683. ]]></VARIABLES>
  684. <USEREDITS>
  685. </USEREDITS>
  686. <TYPELIST>
  687. <TYPE>
  688. <NAME>Character</NAME>
  689. <ID>5</ID>
  690. <GUID>{DD58296A-38A9-43BA-9520-53D8D60457DF}</GUID>
  691. <PHNAME>Character</PHNAME>
  692. <LLENGTH>1</LLENGTH>
  693. <LDECIMAL>0</LDECIMAL>
  694. <MAXLENGTH>1024</MAXLENGTH>
  695. <MINLENGTH>1</MINLENGTH>
  696. <MAXDECIMAL>0</MAXDECIMAL>
  697. <MINDECIMAL>0</MINDECIMAL>
  698. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  699. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  700. <TRANSFORMCODE>A</TRANSFORMCODE>
  701. <TRANSFORMTO>A;VA;LA;LVA;</TRANSFORMTO>
  702. <EXPORTTO>0</EXPORTTO>
  703. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  704. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  705. </TYPE>
  706. <TYPE>
  707. <NAME>Numeric</NAME>
  708. <ID>10</ID>
  709. <GUID>{F53EF28D-7DBD-4AEE-BD29-28C36CACFF25}</GUID>
  710. <PHNAME>Numeric</PHNAME>
  711. <LLENGTH>1</LLENGTH>
  712. <LDECIMAL>1</LDECIMAL>
  713. <MAXLENGTH>19</MAXLENGTH>
  714. <MINLENGTH>1</MINLENGTH>
  715. <MAXDECIMAL>15</MAXDECIMAL>
  716. <MINDECIMAL>0</MINDECIMAL>
  717. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  718. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  719. <TRANSFORMCODE>N</TRANSFORMCODE>
  720. <TRANSFORMTO>N;DC;F;</TRANSFORMTO>
  721. <EXPORTTO>0</EXPORTTO>
  722. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  723. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  724. </TYPE>
  725. <TYPE>
  726. <NAME>Date</NAME>
  727. <ID>20</ID>
  728. <GUID>{8058CA1E-B02B-4395-889F-E8B63DA24108}</GUID>
  729. <PHNAME>Date</PHNAME>
  730. <LLENGTH>0</LLENGTH>
  731. <LDECIMAL>0</LDECIMAL>
  732. <MAXLENGTH>8</MAXLENGTH>
  733. <MINLENGTH>8</MINLENGTH>
  734. <MAXDECIMAL>0</MAXDECIMAL>
  735. <MINDECIMAL>0</MINDECIMAL>
  736. <DEFAULTLENGTH>8</DEFAULTLENGTH>
  737. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  738. <TRANSFORMCODE>D</TRANSFORMCODE>
  739. <TRANSFORMTO>D;</TRANSFORMTO>
  740. <EXPORTTO>0</EXPORTTO>
  741. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  742. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  743. </TYPE>
  744. <TYPE>
  745. <NAME>Logical</NAME>
  746. <ID>30</ID>
  747. <GUID>{6C7D47E8-0295-45DC-ABAB-5CAFB78F1A5E}</GUID>
  748. <PHNAME>Logical</PHNAME>
  749. <LLENGTH>0</LLENGTH>
  750. <LDECIMAL>0</LDECIMAL>
  751. <MAXLENGTH>1</MAXLENGTH>
  752. <MINLENGTH>1</MINLENGTH>
  753. <MAXDECIMAL>0</MAXDECIMAL>
  754. <MINDECIMAL>0</MINDECIMAL>
  755. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  756. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  757. <TRANSFORMCODE>BL</TRANSFORMCODE>
  758. <TRANSFORMTO>BL;BIT;</TRANSFORMTO>
  759. <EXPORTTO>0</EXPORTTO>
  760. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  761. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  762. </TYPE>
  763. <TYPE>
  764. <NAME>Memo</NAME>
  765. <ID>50</ID>
  766. <GUID>{DFC287C7-D5F3-4A04-8BB8-BEA8233318F4}</GUID>
  767. <PHNAME>Memo</PHNAME>
  768. <LLENGTH>0</LLENGTH>
  769. <LDECIMAL>0</LDECIMAL>
  770. <MAXLENGTH>10</MAXLENGTH>
  771. <MINLENGTH>10</MINLENGTH>
  772. <MAXDECIMAL>0</MAXDECIMAL>
  773. <MINDECIMAL>0</MINDECIMAL>
  774. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  775. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  776. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  777. <TRANSFORMTO>TXT;BLOB;BIN;</TRANSFORMTO>
  778. <EXPORTTO>0</EXPORTTO>
  779. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  780. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  781. </TYPE>
  782. </TYPELIST>
  783. <TEXTOBJECTTYPES>
  784. </TEXTOBJECTTYPES>
  785. <DISABLED>0</DISABLED>
  786. <MAXLENGTHTABLENAME>8</MAXLENGTHTABLENAME>
  787. <MAXLENGTHCOLNAME>10</MAXLENGTHCOLNAME>
  788. <MAXLENGTHINDEXNAME>8</MAXLENGTHINDEXNAME>
  789. <DEFAULTCHAR>_</DEFAULTCHAR>
  790. <INVALIDCHARACTERS>!"#$%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  791. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  792. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  793. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  794. <DEFAULTTYPEID>5</DEFAULTTYPEID>
  795. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  796. <KEYWORDS><![CDATA[]]></KEYWORDS>
  797. </SERVER>
  798. <SERVER>
  799. <NAME>DB2 v.7</NAME>
  800. <ID>190</ID>
  801. <GUID>{CCA1EC03-B69D-4A86-AFE2-DEFA50F86007}</GUID>
  802. <TEMPLATES>
  803. <TEMPLATE>
  804. <NAME>CreateDatabase</NAME>
  805. <ID>1</ID>
  806. <GUID>{37B3600D-D44D-4F24-9265-1B473FE1174F}</GUID>
  807. <CAPTION></CAPTION>
  808. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  809. <ENABLED>1</ENABLED>
  810. <LEVEL>2</LEVEL>
  811. <IDPARENT>0</IDPARENT>
  812. <VALUE><![CDATA[-- Created        %createddate%
  813. -- Modified        %modifieddate%
  814. -- Project        %projectname%
  815. -- Model            %modelname%
  816. -- Company        %company%
  817. -- Author        %authorname%
  818. -- Version        %version%
  819. -- Database        %databasetype% 
  820.  
  821.  
  822. {lbeforescript}
  823. %beforescript%
  824. {ldroptriggerGener}
  825. @showmessage("Drop triggers")
  826. @template(droptriggers)
  827. {lDropTriggersListGener}
  828. @template(DropTriggersList)
  829. @showmessage("Drop Triggers List")
  830. {lDropProceduresGener}
  831. @template(DropProcedures)
  832. @showmessage("Drop Procedures")
  833. {lDropViewsGener}
  834. @template(DropViews)
  835. @showmessage("Drop Views")
  836. {lDropIndexGener}
  837. @template(DropIndexs)
  838. @showmessage("Drop Indexes")
  839. {lDropTableGener}
  840. @showmessage("Drop tables")
  841. @template(DropRefIntegritys)
  842. @template(droptables)
  843. {lDropDomainGener}
  844. @showmessage("Drop domains")
  845. @template(dropdomains)
  846. {lDomainGener}
  847. @showmessage("Create domains")
  848. @template(CreateDomains)
  849. {lTableGener}
  850. @showmessage("Create tables")
  851. @template(createtables)
  852. {lEntityOthers}
  853. @showmessage("Create tab 'Others' for selected tables")
  854. @template(CreateTableOthers)
  855. {lPkGener}
  856. @showmessage("Create primary keys")
  857. @template(createPKs)
  858. {lAlterKeysGener}
  859. @template(CreateAlterKeys)
  860. @showmessage("Drop alter keys")
  861. {lIndexGener}
  862. @showmessage("Create indexes")
  863. @template(createindexs)
  864. {lRefIntegGener}
  865. @template(refintegritys)
  866. @showmessage("Referential integrity")
  867. {lProceduresGener}
  868. @template(CreateProcedures)
  869. @showmessage("Create procedures")
  870. {lViewsGener}
  871. @template(CreateViews)
  872. @showmessage("Create Views")
  873. {lTriggersGener}
  874. @template(createtriggers)
  875. @showmessage("Create Triggers")
  876. {lTriggersUserGener}
  877. @template(CreateTriggersList)
  878. @showmessage("Create Triggers List")
  879. {lRoleGener}
  880. @showmessage("Create role")
  881. @template(CreateRole)
  882. {lUserToRoleGener}
  883. @ShowMessage("Users permissions to roles")
  884. @template(GrantUserToRole)
  885. {lRolePermissGener}
  886. @ShowMessage("Roles permissions")
  887. @template(CreateRolePermiss)
  888. {lUserPermissGener}
  889. @ShowMessage("Users permissions")
  890. @template(CreateUserPermiss)
  891. {lGenTabComments}
  892. @ShowMessage("Create table comments")
  893. @ScriptProc(CreateTableComments,Main)
  894. {lGenAttrComments}
  895. @ShowMessage("Create attribute comments")
  896. @ScriptProc(CreateAttrComments,Main)
  897. {lafterscript}
  898. %afterscript%
  899. {true}
  900. @template(UserTempl)
  901. ]]></VALUE>
  902. <LANGUAGE>0</LANGUAGE>
  903. <LANGUAGEWIN>---</LANGUAGEWIN>
  904. <CATEGORY>2</CATEGORY>
  905. <MAINSCRIPT>0</MAINSCRIPT>
  906. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  907. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  908. <AUTHOR></AUTHOR>
  909. <COMPANY></COMPANY>
  910. <VERSION></VERSION>
  911. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  912. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  913. </TEMPLATE>
  914. <TEMPLATE>
  915. <NAME>CreateTable</NAME>
  916. <ID>2</ID>
  917. <GUID>{B22473BA-A25D-4496-8CB2-D4AA3C088ABA}</GUID>
  918. <CAPTION></CAPTION>
  919. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  920. <ENABLED>1</ENABLED>
  921. <LEVEL>2</LEVEL>
  922. <IDPARENT>0</IDPARENT>
  923. <VALUE><![CDATA[cr+
  924. "Create table %tablename% "+
  925. forcol("(", "", cr+tb+macro(CreateAtrib),",",") ")+ 
  926. TableStorage+"%term%"+cr+
  927. showmessage("Table %tablename%")
  928. ]]></VALUE>
  929. <LANGUAGE>0</LANGUAGE>
  930. <LANGUAGEWIN>---</LANGUAGEWIN>
  931. <CATEGORY>2</CATEGORY>
  932. <MAINSCRIPT>0</MAINSCRIPT>
  933. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  934. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  935. <AUTHOR></AUTHOR>
  936. <COMPANY></COMPANY>
  937. <VERSION></VERSION>
  938. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  939. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  940. </TEMPLATE>
  941. <TEMPLATE>
  942. <NAME>CreateIndex</NAME>
  943. <ID>3</ID>
  944. <GUID>{E2FDCF04-C9BE-4692-BFEF-A7906C68D76B}</GUID>
  945. <CAPTION></CAPTION>
  946. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  947. <ENABLED>1</ENABLED>
  948. <LEVEL>2</LEVEL>
  949. <IDPARENT>0</IDPARENT>
  950. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  951. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+if(IndexColDesc," Desc",""),",",") ")+
  952. IndexStorage+"%term%"+cr+ShowMessage("Index %Indexname% for table %tablename%")
  953. ]]></VALUE>
  954. <LANGUAGE>0</LANGUAGE>
  955. <LANGUAGEWIN>---</LANGUAGEWIN>
  956. <CATEGORY>2</CATEGORY>
  957. <MAINSCRIPT>0</MAINSCRIPT>
  958. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  959. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  960. <AUTHOR></AUTHOR>
  961. <COMPANY></COMPANY>
  962. <VERSION></VERSION>
  963. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  964. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  965. </TEMPLATE>
  966. <TEMPLATE>
  967. <NAME>CreateTriggerUpdate</NAME>
  968. <ID>4</ID>
  969. <GUID>{C2D62EC9-81BD-4160-9029-589EB80E53E2}</GUID>
  970. <CAPTION></CAPTION>
  971. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  972. <ENABLED>1</ENABLED>
  973. <LEVEL>2</LEVEL>
  974. <IDPARENT>0</IDPARENT>
  975. <VALUE><![CDATA[{lEntParUpdTrig }
  976. @setflag(1,false)
  977. @forchild( "", "", setflag(1,if(ParUpdCascade or ParUpdSetNull or ParUpdSetDefault,true,flag1)) , "", "" )
  978. {lEntParUpdTrig  and flag1}
  979. -- Update trigger for %tablename% 
  980. Create Trigger tu_%tablename% after update   
  981. of @forPFkCol("", "", colname, ",", "" )
  982. on  %tablename% @showmessage("Trigger for %tablename% ")
  983. referencing new as new_upd old as old_upd for each row mode db2sql
  984. @setflag(2,false)
  985. @ScriptProc(RefIntegrityWhen,RefIntUpdNonRest,Table)
  986. begin atomic
  987. @forchild( "", "", template(triggerparentupdate), "", "" ) 
  988. end%term%
  989. {true}
  990. @setflag(1,false)
  991. @forchild( "", "", setflag(1,if(ParUpdRestrict,true,flag1)) , "", "" )
  992. {lEntParUpdTrig  and flag1}
  993. @setflag(1,false)
  994. -- Update trigger for %tablename% 
  995. Create Trigger tur_%tablename% no cascade before update   
  996. of @forPFkCol("", "", colname, ",", "" )
  997. on  %tablename% @showmessage("Trigger for %tablename% ")
  998. referencing new as new_upd old as old_upd for each row mode db2sql
  999. -- Restrict child %childtablename%, when parent %parenttablename% changed
  1000. when @forchild( "(", "",iff(ParUpdRestrict,if(flag1," or %cr% ",setflag(1,true))+forrelpk("(","","new_upd.%PkParentName% <> old_upd.%PkParentName%"," or%cr% ","")+forrelpk(" and exists (select 1 from  %childtablename% where%cr%",""," %childtablename%.%PkChildName% = old_upd.%PkParentName%"," or ","))"),""), "", ")" ) 
  1001. begin atomic
  1002.          signal sqlstate '70002' ('Children still exist in child table.');
  1003. end%term%
  1004. {true}
  1005. @setflag(1,false)
  1006. @forparent( "", "", setflag(1,if(ChildUpdRestrict,true,flag1)) , "", "" )
  1007. { lEntChildUpdTrig and flag1}
  1008. @setflag(1,false)
  1009. -- Update trigger for %tablename% 
  1010. Create Trigger tur_%tablename% no cascade before update   
  1011. of @forPFkCol("", "", colname, ", ", "" )
  1012. on  %tablename% @showmessage("Trigger for %tablename% ")
  1013. referencing new as new_upd old as old_upd for each row mode db2sql
  1014. -- Restrict parent %ParentTableName% when child %ChildTableName% updated
  1015. when @forparent( "(", "",forrelpk("","",iff(ChildUpdRestrict,if(flag1," or %cr% ",setflag(1,true))+"( new_upd.%PkChildName% <> old_upd.%PkChildName% and exists (select 1 from  %parenttablename% where  %parenttablename%.%PkparentName% = old_upd.%PkChildName%))",""),"",""), "", ")" ) 
  1016. begin atomic
  1017.      signal sqlstate '70002' ('Parent does not exist. Cannot update child.');
  1018. end%term%
  1019. ]]></VALUE>
  1020. <LANGUAGE>0</LANGUAGE>
  1021. <LANGUAGEWIN>---</LANGUAGEWIN>
  1022. <CATEGORY>2</CATEGORY>
  1023. <MAINSCRIPT>0</MAINSCRIPT>
  1024. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1025. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1026. <AUTHOR></AUTHOR>
  1027. <COMPANY></COMPANY>
  1028. <VERSION></VERSION>
  1029. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1030. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1031. </TEMPLATE>
  1032. <TEMPLATE>
  1033. <NAME>CreateTriggerInsert</NAME>
  1034. <ID>5</ID>
  1035. <GUID>{AA2ED385-F8ED-46D4-8479-0CED2BE25C02}</GUID>
  1036. <CAPTION></CAPTION>
  1037. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1038. <ENABLED>1</ENABLED>
  1039. <LEVEL>2</LEVEL>
  1040. <IDPARENT>0</IDPARENT>
  1041. <VALUE><![CDATA[{lEntChildInsTrig  }
  1042. @setflag(1,false)
  1043. -- Insert trigger for %tablename% 
  1044. Create Trigger ti_%tablename% no cascade before insert
  1045. on %tablename% @showmessage("Trigger for %tablename% ")
  1046. referencing new as new_ins for each row mode db2sql
  1047. -- Restrict child %childtablename% when parent %parenttablename% insert
  1048. when     @forparent( "(", "",iff(ChildInsRestrict,if(flag1," or %cr% ",setflag(1,true))+forrelpk("(","","new_ins.%PkChildName% is not null and%cr%","","")+forrelpk("not exists (select 1 from %parenttablename% where",""," %parenttablename%.%PkParentName% = new_ins.%PkChildName%"," and ","))"),""),"",")")
  1049. begin atomic
  1050.     signal sqlstate '70001' ('Parent does not exist. Cannot insert child.');
  1051. end%term%
  1052. ]]></VALUE>
  1053. <LANGUAGE>0</LANGUAGE>
  1054. <LANGUAGEWIN>---</LANGUAGEWIN>
  1055. <CATEGORY>2</CATEGORY>
  1056. <MAINSCRIPT>0</MAINSCRIPT>
  1057. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1058. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1059. <AUTHOR></AUTHOR>
  1060. <COMPANY></COMPANY>
  1061. <VERSION></VERSION>
  1062. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1063. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1064. </TEMPLATE>
  1065. <TEMPLATE>
  1066. <NAME>CreateTriggerDelete</NAME>
  1067. <ID>6</ID>
  1068. <GUID>{A837C68C-2E57-4F92-8437-1752B96AAF3E}</GUID>
  1069. <CAPTION></CAPTION>
  1070. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1071. <ENABLED>1</ENABLED>
  1072. <LEVEL>2</LEVEL>
  1073. <IDPARENT>0</IDPARENT>
  1074. <VALUE><![CDATA[{lEntParDelTrig }
  1075. @setflag(1,false)
  1076. @forchild( "", "", setflag(1,if(ParDelCascade or ParDelSetNull or ParDelSetDefault,true,flag1)) , "", "" )
  1077. {lEntParDelTrig and flag1}
  1078. -- Delete trigger for %tablename%
  1079. Create Trigger td_%tablename% after delete 
  1080. on %tablename% @showmessage("Trigger for %tablename% ")
  1081. referencing old as old_del for each row mode db2sql
  1082. @setflag(2,false)
  1083. begin atomic
  1084. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  1085. end%term%
  1086.  
  1087. {true}
  1088. @setflag(1,false)
  1089. @forchild( "", "", setflag(1,if(ParDelRestrict,true,flag1)) , "", "" )
  1090. {lEntParDelTrig and flag1}
  1091. -- Delete trigger for %tablename%
  1092. @setflag(1,false)
  1093. Create Trigger td_%tablename% no cascade before delete   
  1094. on %tablename% @showmessage("Trigger for %tablename%")
  1095. referencing old as old_del for each row mode db2sql
  1096. -- Restrict child %childtablename%, when parent %parenttablename% deleted
  1097. when @forchild( "(", "",iff(ParDelRestrict,if(flag1," or ",setflag(1,true))+"%cr% exists (select 1 from %childtablename% where "+forrelpk("","","(%childtablename%.%pkchildname%=old_del.%pkParentName%)"," and ",")"),""), "", ")" ) 
  1098. begin atomic
  1099.         signal sqlstate '70007' ('Children still exist in child table. Cannot delete parent.');
  1100. end;
  1101. ]]></VALUE>
  1102. <LANGUAGE>0</LANGUAGE>
  1103. <LANGUAGEWIN>---</LANGUAGEWIN>
  1104. <CATEGORY>2</CATEGORY>
  1105. <MAINSCRIPT>0</MAINSCRIPT>
  1106. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1107. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1108. <AUTHOR></AUTHOR>
  1109. <COMPANY></COMPANY>
  1110. <VERSION></VERSION>
  1111. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1112. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1113. </TEMPLATE>
  1114. <TEMPLATE>
  1115. <NAME>TriggerParentUpdate</NAME>
  1116. <ID>7</ID>
  1117. <GUID>{21911987-8326-4133-AAED-100A80D90FE9}</GUID>
  1118. <CAPTION></CAPTION>
  1119. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1120. <ENABLED>1</ENABLED>
  1121. <LEVEL>2</LEVEL>
  1122. <IDPARENT>0</IDPARENT>
  1123. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  1124. -- Cascade child %childtablename% update when parent %parenttablename% changed 
  1125.     update %childtablename%
  1126.     set @ForRelPk( tb , tb , "%childtablename%.%PkChildName% = new_upd.%PkParentName%" , ",%cr%" , "")
  1127.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND %cr%", ";") 
  1128. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  1129. -- Cascade setnull when parent changed 
  1130.     update %childtablename%
  1131.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  1132.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, ";") 
  1133. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  1134. -- Cascade setdefault when parent changed 
  1135.     update %childtablename%
  1136.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  1137.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, ";")
  1138. ]]></VALUE>
  1139. <LANGUAGE>0</LANGUAGE>
  1140. <LANGUAGEWIN>---</LANGUAGEWIN>
  1141. <CATEGORY>2</CATEGORY>
  1142. <MAINSCRIPT>0</MAINSCRIPT>
  1143. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1144. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1145. <AUTHOR></AUTHOR>
  1146. <COMPANY></COMPANY>
  1147. <VERSION></VERSION>
  1148. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1149. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1150. </TEMPLATE>
  1151. <TEMPLATE>
  1152. <NAME>TriggerParentDelete</NAME>
  1153. <ID>8</ID>
  1154. <GUID>{EB44FCC2-19E4-48AF-98FD-84A2087C8C9A}</GUID>
  1155. <CAPTION></CAPTION>
  1156. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1157. <ENABLED>1</ENABLED>
  1158. <LEVEL>2</LEVEL>
  1159. <IDPARENT>0</IDPARENT>
  1160. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  1161. -- cascade child %childtablename% delete when parent %parenttablename% deleted 
  1162.      delete from %childtablename%
  1163.     where @ForRelPk( tb , tb+tb ,   "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND %cr%", "");
  1164. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  1165. -- cascade setnull when parent deleted 
  1166.      update %childtablename%
  1167.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  1168.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  1169. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  1170. -- cascade setdefault when parent deleted 
  1171.      update %childtablename%
  1172.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  1173.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  1174. ]]></VALUE>
  1175. <LANGUAGE>0</LANGUAGE>
  1176. <LANGUAGEWIN>---</LANGUAGEWIN>
  1177. <CATEGORY>2</CATEGORY>
  1178. <MAINSCRIPT>0</MAINSCRIPT>
  1179. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1180. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1181. <AUTHOR></AUTHOR>
  1182. <COMPANY></COMPANY>
  1183. <VERSION></VERSION>
  1184. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1185. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1186. </TEMPLATE>
  1187. <TEMPLATE>
  1188. <NAME>RefIntegrity</NAME>
  1189. <ID>9</ID>
  1190. <GUID>{816A3EBC-A2BF-4861-B8CB-990BA2CAD413}</GUID>
  1191. <CAPTION></CAPTION>
  1192. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1193. <ENABLED>1</ENABLED>
  1194. <LEVEL>2</LEVEL>
  1195. <IDPARENT>0</IDPARENT>
  1196. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl or lRelParNone}
  1197. Alter table %childtablename% add @if(lFkAsConstraint and  (not empty(fRelName)),"Constraint %frelname%","")  foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  1198. ]]></VALUE>
  1199. <LANGUAGE>0</LANGUAGE>
  1200. <LANGUAGEWIN>---</LANGUAGEWIN>
  1201. <CATEGORY>2</CATEGORY>
  1202. <MAINSCRIPT>0</MAINSCRIPT>
  1203. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1204. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1205. <AUTHOR></AUTHOR>
  1206. <COMPANY></COMPANY>
  1207. <VERSION></VERSION>
  1208. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1209. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1210. </TEMPLATE>
  1211. <TEMPLATE>
  1212. <NAME>RefIntegrity2</NAME>
  1213. <ID>10</ID>
  1214. <GUID>{E3076A1B-B6EA-48D3-BDFF-5AD6FBC3C7CA}</GUID>
  1215. <CAPTION></CAPTION>
  1216. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1217. <ENABLED>1</ENABLED>
  1218. <LEVEL>2</LEVEL>
  1219. <IDPARENT>0</IDPARENT>
  1220. <VALUE><![CDATA[if(lRelParUpdRestDekl, " on update restrict " , "")+
  1221. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " restrict " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , " set null", "") ) ), "" )+term
  1222. ]]></VALUE>
  1223. <LANGUAGE>0</LANGUAGE>
  1224. <LANGUAGEWIN>---</LANGUAGEWIN>
  1225. <CATEGORY>2</CATEGORY>
  1226. <MAINSCRIPT>0</MAINSCRIPT>
  1227. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1228. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1229. <AUTHOR></AUTHOR>
  1230. <COMPANY></COMPANY>
  1231. <VERSION></VERSION>
  1232. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1233. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1234. </TEMPLATE>
  1235. <TEMPLATE>
  1236. <NAME>DropIndex</NAME>
  1237. <ID>11</ID>
  1238. <GUID>{CDCFC7E5-EFD7-4403-85D1-1EF5F3F74DD2}</GUID>
  1239. <CAPTION></CAPTION>
  1240. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1241. <ENABLED>1</ENABLED>
  1242. <LEVEL>2</LEVEL>
  1243. <IDPARENT>0</IDPARENT>
  1244. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%%term%%cr%", "", "" ),"","")
  1245. ]]></VALUE>
  1246. <LANGUAGE>0</LANGUAGE>
  1247. <LANGUAGEWIN>---</LANGUAGEWIN>
  1248. <CATEGORY>2</CATEGORY>
  1249. <MAINSCRIPT>0</MAINSCRIPT>
  1250. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1251. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1252. <AUTHOR></AUTHOR>
  1253. <COMPANY></COMPANY>
  1254. <VERSION></VERSION>
  1255. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1256. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1257. </TEMPLATE>
  1258. <TEMPLATE>
  1259. <NAME>DropTable</NAME>
  1260. <ID>12</ID>
  1261. <GUID>{838391A4-8C8F-4B75-9CAC-7F8B51CE7FC8}</GUID>
  1262. <CAPTION></CAPTION>
  1263. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1264. <ENABLED>1</ENABLED>
  1265. <LEVEL>2</LEVEL>
  1266. <IDPARENT>0</IDPARENT>
  1267. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table %tablename%%term%%cr%", "", "" )
  1268. ]]></VALUE>
  1269. <LANGUAGE>0</LANGUAGE>
  1270. <LANGUAGEWIN>---</LANGUAGEWIN>
  1271. <CATEGORY>2</CATEGORY>
  1272. <MAINSCRIPT>0</MAINSCRIPT>
  1273. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1274. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1275. <AUTHOR></AUTHOR>
  1276. <COMPANY></COMPANY>
  1277. <VERSION></VERSION>
  1278. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1279. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1280. </TEMPLATE>
  1281. <TEMPLATE>
  1282. <NAME>DropTriggerUpdate</NAME>
  1283. <ID>13</ID>
  1284. <GUID>{0533F0B9-855F-4D7D-92CC-B15C465292B1}</GUID>
  1285. <CAPTION></CAPTION>
  1286. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1287. <ENABLED>1</ENABLED>
  1288. <LEVEL>2</LEVEL>
  1289. <IDPARENT>0</IDPARENT>
  1290. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  1291. Drop trigger tu_%tablename%%term%
  1292. ]]></VALUE>
  1293. <LANGUAGE>0</LANGUAGE>
  1294. <LANGUAGEWIN>---</LANGUAGEWIN>
  1295. <CATEGORY>2</CATEGORY>
  1296. <MAINSCRIPT>0</MAINSCRIPT>
  1297. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1298. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1299. <AUTHOR></AUTHOR>
  1300. <COMPANY></COMPANY>
  1301. <VERSION></VERSION>
  1302. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1303. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1304. </TEMPLATE>
  1305. <TEMPLATE>
  1306. <NAME>DropTriggerDelete</NAME>
  1307. <ID>14</ID>
  1308. <GUID>{3A87CB88-82F1-4890-81BC-A132C1CAF2FE}</GUID>
  1309. <CAPTION></CAPTION>
  1310. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1311. <ENABLED>1</ENABLED>
  1312. <LEVEL>2</LEVEL>
  1313. <IDPARENT>0</IDPARENT>
  1314. <VALUE><![CDATA[{lEntParDelTrig}
  1315. Drop trigger td_%tablename%%term%
  1316. ]]></VALUE>
  1317. <LANGUAGE>0</LANGUAGE>
  1318. <LANGUAGEWIN>---</LANGUAGEWIN>
  1319. <CATEGORY>2</CATEGORY>
  1320. <MAINSCRIPT>0</MAINSCRIPT>
  1321. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1322. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1323. <AUTHOR></AUTHOR>
  1324. <COMPANY></COMPANY>
  1325. <VERSION></VERSION>
  1326. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1327. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1328. </TEMPLATE>
  1329. <TEMPLATE>
  1330. <NAME>DropTriggerInsert</NAME>
  1331. <ID>15</ID>
  1332. <GUID>{A3F308AC-49AC-4BD9-86F2-1781CF11A0E4}</GUID>
  1333. <CAPTION></CAPTION>
  1334. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1335. <ENABLED>1</ENABLED>
  1336. <LEVEL>2</LEVEL>
  1337. <IDPARENT>0</IDPARENT>
  1338. <VALUE><![CDATA[{lEntChildInsTrig  }
  1339. Drop trigger ti_%tablename%%term%
  1340. ]]></VALUE>
  1341. <LANGUAGE>0</LANGUAGE>
  1342. <LANGUAGEWIN>---</LANGUAGEWIN>
  1343. <CATEGORY>2</CATEGORY>
  1344. <MAINSCRIPT>0</MAINSCRIPT>
  1345. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1346. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1347. <AUTHOR></AUTHOR>
  1348. <COMPANY></COMPANY>
  1349. <VERSION></VERSION>
  1350. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1351. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1352. </TEMPLATE>
  1353. <TEMPLATE>
  1354. <NAME>CreateAlterKey</NAME>
  1355. <ID>16</ID>
  1356. <GUID>{92E91C1A-47DA-407A-9E92-462C591BA42A}</GUID>
  1357. <CAPTION></CAPTION>
  1358. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1359. <ENABLED>1</ENABLED>
  1360. <LEVEL>2</LEVEL>
  1361. <IDPARENT>0</IDPARENT>
  1362. <VALUE><![CDATA[@foralterkey("","","Alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%)%term%"+cr,"","")
  1363. ]]></VALUE>
  1364. <LANGUAGE>0</LANGUAGE>
  1365. <LANGUAGEWIN>---</LANGUAGEWIN>
  1366. <CATEGORY>2</CATEGORY>
  1367. <MAINSCRIPT>0</MAINSCRIPT>
  1368. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1369. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1370. <AUTHOR></AUTHOR>
  1371. <COMPANY></COMPANY>
  1372. <VERSION></VERSION>
  1373. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1374. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1375. </TEMPLATE>
  1376. <TEMPLATE>
  1377. <NAME>DropRefIntegrity</NAME>
  1378. <ID>17</ID>
  1379. <GUID>{B0D6A697-F3E9-4334-8685-2D46B9EAF28A}</GUID>
  1380. <CAPTION></CAPTION>
  1381. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1382. <ENABLED>1</ENABLED>
  1383. <LEVEL>2</LEVEL>
  1384. <IDPARENT>0</IDPARENT>
  1385. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  1386. Alter table %childtablename% drop constraint %frelname%%term%
  1387. ]]></VALUE>
  1388. <LANGUAGE>0</LANGUAGE>
  1389. <LANGUAGEWIN>---</LANGUAGEWIN>
  1390. <CATEGORY>2</CATEGORY>
  1391. <MAINSCRIPT>0</MAINSCRIPT>
  1392. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1393. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1394. <AUTHOR></AUTHOR>
  1395. <COMPANY></COMPANY>
  1396. <VERSION></VERSION>
  1397. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1398. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1399. </TEMPLATE>
  1400. <TEMPLATE>
  1401. <NAME>CreateDomains</NAME>
  1402. <ID>18</ID>
  1403. <GUID>{BAD07EB6-02FE-455D-83BC-1321BB66023D}</GUID>
  1404. <CAPTION></CAPTION>
  1405. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1406. <ENABLED>1</ENABLED>
  1407. <LEVEL>2</LEVEL>
  1408. <IDPARENT>0</IDPARENT>
  1409. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  1410. ]]></VALUE>
  1411. <LANGUAGE>0</LANGUAGE>
  1412. <LANGUAGEWIN>---</LANGUAGEWIN>
  1413. <CATEGORY>2</CATEGORY>
  1414. <MAINSCRIPT>0</MAINSCRIPT>
  1415. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1416. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1417. <AUTHOR></AUTHOR>
  1418. <COMPANY></COMPANY>
  1419. <VERSION></VERSION>
  1420. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1421. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1422. </TEMPLATE>
  1423. <TEMPLATE>
  1424. <NAME>CreateDomain</NAME>
  1425. <ID>19</ID>
  1426. <GUID>{49EC2410-19C3-4B07-A799-3B0272ADBE29}</GUID>
  1427. <CAPTION></CAPTION>
  1428. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1429. <ENABLED>1</ENABLED>
  1430. <LEVEL>2</LEVEL>
  1431. <IDPARENT>0</IDPARENT>
  1432. <VALUE><![CDATA["Create distinct type %DictName% As " +
  1433. ScriptProc( CreateSQLDataType,Main,DictType )+
  1434. if((DictType.DataTypeId=30)or
  1435.  (DictType.DataTypeId=130) or 
  1436.  (DictType.DataTypeId=140)or 
  1437.  (DictType.DataTypeId=180),""," with comparisons")+
  1438. term
  1439. ]]></VALUE>
  1440. <LANGUAGE>0</LANGUAGE>
  1441. <LANGUAGEWIN>---</LANGUAGEWIN>
  1442. <CATEGORY>2</CATEGORY>
  1443. <MAINSCRIPT>0</MAINSCRIPT>
  1444. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1445. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1446. <AUTHOR></AUTHOR>
  1447. <COMPANY></COMPANY>
  1448. <VERSION></VERSION>
  1449. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1450. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1451. </TEMPLATE>
  1452. <TEMPLATE>
  1453. <NAME>DropDomains</NAME>
  1454. <ID>20</ID>
  1455. <GUID>{4B5A28F7-750A-46C2-8737-1B14A1221A50}</GUID>
  1456. <CAPTION></CAPTION>
  1457. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1458. <ENABLED>1</ENABLED>
  1459. <LEVEL>2</LEVEL>
  1460. <IDPARENT>0</IDPARENT>
  1461. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop distinct type %dictname%%term%%cr%", "", "" )
  1462. ]]></VALUE>
  1463. <LANGUAGE>0</LANGUAGE>
  1464. <LANGUAGEWIN>---</LANGUAGEWIN>
  1465. <CATEGORY>2</CATEGORY>
  1466. <MAINSCRIPT>0</MAINSCRIPT>
  1467. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1468. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1469. <AUTHOR></AUTHOR>
  1470. <COMPANY></COMPANY>
  1471. <VERSION></VERSION>
  1472. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1473. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1474. </TEMPLATE>
  1475. <TEMPLATE>
  1476. <NAME>CreateAtrib</NAME>
  1477. <ID>21</ID>
  1478. <GUID>{1C23355F-589F-4308-95D4-9808FE6B5173}</GUID>
  1479. <CAPTION></CAPTION>
  1480. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1481. <ENABLED>1</ENABLED>
  1482. <LEVEL>2</LEVEL>
  1483. <IDPARENT>0</IDPARENT>
  1484. <VALUE><![CDATA[ScriptProc( CreateAtrib2,Main,Column.Id,AtrIsDict )+
  1485. if(defexist," %defvalue%", "")+
  1486. if(defaultexist," Default "+defaultvalue  ,"")+
  1487. if(notnull," NOT NULL","")+
  1488. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  1489. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  1490. if(checkexist," Check ("+ evalcheck+" )","")+
  1491. if(def2exist," %def2value%", "") 
  1492. ]]></VALUE>
  1493. <LANGUAGE>0</LANGUAGE>
  1494. <LANGUAGEWIN>---</LANGUAGEWIN>
  1495. <CATEGORY>2</CATEGORY>
  1496. <MAINSCRIPT>0</MAINSCRIPT>
  1497. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1498. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1499. <AUTHOR></AUTHOR>
  1500. <COMPANY></COMPANY>
  1501. <VERSION></VERSION>
  1502. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1503. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1504. </TEMPLATE>
  1505. <TEMPLATE>
  1506. <NAME>CreateUserPermiss</NAME>
  1507. <ID>22</ID>
  1508. <GUID>{72D7B3D2-F4D7-430D-9D7F-0CEB5AF8B3CE}</GUID>
  1509. <CAPTION></CAPTION>
  1510. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1511. <ENABLED>1</ENABLED>
  1512. <LEVEL>2</LEVEL>
  1513. <IDPARENT>0</IDPARENT>
  1514. <VALUE><![CDATA[-- Users permissions 
  1515. @ForTable("","",ForUser("","",PermissTableUser(Macro(CreateTablePermissUser)),"",""),"","")
  1516. @ForView("","",ForUser("","",PermissViewUser(Macro(CreateViewPermissUser)),"",""),"","")
  1517. @ForProcedure("","",ForUser("","",PermissProcedureUser(Macro(CreateProcedurePermiss)),"",""),"","")
  1518. ]]></VALUE>
  1519. <LANGUAGE>0</LANGUAGE>
  1520. <LANGUAGEWIN>---</LANGUAGEWIN>
  1521. <CATEGORY>2</CATEGORY>
  1522. <MAINSCRIPT>0</MAINSCRIPT>
  1523. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1524. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1525. <AUTHOR></AUTHOR>
  1526. <COMPANY></COMPANY>
  1527. <VERSION></VERSION>
  1528. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1529. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1530. </TEMPLATE>
  1531. <TEMPLATE>
  1532. <NAME>CreateRolePermiss</NAME>
  1533. <ID>23</ID>
  1534. <GUID>{A86A9811-7B8E-437C-8148-F9F89C7753BC}</GUID>
  1535. <CAPTION></CAPTION>
  1536. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1537. <ENABLED>1</ENABLED>
  1538. <LEVEL>2</LEVEL>
  1539. <IDPARENT>0</IDPARENT>
  1540. <VALUE><![CDATA[-- Roles permissions 
  1541. @ForTable("","",ForRole("","",PermissTableRole(Macro(CreateTablePermissGroup)),"",""),"","")
  1542. @ForView("","",ForRole("","",PermissViewRole(Macro(CreateViewPermissGroup)),"",""),"","")
  1543. @ForProcedure("","",ForRole("","",PermissProcedureRole(Macro(CreateProcedurePermiss)),"",""),"","")
  1544. ]]></VALUE>
  1545. <LANGUAGE>0</LANGUAGE>
  1546. <LANGUAGEWIN>---</LANGUAGEWIN>
  1547. <CATEGORY>2</CATEGORY>
  1548. <MAINSCRIPT>0</MAINSCRIPT>
  1549. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1550. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1551. <AUTHOR></AUTHOR>
  1552. <COMPANY></COMPANY>
  1553. <VERSION></VERSION>
  1554. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  1555. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  1556. </TEMPLATE>
  1557. <TEMPLATE>
  1558. <NAME>CreateTablePermissGroup</NAME>
  1559. <ID>24</ID>
  1560. <GUID>{058A57F0-730D-429B-9E78-F393A15C57DD}</GUID>
  1561. <CAPTION></CAPTION>
  1562. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1563. <ENABLED>1</ENABLED>
  1564. <LEVEL>2</LEVEL>
  1565. <IDPARENT>0</IDPARENT>
  1566. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to group %UserOrRoleName%%term%%cr%","")+
  1567. if(lPermissUpdate,"Grant update on %TableName% to group %UserOrRoleName%%term%%cr%","")+
  1568. if(lPermissDelete,"Grant delete on %TableName% to group %UserOrRoleName%%term%%cr%","")+
  1569. if(lPermissInsert,"Grant insert on %TableName% to group %UserOrRoleName%%term%%cr%","")+
  1570. if(lPermissDRI,"Grant references on %TableName% to group %UserOrRoleName%%term%%cr%","")
  1571. ]]></VALUE>
  1572. <LANGUAGE>0</LANGUAGE>
  1573. <LANGUAGEWIN>---</LANGUAGEWIN>
  1574. <CATEGORY>2</CATEGORY>
  1575. <MAINSCRIPT>0</MAINSCRIPT>
  1576. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1577. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1578. <AUTHOR></AUTHOR>
  1579. <COMPANY></COMPANY>
  1580. <VERSION></VERSION>
  1581. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1582. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1583. </TEMPLATE>
  1584. <TEMPLATE>
  1585. <NAME>CreateTablePermissUser</NAME>
  1586. <ID>25</ID>
  1587. <GUID>{39499CCA-05AE-4495-A3AD-A515DD83744F}</GUID>
  1588. <CAPTION></CAPTION>
  1589. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1590. <ENABLED>1</ENABLED>
  1591. <LEVEL>2</LEVEL>
  1592. <IDPARENT>0</IDPARENT>
  1593. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to user %UserOrRoleName%%term%%cr%","")+
  1594. if(lPermissUpdate,"Grant update on %TableName% to user %UserOrRoleName%%term%%cr%","")+
  1595. if(lPermissDelete,"Grant delete on %TableName% to user %UserOrRoleName%%term%%cr%","")+
  1596. if(lPermissInsert,"Grant insert on %TableName% to user %UserOrRoleName%%term%%cr%","")+
  1597. if(lPermissDRI,"Grant references on %TableName% to user %UserOrRoleName%%term%%cr%","")
  1598. ]]></VALUE>
  1599. <LANGUAGE>0</LANGUAGE>
  1600. <LANGUAGEWIN>---</LANGUAGEWIN>
  1601. <CATEGORY>2</CATEGORY>
  1602. <MAINSCRIPT>0</MAINSCRIPT>
  1603. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1604. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1605. <AUTHOR></AUTHOR>
  1606. <COMPANY></COMPANY>
  1607. <VERSION></VERSION>
  1608. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1609. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1610. </TEMPLATE>
  1611. <TEMPLATE>
  1612. <NAME>CreateViewPermissUser</NAME>
  1613. <ID>26</ID>
  1614. <GUID>{A9D49B91-9EB3-4B77-95DA-C1289E478B08}</GUID>
  1615. <CAPTION></CAPTION>
  1616. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1617. <ENABLED>1</ENABLED>
  1618. <LEVEL>2</LEVEL>
  1619. <IDPARENT>0</IDPARENT>
  1620. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to user %UserOrRoleName%%term%%cr%","")+
  1621. if(lPermissUpdate,"Grant update on %ViewName% to user %UserOrRoleName%%term%%cr%","")+
  1622. if(lPermissDelete,"Grant delete on %ViewName% to user %UserOrRoleName%%term%%cr%","")+
  1623. if(lPermissInsert,"Grant insert on %ViewName% to user %UserOrRoleName%%term%%cr%","")
  1624. ]]></VALUE>
  1625. <LANGUAGE>0</LANGUAGE>
  1626. <LANGUAGEWIN>---</LANGUAGEWIN>
  1627. <CATEGORY>2</CATEGORY>
  1628. <MAINSCRIPT>0</MAINSCRIPT>
  1629. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1630. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1631. <AUTHOR></AUTHOR>
  1632. <COMPANY></COMPANY>
  1633. <VERSION></VERSION>
  1634. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1635. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1636. </TEMPLATE>
  1637. <TEMPLATE>
  1638. <NAME>CreateViewPermissGroup</NAME>
  1639. <ID>27</ID>
  1640. <GUID>{44F7B0FF-6CC6-43A0-A64B-2DB512947E4E}</GUID>
  1641. <CAPTION></CAPTION>
  1642. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1643. <ENABLED>1</ENABLED>
  1644. <LEVEL>2</LEVEL>
  1645. <IDPARENT>0</IDPARENT>
  1646. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to group %UserOrRoleName%%term%%cr%","")+
  1647. if(lPermissUpdate,"Grant update on %ViewName% to group %UserOrRoleName%%term%%cr%","")+
  1648. if(lPermissDelete,"Grant delete on %ViewName% to group %UserOrRoleName%%term%%cr%","")+
  1649. if(lPermissInsert,"Grant insert on %ViewName% to group %UserOrRoleName%%term%%cr%","")
  1650. ]]></VALUE>
  1651. <LANGUAGE>0</LANGUAGE>
  1652. <LANGUAGEWIN>---</LANGUAGEWIN>
  1653. <CATEGORY>2</CATEGORY>
  1654. <MAINSCRIPT>0</MAINSCRIPT>
  1655. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1656. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1657. <AUTHOR></AUTHOR>
  1658. <COMPANY></COMPANY>
  1659. <VERSION></VERSION>
  1660. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1661. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1662. </TEMPLATE>
  1663. <TEMPLATE>
  1664. <NAME>CreateAtrib2</NAME>
  1665. <ID>28</ID>
  1666. <GUID>{3DA2F6E2-9FD7-44DF-84E0-6F7815F69468}</GUID>
  1667. <CAPTION></CAPTION>
  1668. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1669. <ENABLED>1</ENABLED>
  1670. <LEVEL>2</LEVEL>
  1671. <IDPARENT>0</IDPARENT>
  1672. <VALUE><![CDATA[function Main( AttrId,AtrIsDict )
  1673. {
  1674. var DictType;
  1675. var Attribute = Model.GetAttribute( AttrId );
  1676. var Result    = '';
  1677.  
  1678. if ((Attribute.DataTypeId==0) && (AtrIsDict))
  1679.     Result= Model.GetDictType( Attribute.DictTypeId ).DictName
  1680. else
  1681.     {
  1682.     if (Attribute.DataTypeId == 0)
  1683.         {
  1684.       DictType = Model.GetDictType( Attribute.DictTypeId );    
  1685.        Result   = Scripting.CreateSQLDataType.Main(DictType);
  1686.        }
  1687.     else
  1688.         {
  1689.        Result =    Scripting.CreateSQLDataType.Main(Attribute);
  1690.        };
  1691.     };
  1692.     
  1693. return (Attribute.ColName+' '+Result);
  1694. };
  1695. ]]></VALUE>
  1696. <LANGUAGE>1</LANGUAGE>
  1697. <LANGUAGEWIN>---</LANGUAGEWIN>
  1698. <CATEGORY>2</CATEGORY>
  1699. <MAINSCRIPT>0</MAINSCRIPT>
  1700. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1701. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1702. <AUTHOR></AUTHOR>
  1703. <COMPANY></COMPANY>
  1704. <VERSION></VERSION>
  1705. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1706. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1707. </TEMPLATE>
  1708. <TEMPLATE>
  1709. <NAME>CreateSQLDataType</NAME>
  1710. <ID>29</ID>
  1711. <GUID>{60CBA445-88A1-4B69-8CAF-EE95BF75D1BC}</GUID>
  1712. <CAPTION></CAPTION>
  1713. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1714. <ENABLED>1</ENABLED>
  1715. <LEVEL>2</LEVEL>
  1716. <IDPARENT>0</IDPARENT>
  1717. <VALUE><![CDATA[function Main( Object )
  1718. {
  1719. var Result;
  1720.  
  1721. if (Object.DataTypeId==70)
  1722.     {
  1723.     if ( Object.Length > 24 )
  1724.         Result = 'Double'
  1725.     else
  1726.         Result = 'Real';
  1727.     }
  1728. else
  1729.     Result = Object.SQLDataType; 
  1730.  
  1731. return (Result);    
  1732. }
  1733. ]]></VALUE>
  1734. <LANGUAGE>1</LANGUAGE>
  1735. <LANGUAGEWIN>---</LANGUAGEWIN>
  1736. <CATEGORY>2</CATEGORY>
  1737. <MAINSCRIPT>0</MAINSCRIPT>
  1738. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1739. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1740. <AUTHOR></AUTHOR>
  1741. <COMPANY></COMPANY>
  1742. <VERSION></VERSION>
  1743. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1744. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1745. </TEMPLATE>
  1746. <TEMPLATE>
  1747. <NAME>RefIntegrityWhen</NAME>
  1748. <ID>30</ID>
  1749. <GUID>{B9E08400-D53A-4553-BCD6-ABDE33AC90EE}</GUID>
  1750. <CAPTION></CAPTION>
  1751. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1752. <ENABLED>1</ENABLED>
  1753. <LEVEL>2</LEVEL>
  1754. <IDPARENT>0</IDPARENT>
  1755. <VALUE><![CDATA[function RefIntUpdRest( Entity )
  1756. {
  1757. var Result = 'when (';
  1758.  
  1759. aColumns = new Array();
  1760.  
  1761. GetColumns( Entity,true );
  1762.  
  1763. for (i=0; i<aColumns.length; i++)
  1764.     {
  1765.     if (i != 0)
  1766.         Result += ' or \r\t\t';
  1767.     Result += '(new_upd.'+aColumns[ i ]+'!=old_upd.'+aColumns[ i ]
  1768.              +' and exist (select 1 from'+Entity.TableName+' where '+Entity.TableName+'.'
  1769.              +aColumns[ i ]+'=old_upd.'+aColumns[ i ]+')';
  1770.     };
  1771.  
  1772. return( Result+')' );    
  1773. }
  1774.  
  1775. //=========================================================================
  1776.  
  1777. function RefIntUpdNonRest( Entity )
  1778. {
  1779. var Result = 'when (';
  1780.  
  1781. aColumns = new Array();
  1782.  
  1783. GetColumns( Entity,false );
  1784.  
  1785. for (i=0; i<aColumns.length; i++)
  1786.     {
  1787.     if (i != 0)
  1788.         Result += ' or \r\t\t';
  1789.     Result += '(new_upd.'+aColumns[ i ]+'!=old_upd.'+aColumns[ i ]+')';
  1790.     };
  1791.  
  1792. return( Result+')' );    
  1793. }
  1794.  
  1795. aColumns = new Array();
  1796.  
  1797. function GetColumns( Entity, lRestrict )
  1798. {
  1799. var i;
  1800. var r, Relation;
  1801. var lDone = false;
  1802.  
  1803. for (r=0; r<Entity.CountRelations; r++)
  1804.     {
  1805.     Relation=Entity.Relations(r);
  1806.     if ((Entity.Id==Relation.ParentEntityId)&&(Relation.Type!=2))
  1807.         if (( ( lRestrict) &&  (Relation.ParentUpdateIntegrity==2) ) ||
  1808.                ( (!lRestrict) && ((Relation.ParentUpdateIntegrity==1)||
  1809.                                   (Relation.ParentUpdateIntegrity==3)||
  1810.                                   (Relation.ParentUpdateIntegrity==4) )
  1811.               ))
  1812.              
  1813.             if (Relation.KeyType==0)
  1814.                 {
  1815.                 if (! lDone)
  1816.                     {
  1817.                     GeneratePrimaryKeys(Entity)
  1818.                     lDone = true;
  1819.                     };
  1820.                 }
  1821.             else if (Relation.KeyType==1)
  1822.                 AddAttribute( Model.GetAttribute( Relation.AttributeKeyId ).ColName )
  1823.             else if (Relation.KeyType==2)
  1824.                 GenerateAlterKeys(Relation);
  1825.     };
  1826. };
  1827.  
  1828. function GeneratePrimaryKeys(Entity)
  1829. {
  1830. var a, Attribute;
  1831. for (a=0; a<Entity.CountAttributes; a++)
  1832.     {
  1833.     Attribute=Entity.Attributes(a);
  1834.     if (Attribute.PK)
  1835.         AddAttribute(Attribute.ColName);
  1836.     };
  1837. };
  1838.  
  1839. function GenerateAlterKeys(Relation)
  1840. {
  1841. var a; AlterKey = Model.GetAlterKey( Relation.AttributeKeyId );
  1842. for (a=0; a<AlterKey.CountAlterKeyItems; a++)
  1843.     AddAttribute( Model.GetAttribute( AlterKey.AlterKeyItems( a ).AttributeId ).ColName );
  1844. };
  1845.  
  1846. function AddAttribute( ColName )
  1847. {
  1848. var i;
  1849. for (i=0; i<aColumns.length; i++)
  1850.     if (aColumns[ i ] == ColName)
  1851.         return;
  1852.  
  1853. aColumns[ i ] = ColName;
  1854. };
  1855. ]]></VALUE>
  1856. <LANGUAGE>1</LANGUAGE>
  1857. <LANGUAGEWIN>---</LANGUAGEWIN>
  1858. <CATEGORY>2</CATEGORY>
  1859. <MAINSCRIPT>0</MAINSCRIPT>
  1860. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1861. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1862. <AUTHOR></AUTHOR>
  1863. <COMPANY></COMPANY>
  1864. <VERSION></VERSION>
  1865. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1866. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1867. </TEMPLATE>
  1868. <TEMPLATE>
  1869. <NAME>CreatePK</NAME>
  1870. <ID>31</ID>
  1871. <GUID>{FD064172-8FD1-4A82-9B63-995BCD9399D8}</GUID>
  1872. <CAPTION></CAPTION>
  1873. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1874. <ENABLED>1</ENABLED>
  1875. <LEVEL>2</LEVEL>
  1876. <IDPARENT>0</IDPARENT>
  1877. <VALUE><![CDATA["Alter table "+TableName+" add "+
  1878. if(lPkAsConstraint and (not Empty(ConstraintPkName))," constraint %ConstraintPkName% ","")+
  1879. "primary key ("+forpkcol("", "", ColName, ",", ")%term%"+cr)
  1880. ]]></VALUE>
  1881. <LANGUAGE>0</LANGUAGE>
  1882. <LANGUAGEWIN>---</LANGUAGEWIN>
  1883. <CATEGORY>2</CATEGORY>
  1884. <MAINSCRIPT>0</MAINSCRIPT>
  1885. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1886. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1887. <AUTHOR></AUTHOR>
  1888. <COMPANY></COMPANY>
  1889. <VERSION></VERSION>
  1890. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1891. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1892. </TEMPLATE>
  1893. <TEMPLATE>
  1894. <NAME>CreatePKs</NAME>
  1895. <ID>32</ID>
  1896. <GUID>{B8865E86-9BB0-4713-BC4B-05600B3690BA}</GUID>
  1897. <CAPTION></CAPTION>
  1898. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1899. <ENABLED>1</ENABLED>
  1900. <LEVEL>2</LEVEL>
  1901. <IDPARENT>0</IDPARENT>
  1902. <VALUE><![CDATA[@fortable("", "", if(ExistPk,macro(createPK),""), "", "" )
  1903. ]]></VALUE>
  1904. <LANGUAGE>0</LANGUAGE>
  1905. <LANGUAGEWIN>---</LANGUAGEWIN>
  1906. <CATEGORY>2</CATEGORY>
  1907. <MAINSCRIPT>0</MAINSCRIPT>
  1908. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1909. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1910. <AUTHOR></AUTHOR>
  1911. <COMPANY></COMPANY>
  1912. <VERSION></VERSION>
  1913. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1914. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1915. </TEMPLATE>
  1916. <TEMPLATE>
  1917. <NAME>DropProcedures</NAME>
  1918. <ID>33</ID>
  1919. <GUID>{FECDA91F-7429-4D1C-9ACA-9C8B5190FF17}</GUID>
  1920. <CAPTION></CAPTION>
  1921. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1922. <ENABLED>1</ENABLED>
  1923. <LEVEL>2</LEVEL>
  1924. <IDPARENT>0</IDPARENT>
  1925. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure %ProcedureName%%term%%cr%","","")
  1926. ]]></VALUE>
  1927. <LANGUAGE>0</LANGUAGE>
  1928. <LANGUAGEWIN>---</LANGUAGEWIN>
  1929. <CATEGORY>2</CATEGORY>
  1930. <MAINSCRIPT>0</MAINSCRIPT>
  1931. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1932. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1933. <AUTHOR></AUTHOR>
  1934. <COMPANY></COMPANY>
  1935. <VERSION></VERSION>
  1936. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1937. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1938. </TEMPLATE>
  1939. <TEMPLATE>
  1940. <NAME>DropView</NAME>
  1941. <ID>34</ID>
  1942. <GUID>{CFF5BE27-ABBC-4687-BB35-148CCEE6B837}</GUID>
  1943. <CAPTION></CAPTION>
  1944. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1945. <ENABLED>1</ENABLED>
  1946. <LEVEL>2</LEVEL>
  1947. <IDPARENT>0</IDPARENT>
  1948. <VALUE><![CDATA[@ForViewR("","","Drop view %ViewName%%term%%cr%","","")
  1949. ]]></VALUE>
  1950. <LANGUAGE>0</LANGUAGE>
  1951. <LANGUAGEWIN>---</LANGUAGEWIN>
  1952. <CATEGORY>2</CATEGORY>
  1953. <MAINSCRIPT>0</MAINSCRIPT>
  1954. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1955. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1956. <AUTHOR></AUTHOR>
  1957. <COMPANY></COMPANY>
  1958. <VERSION></VERSION>
  1959. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1960. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1961. </TEMPLATE>
  1962. <TEMPLATE>
  1963. <NAME>DropTriggerList</NAME>
  1964. <ID>35</ID>
  1965. <GUID>{B6F13F5F-E416-4CBE-9168-1BFFA53CB2CB}</GUID>
  1966. <CAPTION></CAPTION>
  1967. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1968. <ENABLED>1</ENABLED>
  1969. <LEVEL>2</LEVEL>
  1970. <IDPARENT>0</IDPARENT>
  1971. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName%%term%%cr%","",""),"","")
  1972. @ForTriggerR("","","Drop trigger %TriggerName%%term%%cr%","","")
  1973. ]]></VALUE>
  1974. <LANGUAGE>0</LANGUAGE>
  1975. <LANGUAGEWIN>---</LANGUAGEWIN>
  1976. <CATEGORY>2</CATEGORY>
  1977. <MAINSCRIPT>0</MAINSCRIPT>
  1978. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  1979. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  1980. <AUTHOR></AUTHOR>
  1981. <COMPANY></COMPANY>
  1982. <VERSION></VERSION>
  1983. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  1984. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  1985. </TEMPLATE>
  1986. <TEMPLATE>
  1987. <NAME>DropTables</NAME>
  1988. <ID>36</ID>
  1989. <GUID>{11A3F57A-792E-4C6B-B2E8-E54C765B5A8A}</GUID>
  1990. <CAPTION></CAPTION>
  1991. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  1992. <ENABLED>1</ENABLED>
  1993. <LEVEL>2</LEVEL>
  1994. <IDPARENT>0</IDPARENT>
  1995. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table %tablename%%term%%cr%", "", "" )
  1996. ]]></VALUE>
  1997. <LANGUAGE>0</LANGUAGE>
  1998. <LANGUAGEWIN>---</LANGUAGEWIN>
  1999. <CATEGORY>2</CATEGORY>
  2000. <MAINSCRIPT>0</MAINSCRIPT>
  2001. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2002. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2003. <AUTHOR></AUTHOR>
  2004. <COMPANY></COMPANY>
  2005. <VERSION></VERSION>
  2006. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  2007. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  2008. </TEMPLATE>
  2009. <TEMPLATE>
  2010. <NAME>DropIndexs</NAME>
  2011. <ID>37</ID>
  2012. <GUID>{577CA000-9047-4A66-817B-2DF943D38330}</GUID>
  2013. <CAPTION></CAPTION>
  2014. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2015. <ENABLED>1</ENABLED>
  2016. <LEVEL>2</LEVEL>
  2017. <IDPARENT>0</IDPARENT>
  2018. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%%term%%cr%", "", "" ),"","")
  2019. ]]></VALUE>
  2020. <LANGUAGE>0</LANGUAGE>
  2021. <LANGUAGEWIN>---</LANGUAGEWIN>
  2022. <CATEGORY>2</CATEGORY>
  2023. <MAINSCRIPT>0</MAINSCRIPT>
  2024. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2025. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2026. <AUTHOR></AUTHOR>
  2027. <COMPANY></COMPANY>
  2028. <VERSION></VERSION>
  2029. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  2030. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  2031. </TEMPLATE>
  2032. <TEMPLATE>
  2033. <NAME>CreateProcedures</NAME>
  2034. <ID>38</ID>
  2035. <GUID>{F931951B-ABE2-4FDA-B7CC-78FF839966D9}</GUID>
  2036. <CAPTION></CAPTION>
  2037. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2038. <ENABLED>1</ENABLED>
  2039. <LEVEL>2</LEVEL>
  2040. <IDPARENT>0</IDPARENT>
  2041. <VALUE><![CDATA[@ForProcedure("","",Procedure+term+cr+cr,"","")
  2042. ]]></VALUE>
  2043. <LANGUAGE>0</LANGUAGE>
  2044. <LANGUAGEWIN>---</LANGUAGEWIN>
  2045. <CATEGORY>2</CATEGORY>
  2046. <MAINSCRIPT>0</MAINSCRIPT>
  2047. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2048. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2049. <AUTHOR></AUTHOR>
  2050. <COMPANY></COMPANY>
  2051. <VERSION></VERSION>
  2052. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  2053. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  2054. </TEMPLATE>
  2055. <TEMPLATE>
  2056. <NAME>CreateViews</NAME>
  2057. <ID>39</ID>
  2058. <GUID>{A6FD255B-50FC-4C59-ACF7-B000A46499FE}</GUID>
  2059. <CAPTION></CAPTION>
  2060. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2061. <ENABLED>1</ENABLED>
  2062. <LEVEL>2</LEVEL>
  2063. <IDPARENT>0</IDPARENT>
  2064. <VALUE><![CDATA[@ForView("","",View+term+cr+cr,"","")
  2065. ]]></VALUE>
  2066. <LANGUAGE>0</LANGUAGE>
  2067. <LANGUAGEWIN>---</LANGUAGEWIN>
  2068. <CATEGORY>2</CATEGORY>
  2069. <MAINSCRIPT>0</MAINSCRIPT>
  2070. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2071. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2072. <AUTHOR></AUTHOR>
  2073. <COMPANY></COMPANY>
  2074. <VERSION></VERSION>
  2075. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  2076. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  2077. </TEMPLATE>
  2078. <TEMPLATE>
  2079. <NAME>DropViews</NAME>
  2080. <ID>40</ID>
  2081. <GUID>{B0D22231-7A14-4118-B3A0-E62042CCA855}</GUID>
  2082. <CAPTION></CAPTION>
  2083. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2084. <ENABLED>1</ENABLED>
  2085. <LEVEL>2</LEVEL>
  2086. <IDPARENT>0</IDPARENT>
  2087. <VALUE><![CDATA[@ForViewR("","","Drop view %ViewName%%term%%cr%","","")
  2088. ]]></VALUE>
  2089. <LANGUAGE>0</LANGUAGE>
  2090. <LANGUAGEWIN>---</LANGUAGEWIN>
  2091. <CATEGORY>2</CATEGORY>
  2092. <MAINSCRIPT>0</MAINSCRIPT>
  2093. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2094. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2095. <AUTHOR></AUTHOR>
  2096. <COMPANY></COMPANY>
  2097. <VERSION></VERSION>
  2098. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  2099. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  2100. </TEMPLATE>
  2101. <TEMPLATE>
  2102. <NAME>CreateTableComments</NAME>
  2103. <ID>41</ID>
  2104. <GUID>{53DC99F3-4F4B-413D-B328-19E22C8D266D}</GUID>
  2105. <CAPTION>CreateTableComments</CAPTION>
  2106. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2107. <ENABLED>1</ENABLED>
  2108. <LEVEL>2</LEVEL>
  2109. <IDPARENT>0</IDPARENT>
  2110. <VALUE><![CDATA[function Main()
  2111. {
  2112. var e, Entity;
  2113. var re = /'/g;
  2114.  
  2115. TextStream.Clear();
  2116.  
  2117. for (e=0; e<Model.CountEntities; e++)
  2118.     {
  2119.     Entity = Model.Entities(e);
  2120.  
  2121.     if ( Entity.Generate && Entity.Description != '' )
  2122.        TextStream.Writeln( 'Comment on table '+Entity.TableName+" is '"+Entity.Description.replace(re,"''")+"'/" );
  2123.     };    
  2124.  
  2125. return( TextStream.Text );
  2126. };
  2127. ]]></VALUE>
  2128. <LANGUAGE>1</LANGUAGE>
  2129. <LANGUAGEWIN>---</LANGUAGEWIN>
  2130. <CATEGORY>2</CATEGORY>
  2131. <MAINSCRIPT>0</MAINSCRIPT>
  2132. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2133. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2134. <AUTHOR></AUTHOR>
  2135. <COMPANY></COMPANY>
  2136. <VERSION></VERSION>
  2137. <CREATED><DATE>7/29/2002</DATE><TIME>15:32:00</TIME></CREATED>
  2138. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2139. </TEMPLATE>
  2140. <TEMPLATE>
  2141. <NAME>CreateAttrComments</NAME>
  2142. <ID>42</ID>
  2143. <GUID>{2D77A495-290A-4342-A113-E6671A6C075A}</GUID>
  2144. <CAPTION>CreateAttrComments</CAPTION>
  2145. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2146. <ENABLED>1</ENABLED>
  2147. <LEVEL>2</LEVEL>
  2148. <IDPARENT>0</IDPARENT>
  2149. <VALUE><![CDATA[function Main()
  2150. {
  2151. var e, a;
  2152. var Entity, Attribute;
  2153. var re = /'/g;
  2154.  
  2155. TextStream.Clear();
  2156.  
  2157. for (e=0; e<Model.CountEntities; e++)
  2158.     {
  2159.     Entity = Model.Entities(e);
  2160.  
  2161.     if ( Entity.Generate )
  2162.         for (a=0; a<Entity.CountAttributes; a++)
  2163.             {
  2164.             Attribute = Entity.Attributes(a);
  2165.             if (Attribute.Description != '')
  2166.                 TextStream.Writeln( 'Comment on column '+Entity.TableName+'.'+
  2167.                                      Attribute.ColName +" is '"+Attribute.Description.replace(re,"''")+"'/" );
  2168.             };
  2169.     };    
  2170.  
  2171. return( TextStream.Text );
  2172. };
  2173. ]]></VALUE>
  2174. <LANGUAGE>1</LANGUAGE>
  2175. <LANGUAGEWIN>---</LANGUAGEWIN>
  2176. <CATEGORY>2</CATEGORY>
  2177. <MAINSCRIPT>0</MAINSCRIPT>
  2178. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2179. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2180. <AUTHOR></AUTHOR>
  2181. <COMPANY></COMPANY>
  2182. <VERSION></VERSION>
  2183. <CREATED><DATE>7/29/2002</DATE><TIME>15:32:44</TIME></CREATED>
  2184. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2185. </TEMPLATE>
  2186. </TEMPLATES>
  2187. <VARIABLES><![CDATA[lAtrCheckConstraintSupp 1
  2188. lAlterKeySupp 1
  2189. lProceduresSupp 1
  2190. lViewsSupp 1
  2191. lConstraintPkSupp 1
  2192. lConstraintFkSupp 1
  2193. lAtrUniqueConstraintSupp 1
  2194. lPermissUserToObjectSupp 1
  2195. lPermissRoleToObjectSupp 1
  2196. lDomainSupp  1
  2197. ConstraintLength 18
  2198. lDriParUpdRestrict 1
  2199. lDriParUpdCascade 0
  2200. lDriParUpdSetNull 0
  2201. lDriParUpdSetDefault 0
  2202. lDriParDelRestrict 1
  2203. lDriParDelCascade 1
  2204. lDriParDelSetNull 1
  2205. lDriParDelSetDefault 0
  2206. lDriChildInsRestrict 0
  2207. lDriChildUpdRestrict 0
  2208. lDriParUpdRestrictSupp 1
  2209. lDriParUpdCascadeSupp 0
  2210. lDriParUpdSetNullSupp 0
  2211. lDriParUpdSetDefaultSupp 0
  2212. lDriParDelRestrictSupp 1
  2213. lDriParDelCascadeSupp 1
  2214. lDriParDelSetNullSupp 1
  2215. lDriParDelSetDefaultSupp 0
  2216. lDriChildInsRestrictSupp 0
  2217. lDriChildUpdRestrictSupp 0
  2218. lIndexDescendSupp 0
  2219. lIndexItDescendSupp 1
  2220. lIndexUpperSupp 0
  2221. lIndexExprSupp 0
  2222. lIndexUniqueSupp 1
  2223. lIndexFilterSupp 0
  2224. lIndexStandSupp 1
  2225. lIndexClusterSupp 1
  2226. lIndexNameUnique 1
  2227. lPkSupp 1
  2228. lPkNotNull 1
  2229. lDRISupp 1
  2230. lTriggerSupp 1
  2231. lAtrUniqueSupp 1
  2232. lAtrNotNullSupp 1
  2233. lAtrCheckSupp 1
  2234. lAtrDefaultSupp 1
  2235. lAtrCheckConstraintSupp 1
  2236. lAlterKeySupp 1
  2237. lProceduresSupp 1
  2238. lViewsSupp 1
  2239. lConstraintPkSupp 1
  2240. lConstraintFkSupp 1
  2241. lAtrUniqueConstraintSupp 1
  2242. lPermissUserToObjectSupp 1
  2243. lPermissRoleToObjectSupp 1
  2244. lDomainSupp  1
  2245. ConstraintLength 18
  2246. ]]></VARIABLES>
  2247. <USEREDITS>
  2248. <USEREDIT>
  2249. <NAME>lGenTabComments</NAME>
  2250. <ID>1</ID>
  2251. <GUID>{5994FF2D-D178-4146-9E30-2AD7F56C9548}</GUID>
  2252. <CAPTION>Generate Table Description</CAPTION>
  2253. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2254. <TYPE>1</TYPE>
  2255. <LEVEL>1</LEVEL>
  2256. <DEFAULT>1</DEFAULT>
  2257. <ORD>2</ORD>
  2258. <LENGTH>0</LENGTH>
  2259. <ENABLED>1</ENABLED>
  2260. <ITEMS></ITEMS>
  2261. </USEREDIT>
  2262. <USEREDIT>
  2263. <NAME>lGenAttrComments</NAME>
  2264. <ID>2</ID>
  2265. <GUID>{00CE4617-844D-44FB-BCAE-06BFCFC680AE}</GUID>
  2266. <CAPTION>Generate Column Description</CAPTION>
  2267. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2268. <TYPE>1</TYPE>
  2269. <LEVEL>1</LEVEL>
  2270. <DEFAULT>1</DEFAULT>
  2271. <ORD>5</ORD>
  2272. <LENGTH>0</LENGTH>
  2273. <ENABLED>1</ENABLED>
  2274. <ITEMS></ITEMS>
  2275. </USEREDIT>
  2276. <USEREDIT>
  2277. <NAME>term</NAME>
  2278. <ID>3</ID>
  2279. <GUID>{EDFD179C-6731-4EBE-A2DE-C6D643C81E60}</GUID>
  2280. <CAPTION>Terminator</CAPTION>
  2281. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  2282. <TYPE>0</TYPE>
  2283. <LEVEL>1</LEVEL>
  2284. <DEFAULT>/</DEFAULT>
  2285. <ORD>10</ORD>
  2286. <LENGTH>20</LENGTH>
  2287. <ENABLED>1</ENABLED>
  2288. <ITEMS></ITEMS>
  2289. </USEREDIT>
  2290. </USEREDITS>
  2291. <TYPELIST>
  2292. <TYPE>
  2293. <NAME>Character</NAME>
  2294. <ID>10</ID>
  2295. <GUID>{15C1CF5F-4ABA-4D2C-A8EC-27F0BE342616}</GUID>
  2296. <PHNAME>Char</PHNAME>
  2297. <LLENGTH>1</LLENGTH>
  2298. <LDECIMAL>0</LDECIMAL>
  2299. <MAXLENGTH>254</MAXLENGTH>
  2300. <MINLENGTH>1</MINLENGTH>
  2301. <MAXDECIMAL>0</MAXDECIMAL>
  2302. <MINDECIMAL>0</MINDECIMAL>
  2303. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  2304. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2305. <TRANSFORMCODE>A</TRANSFORMCODE>
  2306. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  2307. <EXPORTTO>0</EXPORTTO>
  2308. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2309. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2310. </TYPE>
  2311. <TYPE>
  2312. <NAME>Varchar</NAME>
  2313. <ID>20</ID>
  2314. <GUID>{CC1463CB-C15E-4DD7-BC7A-04CD59979D39}</GUID>
  2315. <PHNAME>Varchar</PHNAME>
  2316. <LLENGTH>1</LLENGTH>
  2317. <LDECIMAL>0</LDECIMAL>
  2318. <MAXLENGTH>32672</MAXLENGTH>
  2319. <MINLENGTH>1</MINLENGTH>
  2320. <MAXDECIMAL>0</MAXDECIMAL>
  2321. <MINDECIMAL>0</MINDECIMAL>
  2322. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2323. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2324. <TRANSFORMCODE>VA</TRANSFORMCODE>
  2325. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  2326. <EXPORTTO>0</EXPORTTO>
  2327. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2328. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2329. </TYPE>
  2330. <TYPE>
  2331. <NAME>Long Varchar</NAME>
  2332. <ID>30</ID>
  2333. <GUID>{70152593-59DD-4EE2-BC5F-7180B8D63C53}</GUID>
  2334. <PHNAME>Long Varchar</PHNAME>
  2335. <LLENGTH>1</LLENGTH>
  2336. <LDECIMAL>0</LDECIMAL>
  2337. <MAXLENGTH>32700</MAXLENGTH>
  2338. <MINLENGTH>1</MINLENGTH>
  2339. <MAXDECIMAL>0</MAXDECIMAL>
  2340. <MINDECIMAL>0</MINDECIMAL>
  2341. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2342. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2343. <TRANSFORMCODE>LVA</TRANSFORMCODE>
  2344. <TRANSFORMTO>LVA;TXT;CLOB;</TRANSFORMTO>
  2345. <EXPORTTO>0</EXPORTTO>
  2346. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2347. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2348. </TYPE>
  2349. <TYPE>
  2350. <NAME>Smallint</NAME>
  2351. <ID>40</ID>
  2352. <GUID>{C4397B1D-6162-4F78-B844-22279EDE7522}</GUID>
  2353. <PHNAME>Smallint</PHNAME>
  2354. <LLENGTH>0</LLENGTH>
  2355. <LDECIMAL>0</LDECIMAL>
  2356. <MAXLENGTH>0</MAXLENGTH>
  2357. <MINLENGTH>0</MINLENGTH>
  2358. <MAXDECIMAL>0</MAXDECIMAL>
  2359. <MINDECIMAL>0</MINDECIMAL>
  2360. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2361. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2362. <TRANSFORMCODE>SI</TRANSFORMCODE>
  2363. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  2364. <EXPORTTO>0</EXPORTTO>
  2365. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2366. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2367. </TYPE>
  2368. <TYPE>
  2369. <NAME>Integer</NAME>
  2370. <ID>50</ID>
  2371. <GUID>{BFB1C615-CB73-4AFD-8FEA-45972448710E}</GUID>
  2372. <PHNAME>Integer</PHNAME>
  2373. <LLENGTH>0</LLENGTH>
  2374. <LDECIMAL>0</LDECIMAL>
  2375. <MAXLENGTH>0</MAXLENGTH>
  2376. <MINLENGTH>0</MINLENGTH>
  2377. <MAXDECIMAL>0</MAXDECIMAL>
  2378. <MINDECIMAL>0</MINDECIMAL>
  2379. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2380. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2381. <TRANSFORMCODE>I</TRANSFORMCODE>
  2382. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  2383. <EXPORTTO>0</EXPORTTO>
  2384. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2385. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2386. </TYPE>
  2387. <TYPE>
  2388. <NAME>Bigint</NAME>
  2389. <ID>60</ID>
  2390. <GUID>{9732D909-41C4-4936-99F9-DE072EF53778}</GUID>
  2391. <PHNAME>Bigint</PHNAME>
  2392. <LLENGTH>0</LLENGTH>
  2393. <LDECIMAL>0</LDECIMAL>
  2394. <MAXLENGTH>0</MAXLENGTH>
  2395. <MINLENGTH>0</MINLENGTH>
  2396. <MAXDECIMAL>0</MAXDECIMAL>
  2397. <MINDECIMAL>0</MINDECIMAL>
  2398. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2399. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2400. <TRANSFORMCODE>BI</TRANSFORMCODE>
  2401. <TRANSFORMTO>BI;LF;F;I;</TRANSFORMTO>
  2402. <EXPORTTO>0</EXPORTTO>
  2403. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2404. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2405. </TYPE>
  2406. <TYPE>
  2407. <NAME>Float</NAME>
  2408. <ID>70</ID>
  2409. <GUID>{B1CC5407-0705-4C4C-A0B3-E38E4857C44A}</GUID>
  2410. <PHNAME>Float</PHNAME>
  2411. <LLENGTH>1</LLENGTH>
  2412. <LDECIMAL>0</LDECIMAL>
  2413. <MAXLENGTH>53</MAXLENGTH>
  2414. <MINLENGTH>1</MINLENGTH>
  2415. <MAXDECIMAL>0</MAXDECIMAL>
  2416. <MINDECIMAL>0</MINDECIMAL>
  2417. <DEFAULTLENGTH>24</DEFAULTLENGTH>
  2418. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2419. <TRANSFORMCODE>FX</TRANSFORMCODE>
  2420. <TRANSFORMTO>FX;F;LF;N,15,5;</TRANSFORMTO>
  2421. <EXPORTTO>0</EXPORTTO>
  2422. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2423. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2424. </TYPE>
  2425. <TYPE>
  2426. <NAME>Real</NAME>
  2427. <ID>75</ID>
  2428. <GUID>{0D73687B-CCEB-4ABA-8B3E-D5C906602BAA}</GUID>
  2429. <PHNAME>Real</PHNAME>
  2430. <LLENGTH>0</LLENGTH>
  2431. <LDECIMAL>0</LDECIMAL>
  2432. <MAXLENGTH>0</MAXLENGTH>
  2433. <MINLENGTH>0</MINLENGTH>
  2434. <MAXDECIMAL>0</MAXDECIMAL>
  2435. <MINDECIMAL>0</MINDECIMAL>
  2436. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2437. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2438. <TRANSFORMCODE>F</TRANSFORMCODE>
  2439. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  2440. <EXPORTTO>0</EXPORTTO>
  2441. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2442. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2443. </TYPE>
  2444. <TYPE>
  2445. <NAME>Double</NAME>
  2446. <ID>80</ID>
  2447. <GUID>{9D30AEF8-AFB9-402C-AE20-2A1E983975CC}</GUID>
  2448. <PHNAME>Double</PHNAME>
  2449. <LLENGTH>0</LLENGTH>
  2450. <LDECIMAL>0</LDECIMAL>
  2451. <MAXLENGTH>0</MAXLENGTH>
  2452. <MINLENGTH>0</MINLENGTH>
  2453. <MAXDECIMAL>0</MAXDECIMAL>
  2454. <MINDECIMAL>0</MINDECIMAL>
  2455. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2456. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2457. <TRANSFORMCODE>LF</TRANSFORMCODE>
  2458. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  2459. <EXPORTTO>0</EXPORTTO>
  2460. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2461. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2462. </TYPE>
  2463. <TYPE>
  2464. <NAME>Decimal</NAME>
  2465. <ID>90</ID>
  2466. <GUID>{0E06F818-6F1C-4B3A-A515-A5B729723BEC}</GUID>
  2467. <PHNAME>Decimal</PHNAME>
  2468. <LLENGTH>1</LLENGTH>
  2469. <LDECIMAL>1</LDECIMAL>
  2470. <MAXLENGTH>31</MAXLENGTH>
  2471. <MINLENGTH>1</MINLENGTH>
  2472. <MAXDECIMAL>31</MAXDECIMAL>
  2473. <MINDECIMAL>1</MINDECIMAL>
  2474. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  2475. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  2476. <TRANSFORMCODE>N</TRANSFORMCODE>
  2477. <TRANSFORMTO>N;N,15,5;F;</TRANSFORMTO>
  2478. <EXPORTTO>0</EXPORTTO>
  2479. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2480. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2481. </TYPE>
  2482. <TYPE>
  2483. <NAME>Date</NAME>
  2484. <ID>100</ID>
  2485. <GUID>{60D9DA98-D98A-483B-BD42-FDFF470D87ED}</GUID>
  2486. <PHNAME>Date</PHNAME>
  2487. <LLENGTH>0</LLENGTH>
  2488. <LDECIMAL>0</LDECIMAL>
  2489. <MAXLENGTH>0</MAXLENGTH>
  2490. <MINLENGTH>0</MINLENGTH>
  2491. <MAXDECIMAL>0</MAXDECIMAL>
  2492. <MINDECIMAL>0</MINDECIMAL>
  2493. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2494. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2495. <TRANSFORMCODE>D</TRANSFORMCODE>
  2496. <TRANSFORMTO>D;DT;A;</TRANSFORMTO>
  2497. <EXPORTTO>0</EXPORTTO>
  2498. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2499. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2500. </TYPE>
  2501. <TYPE>
  2502. <NAME>Time</NAME>
  2503. <ID>110</ID>
  2504. <GUID>{CCE8802D-118F-43EE-9280-6993B27D7182}</GUID>
  2505. <PHNAME>Time</PHNAME>
  2506. <LLENGTH>0</LLENGTH>
  2507. <LDECIMAL>0</LDECIMAL>
  2508. <MAXLENGTH>0</MAXLENGTH>
  2509. <MINLENGTH>0</MINLENGTH>
  2510. <MAXDECIMAL>0</MAXDECIMAL>
  2511. <MINDECIMAL>0</MINDECIMAL>
  2512. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2513. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2514. <TRANSFORMCODE>T</TRANSFORMCODE>
  2515. <TRANSFORMTO>T;DT;A;</TRANSFORMTO>
  2516. <EXPORTTO>0</EXPORTTO>
  2517. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2518. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2519. </TYPE>
  2520. <TYPE>
  2521. <NAME>Timestamp</NAME>
  2522. <ID>120</ID>
  2523. <GUID>{1F897A11-58A2-4EE7-83E5-7382896770C0}</GUID>
  2524. <PHNAME>Timestamp</PHNAME>
  2525. <LLENGTH>0</LLENGTH>
  2526. <LDECIMAL>0</LDECIMAL>
  2527. <MAXLENGTH>0</MAXLENGTH>
  2528. <MINLENGTH>0</MINLENGTH>
  2529. <MAXDECIMAL>0</MAXDECIMAL>
  2530. <MINDECIMAL>0</MINDECIMAL>
  2531. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2532. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2533. <TRANSFORMCODE>DT</TRANSFORMCODE>
  2534. <TRANSFORMTO>DT;D;A;</TRANSFORMTO>
  2535. <EXPORTTO>0</EXPORTTO>
  2536. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2537. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2538. </TYPE>
  2539. <TYPE>
  2540. <NAME>Blob</NAME>
  2541. <ID>130</ID>
  2542. <GUID>{3984B0AD-63D3-4E5A-AB35-CC0E268E592B}</GUID>
  2543. <PHNAME>Blob</PHNAME>
  2544. <LLENGTH>1</LLENGTH>
  2545. <LDECIMAL>0</LDECIMAL>
  2546. <MAXLENGTH>2147483647</MAXLENGTH>
  2547. <MINLENGTH>1</MINLENGTH>
  2548. <MAXDECIMAL>0</MAXDECIMAL>
  2549. <MINDECIMAL>0</MINDECIMAL>
  2550. <DEFAULTLENGTH>100</DEFAULTLENGTH>
  2551. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2552. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  2553. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  2554. <EXPORTTO>0</EXPORTTO>
  2555. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2556. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2557. </TYPE>
  2558. <TYPE>
  2559. <NAME>DBClob</NAME>
  2560. <ID>140</ID>
  2561. <GUID>{E70515F6-A6FB-40BA-8D33-E6D7B58DC41D}</GUID>
  2562. <PHNAME>DBClob</PHNAME>
  2563. <LLENGTH>1</LLENGTH>
  2564. <LDECIMAL>0</LDECIMAL>
  2565. <MAXLENGTH>2147483647</MAXLENGTH>
  2566. <MINLENGTH>1</MINLENGTH>
  2567. <MAXDECIMAL>0</MAXDECIMAL>
  2568. <MINDECIMAL>0</MINDECIMAL>
  2569. <DEFAULTLENGTH>100</DEFAULTLENGTH>
  2570. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2571. <TRANSFORMCODE>DBCLOB</TRANSFORMCODE>
  2572. <TRANSFORMTO>DBCLOB;BIN;LBIN;</TRANSFORMTO>
  2573. <EXPORTTO>0</EXPORTTO>
  2574. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2575. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2576. </TYPE>
  2577. <TYPE>
  2578. <NAME>Clob</NAME>
  2579. <ID>150</ID>
  2580. <GUID>{5DD81B7C-AB99-4F44-BF28-F48CF61750EE}</GUID>
  2581. <PHNAME>Clob</PHNAME>
  2582. <LLENGTH>1</LLENGTH>
  2583. <LDECIMAL>0</LDECIMAL>
  2584. <MAXLENGTH>2147483647</MAXLENGTH>
  2585. <MINLENGTH>1</MINLENGTH>
  2586. <MAXDECIMAL>0</MAXDECIMAL>
  2587. <MINDECIMAL>0</MINDECIMAL>
  2588. <DEFAULTLENGTH>100</DEFAULTLENGTH>
  2589. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2590. <TRANSFORMCODE>CLOB</TRANSFORMCODE>
  2591. <TRANSFORMTO>CLOB;BIN;LBIN;</TRANSFORMTO>
  2592. <EXPORTTO>0</EXPORTTO>
  2593. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2594. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2595. </TYPE>
  2596. <TYPE>
  2597. <NAME>Graphic</NAME>
  2598. <ID>160</ID>
  2599. <GUID>{57441A32-0146-4D3F-837F-9B47332ACF9B}</GUID>
  2600. <PHNAME>Graphic</PHNAME>
  2601. <LLENGTH>1</LLENGTH>
  2602. <LDECIMAL>0</LDECIMAL>
  2603. <MAXLENGTH>127</MAXLENGTH>
  2604. <MINLENGTH>1</MINLENGTH>
  2605. <MAXDECIMAL>0</MAXDECIMAL>
  2606. <MINDECIMAL>0</MINDECIMAL>
  2607. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  2608. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2609. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  2610. <TRANSFORMTO>PIC;LBLOB;BLOB;</TRANSFORMTO>
  2611. <EXPORTTO>0</EXPORTTO>
  2612. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2613. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2614. </TYPE>
  2615. <TYPE>
  2616. <NAME>Var graphic</NAME>
  2617. <ID>170</ID>
  2618. <GUID>{0C2BD4C3-F8CC-42F0-9A2F-3CA53AC68719}</GUID>
  2619. <PHNAME>Var graphic</PHNAME>
  2620. <LLENGTH>1</LLENGTH>
  2621. <LDECIMAL>0</LDECIMAL>
  2622. <MAXLENGTH>16336</MAXLENGTH>
  2623. <MINLENGTH>1</MINLENGTH>
  2624. <MAXDECIMAL>0</MAXDECIMAL>
  2625. <MINDECIMAL>0</MINDECIMAL>
  2626. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2627. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2628. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  2629. <TRANSFORMTO>PIC;LBLOB;BLOB;</TRANSFORMTO>
  2630. <EXPORTTO>0</EXPORTTO>
  2631. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2632. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2633. </TYPE>
  2634. <TYPE>
  2635. <NAME>Long vargraphic</NAME>
  2636. <ID>180</ID>
  2637. <GUID>{AF6EBF06-9C31-4CC2-B9F3-2E14D3662B8C}</GUID>
  2638. <PHNAME>Long vargraphic</PHNAME>
  2639. <LLENGTH>1</LLENGTH>
  2640. <LDECIMAL>0</LDECIMAL>
  2641. <MAXLENGTH>16350</MAXLENGTH>
  2642. <MINLENGTH>1</MINLENGTH>
  2643. <MAXDECIMAL>0</MAXDECIMAL>
  2644. <MINDECIMAL>0</MINDECIMAL>
  2645. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2646. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2647. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  2648. <TRANSFORMTO>PIC;LBLOB;BLOB;</TRANSFORMTO>
  2649. <EXPORTTO>0</EXPORTTO>
  2650. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2651. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2652. </TYPE>
  2653. <TYPE>
  2654. <NAME>Datalink</NAME>
  2655. <ID>190</ID>
  2656. <GUID>{5F9DCB52-6EB7-4451-8C40-EC08D7E54F80}</GUID>
  2657. <PHNAME>Datalink</PHNAME>
  2658. <LLENGTH>0</LLENGTH>
  2659. <LDECIMAL>0</LDECIMAL>
  2660. <MAXLENGTH>0</MAXLENGTH>
  2661. <MINLENGTH>0</MINLENGTH>
  2662. <MAXDECIMAL>0</MAXDECIMAL>
  2663. <MINDECIMAL>0</MINDECIMAL>
  2664. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2665. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2666. <TRANSFORMCODE></TRANSFORMCODE>
  2667. <TRANSFORMTO></TRANSFORMTO>
  2668. <EXPORTTO>0</EXPORTTO>
  2669. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2670. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2671. </TYPE>
  2672. <TYPE>
  2673. <NAME>Boolean</NAME>
  2674. <ID>200</ID>
  2675. <GUID>{8EE4C017-8DDB-4DB7-9172-790D51A77AA3}</GUID>
  2676. <PHNAME>Boolean</PHNAME>
  2677. <LLENGTH>0</LLENGTH>
  2678. <LDECIMAL>0</LDECIMAL>
  2679. <MAXLENGTH>0</MAXLENGTH>
  2680. <MINLENGTH>0</MINLENGTH>
  2681. <MAXDECIMAL>0</MAXDECIMAL>
  2682. <MINDECIMAL>0</MINDECIMAL>
  2683. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2684. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2685. <TRANSFORMCODE>BL</TRANSFORMCODE>
  2686. <TRANSFORMTO>BL;BIT;A,1,0;</TRANSFORMTO>
  2687. <EXPORTTO>0</EXPORTTO>
  2688. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2689. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2690. </TYPE>
  2691. </TYPELIST>
  2692. <TEXTOBJECTTYPES>
  2693. </TEXTOBJECTTYPES>
  2694. <DISABLED>0</DISABLED>
  2695. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  2696. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  2697. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  2698. <DEFAULTCHAR>_</DEFAULTCHAR>
  2699. <INVALIDCHARACTERS>!#$%&'()*+,./:;<=>?@</INVALIDCHARACTERS>
  2700. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  2701. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  2702. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  2703. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  2704. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2705. <KEYWORDS><![CDATA[]]></KEYWORDS>
  2706. </SERVER>
  2707. <SERVER>
  2708. <NAME>DBIsam 3</NAME>
  2709. <ID>250</ID>
  2710. <GUID>{D00D75A0-29EF-4E00-BC90-80BE5B391CC8}</GUID>
  2711. <TEMPLATES>
  2712. <TEMPLATE>
  2713. <NAME>CreateDatabase</NAME>
  2714. <ID>1</ID>
  2715. <GUID>{71DAE581-10A9-4F0D-B2E0-F576206F3E9A}</GUID>
  2716. <CAPTION>CreateDatabase</CAPTION>
  2717. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2718. <ENABLED>1</ENABLED>
  2719. <LEVEL>2</LEVEL>
  2720. <IDPARENT>0</IDPARENT>
  2721. <VALUE><![CDATA[/*
  2722. Created        %createddate%
  2723. Modified        %modifieddate%
  2724. Project        %projectname%
  2725. Model            %modelname%
  2726. Company        %company%
  2727. Author        %authorname%
  2728. Version        %version%
  2729. Database        %databasetype% 
  2730. */
  2731.  
  2732. {lbeforescript}
  2733. %beforescript%
  2734. {lDropIndexGener}
  2735. @showmessage("Drop Indexes")
  2736. @template(DropIndexes)
  2737. @showmessage(cr)
  2738. {lDropTableGener}
  2739. @showmessage("Drop Tables")
  2740. @template(droptables)
  2741. @showmessage(cr)
  2742. {lTableGener}
  2743. @showmessage("Create Tables:")
  2744. @template(createtables)
  2745. @showmessage(cr)
  2746. {lPkGener}
  2747. @showmessage("Create Primary Keys:")
  2748. @template(CreatePKs)
  2749. @showmessage(cr)
  2750. {lIndexGener}
  2751. @showmessage("Create Indexes:")
  2752. @template(CreateIndexes)
  2753. @showmessage(cr)
  2754. {lGenerFullTextIndex}
  2755. @showmessage("Create FullText Indexes:")
  2756. @template(CreateFTIndexes)
  2757. @showmessage(cr)
  2758. {lEntityOthers}
  2759. @showmessage("Create tab %c6%Others%c6% for tables:")
  2760. @template(CreateTableOthers)
  2761. @showmessage(cr)
  2762. {lTriggersUserGener}
  2763. @ShowMessage("Create User-Defined Triggers:")
  2764. @template(CreateTriggersList)
  2765. @showmessage(cr)
  2766. {lafterscript}
  2767. %afterscript%
  2768. {true}
  2769. @template(UserTempl)
  2770. @showmessage("Done.")
  2771.  
  2772. ]]></VALUE>
  2773. <LANGUAGE>0</LANGUAGE>
  2774. <LANGUAGEWIN>---</LANGUAGEWIN>
  2775. <CATEGORY>2</CATEGORY>
  2776. <MAINSCRIPT>0</MAINSCRIPT>
  2777. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2778. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2779. <AUTHOR></AUTHOR>
  2780. <COMPANY></COMPANY>
  2781. <VERSION></VERSION>
  2782. <CREATED><DATE>3/5/2002</DATE><TIME>10:50:07</TIME></CREATED>
  2783. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2784. </TEMPLATE>
  2785. <TEMPLATE>
  2786. <NAME>CreateTable</NAME>
  2787. <ID>2</ID>
  2788. <GUID>{D68F56DB-CB4B-4407-BAA4-9C1504810B83}</GUID>
  2789. <CAPTION>CreateTable</CAPTION>
  2790. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2791. <ENABLED>1</ENABLED>
  2792. <LEVEL>2</LEVEL>
  2793. <IDPARENT>0</IDPARENT>
  2794. <VALUE><![CDATA[SetFlag(1, true)+
  2795. cr+"Create table "+if(lTableInMemory, "Memory ", "")+"%c5%%tablename%%c5%%cr%("
  2796. +forcol("", "", macro(CreateAttrib)+",", "", "")
  2797. +if((entdescription<>"") and lGenerTabDesc,"%cr%Description %c5%%entdescription%%c5%","")
  2798. +if(sBlobBlockSize<>"512","%cr%Blob Block Size %sBlobBlockSize%","") 
  2799. +macro(EncryptTable)
  2800. +macro(UserVersion)
  2801. +cr+");"+cr
  2802. +showmessage(tb+"Table %c5%%tablename%%c5%")
  2803. ]]></VALUE>
  2804. <LANGUAGE>0</LANGUAGE>
  2805. <LANGUAGEWIN>---</LANGUAGEWIN>
  2806. <CATEGORY>2</CATEGORY>
  2807. <MAINSCRIPT>0</MAINSCRIPT>
  2808. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2809. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2810. <AUTHOR></AUTHOR>
  2811. <COMPANY></COMPANY>
  2812. <VERSION></VERSION>
  2813. <CREATED><DATE>3/5/2002</DATE><TIME>10:51:20</TIME></CREATED>
  2814. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2815. </TEMPLATE>
  2816. <TEMPLATE>
  2817. <NAME>DropTables</NAME>
  2818. <ID>3</ID>
  2819. <GUID>{C2594A31-580A-47D8-B347-3733C70495DE}</GUID>
  2820. <CAPTION>DropTables</CAPTION>
  2821. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2822. <ENABLED>1</ENABLED>
  2823. <LEVEL>2</LEVEL>
  2824. <IDPARENT>0</IDPARENT>
  2825. <VALUE><![CDATA[@ForTableR("", "", "Drop table If Exists "+if(lTableInMemory, "Memory ", "")+"%c5%%tablename%%c5%;%cr%", "", "")
  2826.  
  2827. ]]></VALUE>
  2828. <LANGUAGE>0</LANGUAGE>
  2829. <LANGUAGEWIN>---</LANGUAGEWIN>
  2830. <CATEGORY>2</CATEGORY>
  2831. <MAINSCRIPT>0</MAINSCRIPT>
  2832. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2833. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2834. <AUTHOR></AUTHOR>
  2835. <COMPANY></COMPANY>
  2836. <VERSION></VERSION>
  2837. <CREATED><DATE>3/5/2002</DATE><TIME>17:15:22</TIME></CREATED>
  2838. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2839. </TEMPLATE>
  2840. <TEMPLATE>
  2841. <NAME>CreateAttrib</NAME>
  2842. <ID>4</ID>
  2843. <GUID>{2581CB88-6235-4764-B697-0B49264A5433}</GUID>
  2844. <CAPTION>CreateAttrib</CAPTION>
  2845. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2846. <ENABLED>1</ENABLED>
  2847. <LEVEL>2</LEVEL>
  2848. <IDPARENT>0</IDPARENT>
  2849. <VALUE><![CDATA[cr+tb+c5+colname+c5+" %TypSql%"+ 
  2850. if(lGenerColDesc and not empty(attrdescription)," Description %c5%%attrdescription%%c5%","")+
  2851. if(NotNull," Not Null","")+
  2852. if(DefaultExist," Default %c5%%Default%%c5%","")+
  2853. if(not empty(sAttrMin)," Min %c5%%sAttrMin%%c5%","")+
  2854. if(not empty(sAttrMax)," Max %c5%%sAttrMax%%c5%","")+
  2855. if(sAttrCase<>"NoChange"," CharCase %sAttrCase%","")
  2856. ]]></VALUE>
  2857. <LANGUAGE>0</LANGUAGE>
  2858. <LANGUAGEWIN>---</LANGUAGEWIN>
  2859. <CATEGORY>2</CATEGORY>
  2860. <MAINSCRIPT>0</MAINSCRIPT>
  2861. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2862. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2863. <AUTHOR></AUTHOR>
  2864. <COMPANY></COMPANY>
  2865. <VERSION></VERSION>
  2866. <CREATED><DATE>3/6/2002</DATE><TIME>12:27:34</TIME></CREATED>
  2867. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2868. </TEMPLATE>
  2869. <TEMPLATE>
  2870. <NAME>CreateIndex</NAME>
  2871. <ID>5</ID>
  2872. <GUID>{9DA2F4C6-FF46-488A-9D37-C10B834E3738}</GUID>
  2873. <CAPTION>CreateIndex</CAPTION>
  2874. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2875. <ENABLED>1</ENABLED>
  2876. <LEVEL>2</LEVEL>
  2877. <IDPARENT>0</IDPARENT>
  2878. <VALUE><![CDATA[iff(Not lFullTextIndex, SetFlag(1, true)+ShowMessage(tb+"Index %c5%%Indexname%%c5% for table %c5%%tablename%%c5%")
  2879. +"Create"+if(unique," Unique","")
  2880. +if(desc," Desc","")
  2881. +if(Index.CaseSensitive, "", " NoCase")
  2882. +" Index %c5%%Indexname%%c5% On "+if(lTableInMemory, "Memory ", "")
  2883. +"%c5%%tablename%%c5% ("+ForIndexCol("","","%c5%"+colname+"%c5%",",",")")
  2884. +if(sIndexCompressType<>"None"," Compress %sIndexCompressType%","")+";%cr%", "")
  2885. ]]></VALUE>
  2886. <LANGUAGE>0</LANGUAGE>
  2887. <LANGUAGEWIN>---</LANGUAGEWIN>
  2888. <CATEGORY>2</CATEGORY>
  2889. <MAINSCRIPT>0</MAINSCRIPT>
  2890. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2891. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2892. <AUTHOR></AUTHOR>
  2893. <COMPANY></COMPANY>
  2894. <VERSION></VERSION>
  2895. <CREATED><DATE>3/6/2002</DATE><TIME>16:03:54</TIME></CREATED>
  2896. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2897. </TEMPLATE>
  2898. <TEMPLATE>
  2899. <NAME>DropIndex</NAME>
  2900. <ID>6</ID>
  2901. <GUID>{B205E203-D6E5-4643-8F18-61C423889FA9}</GUID>
  2902. <CAPTION>DropIndex</CAPTION>
  2903. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2904. <ENABLED>1</ENABLED>
  2905. <LEVEL>2</LEVEL>
  2906. <IDPARENT>0</IDPARENT>
  2907. <VALUE><![CDATA[iff(Not lFullTextIndex,"Drop index If Exists "+if(lTableInMemory, "Memory ", "")+"%tablename%.%c5%%indexname%%c5%;%cr%","")
  2908. ]]></VALUE>
  2909. <LANGUAGE>0</LANGUAGE>
  2910. <LANGUAGEWIN>---</LANGUAGEWIN>
  2911. <CATEGORY>2</CATEGORY>
  2912. <MAINSCRIPT>0</MAINSCRIPT>
  2913. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2914. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2915. <AUTHOR></AUTHOR>
  2916. <COMPANY></COMPANY>
  2917. <VERSION></VERSION>
  2918. <CREATED><DATE>3/10/2002</DATE><TIME>12:22:18</TIME></CREATED>
  2919. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2920. </TEMPLATE>
  2921. <TEMPLATE>
  2922. <NAME>DropIndexes</NAME>
  2923. <ID>7</ID>
  2924. <GUID>{DCFAA683-44BF-422E-965E-067823AA5F3F}</GUID>
  2925. <CAPTION>DropIndexes</CAPTION>
  2926. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2927. <ENABLED>1</ENABLED>
  2928. <LEVEL>2</LEVEL>
  2929. <IDPARENT>0</IDPARENT>
  2930. <VALUE><![CDATA[@ForTable("","",ForIndex("","",macro(DropIndex),"",""),"","")
  2931. ]]></VALUE>
  2932. <LANGUAGE>0</LANGUAGE>
  2933. <LANGUAGEWIN>---</LANGUAGEWIN>
  2934. <CATEGORY>2</CATEGORY>
  2935. <MAINSCRIPT>0</MAINSCRIPT>
  2936. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2937. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2938. <AUTHOR></AUTHOR>
  2939. <COMPANY></COMPANY>
  2940. <VERSION></VERSION>
  2941. <CREATED><DATE>3/10/2002</DATE><TIME>13:22:38</TIME></CREATED>
  2942. <MODIFIED><DATE>10/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2943. </TEMPLATE>
  2944. <TEMPLATE>
  2945. <NAME>CreatePKs</NAME>
  2946. <ID>8</ID>
  2947. <GUID>{64FB3913-8FC6-40B2-BF38-BC203399B70A}</GUID>
  2948. <CAPTION>CreatePK</CAPTION>
  2949. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2950. <ENABLED>1</ENABLED>
  2951. <LEVEL>2</LEVEL>
  2952. <IDPARENT>0</IDPARENT>
  2953. <VALUE><![CDATA[@SetFlag(1, false)
  2954. @fortable("","",macro(CreatePK),"","")
  2955. {Not Flag1}
  2956. @showmessage("%tb%No primary keys")
  2957. ]]></VALUE>
  2958. <LANGUAGE>0</LANGUAGE>
  2959. <LANGUAGEWIN>---</LANGUAGEWIN>
  2960. <CATEGORY>2</CATEGORY>
  2961. <MAINSCRIPT>0</MAINSCRIPT>
  2962. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2963. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2964. <AUTHOR></AUTHOR>
  2965. <COMPANY></COMPANY>
  2966. <VERSION></VERSION>
  2967. <CREATED><DATE>3/10/2002</DATE><TIME>16:20:00</TIME></CREATED>
  2968. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2969. </TEMPLATE>
  2970. <TEMPLATE>
  2971. <NAME>EncryptTable</NAME>
  2972. <ID>9</ID>
  2973. <GUID>{05B3A626-8432-401D-AAE9-FCA0E6AE5A9D}</GUID>
  2974. <CAPTION>EncryptTable</CAPTION>
  2975. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2976. <ENABLED>1</ENABLED>
  2977. <LEVEL>2</LEVEL>
  2978. <IDPARENT>0</IDPARENT>
  2979. <VALUE><![CDATA[if(sPassword<>"","%cr%Encrypted With %c5%%sPassword%%c5%","")
  2980. ]]></VALUE>
  2981. <LANGUAGE>0</LANGUAGE>
  2982. <LANGUAGEWIN>---</LANGUAGEWIN>
  2983. <CATEGORY>2</CATEGORY>
  2984. <MAINSCRIPT>0</MAINSCRIPT>
  2985. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  2986. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  2987. <AUTHOR></AUTHOR>
  2988. <COMPANY></COMPANY>
  2989. <VERSION></VERSION>
  2990. <CREATED><DATE>3/11/2002</DATE><TIME>15:58:44</TIME></CREATED>
  2991. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  2992. </TEMPLATE>
  2993. <TEMPLATE>
  2994. <NAME>UserVersion</NAME>
  2995. <ID>10</ID>
  2996. <GUID>{3CB654ED-014C-4918-9D02-AAA1A167A5A7}</GUID>
  2997. <CAPTION>UserVersion</CAPTION>
  2998. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  2999. <ENABLED>1</ENABLED>
  3000. <LEVEL>2</LEVEL>
  3001. <IDPARENT>0</IDPARENT>
  3002. <VALUE><![CDATA[if((sUserMajVer="") Or ((sUserMajVer="1") And (sUserMinVer="")),"","%cr%User Major Version %sUserMajVer%"+if(sUserMinVer<>"","%cr%User Minor Version %sUserMinVer%",""))
  3003. ]]></VALUE>
  3004. <LANGUAGE>0</LANGUAGE>
  3005. <LANGUAGEWIN>---</LANGUAGEWIN>
  3006. <CATEGORY>2</CATEGORY>
  3007. <MAINSCRIPT>0</MAINSCRIPT>
  3008. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3009. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3010. <AUTHOR></AUTHOR>
  3011. <COMPANY></COMPANY>
  3012. <VERSION></VERSION>
  3013. <CREATED><DATE>7/11/2002</DATE><TIME>11:07:21</TIME></CREATED>
  3014. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3015. </TEMPLATE>
  3016. <TEMPLATE>
  3017. <NAME>CreatePK</NAME>
  3018. <ID>11</ID>
  3019. <GUID>{C275DA92-A444-4414-BF9C-06B42BBA7BE3}</GUID>
  3020. <CAPTION>CreatePK</CAPTION>
  3021. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3022. <ENABLED>1</ENABLED>
  3023. <LEVEL>2</LEVEL>
  3024. <IDPARENT>0</IDPARENT>
  3025. <VALUE><![CDATA[SetFlag(1, true)+
  3026. showmessage("%tb%Primary Key for table %c5%%tablename%%c5%")
  3027. +if(existpk, "%cr%Alter Table "+if(lTableInMemory, "Memory ", "")
  3028. +"%c5%%tablename%%c5% Add "+if(lPKAsConstraint,"Constraint %c5%%ConstraintPKName%%c5% ","")
  3029. +if(lPKUnique," Unique","")
  3030. +if(lPKDescOrder," Desc","")+if(lPKCaseSensitive,""," NoCase")
  3031. +" Primary Key"+forpkcol(" (", "", " %c5%"+ColName+"%c5%", ",",")"
  3032. +if(sPKCompressType<>"None"," Compress %sPKCompressType%",""))+";","")
  3033. ]]></VALUE>
  3034. <LANGUAGE>0</LANGUAGE>
  3035. <LANGUAGEWIN>---</LANGUAGEWIN>
  3036. <CATEGORY>2</CATEGORY>
  3037. <MAINSCRIPT>0</MAINSCRIPT>
  3038. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3039. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3040. <AUTHOR></AUTHOR>
  3041. <COMPANY></COMPANY>
  3042. <VERSION></VERSION>
  3043. <CREATED><DATE>7/11/2002</DATE><TIME>12:13:32</TIME></CREATED>
  3044. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3045. </TEMPLATE>
  3046. <TEMPLATE>
  3047. <NAME>CreateTables</NAME>
  3048. <ID>12</ID>
  3049. <GUID>{384BAEB3-AA5D-4C77-B423-525915AA5E3C}</GUID>
  3050. <CAPTION>CreateTables</CAPTION>
  3051. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3052. <ENABLED>1</ENABLED>
  3053. <LEVEL>2</LEVEL>
  3054. <IDPARENT>0</IDPARENT>
  3055. <VALUE><![CDATA[@SetFlag(1, false)
  3056. @fortable( "", "", macro(createtable), "", "")
  3057. {Not Flag1}
  3058. @showmessage("%tb%No tables")
  3059. ]]></VALUE>
  3060. <LANGUAGE>0</LANGUAGE>
  3061. <LANGUAGEWIN>---</LANGUAGEWIN>
  3062. <CATEGORY>2</CATEGORY>
  3063. <MAINSCRIPT>0</MAINSCRIPT>
  3064. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3065. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3066. <AUTHOR></AUTHOR>
  3067. <COMPANY></COMPANY>
  3068. <VERSION></VERSION>
  3069. <CREATED><DATE>10/3/2002</DATE><TIME>10:14:38</TIME></CREATED>
  3070. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3071. </TEMPLATE>
  3072. <TEMPLATE>
  3073. <NAME>CreateIndexes</NAME>
  3074. <ID>13</ID>
  3075. <GUID>{96316264-C34B-4DFA-B199-C04DE490A0D1}</GUID>
  3076. <CAPTION>CreateIndexes</CAPTION>
  3077. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3078. <ENABLED>1</ENABLED>
  3079. <LEVEL>2</LEVEL>
  3080. <IDPARENT>0</IDPARENT>
  3081. <VALUE><![CDATA[@SetFlag(1, false)
  3082. @fortable( "", "", forindex( "", "", macro(createindex), "", "" ), "", "")
  3083. {Not Flag1}
  3084. @showmessage("%tb%No indexes")
  3085. ]]></VALUE>
  3086. <LANGUAGE>0</LANGUAGE>
  3087. <LANGUAGEWIN>---</LANGUAGEWIN>
  3088. <CATEGORY>2</CATEGORY>
  3089. <MAINSCRIPT>0</MAINSCRIPT>
  3090. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3091. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3092. <AUTHOR></AUTHOR>
  3093. <COMPANY></COMPANY>
  3094. <VERSION></VERSION>
  3095. <CREATED><DATE>10/3/2002</DATE><TIME>10:31:22</TIME></CREATED>
  3096. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3097. </TEMPLATE>
  3098. <TEMPLATE>
  3099. <NAME>CreateTableOthers</NAME>
  3100. <ID>14</ID>
  3101. <GUID>{0D2F9203-A70A-4275-BA38-A15B10555B26}</GUID>
  3102. <CAPTION>CreateTableOthers</CAPTION>
  3103. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3104. <ENABLED>1</ENABLED>
  3105. <LEVEL>2</LEVEL>
  3106. <IDPARENT>0</IDPARENT>
  3107. <VALUE><![CDATA[@SetFlag(1, false)
  3108. @ForTable(SetFlag(1, true), "", EntityOthers + showmessage("%tb%Tab for table %c5%%TableName%%c5%"), "", "")
  3109. {Not Flag1}
  3110. @showmessage("%tb%No tabs")
  3111. ]]></VALUE>
  3112. <LANGUAGE>0</LANGUAGE>
  3113. <LANGUAGEWIN>---</LANGUAGEWIN>
  3114. <CATEGORY>2</CATEGORY>
  3115. <MAINSCRIPT>0</MAINSCRIPT>
  3116. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3117. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3118. <AUTHOR></AUTHOR>
  3119. <COMPANY></COMPANY>
  3120. <VERSION></VERSION>
  3121. <CREATED><DATE>10/3/2002</DATE><TIME>11:14:14</TIME></CREATED>
  3122. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3123. </TEMPLATE>
  3124. <TEMPLATE>
  3125. <NAME>CreateTriggersList</NAME>
  3126. <ID>15</ID>
  3127. <GUID>{9F01D9D3-D2A7-463A-B6C0-0775021E6FC3}</GUID>
  3128. <CAPTION>CreateTriggersList</CAPTION>
  3129. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3130. <ENABLED>1</ENABLED>
  3131. <LEVEL>2</LEVEL>
  3132. <IDPARENT>0</IDPARENT>
  3133. <VALUE><![CDATA[@SetFlag(1, false)
  3134. @ForTable("","",ForTableTrigger(SetFlag(1, true),"",Trigger+showmessage("%tb%User trigger for table %c5%%tablename%%c5%"),"",""),"","")
  3135. {Not Flag1}
  3136. @showmessage("%tb%No triggers")
  3137. ]]></VALUE>
  3138. <LANGUAGE>0</LANGUAGE>
  3139. <LANGUAGEWIN>---</LANGUAGEWIN>
  3140. <CATEGORY>2</CATEGORY>
  3141. <MAINSCRIPT>0</MAINSCRIPT>
  3142. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3143. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3144. <AUTHOR></AUTHOR>
  3145. <COMPANY></COMPANY>
  3146. <VERSION></VERSION>
  3147. <CREATED><DATE>10/3/2002</DATE><TIME>12:51:25</TIME></CREATED>
  3148. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3149. </TEMPLATE>
  3150. <TEMPLATE>
  3151. <NAME>CreateFTIndexes</NAME>
  3152. <ID>16</ID>
  3153. <GUID>{7AB5C4A7-7104-443C-92C9-A64AEE2558E8}</GUID>
  3154. <CAPTION>CreateFTIndexes</CAPTION>
  3155. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3156. <ENABLED>1</ENABLED>
  3157. <LEVEL>2</LEVEL>
  3158. <IDPARENT>0</IDPARENT>
  3159. <VALUE><![CDATA[@SetFlag(1, false)
  3160. @ForTable( "", "", ForIndex( "", "", Macro(CreateFullTextIndex), "", ""), "", "")
  3161. {Not Flag1}
  3162. @showmessage("%tb%No fulltext indexes")
  3163. ]]></VALUE>
  3164. <LANGUAGE>0</LANGUAGE>
  3165. <LANGUAGEWIN>---</LANGUAGEWIN>
  3166. <CATEGORY>2</CATEGORY>
  3167. <MAINSCRIPT>0</MAINSCRIPT>
  3168. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3169. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3170. <AUTHOR></AUTHOR>
  3171. <COMPANY></COMPANY>
  3172. <VERSION></VERSION>
  3173. <CREATED><DATE>2/4/2002</DATE><TIME>11:16:59</TIME></CREATED>
  3174. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3175. </TEMPLATE>
  3176. <TEMPLATE>
  3177. <NAME>CreateFullTextIndex</NAME>
  3178. <ID>17</ID>
  3179. <GUID>{AB1B449E-C292-4E76-B92F-C2F4786AEEDA}</GUID>
  3180. <CAPTION>CreateFullTextIndex</CAPTION>
  3181. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3182. <ENABLED>1</ENABLED>
  3183. <LEVEL>2</LEVEL>
  3184. <IDPARENT>0</IDPARENT>
  3185. <VALUE><![CDATA[iff(lFullTextIndex, SetFlag(1, true)+ShowMessage(tb+"FullText Index %c5%%Indexname%%c5% for table %c5%%TableName%%c5%")
  3186. +"Alter Table "+if(lTableInMemory, "Memory ", "")
  3187. +"%c5%%TableName%%c5% Text Index "+ForIndexCol( "(", "", c5+ColName+c5, ",", ")")
  3188. +iff(Index.Storage<>"",cr+Index.Storage,"")+";%cr%", "")
  3189.  
  3190. ]]></VALUE>
  3191. <LANGUAGE>0</LANGUAGE>
  3192. <LANGUAGEWIN>---</LANGUAGEWIN>
  3193. <CATEGORY>2</CATEGORY>
  3194. <MAINSCRIPT>0</MAINSCRIPT>
  3195. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3196. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3197. <AUTHOR></AUTHOR>
  3198. <COMPANY></COMPANY>
  3199. <VERSION></VERSION>
  3200. <CREATED><DATE>2/4/2002</DATE><TIME>11:21:27</TIME></CREATED>
  3201. <MODIFIED><DATE>2/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  3202. </TEMPLATE>
  3203. </TEMPLATES>
  3204. <VARIABLES><![CDATA[lIndexCaseSensitiveSupp 1
  3205. lConstraintPkSupp 1
  3206. lDomainSupp  0
  3207. lUserTypeAttrSupp 0
  3208. lUserTypeDomainSupp 0
  3209. lUserTriggerSupp 0
  3210. lDriParUpdRestrict 0
  3211. lDriParUpdCascade 0
  3212. lDriParUpdSetNull 0
  3213. lDriParUpdSetDefault 0
  3214. lDriParDelRestrict 0
  3215. lDriParDelCascade 0
  3216. lDriParDelSetNull 0
  3217. lDriParDelSetDefault 0
  3218. lDriChildInsRestrict 0
  3219. lDriChildUpdRestrict 0
  3220. lDriParUpdRestrictSupp 0
  3221. lDriParUpdCascadeSupp 0
  3222. lDriParUpdSetNullSupp 0
  3223. lDriParUpdSetDefaultSupp 0
  3224. lDriParDelRestrictSupp 0
  3225. lDriParDelCascadeSupp 0
  3226. lDriParDelSetNullSupp 0
  3227. lDriParDelSetDefaultSupp 0
  3228. lDriChildInsRestrictSupp 0
  3229. lDriChildUpdRestrictSupp 0
  3230. lIndexDescendSupp 1
  3231. lIndexItDescendSupp 0
  3232. lIndexUpperSupp 1
  3233. lIndexExprSupp 0
  3234. lIndexUniqueSupp 1
  3235. lIndexFilterSupp 0
  3236. lIndexStandSupp 1
  3237. lIndexClusterSupp 0
  3238. lIndexNameUnique 1
  3239. lPkSupp 1
  3240. lPkNotNull 0
  3241. lDRISupp 0
  3242. lTriggerSupp 0
  3243. lAtrUniqueSupp 0
  3244. lAtrNotNullSupp 1
  3245. lAtrCheckSupp 0
  3246. lAtrDefaultSupp 1
  3247. lIndexCaseSensitiveSupp 1
  3248. lConstraintPkSupp 1
  3249. lDomainSupp  0
  3250. lUserTypeAttrSupp 0
  3251. lUserTypeDomainSupp 0
  3252. lUserTriggerSupp 0
  3253. ]]></VARIABLES>
  3254. <USEREDITS>
  3255. <USEREDIT>
  3256. <NAME>sAttrMax</NAME>
  3257. <ID>1</ID>
  3258. <GUID>{05136418-7858-4855-BEC2-32E822ADFBCF}</GUID>
  3259. <CAPTION>Maximum Value </CAPTION>
  3260. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3261. <TYPE>0</TYPE>
  3262. <LEVEL>3</LEVEL>
  3263. <DEFAULT></DEFAULT>
  3264. <ORD>2</ORD>
  3265. <LENGTH>0</LENGTH>
  3266. <ENABLED>1</ENABLED>
  3267. <ITEMS></ITEMS>
  3268. </USEREDIT>
  3269. <USEREDIT>
  3270. <NAME>sAttrMin</NAME>
  3271. <ID>2</ID>
  3272. <GUID>{9FEE82AF-16C3-46CB-9CE0-D2854C0A6708}</GUID>
  3273. <CAPTION>Minimum Value</CAPTION>
  3274. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3275. <TYPE>0</TYPE>
  3276. <LEVEL>3</LEVEL>
  3277. <DEFAULT></DEFAULT>
  3278. <ORD>1</ORD>
  3279. <LENGTH>0</LENGTH>
  3280. <ENABLED>1</ENABLED>
  3281. <ITEMS></ITEMS>
  3282. </USEREDIT>
  3283. <USEREDIT>
  3284. <NAME>sAttrCase</NAME>
  3285. <ID>3</ID>
  3286. <GUID>{17A30137-AB1F-4B74-8C08-EF0F0A271BBB}</GUID>
  3287. <CAPTION>Character Case</CAPTION>
  3288. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3289. <TYPE>2</TYPE>
  3290. <LEVEL>3</LEVEL>
  3291. <DEFAULT>NoChange</DEFAULT>
  3292. <ORD>3</ORD>
  3293. <LENGTH>0</LENGTH>
  3294. <ENABLED>1</ENABLED>
  3295. <ITEMS>NoChange Upper Lower </ITEMS>
  3296. </USEREDIT>
  3297. <USEREDIT>
  3298. <NAME>lGenerColDesc</NAME>
  3299. <ID>4</ID>
  3300. <GUID>{B0A7EE56-FA6D-4A1D-AF41-CA5A4DC4F76C}</GUID>
  3301. <CAPTION>Generate Column Description</CAPTION>
  3302. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3303. <TYPE>1</TYPE>
  3304. <LEVEL>1</LEVEL>
  3305. <DEFAULT>1</DEFAULT>
  3306. <ORD>30</ORD>
  3307. <LENGTH>0</LENGTH>
  3308. <ENABLED>1</ENABLED>
  3309. <ITEMS></ITEMS>
  3310. </USEREDIT>
  3311. <USEREDIT>
  3312. <NAME>sIndexCompressType</NAME>
  3313. <ID>5</ID>
  3314. <GUID>{4911CDDA-3071-4410-84F5-6E695BCF9683}</GUID>
  3315. <CAPTION>Index Compression</CAPTION>
  3316. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3317. <TYPE>2</TYPE>
  3318. <LEVEL>4</LEVEL>
  3319. <DEFAULT>None</DEFAULT>
  3320. <ORD>2</ORD>
  3321. <LENGTH>0</LENGTH>
  3322. <ENABLED>1</ENABLED>
  3323. <ITEMS>None DupByte TrailByte Full </ITEMS>
  3324. </USEREDIT>
  3325. <USEREDIT>
  3326. <NAME>lPKCaseSensitive</NAME>
  3327. <ID>6</ID>
  3328. <GUID>{149FECEC-185B-4420-8124-2662DB22E6C5}</GUID>
  3329. <CAPTION>Case Sensitive Primary Key</CAPTION>
  3330. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3331. <TYPE>1</TYPE>
  3332. <LEVEL>2</LEVEL>
  3333. <DEFAULT>1</DEFAULT>
  3334. <ORD>10</ORD>
  3335. <LENGTH>0</LENGTH>
  3336. <ENABLED>1</ENABLED>
  3337. <ITEMS></ITEMS>
  3338. </USEREDIT>
  3339. <USEREDIT>
  3340. <NAME>sPassword</NAME>
  3341. <ID>7</ID>
  3342. <GUID>{4E2F6FE0-A7C5-4538-840D-8F5415D59994}</GUID>
  3343. <CAPTION>Encrypt Table With Password</CAPTION>
  3344. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3345. <TYPE>0</TYPE>
  3346. <LEVEL>2</LEVEL>
  3347. <DEFAULT></DEFAULT>
  3348. <ORD>40</ORD>
  3349. <LENGTH>0</LENGTH>
  3350. <ENABLED>1</ENABLED>
  3351. <ITEMS></ITEMS>
  3352. </USEREDIT>
  3353. <USEREDIT>
  3354. <NAME>sBlobBlockSize</NAME>
  3355. <ID>8</ID>
  3356. <GUID>{71E1037D-7958-4D4E-91F1-7063D0ABBC4C}</GUID>
  3357. <CAPTION>Blob Block Size</CAPTION>
  3358. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3359. <TYPE>0</TYPE>
  3360. <LEVEL>2</LEVEL>
  3361. <DEFAULT>512</DEFAULT>
  3362. <ORD>50</ORD>
  3363. <LENGTH>40</LENGTH>
  3364. <ENABLED>1</ENABLED>
  3365. <ITEMS></ITEMS>
  3366. </USEREDIT>
  3367. <USEREDIT>
  3368. <NAME>lPKDescOrder</NAME>
  3369. <ID>9</ID>
  3370. <GUID>{F3ED833F-D566-406E-903E-FA6A1C3D6B03}</GUID>
  3371. <CAPTION>Descending Primary Key</CAPTION>
  3372. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3373. <TYPE>1</TYPE>
  3374. <LEVEL>2</LEVEL>
  3375. <DEFAULT>0</DEFAULT>
  3376. <ORD>20</ORD>
  3377. <LENGTH>0</LENGTH>
  3378. <ENABLED>1</ENABLED>
  3379. <ITEMS></ITEMS>
  3380. </USEREDIT>
  3381. <USEREDIT>
  3382. <NAME>sPKCompressType</NAME>
  3383. <ID>10</ID>
  3384. <GUID>{C4A6E1A4-80FC-45F5-AFC1-B02DAB17F156}</GUID>
  3385. <CAPTION>Primary Key Compression</CAPTION>
  3386. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3387. <TYPE>2</TYPE>
  3388. <LEVEL>2</LEVEL>
  3389. <DEFAULT>None</DEFAULT>
  3390. <ORD>30</ORD>
  3391. <LENGTH>0</LENGTH>
  3392. <ENABLED>1</ENABLED>
  3393. <ITEMS>None DupByte TrailByte Full</ITEMS>
  3394. </USEREDIT>
  3395. <USEREDIT>
  3396. <NAME>sUserMajVer</NAME>
  3397. <ID>11</ID>
  3398. <GUID>{916036D4-E99E-4A19-BCDC-C7C1A76CC7A8}</GUID>
  3399. <CAPTION>User Major Version</CAPTION>
  3400. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3401. <TYPE>0</TYPE>
  3402. <LEVEL>2</LEVEL>
  3403. <DEFAULT>1</DEFAULT>
  3404. <ORD>60</ORD>
  3405. <LENGTH>20</LENGTH>
  3406. <ENABLED>1</ENABLED>
  3407. <ITEMS></ITEMS>
  3408. </USEREDIT>
  3409. <USEREDIT>
  3410. <NAME>sUserMinVer</NAME>
  3411. <ID>12</ID>
  3412. <GUID>{CDC4E938-034C-4980-9816-660316121F55}</GUID>
  3413. <CAPTION>User Minor Version</CAPTION>
  3414. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3415. <TYPE>0</TYPE>
  3416. <LEVEL>2</LEVEL>
  3417. <DEFAULT></DEFAULT>
  3418. <ORD>70</ORD>
  3419. <LENGTH>25</LENGTH>
  3420. <ENABLED>1</ENABLED>
  3421. <ITEMS></ITEMS>
  3422. </USEREDIT>
  3423. <USEREDIT>
  3424. <NAME>lGenerTabDesc</NAME>
  3425. <ID>13</ID>
  3426. <GUID>{E4A71E33-0243-4A9F-9030-58B9D84393FA}</GUID>
  3427. <CAPTION>Generate Table Description</CAPTION>
  3428. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3429. <TYPE>1</TYPE>
  3430. <LEVEL>1</LEVEL>
  3431. <DEFAULT>1</DEFAULT>
  3432. <ORD>20</ORD>
  3433. <LENGTH>0</LENGTH>
  3434. <ENABLED>1</ENABLED>
  3435. <ITEMS></ITEMS>
  3436. </USEREDIT>
  3437. <USEREDIT>
  3438. <NAME>lPKUnique</NAME>
  3439. <ID>14</ID>
  3440. <GUID>{1FB53971-B576-4ABB-8B73-31596C8C965D}</GUID>
  3441. <CAPTION>Unique Primary Key</CAPTION>
  3442. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3443. <TYPE>1</TYPE>
  3444. <LEVEL>2</LEVEL>
  3445. <DEFAULT>1</DEFAULT>
  3446. <ORD>5</ORD>
  3447. <LENGTH>0</LENGTH>
  3448. <ENABLED>1</ENABLED>
  3449. <ITEMS></ITEMS>
  3450. </USEREDIT>
  3451. <USEREDIT>
  3452. <NAME>lTableInMemory</NAME>
  3453. <ID>15</ID>
  3454. <GUID>{D7175264-536C-4FE9-9C96-C5FD86C94825}</GUID>
  3455. <CAPTION>Create Table In Memory</CAPTION>
  3456. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3457. <TYPE>1</TYPE>
  3458. <LEVEL>2</LEVEL>
  3459. <DEFAULT></DEFAULT>
  3460. <ORD>1</ORD>
  3461. <LENGTH>0</LENGTH>
  3462. <ENABLED>1</ENABLED>
  3463. <ITEMS></ITEMS>
  3464. </USEREDIT>
  3465. <USEREDIT>
  3466. <NAME>lGenerFullTextIndex</NAME>
  3467. <ID>16</ID>
  3468. <GUID>{08746D18-8787-4932-987F-F05707A2136B}</GUID>
  3469. <CAPTION>Generate FullText Index</CAPTION>
  3470. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3471. <TYPE>1</TYPE>
  3472. <LEVEL>1</LEVEL>
  3473. <DEFAULT></DEFAULT>
  3474. <ORD>10</ORD>
  3475. <LENGTH>0</LENGTH>
  3476. <ENABLED>1</ENABLED>
  3477. <ITEMS></ITEMS>
  3478. </USEREDIT>
  3479. <USEREDIT>
  3480. <NAME>lFullTextIndex</NAME>
  3481. <ID>17</ID>
  3482. <GUID>{20A1A345-9A49-4049-A3D8-6C5151698F13}</GUID>
  3483. <CAPTION>FullText Index</CAPTION>
  3484. <PACKAGEGUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</PACKAGEGUID>
  3485. <TYPE>1</TYPE>
  3486. <LEVEL>4</LEVEL>
  3487. <DEFAULT></DEFAULT>
  3488. <ORD>1</ORD>
  3489. <LENGTH>0</LENGTH>
  3490. <ENABLED>1</ENABLED>
  3491. <ITEMS></ITEMS>
  3492. </USEREDIT>
  3493. </USEREDITS>
  3494. <TYPELIST>
  3495. <TYPE>
  3496. <NAME>String</NAME>
  3497. <ID>10</ID>
  3498. <GUID>{30CA6CAE-1A90-4F40-A848-C1201AB8A077}</GUID>
  3499. <PHNAME>CHARACTER</PHNAME>
  3500. <LLENGTH>1</LLENGTH>
  3501. <LDECIMAL>0</LDECIMAL>
  3502. <MAXLENGTH>250</MAXLENGTH>
  3503. <MINLENGTH>0</MINLENGTH>
  3504. <MAXDECIMAL>0</MAXDECIMAL>
  3505. <MINDECIMAL>0</MINDECIMAL>
  3506. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  3507. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3508. <TRANSFORMCODE>A</TRANSFORMCODE>
  3509. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  3510. <EXPORTTO>0</EXPORTTO>
  3511. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3512. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3513. </TYPE>
  3514. <TYPE>
  3515. <NAME>Fixed Char</NAME>
  3516. <ID>15</ID>
  3517. <GUID>{C1A8962E-ED29-4D2D-BE47-74A136677E31}</GUID>
  3518. <PHNAME>CHARACTER</PHNAME>
  3519. <LLENGTH>1</LLENGTH>
  3520. <LDECIMAL>0</LDECIMAL>
  3521. <MAXLENGTH>250</MAXLENGTH>
  3522. <MINLENGTH>0</MINLENGTH>
  3523. <MAXDECIMAL>0</MAXDECIMAL>
  3524. <MINDECIMAL>0</MINDECIMAL>
  3525. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  3526. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3527. <TRANSFORMCODE>A</TRANSFORMCODE>
  3528. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  3529. <EXPORTTO>0</EXPORTTO>
  3530. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3531. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3532. </TYPE>
  3533. <TYPE>
  3534. <NAME>Blob</NAME>
  3535. <ID>20</ID>
  3536. <GUID>{041B4CFD-0F8F-4E42-8490-A81BAB531D0F}</GUID>
  3537. <PHNAME>BLOB</PHNAME>
  3538. <LLENGTH>0</LLENGTH>
  3539. <LDECIMAL>0</LDECIMAL>
  3540. <MAXLENGTH>0</MAXLENGTH>
  3541. <MINLENGTH>0</MINLENGTH>
  3542. <MAXDECIMAL>0</MAXDECIMAL>
  3543. <MINDECIMAL>0</MINDECIMAL>
  3544. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3545. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3546. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  3547. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  3548. <EXPORTTO>0</EXPORTTO>
  3549. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3550. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3551. </TYPE>
  3552. <TYPE>
  3553. <NAME>Graphic</NAME>
  3554. <ID>30</ID>
  3555. <GUID>{72BE00B1-53C3-4F10-9FD0-B1FC97208B3B}</GUID>
  3556. <PHNAME>GRAPHIC</PHNAME>
  3557. <LLENGTH>0</LLENGTH>
  3558. <LDECIMAL>0</LDECIMAL>
  3559. <MAXLENGTH>0</MAXLENGTH>
  3560. <MINLENGTH>0</MINLENGTH>
  3561. <MAXDECIMAL>0</MAXDECIMAL>
  3562. <MINDECIMAL>0</MINDECIMAL>
  3563. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3564. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3565. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  3566. <TRANSFORMTO>PIC;LBIN;BIN;BLOB;</TRANSFORMTO>
  3567. <EXPORTTO>0</EXPORTTO>
  3568. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3569. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3570. </TYPE>
  3571. <TYPE>
  3572. <NAME>Memo</NAME>
  3573. <ID>40</ID>
  3574. <GUID>{97EE356C-8B7A-42F6-9B38-031B1C716329}</GUID>
  3575. <PHNAME>MEMO</PHNAME>
  3576. <LLENGTH>0</LLENGTH>
  3577. <LDECIMAL>0</LDECIMAL>
  3578. <MAXLENGTH>0</MAXLENGTH>
  3579. <MINLENGTH>0</MINLENGTH>
  3580. <MAXDECIMAL>0</MAXDECIMAL>
  3581. <MINDECIMAL>0</MINDECIMAL>
  3582. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3583. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3584. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  3585. <TRANSFORMTO>TXT;BIN;LBIN;BLOB;</TRANSFORMTO>
  3586. <EXPORTTO>0</EXPORTTO>
  3587. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3588. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3589. </TYPE>
  3590. <TYPE>
  3591. <NAME>FmtMemo</NAME>
  3592. <ID>50</ID>
  3593. <GUID>{CF9105AB-11BD-4F45-BCFC-8161C21A4265}</GUID>
  3594. <PHNAME>BLOB(0,3)</PHNAME>
  3595. <LLENGTH>0</LLENGTH>
  3596. <LDECIMAL>0</LDECIMAL>
  3597. <MAXLENGTH>0</MAXLENGTH>
  3598. <MINLENGTH>0</MINLENGTH>
  3599. <MAXDECIMAL>0</MAXDECIMAL>
  3600. <MINDECIMAL>0</MINDECIMAL>
  3601. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3602. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3603. <TRANSFORMCODE>BLOB03</TRANSFORMCODE>
  3604. <TRANSFORMTO>BLOB03;BLOB;LBIN;BIN;</TRANSFORMTO>
  3605. <EXPORTTO>0</EXPORTTO>
  3606. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3607. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3608. </TYPE>
  3609. <TYPE>
  3610. <NAME>TypedBinary</NAME>
  3611. <ID>60</ID>
  3612. <GUID>{DA5DD405-1F02-4967-AE7B-E14780ADCEA7}</GUID>
  3613. <PHNAME>BLOB(0,7)</PHNAME>
  3614. <LLENGTH>0</LLENGTH>
  3615. <LDECIMAL>0</LDECIMAL>
  3616. <MAXLENGTH>0</MAXLENGTH>
  3617. <MINLENGTH>0</MINLENGTH>
  3618. <MAXDECIMAL>0</MAXDECIMAL>
  3619. <MINDECIMAL>0</MINDECIMAL>
  3620. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3621. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3622. <TRANSFORMCODE>BLOB07</TRANSFORMCODE>
  3623. <TRANSFORMTO>BLOB07;LBIN;BIN;BLOB;</TRANSFORMTO>
  3624. <EXPORTTO>0</EXPORTTO>
  3625. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3626. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3627. </TYPE>
  3628. <TYPE>
  3629. <NAME>Date</NAME>
  3630. <ID>70</ID>
  3631. <GUID>{E7C19B1E-7230-4371-B536-F3C930723E28}</GUID>
  3632. <PHNAME>DATE</PHNAME>
  3633. <LLENGTH>0</LLENGTH>
  3634. <LDECIMAL>0</LDECIMAL>
  3635. <MAXLENGTH>0</MAXLENGTH>
  3636. <MINLENGTH>0</MINLENGTH>
  3637. <MAXDECIMAL>0</MAXDECIMAL>
  3638. <MINDECIMAL>0</MINDECIMAL>
  3639. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3640. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3641. <TRANSFORMCODE>D</TRANSFORMCODE>
  3642. <TRANSFORMTO>D;DT;A;</TRANSFORMTO>
  3643. <EXPORTTO>0</EXPORTTO>
  3644. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3645. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3646. </TYPE>
  3647. <TYPE>
  3648. <NAME>Time</NAME>
  3649. <ID>80</ID>
  3650. <GUID>{E8BEB7AF-75AF-45D2-A0C4-6C32B2DF0900}</GUID>
  3651. <PHNAME>TIME</PHNAME>
  3652. <LLENGTH>0</LLENGTH>
  3653. <LDECIMAL>0</LDECIMAL>
  3654. <MAXLENGTH>0</MAXLENGTH>
  3655. <MINLENGTH>0</MINLENGTH>
  3656. <MAXDECIMAL>0</MAXDECIMAL>
  3657. <MINDECIMAL>0</MINDECIMAL>
  3658. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3659. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3660. <TRANSFORMCODE>T</TRANSFORMCODE>
  3661. <TRANSFORMTO>T;DT;A;</TRANSFORMTO>
  3662. <EXPORTTO>0</EXPORTTO>
  3663. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3664. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3665. </TYPE>
  3666. <TYPE>
  3667. <NAME>TimeStamp</NAME>
  3668. <ID>90</ID>
  3669. <GUID>{AF88F16F-0199-4717-9C0C-74E97DF19CF5}</GUID>
  3670. <PHNAME>TIMESTAMP</PHNAME>
  3671. <LLENGTH>0</LLENGTH>
  3672. <LDECIMAL>0</LDECIMAL>
  3673. <MAXLENGTH>0</MAXLENGTH>
  3674. <MINLENGTH>0</MINLENGTH>
  3675. <MAXDECIMAL>0</MAXDECIMAL>
  3676. <MINDECIMAL>0</MINDECIMAL>
  3677. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3678. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3679. <TRANSFORMCODE>TS</TRANSFORMCODE>
  3680. <TRANSFORMTO>TS;DT;D;A;</TRANSFORMTO>
  3681. <EXPORTTO>0</EXPORTTO>
  3682. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3683. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3684. </TYPE>
  3685. <TYPE>
  3686. <NAME>Boolean</NAME>
  3687. <ID>100</ID>
  3688. <GUID>{A077BF83-ED46-40CB-AD40-28CF016DFE14}</GUID>
  3689. <PHNAME>BOOLEAN</PHNAME>
  3690. <LLENGTH>0</LLENGTH>
  3691. <LDECIMAL>0</LDECIMAL>
  3692. <MAXLENGTH>0</MAXLENGTH>
  3693. <MINLENGTH>0</MINLENGTH>
  3694. <MAXDECIMAL>0</MAXDECIMAL>
  3695. <MINDECIMAL>0</MINDECIMAL>
  3696. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3697. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3698. <TRANSFORMCODE>BL</TRANSFORMCODE>
  3699. <TRANSFORMTO>BL;BIT;A,1,0;</TRANSFORMTO>
  3700. <EXPORTTO>0</EXPORTTO>
  3701. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3702. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3703. </TYPE>
  3704. <TYPE>
  3705. <NAME>Word</NAME>
  3706. <ID>110</ID>
  3707. <GUID>{29F58894-8220-4237-99B8-25C98803E2A4}</GUID>
  3708. <PHNAME>WORD</PHNAME>
  3709. <LLENGTH>0</LLENGTH>
  3710. <LDECIMAL>0</LDECIMAL>
  3711. <MAXLENGTH>0</MAXLENGTH>
  3712. <MINLENGTH>0</MINLENGTH>
  3713. <MAXDECIMAL>0</MAXDECIMAL>
  3714. <MINDECIMAL>0</MINDECIMAL>
  3715. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3716. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3717. <TRANSFORMCODE>CLOB</TRANSFORMCODE>
  3718. <TRANSFORMTO>CLOB;BIN;LBIN;</TRANSFORMTO>
  3719. <EXPORTTO>0</EXPORTTO>
  3720. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3721. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3722. </TYPE>
  3723. <TYPE>
  3724. <NAME>SmallInt</NAME>
  3725. <ID>120</ID>
  3726. <GUID>{BBE164C6-0F8B-4AD8-9C3F-3CE1DF45C19D}</GUID>
  3727. <PHNAME>SMALLINT</PHNAME>
  3728. <LLENGTH>0</LLENGTH>
  3729. <LDECIMAL>0</LDECIMAL>
  3730. <MAXLENGTH>0</MAXLENGTH>
  3731. <MINLENGTH>0</MINLENGTH>
  3732. <MAXDECIMAL>0</MAXDECIMAL>
  3733. <MINDECIMAL>0</MINDECIMAL>
  3734. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3735. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3736. <TRANSFORMCODE>SI</TRANSFORMCODE>
  3737. <TRANSFORMTO>SI;I;MI;LI;N,5,0;</TRANSFORMTO>
  3738. <EXPORTTO>0</EXPORTTO>
  3739. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3740. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3741. </TYPE>
  3742. <TYPE>
  3743. <NAME>Integer</NAME>
  3744. <ID>130</ID>
  3745. <GUID>{ABB58B57-6389-436D-B55B-938F517FB3C7}</GUID>
  3746. <PHNAME>INTEGER</PHNAME>
  3747. <LLENGTH>0</LLENGTH>
  3748. <LDECIMAL>0</LDECIMAL>
  3749. <MAXLENGTH>0</MAXLENGTH>
  3750. <MINLENGTH>0</MINLENGTH>
  3751. <MAXDECIMAL>0</MAXDECIMAL>
  3752. <MINDECIMAL>0</MINDECIMAL>
  3753. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3754. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3755. <TRANSFORMCODE>I</TRANSFORMCODE>
  3756. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  3757. <EXPORTTO>0</EXPORTTO>
  3758. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3759. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3760. </TYPE>
  3761. <TYPE>
  3762. <NAME>LargeInt</NAME>
  3763. <ID>140</ID>
  3764. <GUID>{B7209468-E143-417E-A960-1474E001627D}</GUID>
  3765. <PHNAME>LARGEINT</PHNAME>
  3766. <LLENGTH>0</LLENGTH>
  3767. <LDECIMAL>0</LDECIMAL>
  3768. <MAXLENGTH>0</MAXLENGTH>
  3769. <MINLENGTH>0</MINLENGTH>
  3770. <MAXDECIMAL>0</MAXDECIMAL>
  3771. <MINDECIMAL>0</MINDECIMAL>
  3772. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3773. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3774. <TRANSFORMCODE>BI</TRANSFORMCODE>
  3775. <TRANSFORMTO>BI;LF;F;I;</TRANSFORMTO>
  3776. <EXPORTTO>0</EXPORTTO>
  3777. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3778. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3779. </TYPE>
  3780. <TYPE>
  3781. <NAME>AutoInc</NAME>
  3782. <ID>150</ID>
  3783. <GUID>{F6923E6C-9894-4595-A5D0-B44A00F0099B}</GUID>
  3784. <PHNAME>AUTOINC</PHNAME>
  3785. <LLENGTH>0</LLENGTH>
  3786. <LDECIMAL>0</LDECIMAL>
  3787. <MAXLENGTH>0</MAXLENGTH>
  3788. <MINLENGTH>0</MINLENGTH>
  3789. <MAXDECIMAL>0</MAXDECIMAL>
  3790. <MINDECIMAL>0</MINDECIMAL>
  3791. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3792. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3793. <TRANSFORMCODE>NO</TRANSFORMCODE>
  3794. <TRANSFORMTO>NO;LI;I;N,10,0:</TRANSFORMTO>
  3795. <EXPORTTO>0</EXPORTTO>
  3796. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3797. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3798. </TYPE>
  3799. <TYPE>
  3800. <NAME>Float</NAME>
  3801. <ID>160</ID>
  3802. <GUID>{2371F4F0-21CF-43BA-983F-16E7008F2781}</GUID>
  3803. <PHNAME>FLOAT</PHNAME>
  3804. <LLENGTH>0</LLENGTH>
  3805. <LDECIMAL>0</LDECIMAL>
  3806. <MAXLENGTH>0</MAXLENGTH>
  3807. <MINLENGTH>0</MINLENGTH>
  3808. <MAXDECIMAL>0</MAXDECIMAL>
  3809. <MINDECIMAL>0</MINDECIMAL>
  3810. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3811. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3812. <TRANSFORMCODE>F</TRANSFORMCODE>
  3813. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  3814. <EXPORTTO>0</EXPORTTO>
  3815. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3816. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3817. </TYPE>
  3818. <TYPE>
  3819. <NAME>Currency</NAME>
  3820. <ID>170</ID>
  3821. <GUID>{4568CCF5-BEAC-488F-95A2-69BB5B8FF623}</GUID>
  3822. <PHNAME>MONEY</PHNAME>
  3823. <LLENGTH>0</LLENGTH>
  3824. <LDECIMAL>0</LDECIMAL>
  3825. <MAXLENGTH>0</MAXLENGTH>
  3826. <MINLENGTH>0</MINLENGTH>
  3827. <MAXDECIMAL>2</MAXDECIMAL>
  3828. <MINDECIMAL>2</MINDECIMAL>
  3829. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3830. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  3831. <TRANSFORMCODE>MN</TRANSFORMCODE>
  3832. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  3833. <EXPORTTO>0</EXPORTTO>
  3834. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3835. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3836. </TYPE>
  3837. <TYPE>
  3838. <NAME>BCD</NAME>
  3839. <ID>180</ID>
  3840. <GUID>{47D12E37-D188-4731-944C-D19B49BAFF32}</GUID>
  3841. <PHNAME>DECIMAL</PHNAME>
  3842. <LLENGTH>1</LLENGTH>
  3843. <LDECIMAL>1</LDECIMAL>
  3844. <MAXLENGTH>0</MAXLENGTH>
  3845. <MINLENGTH>0</MINLENGTH>
  3846. <MAXDECIMAL>4</MAXDECIMAL>
  3847. <MINDECIMAL>0</MINDECIMAL>
  3848. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3849. <DEFAULTDECIMAL>4</DEFAULTDECIMAL>
  3850. <TRANSFORMCODE>DC</TRANSFORMCODE>
  3851. <TRANSFORMTO>DC;N,15,4;F;</TRANSFORMTO>
  3852. <EXPORTTO>0</EXPORTTO>
  3853. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3854. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3855. </TYPE>
  3856. <TYPE>
  3857. <NAME>Bytes</NAME>
  3858. <ID>190</ID>
  3859. <GUID>{E5871537-866C-40DC-A4A9-0226F9CD7740}</GUID>
  3860. <PHNAME>BYTES</PHNAME>
  3861. <LLENGTH>1</LLENGTH>
  3862. <LDECIMAL>0</LDECIMAL>
  3863. <MAXLENGTH>250</MAXLENGTH>
  3864. <MINLENGTH>1</MINLENGTH>
  3865. <MAXDECIMAL>0</MAXDECIMAL>
  3866. <MINDECIMAL>0</MINDECIMAL>
  3867. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  3868. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3869. <TRANSFORMCODE>BTS</TRANSFORMCODE>
  3870. <TRANSFORMTO>BTS;BT;LBIN;</TRANSFORMTO>
  3871. <EXPORTTO>0</EXPORTTO>
  3872. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3873. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3874. </TYPE>
  3875. <TYPE>
  3876. <NAME>(other data type)</NAME>
  3877. <ID>200</ID>
  3878. <GUID>{0EC06AF8-B8D6-403A-8578-D4FE8B3B11AB}</GUID>
  3879. <PHNAME></PHNAME>
  3880. <LLENGTH>0</LLENGTH>
  3881. <LDECIMAL>0</LDECIMAL>
  3882. <MAXLENGTH>0</MAXLENGTH>
  3883. <MINLENGTH>0</MINLENGTH>
  3884. <MAXDECIMAL>0</MAXDECIMAL>
  3885. <MINDECIMAL>0</MINDECIMAL>
  3886. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3887. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3888. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  3889. <TRANSFORMTO>EMP;</TRANSFORMTO>
  3890. <EXPORTTO>0</EXPORTTO>
  3891. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3892. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3893. </TYPE>
  3894. </TYPELIST>
  3895. <TEXTOBJECTTYPES>
  3896. </TEXTOBJECTTYPES>
  3897. <DISABLED>0</DISABLED>
  3898. <MAXLENGTHTABLENAME>30</MAXLENGTHTABLENAME>
  3899. <MAXLENGTHCOLNAME>30</MAXLENGTHCOLNAME>
  3900. <MAXLENGTHINDEXNAME>30</MAXLENGTHINDEXNAME>
  3901. <DEFAULTCHAR>_</DEFAULTCHAR>
  3902. <INVALIDCHARACTERS>?!@#$%^&*~`"'|,;:+-*/<>()=[]\</INVALIDCHARACTERS>
  3903. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  3904. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  3905. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  3906. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  3907. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  3908. <KEYWORDS><![CDATA[]]></KEYWORDS>
  3909. </SERVER>
  3910. <SERVER>
  3911. <NAME>Interbase 4</NAME>
  3912. <ID>10</ID>
  3913. <GUID>{B42BB2AD-42A3-47B8-AC1F-4CAA1B57962D}</GUID>
  3914. <TEMPLATES>
  3915. <TEMPLATE>
  3916. <NAME>CreateDatabase</NAME>
  3917. <ID>1</ID>
  3918. <GUID>{B93282B0-511B-4D0D-9B16-1060E6760598}</GUID>
  3919. <CAPTION>CreateDatabase</CAPTION>
  3920. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  3921. <ENABLED>1</ENABLED>
  3922. <LEVEL>2</LEVEL>
  3923. <IDPARENT>0</IDPARENT>
  3924. <VALUE><![CDATA[/*
  3925. Created        %createddate%
  3926. Modified        %modifieddate%
  3927. Project        %projectname%
  3928. Model        %modelname%
  3929. Company        %company%
  3930. Author        %authorname%
  3931. Version        %version%
  3932. Database        %databasetype% 
  3933. */
  3934.  
  3935. {lbeforescript}
  3936. %beforescript%
  3937. {ldroptriggerGener}
  3938. @showmessage("Drop triggers")
  3939. @template(droptriggers)
  3940. {lDropIndexGener}
  3941. @template(DropIndexs)
  3942. {lDropTableGener}
  3943. @showmessage("Drop tables")
  3944. @template(DropRefIntegritys)
  3945. @template(droptables)
  3946. {lDropDomainGener}
  3947. @showmessage("Drop domains")
  3948. @template(dropdomains)
  3949. {lDropException}
  3950. @template(DropExcept)
  3951. {lDomainGener}
  3952. @showmessage("Create domains")
  3953. @template(CreateDomains)
  3954. {lTableGener}
  3955. @showmessage("Create tables")
  3956. @template(createtables)
  3957. {lEntityOthers}
  3958. @showmessage("Create tab 'Others' for selected tables")
  3959. @template(CreateTableOthers)
  3960. {lAlterKeysGener}
  3961. @template(CreateAlterKeys)
  3962. {lIndexGener}
  3963. @showmessage("Create indexes")
  3964. @template(createindexs)
  3965. {lRefIntegGener}
  3966. @template(refintegritys)
  3967. {true}
  3968. set term ^;
  3969. {lCreateException}
  3970. @template(CreateExcept)
  3971. {lViewsGener}
  3972. @showmessage("Create Views")
  3973. @template(CreateViews)
  3974. {lProceduresGener}
  3975. @showmessage("Create Procedures")
  3976. @template(CreateProcedures)
  3977. {lTriggersGener}
  3978. @showmessage("Create Triggers")
  3979. @template(createtriggers)
  3980. {lTriggersUserGener}
  3981. @template(CreateTriggersList)
  3982. {true}
  3983. set term ;^
  3984. {lUserPermissGener}
  3985. @ShowMessage("Users permissions")
  3986. @template(CreateUserPermiss)
  3987. {lafterscript}
  3988. %afterscript%
  3989. {true}
  3990. @template(UserTempl)
  3991.  
  3992.  
  3993. ]]></VALUE>
  3994. <LANGUAGE>0</LANGUAGE>
  3995. <LANGUAGEWIN>---</LANGUAGEWIN>
  3996. <CATEGORY>2</CATEGORY>
  3997. <MAINSCRIPT>0</MAINSCRIPT>
  3998. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  3999. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4000. <AUTHOR></AUTHOR>
  4001. <COMPANY></COMPANY>
  4002. <VERSION></VERSION>
  4003. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4004. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  4005. </TEMPLATE>
  4006. <TEMPLATE>
  4007. <NAME>CREATETABLE</NAME>
  4008. <ID>2</ID>
  4009. <GUID>{11E5C6B3-364B-410C-9D68-C58A42F8D359}</GUID>
  4010. <CAPTION></CAPTION>
  4011. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4012. <ENABLED>1</ENABLED>
  4013. <LEVEL>2</LEVEL>
  4014. <IDPARENT>0</IDPARENT>
  4015. <VALUE><![CDATA[cr+
  4016. "Create table %tablename% %tablestorage% ("+
  4017. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  4018. if(existpk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+ " Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  4019. ");"+cr+showmessage("Table %tablename%")
  4020. ]]></VALUE>
  4021. <LANGUAGE>0</LANGUAGE>
  4022. <LANGUAGEWIN>---</LANGUAGEWIN>
  4023. <CATEGORY>2</CATEGORY>
  4024. <MAINSCRIPT>0</MAINSCRIPT>
  4025. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4026. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4027. <AUTHOR></AUTHOR>
  4028. <COMPANY></COMPANY>
  4029. <VERSION></VERSION>
  4030. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4031. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4032. </TEMPLATE>
  4033. <TEMPLATE>
  4034. <NAME>CREATEINDEX</NAME>
  4035. <ID>3</ID>
  4036. <GUID>{5F3E1CE0-6EC0-4D68-9C69-DFAEBB9944E4}</GUID>
  4037. <CAPTION></CAPTION>
  4038. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4039. <ENABLED>1</ENABLED>
  4040. <LEVEL>2</LEVEL>
  4041. <IDPARENT>0</IDPARENT>
  4042. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  4043. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",");")+cr
  4044. +ShowMessage("Index %Indexname% for table %tablename%")
  4045. ]]></VALUE>
  4046. <LANGUAGE>0</LANGUAGE>
  4047. <LANGUAGEWIN>---</LANGUAGEWIN>
  4048. <CATEGORY>2</CATEGORY>
  4049. <MAINSCRIPT>0</MAINSCRIPT>
  4050. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4051. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4052. <AUTHOR></AUTHOR>
  4053. <COMPANY></COMPANY>
  4054. <VERSION></VERSION>
  4055. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4056. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4057. </TEMPLATE>
  4058. <TEMPLATE>
  4059. <NAME>TRIGGERPARENTUPDATE</NAME>
  4060. <ID>4</ID>
  4061. <GUID>{7221408D-98A1-4F34-B1C1-ED6F4FD28AA3}</GUID>
  4062. <CAPTION></CAPTION>
  4063. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4064. <ENABLED>1</ENABLED>
  4065. <LEVEL>2</LEVEL>
  4066. <IDPARENT>0</IDPARENT>
  4067. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  4068. /* cascade child %childtablename% update when parent %parenttablename% changed */
  4069.  
  4070. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  4071. begin
  4072.     update %childtablename%
  4073.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = new.%PkParentName%" , ",%cr%" , "")
  4074.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "") ;
  4075. end
  4076.  
  4077. {ParUpdSetNULL and  (not lParUpdSetnullDekl)} 
  4078. /* cascade setnull when parent changed */
  4079.  
  4080. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  4081. begin
  4082.     update %childtablename%
  4083.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  4084.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  4085. end
  4086.  
  4087. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)} 
  4088. /* cascade setdefault when parent changed */
  4089.  
  4090. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  4091. begin
  4092.     update %childtablename%
  4093.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  4094.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  4095. end
  4096.  
  4097.  
  4098. {ParUpdRestrict and (not lParUpdRestDekl)} 
  4099. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  4100.  
  4101. if     @forrelpk( "( ", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  4102. begin
  4103.     select count( * ) from %childtablename%
  4104.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  4105.     into :numrows;
  4106.     IF ( numrows > 0 ) then
  4107.         begin
  4108.         exception except_upd_p;
  4109.         end
  4110. end
  4111. ]]></VALUE>
  4112. <LANGUAGE>0</LANGUAGE>
  4113. <LANGUAGEWIN>---</LANGUAGEWIN>
  4114. <CATEGORY>2</CATEGORY>
  4115. <MAINSCRIPT>0</MAINSCRIPT>
  4116. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4117. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4118. <AUTHOR></AUTHOR>
  4119. <COMPANY></COMPANY>
  4120. <VERSION></VERSION>
  4121. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4122. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4123. </TEMPLATE>
  4124. <TEMPLATE>
  4125. <NAME>TRIGGERCHILDUPDATE</NAME>
  4126. <ID>5</ID>
  4127. <GUID>{2C333F41-F9BE-4EB0-851B-36490EF81959}</GUID>
  4128. <CAPTION></CAPTION>
  4129. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4130. <ENABLED>1</ENABLED>
  4131. <LEVEL>2</LEVEL>
  4132. <IDPARENT>0</IDPARENT>
  4133. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  4134. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  4135.  
  4136. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  4137.      begin
  4138.     select count( * ) from %ParentTableName%
  4139.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  4140.     into :numrows;
  4141.     IF ( numrows = 0 ) then
  4142.         begin
  4143.         exception except_upd_ch;
  4144.         end
  4145.     end
  4146. ]]></VALUE>
  4147. <LANGUAGE>0</LANGUAGE>
  4148. <LANGUAGEWIN>---</LANGUAGEWIN>
  4149. <CATEGORY>2</CATEGORY>
  4150. <MAINSCRIPT>0</MAINSCRIPT>
  4151. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4152. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4153. <AUTHOR></AUTHOR>
  4154. <COMPANY></COMPANY>
  4155. <VERSION></VERSION>
  4156. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4157. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4158. </TEMPLATE>
  4159. <TEMPLATE>
  4160. <NAME>CREATETRIGGERUPDATE</NAME>
  4161. <ID>6</ID>
  4162. <GUID>{9DA89411-0DE7-4350-A116-A04EAAB90068}</GUID>
  4163. <CAPTION></CAPTION>
  4164. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4165. <ENABLED>1</ENABLED>
  4166. <LEVEL>2</LEVEL>
  4167. <IDPARENT>0</IDPARENT>
  4168. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  4169. /* Update trigger for %tablename% */
  4170.  
  4171. CREATE Trigger tu_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  4172. before update as
  4173. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  4174. begin
  4175.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  4176.      @forparent("", "", template(triggerchildupdate), "", "" )
  4177. end
  4178. ^
  4179.  
  4180. ]]></VALUE>
  4181. <LANGUAGE>0</LANGUAGE>
  4182. <LANGUAGEWIN>---</LANGUAGEWIN>
  4183. <CATEGORY>2</CATEGORY>
  4184. <MAINSCRIPT>0</MAINSCRIPT>
  4185. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4186. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4187. <AUTHOR></AUTHOR>
  4188. <COMPANY></COMPANY>
  4189. <VERSION></VERSION>
  4190. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4191. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4192. </TEMPLATE>
  4193. <TEMPLATE>
  4194. <NAME>CREATETRIGGERINSERT</NAME>
  4195. <ID>7</ID>
  4196. <GUID>{658E90BA-6C28-4158-8F99-6A5189FA34C0}</GUID>
  4197. <CAPTION></CAPTION>
  4198. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4199. <ENABLED>1</ENABLED>
  4200. <LEVEL>2</LEVEL>
  4201. <IDPARENT>0</IDPARENT>
  4202. <VALUE><![CDATA[{lEntChildInsTrig  }
  4203. /* Insert trigger for %tablename% */
  4204.  
  4205. CREATE Trigger ti_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  4206. before insert as
  4207. declare variable numrows integer;
  4208. begin
  4209. @forparent("", "", template(TriggerParentInsert), "", "")
  4210. end
  4211. ^
  4212.  
  4213. ]]></VALUE>
  4214. <LANGUAGE>0</LANGUAGE>
  4215. <LANGUAGEWIN>---</LANGUAGEWIN>
  4216. <CATEGORY>2</CATEGORY>
  4217. <MAINSCRIPT>0</MAINSCRIPT>
  4218. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4219. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4220. <AUTHOR></AUTHOR>
  4221. <COMPANY></COMPANY>
  4222. <VERSION></VERSION>
  4223. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4224. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4225. </TEMPLATE>
  4226. <TEMPLATE>
  4227. <NAME>CREATETRIGGERDELETE</NAME>
  4228. <ID>8</ID>
  4229. <GUID>{48588FBE-CF17-46A8-AE54-D5A274802E7F}</GUID>
  4230. <CAPTION></CAPTION>
  4231. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4232. <ENABLED>1</ENABLED>
  4233. <LEVEL>2</LEVEL>
  4234. <IDPARENT>0</IDPARENT>
  4235. <VALUE><![CDATA[{lEntParDelTrig }
  4236. /* Delete trigger for %tablename% */
  4237.  
  4238. CREATE Trigger td_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  4239. before delete as
  4240. @if(lEntParDelRest,"declare variable numrows integer;","")
  4241. begin
  4242. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  4243. end
  4244. ^
  4245.  
  4246. ]]></VALUE>
  4247. <LANGUAGE>0</LANGUAGE>
  4248. <LANGUAGEWIN>---</LANGUAGEWIN>
  4249. <CATEGORY>2</CATEGORY>
  4250. <MAINSCRIPT>0</MAINSCRIPT>
  4251. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4252. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4253. <AUTHOR></AUTHOR>
  4254. <COMPANY></COMPANY>
  4255. <VERSION></VERSION>
  4256. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4257. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4258. </TEMPLATE>
  4259. <TEMPLATE>
  4260. <NAME>TRIGGERPARENTDELETE</NAME>
  4261. <ID>9</ID>
  4262. <GUID>{FBAC61DB-7E8E-409E-B51E-9BA30BE445E3}</GUID>
  4263. <CAPTION></CAPTION>
  4264. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4265. <ENABLED>1</ENABLED>
  4266. <LEVEL>2</LEVEL>
  4267. <IDPARENT>0</IDPARENT>
  4268. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  4269. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  4270.  
  4271.     delete from %childtablename%
  4272.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "");
  4273.  
  4274.  
  4275. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  4276. /* cascade setnull when parent deleted */
  4277.  
  4278.     update %childtablename%
  4279.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  4280.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  4281.  
  4282.  
  4283. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  4284. /* cascade setdefault when parent deleted */
  4285.  
  4286.     update %childtablename%
  4287.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  4288.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  4289.  
  4290.  
  4291.  
  4292. {ParDelRestrict and (not lParDelRestDekl)} 
  4293. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  4294.  
  4295.  
  4296.     select count( * ) from %childtablename%
  4297.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  4298.     into :numrows;
  4299.     IF ( numrows > 0 ) then
  4300.         begin
  4301.         exception except_del_p;
  4302.         end 
  4303. ]]></VALUE>
  4304. <LANGUAGE>0</LANGUAGE>
  4305. <LANGUAGEWIN>---</LANGUAGEWIN>
  4306. <CATEGORY>2</CATEGORY>
  4307. <MAINSCRIPT>0</MAINSCRIPT>
  4308. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4309. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4310. <AUTHOR></AUTHOR>
  4311. <COMPANY></COMPANY>
  4312. <VERSION></VERSION>
  4313. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4314. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4315. </TEMPLATE>
  4316. <TEMPLATE>
  4317. <NAME>TRIGGERPARENTINSERT</NAME>
  4318. <ID>10</ID>
  4319. <GUID>{8C8962AF-DFF0-4441-A4D8-BBA1A25B6F23}</GUID>
  4320. <CAPTION></CAPTION>
  4321. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4322. <ENABLED>1</ENABLED>
  4323. <LEVEL>2</LEVEL>
  4324. <IDPARENT>0</IDPARENT>
  4325. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  4326. /* restrict child %childtablename% when parent %parenttablename% insert */
  4327.  
  4328. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  4329.      begin
  4330.     select count( * ) from %ParentTableName%
  4331.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  4332.     into :numrows;
  4333.     IF ( numrows = 0 ) then
  4334.         begin
  4335.         exception  except_ins_ch;
  4336.         end
  4337.     end
  4338. ]]></VALUE>
  4339. <LANGUAGE>0</LANGUAGE>
  4340. <LANGUAGEWIN>---</LANGUAGEWIN>
  4341. <CATEGORY>2</CATEGORY>
  4342. <MAINSCRIPT>0</MAINSCRIPT>
  4343. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4344. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4345. <AUTHOR></AUTHOR>
  4346. <COMPANY></COMPANY>
  4347. <VERSION></VERSION>
  4348. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4349. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4350. </TEMPLATE>
  4351. <TEMPLATE>
  4352. <NAME>REFINTEGRITY</NAME>
  4353. <ID>11</ID>
  4354. <GUID>{C105E8AB-CD60-4663-BF4F-4C49CD62EB8B}</GUID>
  4355. <CAPTION></CAPTION>
  4356. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4357. <ENABLED>1</ENABLED>
  4358. <LEVEL>2</LEVEL>
  4359. <IDPARENT>0</IDPARENT>
  4360. <VALUE><![CDATA[{lRelAnyDekl}
  4361. alter table %childtablename% add @if(lFkAsConstraint and (not Empty(fRelname)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%);
  4362. ]]></VALUE>
  4363. <LANGUAGE>0</LANGUAGE>
  4364. <LANGUAGEWIN>---</LANGUAGEWIN>
  4365. <CATEGORY>2</CATEGORY>
  4366. <MAINSCRIPT>0</MAINSCRIPT>
  4367. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4368. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4369. <AUTHOR></AUTHOR>
  4370. <COMPANY></COMPANY>
  4371. <VERSION></VERSION>
  4372. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4373. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4374. </TEMPLATE>
  4375. <TEMPLATE>
  4376. <NAME>DropIndexs</NAME>
  4377. <ID>12</ID>
  4378. <GUID>{420C03E2-E362-473B-B92A-D1E860B0EF8B}</GUID>
  4379. <CAPTION></CAPTION>
  4380. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4381. <ENABLED>1</ENABLED>
  4382. <LEVEL>2</LEVEL>
  4383. <IDPARENT>0</IDPARENT>
  4384. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  4385. ]]></VALUE>
  4386. <LANGUAGE>0</LANGUAGE>
  4387. <LANGUAGEWIN>---</LANGUAGEWIN>
  4388. <CATEGORY>2</CATEGORY>
  4389. <MAINSCRIPT>0</MAINSCRIPT>
  4390. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4391. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4392. <AUTHOR></AUTHOR>
  4393. <COMPANY></COMPANY>
  4394. <VERSION></VERSION>
  4395. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4396. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4397. </TEMPLATE>
  4398. <TEMPLATE>
  4399. <NAME>DROPTABLES</NAME>
  4400. <ID>13</ID>
  4401. <GUID>{26033A27-0866-4571-BAE7-5592CC88EA0C}</GUID>
  4402. <CAPTION></CAPTION>
  4403. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4404. <ENABLED>1</ENABLED>
  4405. <LEVEL>2</LEVEL>
  4406. <IDPARENT>0</IDPARENT>
  4407. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  4408. ]]></VALUE>
  4409. <LANGUAGE>0</LANGUAGE>
  4410. <LANGUAGEWIN>---</LANGUAGEWIN>
  4411. <CATEGORY>2</CATEGORY>
  4412. <MAINSCRIPT>0</MAINSCRIPT>
  4413. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4414. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4415. <AUTHOR></AUTHOR>
  4416. <COMPANY></COMPANY>
  4417. <VERSION></VERSION>
  4418. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4419. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4420. </TEMPLATE>
  4421. <TEMPLATE>
  4422. <NAME>CREATEDOMAINS</NAME>
  4423. <ID>14</ID>
  4424. <GUID>{2468A6B2-7717-4E35-8664-B3B07885E27A}</GUID>
  4425. <CAPTION></CAPTION>
  4426. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4427. <ENABLED>1</ENABLED>
  4428. <LEVEL>2</LEVEL>
  4429. <IDPARENT>0</IDPARENT>
  4430. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  4431. ]]></VALUE>
  4432. <LANGUAGE>0</LANGUAGE>
  4433. <LANGUAGEWIN>---</LANGUAGEWIN>
  4434. <CATEGORY>2</CATEGORY>
  4435. <MAINSCRIPT>0</MAINSCRIPT>
  4436. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4437. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4438. <AUTHOR></AUTHOR>
  4439. <COMPANY></COMPANY>
  4440. <VERSION></VERSION>
  4441. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4442. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4443. </TEMPLATE>
  4444. <TEMPLATE>
  4445. <NAME>CREATEDOMAIN</NAME>
  4446. <ID>15</ID>
  4447. <GUID>{801EC668-25E2-4198-9866-20F963D6DB54}</GUID>
  4448. <CAPTION></CAPTION>
  4449. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4450. <ENABLED>1</ENABLED>
  4451. <LEVEL>2</LEVEL>
  4452. <IDPARENT>0</IDPARENT>
  4453. <VALUE><![CDATA[if(not Empty(UserDataType),"",
  4454. "Create Domain %DictName% %TypSQL%"+
  4455. if(Empty(DefDict),""," %DefDict% ")+
  4456. if(DefaultExist," Default %default%","")+
  4457. if(CheckExist," Check ("+evalcheck2("value")+" )", "")+
  4458. if(Empty(Def2Dict),"", " %Def2Dict% ")+
  4459. ";"
  4460. )
  4461. ]]></VALUE>
  4462. <LANGUAGE>0</LANGUAGE>
  4463. <LANGUAGEWIN>---</LANGUAGEWIN>
  4464. <CATEGORY>2</CATEGORY>
  4465. <MAINSCRIPT>0</MAINSCRIPT>
  4466. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4467. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4468. <AUTHOR></AUTHOR>
  4469. <COMPANY></COMPANY>
  4470. <VERSION></VERSION>
  4471. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4472. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  4473. </TEMPLATE>
  4474. <TEMPLATE>
  4475. <NAME>CREATEATRIB</NAME>
  4476. <ID>16</ID>
  4477. <GUID>{4D813742-E55F-4DBF-BAAE-3249E74DAD61}</GUID>
  4478. <CAPTION></CAPTION>
  4479. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4480. <ENABLED>1</ENABLED>
  4481. <LEVEL>2</LEVEL>
  4482. <IDPARENT>0</IDPARENT>
  4483. <VALUE><![CDATA["%ColName%"+
  4484. if(not Empty(UserDataType)," %UserDataType% ", " %typsql% ")+
  4485. if(defexist," %defvalue%", "")+
  4486. if(defaultexist," Default %defaultvalue% "  ,"")+
  4487. if(notnull," NOT NULL "," ")+
  4488. if(UniqueAtr,if(not Empty(ConstraintAtrUnique),"Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  4489. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  4490. if(checkexist," Check ("+ evalcheck+" )","")+
  4491. if(def2exist," %def2value%", "")
  4492. ]]></VALUE>
  4493. <LANGUAGE>0</LANGUAGE>
  4494. <LANGUAGEWIN>---</LANGUAGEWIN>
  4495. <CATEGORY>2</CATEGORY>
  4496. <MAINSCRIPT>0</MAINSCRIPT>
  4497. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4498. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4499. <AUTHOR></AUTHOR>
  4500. <COMPANY></COMPANY>
  4501. <VERSION></VERSION>
  4502. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4503. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  4504. </TEMPLATE>
  4505. <TEMPLATE>
  4506. <NAME>DROPDOMAINS</NAME>
  4507. <ID>17</ID>
  4508. <GUID>{73660716-10C6-43F6-9233-E56D05174E03}</GUID>
  4509. <CAPTION></CAPTION>
  4510. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4511. <ENABLED>1</ENABLED>
  4512. <LEVEL>2</LEVEL>
  4513. <IDPARENT>0</IDPARENT>
  4514. <VALUE><![CDATA[@ForDict("%cr%", "", if(not Empty(UserDataType),"", "Drop domain %dictname%;%cr%"), "", "" )
  4515. ]]></VALUE>
  4516. <LANGUAGE>0</LANGUAGE>
  4517. <LANGUAGEWIN>---</LANGUAGEWIN>
  4518. <CATEGORY>2</CATEGORY>
  4519. <MAINSCRIPT>0</MAINSCRIPT>
  4520. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4521. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4522. <AUTHOR></AUTHOR>
  4523. <COMPANY></COMPANY>
  4524. <VERSION></VERSION>
  4525. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4526. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  4527. </TEMPLATE>
  4528. <TEMPLATE>
  4529. <NAME>CREATEATRIB2</NAME>
  4530. <ID>18</ID>
  4531. <GUID>{69E91957-EAEF-4409-9EF5-2EE3A98B8326}</GUID>
  4532. <CAPTION></CAPTION>
  4533. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4534. <ENABLED>1</ENABLED>
  4535. <LEVEL>2</LEVEL>
  4536. <IDPARENT>0</IDPARENT>
  4537. <VALUE><![CDATA["%colname%"+
  4538. if(not Empty(UserDataType)," %UserDataType%", " %DictName%")+ 
  4539. if(notnull," NOT NULL "," ")
  4540. ]]></VALUE>
  4541. <LANGUAGE>0</LANGUAGE>
  4542. <LANGUAGEWIN>---</LANGUAGEWIN>
  4543. <CATEGORY>2</CATEGORY>
  4544. <MAINSCRIPT>0</MAINSCRIPT>
  4545. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4546. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4547. <AUTHOR></AUTHOR>
  4548. <COMPANY></COMPANY>
  4549. <VERSION></VERSION>
  4550. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4551. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  4552. </TEMPLATE>
  4553. <TEMPLATE>
  4554. <NAME>CreateTableAlter</NAME>
  4555. <ID>19</ID>
  4556. <GUID>{436C0FCB-055F-40FD-8C90-BB20B4BD544C}</GUID>
  4557. <CAPTION></CAPTION>
  4558. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4559. <ENABLED>1</ENABLED>
  4560. <LEVEL>2</LEVEL>
  4561. <IDPARENT>0</IDPARENT>
  4562. <VALUE><![CDATA[cr+
  4563. "Create table tmp%tablename% %tablestorage% ("+
  4564. forcol("", "", cr+tb+"%ColName% %typsql% " , ",", ")")+
  4565. cr+showmessage("Table %tablename%")
  4566. ]]></VALUE>
  4567. <LANGUAGE>0</LANGUAGE>
  4568. <LANGUAGEWIN>---</LANGUAGEWIN>
  4569. <CATEGORY>2</CATEGORY>
  4570. <MAINSCRIPT>0</MAINSCRIPT>
  4571. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4572. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4573. <AUTHOR></AUTHOR>
  4574. <COMPANY></COMPANY>
  4575. <VERSION></VERSION>
  4576. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4577. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4578. </TEMPLATE>
  4579. <TEMPLATE>
  4580. <NAME>CreateTablesAlter</NAME>
  4581. <ID>20</ID>
  4582. <GUID>{E878F645-DE0F-4B82-AB14-1044D53CE722}</GUID>
  4583. <CAPTION></CAPTION>
  4584. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4585. <ENABLED>1</ENABLED>
  4586. <LEVEL>2</LEVEL>
  4587. <IDPARENT>0</IDPARENT>
  4588. <VALUE><![CDATA[@fortable("", "", macro(CreateTableAlter), "", "" )
  4589. ]]></VALUE>
  4590. <LANGUAGE>0</LANGUAGE>
  4591. <LANGUAGEWIN>---</LANGUAGEWIN>
  4592. <CATEGORY>2</CATEGORY>
  4593. <MAINSCRIPT>0</MAINSCRIPT>
  4594. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4595. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4596. <AUTHOR></AUTHOR>
  4597. <COMPANY></COMPANY>
  4598. <VERSION></VERSION>
  4599. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4600. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4601. </TEMPLATE>
  4602. <TEMPLATE>
  4603. <NAME>TablesAlter</NAME>
  4604. <ID>21</ID>
  4605. <GUID>{FF3FE424-CC8F-4C29-96B0-515BAC3C9059}</GUID>
  4606. <CAPTION></CAPTION>
  4607. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4608. <ENABLED>1</ENABLED>
  4609. <LEVEL>2</LEVEL>
  4610. <IDPARENT>0</IDPARENT>
  4611. <VALUE><![CDATA[@fortable("", "", macro(TableAlter), "", "" )
  4612. ]]></VALUE>
  4613. <LANGUAGE>0</LANGUAGE>
  4614. <LANGUAGEWIN>---</LANGUAGEWIN>
  4615. <CATEGORY>2</CATEGORY>
  4616. <MAINSCRIPT>0</MAINSCRIPT>
  4617. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4618. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4619. <AUTHOR></AUTHOR>
  4620. <COMPANY></COMPANY>
  4621. <VERSION></VERSION>
  4622. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4623. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4624. </TEMPLATE>
  4625. <TEMPLATE>
  4626. <NAME>TableAlter</NAME>
  4627. <ID>22</ID>
  4628. <GUID>{88DDAE21-7632-4DE9-818E-6209499AF516}</GUID>
  4629. <CAPTION></CAPTION>
  4630. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4631. <ENABLED>1</ENABLED>
  4632. <LEVEL>2</LEVEL>
  4633. <IDPARENT>0</IDPARENT>
  4634. <VALUE><![CDATA["drop table tmp%tablename%"+cr+
  4635. macro(CreateTableAlter)+cr+
  4636. "insert into tmp%tablename% "+ forcol("(", "", colname, ",",")")+cr+
  4637. "select "+forcol("(", "", colname, ",", ")")+cr+
  4638. "from %tablename%;"+cr+
  4639. "insert into tmp%tablename% ();"+cr
  4640. ]]></VALUE>
  4641. <LANGUAGE>0</LANGUAGE>
  4642. <LANGUAGEWIN>---</LANGUAGEWIN>
  4643. <CATEGORY>2</CATEGORY>
  4644. <MAINSCRIPT>0</MAINSCRIPT>
  4645. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4646. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4647. <AUTHOR></AUTHOR>
  4648. <COMPANY></COMPANY>
  4649. <VERSION></VERSION>
  4650. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4651. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4652. </TEMPLATE>
  4653. <TEMPLATE>
  4654. <NAME>TableAlterTarget</NAME>
  4655. <ID>23</ID>
  4656. <GUID>{86FCDE9B-848A-4630-AA13-0CEC49D23AA7}</GUID>
  4657. <CAPTION></CAPTION>
  4658. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4659. <ENABLED>1</ENABLED>
  4660. <LEVEL>2</LEVEL>
  4661. <IDPARENT>0</IDPARENT>
  4662. <VALUE><![CDATA[macro(CreateTable)+cr+
  4663. "insert into %tablename% "+forcol("(", "", colname, ",", ")" )+cr+
  4664. "select "+forcol("(", "", "", "", ")")+cr+
  4665. "from tmp%tablename%;"+cr+cr+
  4666. "drop table tmp%tablename%;"
  4667. ]]></VALUE>
  4668. <LANGUAGE>0</LANGUAGE>
  4669. <LANGUAGEWIN>---</LANGUAGEWIN>
  4670. <CATEGORY>2</CATEGORY>
  4671. <MAINSCRIPT>0</MAINSCRIPT>
  4672. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4673. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4674. <AUTHOR></AUTHOR>
  4675. <COMPANY></COMPANY>
  4676. <VERSION></VERSION>
  4677. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4678. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4679. </TEMPLATE>
  4680. <TEMPLATE>
  4681. <NAME>DropRefIntegrity</NAME>
  4682. <ID>24</ID>
  4683. <GUID>{8F6CB527-5309-428E-A5A0-612CD6F6FBFF}</GUID>
  4684. <CAPTION></CAPTION>
  4685. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4686. <ENABLED>1</ENABLED>
  4687. <LEVEL>2</LEVEL>
  4688. <IDPARENT>0</IDPARENT>
  4689. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  4690. alter table %childtablename% drop constraint %frelname%;
  4691. ]]></VALUE>
  4692. <LANGUAGE>0</LANGUAGE>
  4693. <LANGUAGEWIN>---</LANGUAGEWIN>
  4694. <CATEGORY>2</CATEGORY>
  4695. <MAINSCRIPT>0</MAINSCRIPT>
  4696. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4697. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4698. <AUTHOR></AUTHOR>
  4699. <COMPANY></COMPANY>
  4700. <VERSION></VERSION>
  4701. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4702. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4703. </TEMPLATE>
  4704. <TEMPLATE>
  4705. <NAME>DropTriggerUpdate</NAME>
  4706. <ID>25</ID>
  4707. <GUID>{EC21A229-E1BA-4CFB-8F6C-BFABB2173381}</GUID>
  4708. <CAPTION></CAPTION>
  4709. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4710. <ENABLED>1</ENABLED>
  4711. <LEVEL>2</LEVEL>
  4712. <IDPARENT>0</IDPARENT>
  4713. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  4714. drop trigger tu_%tablename%;
  4715. ]]></VALUE>
  4716. <LANGUAGE>0</LANGUAGE>
  4717. <LANGUAGEWIN>---</LANGUAGEWIN>
  4718. <CATEGORY>2</CATEGORY>
  4719. <MAINSCRIPT>0</MAINSCRIPT>
  4720. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4721. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4722. <AUTHOR></AUTHOR>
  4723. <COMPANY></COMPANY>
  4724. <VERSION></VERSION>
  4725. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4726. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4727. </TEMPLATE>
  4728. <TEMPLATE>
  4729. <NAME>DropTriggerDelete</NAME>
  4730. <ID>26</ID>
  4731. <GUID>{3D5F2AF1-68A6-4DCE-9CA9-181012AFC78F}</GUID>
  4732. <CAPTION></CAPTION>
  4733. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4734. <ENABLED>1</ENABLED>
  4735. <LEVEL>2</LEVEL>
  4736. <IDPARENT>0</IDPARENT>
  4737. <VALUE><![CDATA[{lEntParDelTrig}
  4738. drop trigger td_%tablename%;
  4739. ]]></VALUE>
  4740. <LANGUAGE>0</LANGUAGE>
  4741. <LANGUAGEWIN>---</LANGUAGEWIN>
  4742. <CATEGORY>2</CATEGORY>
  4743. <MAINSCRIPT>0</MAINSCRIPT>
  4744. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4745. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4746. <AUTHOR></AUTHOR>
  4747. <COMPANY></COMPANY>
  4748. <VERSION></VERSION>
  4749. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4750. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4751. </TEMPLATE>
  4752. <TEMPLATE>
  4753. <NAME>DropTriggerInsert</NAME>
  4754. <ID>27</ID>
  4755. <GUID>{610D033D-AA6C-4F00-9852-67A27615EA30}</GUID>
  4756. <CAPTION></CAPTION>
  4757. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4758. <ENABLED>1</ENABLED>
  4759. <LEVEL>2</LEVEL>
  4760. <IDPARENT>0</IDPARENT>
  4761. <VALUE><![CDATA[{lEntChildInsTrig  }
  4762. drop trigger ti_%tablename%;
  4763. ]]></VALUE>
  4764. <LANGUAGE>0</LANGUAGE>
  4765. <LANGUAGEWIN>---</LANGUAGEWIN>
  4766. <CATEGORY>2</CATEGORY>
  4767. <MAINSCRIPT>0</MAINSCRIPT>
  4768. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4769. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4770. <AUTHOR></AUTHOR>
  4771. <COMPANY></COMPANY>
  4772. <VERSION></VERSION>
  4773. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4774. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4775. </TEMPLATE>
  4776. <TEMPLATE>
  4777. <NAME>CreateAlterKey</NAME>
  4778. <ID>28</ID>
  4779. <GUID>{96CF8C11-4C6A-4434-9470-30324E6EF423}</GUID>
  4780. <CAPTION></CAPTION>
  4781. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4782. <ENABLED>1</ENABLED>
  4783. <LEVEL>2</LEVEL>
  4784. <IDPARENT>0</IDPARENT>
  4785. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  4786. ]]></VALUE>
  4787. <LANGUAGE>0</LANGUAGE>
  4788. <LANGUAGEWIN>---</LANGUAGEWIN>
  4789. <CATEGORY>2</CATEGORY>
  4790. <MAINSCRIPT>0</MAINSCRIPT>
  4791. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4792. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4793. <AUTHOR></AUTHOR>
  4794. <COMPANY></COMPANY>
  4795. <VERSION></VERSION>
  4796. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4797. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4798. </TEMPLATE>
  4799. <TEMPLATE>
  4800. <NAME>CreateExcept</NAME>
  4801. <ID>29</ID>
  4802. <GUID>{55151BD0-E1B2-4F46-8166-B532FC54E94B}</GUID>
  4803. <CAPTION></CAPTION>
  4804. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4805. <ENABLED>1</ENABLED>
  4806. <LEVEL>2</LEVEL>
  4807. <IDPARENT>0</IDPARENT>
  4808. <VALUE><![CDATA[create exception except_del_p 'Children still exist in child table. Cannot delete parent'^
  4809. create exception except_ins_ch 'Parent does not exist. Cannot create child.'^
  4810. create exception except_upd_ch 'Parent does not exist. Cannot update child '^
  4811. create exception except_upd_p 'Children still exist in child table.'^
  4812. ]]></VALUE>
  4813. <LANGUAGE>0</LANGUAGE>
  4814. <LANGUAGEWIN>---</LANGUAGEWIN>
  4815. <CATEGORY>2</CATEGORY>
  4816. <MAINSCRIPT>0</MAINSCRIPT>
  4817. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4818. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4819. <AUTHOR></AUTHOR>
  4820. <COMPANY></COMPANY>
  4821. <VERSION></VERSION>
  4822. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4823. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4824. </TEMPLATE>
  4825. <TEMPLATE>
  4826. <NAME>DropExcept</NAME>
  4827. <ID>30</ID>
  4828. <GUID>{176FCE46-2BD6-4BB5-AB5C-9D33A6EF13A1}</GUID>
  4829. <CAPTION></CAPTION>
  4830. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4831. <ENABLED>1</ENABLED>
  4832. <LEVEL>2</LEVEL>
  4833. <IDPARENT>0</IDPARENT>
  4834. <VALUE><![CDATA[drop exception except_del_p ;
  4835. drop exception except_ins_ch ;
  4836. drop exception except_upd_ch ;
  4837. drop exception except_upd_p ;
  4838. ]]></VALUE>
  4839. <LANGUAGE>0</LANGUAGE>
  4840. <LANGUAGEWIN>---</LANGUAGEWIN>
  4841. <CATEGORY>2</CATEGORY>
  4842. <MAINSCRIPT>0</MAINSCRIPT>
  4843. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4844. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4845. <AUTHOR></AUTHOR>
  4846. <COMPANY></COMPANY>
  4847. <VERSION></VERSION>
  4848. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4849. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4850. </TEMPLATE>
  4851. <TEMPLATE>
  4852. <NAME>CreateProcedurePermiss</NAME>
  4853. <ID>31</ID>
  4854. <GUID>{0C6AF0D5-A568-4C0D-89C0-69F446F0BE18}</GUID>
  4855. <CAPTION></CAPTION>
  4856. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4857. <ENABLED>1</ENABLED>
  4858. <LEVEL>2</LEVEL>
  4859. <IDPARENT>0</IDPARENT>
  4860. <VALUE><![CDATA[if(lPermissExec,"grant execute on procedure %ProcedureName% to %UserOrRoleName%;%cr%","")
  4861. ]]></VALUE>
  4862. <LANGUAGE>0</LANGUAGE>
  4863. <LANGUAGEWIN>---</LANGUAGEWIN>
  4864. <CATEGORY>2</CATEGORY>
  4865. <MAINSCRIPT>0</MAINSCRIPT>
  4866. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  4867. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  4868. <AUTHOR></AUTHOR>
  4869. <COMPANY></COMPANY>
  4870. <VERSION></VERSION>
  4871. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  4872. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  4873. </TEMPLATE>
  4874. </TEMPLATES>
  4875. <VARIABLES><![CDATA[lDomainSupp 1
  4876. lConstraintPkSupp  1
  4877. lConstraintFkSupp  1
  4878. lAtrCheckConstraintSupp 1
  4879. lAtrUniqueConstraintSupp 1 
  4880. lAlterKeySupp 1
  4881. lProceduresSupp 1
  4882. lViewsSupp 1
  4883. lPermissUserToObjectSupp 1
  4884. lUserTypeAttrSupp 1
  4885. lUserTypeDomainSupp 1
  4886. lDriParUpdRestrict 1
  4887. lDriParUpdCascade 0
  4888. lDriParUpdSetNull 0
  4889. lDriParUpdSetDefault 0
  4890. lDriParDelRestrict 1
  4891. lDriParDelCascade 0
  4892. lDriParDelSetNull 0
  4893. lDriParDelSetDefault 0
  4894. lDriChildInsRestrict 0
  4895. lDriChildUpdRestrict 0
  4896. lDriParUpdRestrictSupp 1
  4897. lDriParUpdCascadeSupp 0
  4898. lDriParUpdSetNullSupp 0
  4899. lDriParUpdSetDefaultSupp 0
  4900. lDriParDelRestrictSupp 1
  4901. lDriParDelCascadeSupp 0
  4902. lDriParDelSetNullSupp 0
  4903. lDriParDelSetDefaultSupp 0
  4904. lDriChildInsRestrictSupp 0
  4905. lDriChildUpdRestrictSupp 0
  4906. lIndexDescendSupp 1
  4907. lIndexItDescendSupp 0
  4908. lIndexUpperSupp 0
  4909. lIndexExprSupp 0
  4910. lIndexUniqueSupp 1
  4911. lIndexFilterSupp 0
  4912. lIndexStandSupp 1
  4913. lIndexClusterSupp 0
  4914. lIndexNameUnique 1
  4915. lPkSupp 1
  4916. lPkNotNull 1
  4917. lDRISupp 1
  4918. lTriggerSupp 1
  4919. lAtrUniqueSupp 1
  4920. lAtrNotNullSupp 1
  4921. lAtrCheckSupp 1
  4922. lAtrDefaultSupp 1
  4923. lDomainSupp 1
  4924. lConstraintPkSupp  1
  4925. lConstraintFkSupp  1
  4926. lAtrCheckConstraintSupp 1
  4927. lAtrUniqueConstraintSupp 1 
  4928. lAlterKeySupp 1
  4929. lProceduresSupp 1
  4930. lViewsSupp 1
  4931. lPermissUserToObjectSupp 1
  4932. lUserTypeAttrSupp 1
  4933. lUserTypeDomainSupp 1
  4934. ]]></VARIABLES>
  4935. <USEREDITS>
  4936. <USEREDIT>
  4937. <NAME>lCreateException</NAME>
  4938. <ID>1</ID>
  4939. <GUID>{2FA32EA2-7A8D-4269-89A8-F8F9D9A36049}</GUID>
  4940. <CAPTION>Create exception</CAPTION>
  4941. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4942. <TYPE>1</TYPE>
  4943. <LEVEL>1</LEVEL>
  4944. <DEFAULT></DEFAULT>
  4945. <ORD>120</ORD>
  4946. <LENGTH>250</LENGTH>
  4947. <ENABLED>1</ENABLED>
  4948. <ITEMS></ITEMS>
  4949. </USEREDIT>
  4950. <USEREDIT>
  4951. <NAME>lDropException</NAME>
  4952. <ID>2</ID>
  4953. <GUID>{38BA55CE-EA65-4481-A9CC-EDA7AFF343E0}</GUID>
  4954. <CAPTION>Drop exception</CAPTION>
  4955. <PACKAGEGUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</PACKAGEGUID>
  4956. <TYPE>1</TYPE>
  4957. <LEVEL>1</LEVEL>
  4958. <DEFAULT></DEFAULT>
  4959. <ORD>130</ORD>
  4960. <LENGTH>250</LENGTH>
  4961. <ENABLED>1</ENABLED>
  4962. <ITEMS></ITEMS>
  4963. </USEREDIT>
  4964. </USEREDITS>
  4965. <TYPELIST>
  4966. <TYPE>
  4967. <NAME>Char</NAME>
  4968. <ID>10</ID>
  4969. <GUID>{75744212-870D-4AD6-8174-7A1E35A4EA3A}</GUID>
  4970. <PHNAME>Char</PHNAME>
  4971. <LLENGTH>1</LLENGTH>
  4972. <LDECIMAL>0</LDECIMAL>
  4973. <MAXLENGTH>32765</MAXLENGTH>
  4974. <MINLENGTH>1</MINLENGTH>
  4975. <MAXDECIMAL>0</MAXDECIMAL>
  4976. <MINDECIMAL>0</MINDECIMAL>
  4977. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  4978. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4979. <TRANSFORMCODE>A</TRANSFORMCODE>
  4980. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  4981. <EXPORTTO>0</EXPORTTO>
  4982. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4983. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4984. </TYPE>
  4985. <TYPE>
  4986. <NAME>Varchar</NAME>
  4987. <ID>20</ID>
  4988. <GUID>{1CDF4737-66B5-45D7-B5B6-A7CAE3E70741}</GUID>
  4989. <PHNAME>Varchar</PHNAME>
  4990. <LLENGTH>1</LLENGTH>
  4991. <LDECIMAL>0</LDECIMAL>
  4992. <MAXLENGTH>32765</MAXLENGTH>
  4993. <MINLENGTH>1</MINLENGTH>
  4994. <MAXDECIMAL>0</MAXDECIMAL>
  4995. <MINDECIMAL>0</MINDECIMAL>
  4996. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  4997. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4998. <TRANSFORMCODE>VA</TRANSFORMCODE>
  4999. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  5000. <EXPORTTO>0</EXPORTTO>
  5001. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5002. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5003. </TYPE>
  5004. <TYPE>
  5005. <NAME>Smallint</NAME>
  5006. <ID>30</ID>
  5007. <GUID>{F9C8D340-243E-40ED-A7C1-465A491C6D05}</GUID>
  5008. <PHNAME>Smallint</PHNAME>
  5009. <LLENGTH>0</LLENGTH>
  5010. <LDECIMAL>0</LDECIMAL>
  5011. <MAXLENGTH>0</MAXLENGTH>
  5012. <MINLENGTH>0</MINLENGTH>
  5013. <MAXDECIMAL>0</MAXDECIMAL>
  5014. <MINDECIMAL>0</MINDECIMAL>
  5015. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5016. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5017. <TRANSFORMCODE>SI</TRANSFORMCODE>
  5018. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  5019. <EXPORTTO>0</EXPORTTO>
  5020. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5021. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5022. </TYPE>
  5023. <TYPE>
  5024. <NAME>Integer</NAME>
  5025. <ID>40</ID>
  5026. <GUID>{87A95A5A-811D-4E21-80BF-3075A8EE8C77}</GUID>
  5027. <PHNAME>Integer</PHNAME>
  5028. <LLENGTH>0</LLENGTH>
  5029. <LDECIMAL>0</LDECIMAL>
  5030. <MAXLENGTH>0</MAXLENGTH>
  5031. <MINLENGTH>0</MINLENGTH>
  5032. <MAXDECIMAL>0</MAXDECIMAL>
  5033. <MINDECIMAL>0</MINDECIMAL>
  5034. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5035. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5036. <TRANSFORMCODE>I</TRANSFORMCODE>
  5037. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  5038. <EXPORTTO>0</EXPORTTO>
  5039. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5040. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5041. </TYPE>
  5042. <TYPE>
  5043. <NAME>Float</NAME>
  5044. <ID>50</ID>
  5045. <GUID>{C408AFE3-B785-44EF-971A-9D588F89D0E4}</GUID>
  5046. <PHNAME>Float</PHNAME>
  5047. <LLENGTH>0</LLENGTH>
  5048. <LDECIMAL>0</LDECIMAL>
  5049. <MAXLENGTH>0</MAXLENGTH>
  5050. <MINLENGTH>0</MINLENGTH>
  5051. <MAXDECIMAL>0</MAXDECIMAL>
  5052. <MINDECIMAL>0</MINDECIMAL>
  5053. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5054. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5055. <TRANSFORMCODE>F</TRANSFORMCODE>
  5056. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  5057. <EXPORTTO>0</EXPORTTO>
  5058. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5059. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5060. </TYPE>
  5061. <TYPE>
  5062. <NAME>Double</NAME>
  5063. <ID>60</ID>
  5064. <GUID>{563C4256-7112-486C-ADF9-7558F42E940F}</GUID>
  5065. <PHNAME>Double precision</PHNAME>
  5066. <LLENGTH>0</LLENGTH>
  5067. <LDECIMAL>0</LDECIMAL>
  5068. <MAXLENGTH>0</MAXLENGTH>
  5069. <MINLENGTH>0</MINLENGTH>
  5070. <MAXDECIMAL>0</MAXDECIMAL>
  5071. <MINDECIMAL>0</MINDECIMAL>
  5072. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5073. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5074. <TRANSFORMCODE>LF</TRANSFORMCODE>
  5075. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  5076. <EXPORTTO>0</EXPORTTO>
  5077. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5078. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5079. </TYPE>
  5080. <TYPE>
  5081. <NAME>Date</NAME>
  5082. <ID>70</ID>
  5083. <GUID>{CAEF89D5-CDDA-4F48-871B-382C20FC829F}</GUID>
  5084. <PHNAME>Date</PHNAME>
  5085. <LLENGTH>0</LLENGTH>
  5086. <LDECIMAL>0</LDECIMAL>
  5087. <MAXLENGTH>0</MAXLENGTH>
  5088. <MINLENGTH>0</MINLENGTH>
  5089. <MAXDECIMAL>0</MAXDECIMAL>
  5090. <MINDECIMAL>0</MINDECIMAL>
  5091. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5092. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5093. <TRANSFORMCODE>DT</TRANSFORMCODE>
  5094. <TRANSFORMTO>DT;D;TS;</TRANSFORMTO>
  5095. <EXPORTTO>0</EXPORTTO>
  5096. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5097. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5098. </TYPE>
  5099. <TYPE>
  5100. <NAME>Blob</NAME>
  5101. <ID>80</ID>
  5102. <GUID>{00E3D6BE-D8DA-4A41-B00F-B52472BE8283}</GUID>
  5103. <PHNAME>Blob</PHNAME>
  5104. <LLENGTH>1</LLENGTH>
  5105. <LDECIMAL>1</LDECIMAL>
  5106. <MAXLENGTH>65535</MAXLENGTH>
  5107. <MINLENGTH>1</MINLENGTH>
  5108. <MAXDECIMAL>2</MAXDECIMAL>
  5109. <MINDECIMAL>-100</MINDECIMAL>
  5110. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  5111. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  5112. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  5113. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  5114. <EXPORTTO>0</EXPORTTO>
  5115. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5116. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5117. </TYPE>
  5118. <TYPE>
  5119. <NAME>Decimal</NAME>
  5120. <ID>90</ID>
  5121. <GUID>{ABCB97AD-65AB-46B4-9E1C-FB3DA7E5726E}</GUID>
  5122. <PHNAME>Decimal</PHNAME>
  5123. <LLENGTH>1</LLENGTH>
  5124. <LDECIMAL>1</LDECIMAL>
  5125. <MAXLENGTH>15</MAXLENGTH>
  5126. <MINLENGTH>1</MINLENGTH>
  5127. <MAXDECIMAL>15</MAXDECIMAL>
  5128. <MINDECIMAL>0</MINDECIMAL>
  5129. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  5130. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5131. <TRANSFORMCODE>DC</TRANSFORMCODE>
  5132. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  5133. <EXPORTTO>0</EXPORTTO>
  5134. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5135. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5136. </TYPE>
  5137. <TYPE>
  5138. <NAME>Numeric</NAME>
  5139. <ID>100</ID>
  5140. <GUID>{3E92518D-1C79-4A75-8818-555D861EB844}</GUID>
  5141. <PHNAME>Numeric</PHNAME>
  5142. <LLENGTH>1</LLENGTH>
  5143. <LDECIMAL>1</LDECIMAL>
  5144. <MAXLENGTH>15</MAXLENGTH>
  5145. <MINLENGTH>1</MINLENGTH>
  5146. <MAXDECIMAL>15</MAXDECIMAL>
  5147. <MINDECIMAL>0</MINDECIMAL>
  5148. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  5149. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5150. <TRANSFORMCODE>N</TRANSFORMCODE>
  5151. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  5152. <EXPORTTO>0</EXPORTTO>
  5153. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5154. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5155. </TYPE>
  5156. <TYPE>
  5157. <NAME>Empty</NAME>
  5158. <ID>200</ID>
  5159. <GUID>{6402DFC4-9805-4CA3-BAB7-9CAC763A5B4D}</GUID>
  5160. <PHNAME></PHNAME>
  5161. <LLENGTH>0</LLENGTH>
  5162. <LDECIMAL>0</LDECIMAL>
  5163. <MAXLENGTH>0</MAXLENGTH>
  5164. <MINLENGTH>0</MINLENGTH>
  5165. <MAXDECIMAL>0</MAXDECIMAL>
  5166. <MINDECIMAL>0</MINDECIMAL>
  5167. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5168. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5169. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  5170. <TRANSFORMTO>EMP;</TRANSFORMTO>
  5171. <EXPORTTO>0</EXPORTTO>
  5172. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5173. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5174. </TYPE>
  5175. </TYPELIST>
  5176. <TEXTOBJECTTYPES>
  5177. </TEXTOBJECTTYPES>
  5178. <DISABLED>0</DISABLED>
  5179. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  5180. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  5181. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  5182. <DEFAULTCHAR>_</DEFAULTCHAR>
  5183. <INVALIDCHARACTERS>!"#%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  5184. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  5185. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  5186. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  5187. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  5188. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5189. <KEYWORDS><![CDATA[create
  5190. table
  5191. ]]></KEYWORDS>
  5192. </SERVER>
  5193. <SERVER>
  5194. <NAME>Interbase 5</NAME>
  5195. <ID>80</ID>
  5196. <GUID>{04FECAC0-F47F-47B7-874A-9AA2EA9D06F9}</GUID>
  5197. <TEMPLATES>
  5198. <TEMPLATE>
  5199. <NAME>CreateDatabase</NAME>
  5200. <ID>1</ID>
  5201. <GUID>{09555863-DE85-4EC0-B10D-5BCB4E6011EC}</GUID>
  5202. <CAPTION>CreateDatabase</CAPTION>
  5203. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5204. <ENABLED>1</ENABLED>
  5205. <LEVEL>2</LEVEL>
  5206. <IDPARENT>0</IDPARENT>
  5207. <VALUE><![CDATA[/*
  5208. Created        %createddate%
  5209. Modified        %modifieddate%
  5210. Project        %projectname%
  5211. Model        %modelname%
  5212. Company        %company%
  5213. Author        %authorname%
  5214. Version        %version%
  5215. Database        %databasetype% 
  5216. */
  5217.  
  5218. {lbeforescript}
  5219. %beforescript%
  5220. {lDropProceduresGener}
  5221. @template(DropProcedures)
  5222. {lDropTriggersListGener}
  5223. @template(DropTriggersList)
  5224. {lDropViewsGener}
  5225. @template(DropViews)
  5226. {ldroptriggerGener}
  5227. @showmessage("Drop triggers")
  5228. @template(droptriggers)
  5229. {lDropIndexGener}
  5230. @template(DropIndexs)
  5231. {lDropTableGener}
  5232. @showmessage("Drop tables")
  5233. @template(DropRefIntegritys)
  5234. @template(droptables)
  5235. {lDropDomainGener}
  5236. @showmessage("Drop domains")
  5237. @template(dropdomains)
  5238. {lDropException}
  5239. @template(DropExcept)
  5240. {lDomainGener}
  5241. @showmessage("Create domains")
  5242. @template(CreateDomains)
  5243. {lTableGener}
  5244. @showmessage("Create tables")
  5245. @template(createtables)
  5246. {lEntityOthers}
  5247. @showmessage("Create tab 'Others' for selected tables")
  5248. @template(CreateTableOthers)
  5249. {lalterkeysgener}
  5250. @template(CreateAlterKeys)
  5251. {lIndexGener}
  5252. @showmessage("Create indexes")
  5253. @template(createindexs)
  5254. {lRefIntegGener}
  5255. @template(refintegritys)
  5256. {true}
  5257. set term ^;
  5258. {lCreateException}
  5259. @template(CreateExcept)
  5260. {lViewsGener}
  5261. @showmessage("Create Views")
  5262. @template(CreateViews)
  5263. {lProceduresGener}
  5264. @showmessage("Create Procedures")
  5265. @template(CreateProcedures)
  5266. {lTriggersGener}
  5267. @showmessage("Create Triggers")
  5268. @template(createtriggers)
  5269. {lTriggersUserGener}
  5270. @template(CreateTriggersList)
  5271. {true}
  5272. set term ;^
  5273. {lRoleGener}
  5274. @showmessage("Roles")
  5275. @template(CreateRole)
  5276. {lUserToRoleGener}
  5277. @ShowMessage("Users permissions to roles")
  5278. @template(GrantUserToRole)
  5279. {lRolePermissGener}
  5280. @ShowMessage("Roles permissions")
  5281. @template(CreateRolePermiss)
  5282. {lUserPermissGener}
  5283. @ShowMessage("Users permissions")
  5284. @template(CreateUserPermiss)
  5285. {lafterscript}
  5286. %afterscript%
  5287. {true}
  5288. @template(UserTempl)
  5289.  
  5290. ]]></VALUE>
  5291. <LANGUAGE>0</LANGUAGE>
  5292. <LANGUAGEWIN>---</LANGUAGEWIN>
  5293. <CATEGORY>2</CATEGORY>
  5294. <MAINSCRIPT>0</MAINSCRIPT>
  5295. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5296. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5297. <AUTHOR></AUTHOR>
  5298. <COMPANY></COMPANY>
  5299. <VERSION></VERSION>
  5300. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5301. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  5302. </TEMPLATE>
  5303. <TEMPLATE>
  5304. <NAME>CREATETABLE</NAME>
  5305. <ID>2</ID>
  5306. <GUID>{3530031D-A2A6-434D-AC2D-51AB25EAF35A}</GUID>
  5307. <CAPTION></CAPTION>
  5308. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5309. <ENABLED>1</ENABLED>
  5310. <LEVEL>2</LEVEL>
  5311. <IDPARENT>0</IDPARENT>
  5312. <VALUE><![CDATA[cr+
  5313. "Create table %tablename% %tablestorage% ("+
  5314. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  5315. if(existpk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+ " Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  5316. ");"+cr+showmessage("Table %tablename%")
  5317. ]]></VALUE>
  5318. <LANGUAGE>0</LANGUAGE>
  5319. <LANGUAGEWIN>---</LANGUAGEWIN>
  5320. <CATEGORY>2</CATEGORY>
  5321. <MAINSCRIPT>0</MAINSCRIPT>
  5322. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5323. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5324. <AUTHOR></AUTHOR>
  5325. <COMPANY></COMPANY>
  5326. <VERSION></VERSION>
  5327. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5328. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5329. </TEMPLATE>
  5330. <TEMPLATE>
  5331. <NAME>CREATEINDEX</NAME>
  5332. <ID>3</ID>
  5333. <GUID>{59DE4D04-6EB4-45E0-A375-D23881514C9B}</GUID>
  5334. <CAPTION></CAPTION>
  5335. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5336. <ENABLED>1</ENABLED>
  5337. <LEVEL>2</LEVEL>
  5338. <IDPARENT>0</IDPARENT>
  5339. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  5340. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",");")+cr
  5341. +ShowMessage("Index %Indexname% for table %tablename%")
  5342. ]]></VALUE>
  5343. <LANGUAGE>0</LANGUAGE>
  5344. <LANGUAGEWIN>---</LANGUAGEWIN>
  5345. <CATEGORY>2</CATEGORY>
  5346. <MAINSCRIPT>0</MAINSCRIPT>
  5347. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5348. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5349. <AUTHOR></AUTHOR>
  5350. <COMPANY></COMPANY>
  5351. <VERSION></VERSION>
  5352. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5353. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5354. </TEMPLATE>
  5355. <TEMPLATE>
  5356. <NAME>TRIGGERPARENTUPDATE</NAME>
  5357. <ID>4</ID>
  5358. <GUID>{952CDCBC-3C56-4726-BCF1-A44B6C17C2BD}</GUID>
  5359. <CAPTION></CAPTION>
  5360. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5361. <ENABLED>1</ENABLED>
  5362. <LEVEL>2</LEVEL>
  5363. <IDPARENT>0</IDPARENT>
  5364. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  5365. /* cascade child %childtablename% update when parent %parenttablename% changed */
  5366.  
  5367. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5368. begin
  5369.     update %childtablename%
  5370.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = new.%PkParentName%" , ",%cr%" , "")
  5371.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "") ;
  5372. end
  5373.  
  5374. {ParUpdSetNULL and  (not lParUpdSetnullDekl)}
  5375. /* cascade setnull when parent changed */
  5376.  
  5377. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5378. begin
  5379.     update %childtablename%
  5380.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  5381.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5382. end
  5383.  
  5384. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)}
  5385. /* cascade setdefault when parent changed */
  5386. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5387. begin
  5388.     update %childtablename%
  5389.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  5390.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5391. end
  5392.  
  5393.  
  5394. {ParUpdRestrict and (not lParUpdRestDekl)}
  5395. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  5396.  
  5397. if     @forrelpk( "( ", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5398. begin
  5399.     select count( * ) from %childtablename%
  5400.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5401.     into :numrows;
  5402.     IF ( numrows > 0 ) then
  5403.         begin
  5404.         exception except_upd_p;
  5405.         end
  5406. end
  5407. ]]></VALUE>
  5408. <LANGUAGE>0</LANGUAGE>
  5409. <LANGUAGEWIN>---</LANGUAGEWIN>
  5410. <CATEGORY>2</CATEGORY>
  5411. <MAINSCRIPT>0</MAINSCRIPT>
  5412. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5413. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5414. <AUTHOR></AUTHOR>
  5415. <COMPANY></COMPANY>
  5416. <VERSION></VERSION>
  5417. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5418. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5419. </TEMPLATE>
  5420. <TEMPLATE>
  5421. <NAME>TRIGGERCHILDUPDATE</NAME>
  5422. <ID>5</ID>
  5423. <GUID>{9A2892F5-8B30-4985-9C0D-625F57A85DF7}</GUID>
  5424. <CAPTION></CAPTION>
  5425. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5426. <ENABLED>1</ENABLED>
  5427. <LEVEL>2</LEVEL>
  5428. <IDPARENT>0</IDPARENT>
  5429. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  5430. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  5431.  
  5432. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  5433.      begin
  5434.     select count( * ) from %ParentTableName%
  5435.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5436.     into :numrows;
  5437.     IF ( numrows = 0 ) then
  5438.         begin
  5439.         exception except_upd_ch;
  5440.         end
  5441.     end
  5442. ]]></VALUE>
  5443. <LANGUAGE>0</LANGUAGE>
  5444. <LANGUAGEWIN>---</LANGUAGEWIN>
  5445. <CATEGORY>2</CATEGORY>
  5446. <MAINSCRIPT>0</MAINSCRIPT>
  5447. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5448. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5449. <AUTHOR></AUTHOR>
  5450. <COMPANY></COMPANY>
  5451. <VERSION></VERSION>
  5452. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5453. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5454. </TEMPLATE>
  5455. <TEMPLATE>
  5456. <NAME>CREATETRIGGERUPDATE</NAME>
  5457. <ID>6</ID>
  5458. <GUID>{6F713709-7AE8-4FC1-B72C-F382155564BF}</GUID>
  5459. <CAPTION></CAPTION>
  5460. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5461. <ENABLED>1</ENABLED>
  5462. <LEVEL>2</LEVEL>
  5463. <IDPARENT>0</IDPARENT>
  5464. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  5465. /* Update trigger for %tablename% */
  5466.  
  5467. CREATE Trigger tu_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5468. before update as
  5469. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  5470. begin
  5471.      @forchild( "", "", template(triggerparentupdate), "", "" )
  5472.      @forparent("", "", template(triggerchildupdate), "", "" )
  5473. end
  5474. ^
  5475. ]]></VALUE>
  5476. <LANGUAGE>0</LANGUAGE>
  5477. <LANGUAGEWIN>---</LANGUAGEWIN>
  5478. <CATEGORY>2</CATEGORY>
  5479. <MAINSCRIPT>0</MAINSCRIPT>
  5480. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5481. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5482. <AUTHOR></AUTHOR>
  5483. <COMPANY></COMPANY>
  5484. <VERSION></VERSION>
  5485. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5486. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5487. </TEMPLATE>
  5488. <TEMPLATE>
  5489. <NAME>CREATETRIGGERINSERT</NAME>
  5490. <ID>7</ID>
  5491. <GUID>{2ABA6B06-211C-4D67-9F62-E7A0ED2B2507}</GUID>
  5492. <CAPTION></CAPTION>
  5493. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5494. <ENABLED>1</ENABLED>
  5495. <LEVEL>2</LEVEL>
  5496. <IDPARENT>0</IDPARENT>
  5497. <VALUE><![CDATA[{lEntChildInsTrig  }
  5498. /* Insert trigger for %tablename% */
  5499.  
  5500. CREATE Trigger ti_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5501. before insert as
  5502. declare variable numrows integer;
  5503. begin
  5504. @forparent("", "", template(TriggerParentInsert), "", "")
  5505. end
  5506. ^
  5507. ]]></VALUE>
  5508. <LANGUAGE>0</LANGUAGE>
  5509. <LANGUAGEWIN>---</LANGUAGEWIN>
  5510. <CATEGORY>2</CATEGORY>
  5511. <MAINSCRIPT>0</MAINSCRIPT>
  5512. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5513. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5514. <AUTHOR></AUTHOR>
  5515. <COMPANY></COMPANY>
  5516. <VERSION></VERSION>
  5517. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5518. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5519. </TEMPLATE>
  5520. <TEMPLATE>
  5521. <NAME>CREATETRIGGERDELETE</NAME>
  5522. <ID>8</ID>
  5523. <GUID>{76435821-2885-4A1F-BB28-4D75E447F942}</GUID>
  5524. <CAPTION></CAPTION>
  5525. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5526. <ENABLED>1</ENABLED>
  5527. <LEVEL>2</LEVEL>
  5528. <IDPARENT>0</IDPARENT>
  5529. <VALUE><![CDATA[{lEntParDelTrig}
  5530. /* Delete trigger for %tablename% */
  5531.  
  5532. CREATE Trigger td_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5533. before delete as
  5534. @if(lEntParDelRest,"declare variable numrows integer;","")
  5535. begin
  5536. @forchild( "", "", template(TriggerParentDelete), "", "" )
  5537. end
  5538. ^
  5539. ]]></VALUE>
  5540. <LANGUAGE>0</LANGUAGE>
  5541. <LANGUAGEWIN>---</LANGUAGEWIN>
  5542. <CATEGORY>2</CATEGORY>
  5543. <MAINSCRIPT>0</MAINSCRIPT>
  5544. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5545. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5546. <AUTHOR></AUTHOR>
  5547. <COMPANY></COMPANY>
  5548. <VERSION></VERSION>
  5549. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5550. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5551. </TEMPLATE>
  5552. <TEMPLATE>
  5553. <NAME>TRIGGERPARENTDELETE</NAME>
  5554. <ID>9</ID>
  5555. <GUID>{6E5BCEB8-9B46-41E0-892E-9D3229ACCCA4}</GUID>
  5556. <CAPTION></CAPTION>
  5557. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5558. <ENABLED>1</ENABLED>
  5559. <LEVEL>2</LEVEL>
  5560. <IDPARENT>0</IDPARENT>
  5561. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  5562. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  5563.  
  5564.  
  5565.     delete from %childtablename%
  5566.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "");
  5567.  
  5568.  
  5569. {ParDelSetNULL and (not lParDelSetnullDekl)}
  5570. /* cascade setnull when parent deleted */
  5571.  
  5572.  
  5573.     update %childtablename%
  5574.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  5575.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5576.  
  5577. {ParDelSetDefault and (not lParDelSetDefaultDekl)}
  5578. /* cascade setdefault when parent deleted */
  5579.  
  5580.  
  5581.     update %childtablename%
  5582.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  5583.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5584.  
  5585.  
  5586.  
  5587. {ParDelRestrict and (not lParDelRestDekl)}
  5588. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  5589.  
  5590.  
  5591.     select count( * ) from %childtablename%
  5592.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5593.     into :numrows;
  5594.     IF ( numrows > 0 ) then
  5595.         begin
  5596.         exception except_del_p;
  5597.         end
  5598.  
  5599.  
  5600.  
  5601. ]]></VALUE>
  5602. <LANGUAGE>0</LANGUAGE>
  5603. <LANGUAGEWIN>---</LANGUAGEWIN>
  5604. <CATEGORY>2</CATEGORY>
  5605. <MAINSCRIPT>0</MAINSCRIPT>
  5606. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5607. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5608. <AUTHOR></AUTHOR>
  5609. <COMPANY></COMPANY>
  5610. <VERSION></VERSION>
  5611. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5612. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5613. </TEMPLATE>
  5614. <TEMPLATE>
  5615. <NAME>TRIGGERPARENTINSERT</NAME>
  5616. <ID>10</ID>
  5617. <GUID>{2A899C46-6664-411F-8FBD-CCB68B27FCF9}</GUID>
  5618. <CAPTION></CAPTION>
  5619. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5620. <ENABLED>1</ENABLED>
  5621. <LEVEL>2</LEVEL>
  5622. <IDPARENT>0</IDPARENT>
  5623. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  5624. /* restrict child %childtablename% when parent %parenttablename% insert */
  5625.  
  5626. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  5627.      begin
  5628.     select count( * ) from %ParentTableName%
  5629.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5630.     into :numrows;
  5631.     IF ( numrows = 0 ) then
  5632.         begin
  5633.         exception  except_ins_ch;
  5634.         end
  5635.     end
  5636. ]]></VALUE>
  5637. <LANGUAGE>0</LANGUAGE>
  5638. <LANGUAGEWIN>---</LANGUAGEWIN>
  5639. <CATEGORY>2</CATEGORY>
  5640. <MAINSCRIPT>0</MAINSCRIPT>
  5641. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5642. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5643. <AUTHOR></AUTHOR>
  5644. <COMPANY></COMPANY>
  5645. <VERSION></VERSION>
  5646. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5647. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5648. </TEMPLATE>
  5649. <TEMPLATE>
  5650. <NAME>REFINTEGRITY</NAME>
  5651. <ID>11</ID>
  5652. <GUID>{5DFA296B-201D-4850-AB74-709EF25D3AC9}</GUID>
  5653. <CAPTION></CAPTION>
  5654. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5655. <ENABLED>1</ENABLED>
  5656. <LEVEL>2</LEVEL>
  5657. <IDPARENT>0</IDPARENT>
  5658. <VALUE><![CDATA[{lRelAnyDekl}
  5659. alter table %childtablename% add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  5660. ]]></VALUE>
  5661. <LANGUAGE>0</LANGUAGE>
  5662. <LANGUAGEWIN>---</LANGUAGEWIN>
  5663. <CATEGORY>2</CATEGORY>
  5664. <MAINSCRIPT>0</MAINSCRIPT>
  5665. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5666. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5667. <AUTHOR></AUTHOR>
  5668. <COMPANY></COMPANY>
  5669. <VERSION></VERSION>
  5670. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5671. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5672. </TEMPLATE>
  5673. <TEMPLATE>
  5674. <NAME>DropIndexs</NAME>
  5675. <ID>12</ID>
  5676. <GUID>{C44E4B6F-4EF6-43F1-B117-72E80CC4C67B}</GUID>
  5677. <CAPTION></CAPTION>
  5678. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5679. <ENABLED>1</ENABLED>
  5680. <LEVEL>2</LEVEL>
  5681. <IDPARENT>0</IDPARENT>
  5682. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  5683. ]]></VALUE>
  5684. <LANGUAGE>0</LANGUAGE>
  5685. <LANGUAGEWIN>---</LANGUAGEWIN>
  5686. <CATEGORY>2</CATEGORY>
  5687. <MAINSCRIPT>0</MAINSCRIPT>
  5688. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5689. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5690. <AUTHOR></AUTHOR>
  5691. <COMPANY></COMPANY>
  5692. <VERSION></VERSION>
  5693. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5694. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5695. </TEMPLATE>
  5696. <TEMPLATE>
  5697. <NAME>DROPTABLES</NAME>
  5698. <ID>13</ID>
  5699. <GUID>{0E669954-7E6A-4CFE-BD87-41C2CF4CA659}</GUID>
  5700. <CAPTION></CAPTION>
  5701. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5702. <ENABLED>1</ENABLED>
  5703. <LEVEL>2</LEVEL>
  5704. <IDPARENT>0</IDPARENT>
  5705. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  5706. ]]></VALUE>
  5707. <LANGUAGE>0</LANGUAGE>
  5708. <LANGUAGEWIN>---</LANGUAGEWIN>
  5709. <CATEGORY>2</CATEGORY>
  5710. <MAINSCRIPT>0</MAINSCRIPT>
  5711. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5712. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5713. <AUTHOR></AUTHOR>
  5714. <COMPANY></COMPANY>
  5715. <VERSION></VERSION>
  5716. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5717. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5718. </TEMPLATE>
  5719. <TEMPLATE>
  5720. <NAME>REFINTEGRITY2</NAME>
  5721. <ID>14</ID>
  5722. <GUID>{762AA101-93E0-4F1A-B853-01D9D7FD68B1}</GUID>
  5723. <CAPTION></CAPTION>
  5724. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5725. <ENABLED>1</ENABLED>
  5726. <LEVEL>2</LEVEL>
  5727. <IDPARENT>0</IDPARENT>
  5728. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, " no action " ,if(lRelParUpdCascDekl  " cascade", if(lRelParUpdSetnullDekl , "Set Null", if(lRelParUpdSetDefaultDekl, "Set Default","") ) ) ), "" )+
  5729. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " no action " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl,"Set Default", "") ) ) ), "" )+";"
  5730. ]]></VALUE>
  5731. <LANGUAGE>0</LANGUAGE>
  5732. <LANGUAGEWIN>---</LANGUAGEWIN>
  5733. <CATEGORY>2</CATEGORY>
  5734. <MAINSCRIPT>0</MAINSCRIPT>
  5735. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5736. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5737. <AUTHOR></AUTHOR>
  5738. <COMPANY></COMPANY>
  5739. <VERSION></VERSION>
  5740. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5741. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5742. </TEMPLATE>
  5743. <TEMPLATE>
  5744. <NAME>CREATEATRIB</NAME>
  5745. <ID>15</ID>
  5746. <GUID>{75916DA3-BD64-4A12-B84C-0E15E55DD969}</GUID>
  5747. <CAPTION></CAPTION>
  5748. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5749. <ENABLED>1</ENABLED>
  5750. <LEVEL>2</LEVEL>
  5751. <IDPARENT>0</IDPARENT>
  5752. <VALUE><![CDATA["%ColName% "+
  5753. ScriptProc( CreateDataType,Main, Column.Id )+
  5754. if(defexist," %defvalue%", "")+
  5755. if(defaultexist," Default %defaultvalue%"  ,"")+
  5756. if(notnull," NOT NULL","")+
  5757. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  5758. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  5759. if(checkexist," Check ("+ evalcheck+")","")+
  5760. if(def2exist," %def2value%", "")
  5761. ]]></VALUE>
  5762. <LANGUAGE>0</LANGUAGE>
  5763. <LANGUAGEWIN>---</LANGUAGEWIN>
  5764. <CATEGORY>2</CATEGORY>
  5765. <MAINSCRIPT>0</MAINSCRIPT>
  5766. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5767. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5768. <AUTHOR></AUTHOR>
  5769. <COMPANY></COMPANY>
  5770. <VERSION></VERSION>
  5771. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5772. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5773. </TEMPLATE>
  5774. <TEMPLATE>
  5775. <NAME>CREATEATRIB2</NAME>
  5776. <ID>16</ID>
  5777. <GUID>{DE66A0A1-319F-4A93-BD10-CE8B5DFCB1A0}</GUID>
  5778. <CAPTION></CAPTION>
  5779. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5780. <ENABLED>1</ENABLED>
  5781. <LEVEL>2</LEVEL>
  5782. <IDPARENT>0</IDPARENT>
  5783. <VALUE><![CDATA["%colname%"+
  5784. if(not Empty(UserDataType)," %UserDataType%", " %DictName%")+
  5785. if(defexist," %defvalue%", "")+
  5786. if(notnull," NOT NULL","")+
  5787. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  5788. if(def2exist," %def2value%", "")
  5789. ]]></VALUE>
  5790. <LANGUAGE>0</LANGUAGE>
  5791. <LANGUAGEWIN>---</LANGUAGEWIN>
  5792. <CATEGORY>2</CATEGORY>
  5793. <MAINSCRIPT>0</MAINSCRIPT>
  5794. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5795. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5796. <AUTHOR></AUTHOR>
  5797. <COMPANY></COMPANY>
  5798. <VERSION></VERSION>
  5799. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5800. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  5801. </TEMPLATE>
  5802. <TEMPLATE>
  5803. <NAME>CREATEDOMAINS</NAME>
  5804. <ID>17</ID>
  5805. <GUID>{225BC6C7-1DC7-4900-8C33-252AC465E7D2}</GUID>
  5806. <CAPTION></CAPTION>
  5807. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5808. <ENABLED>1</ENABLED>
  5809. <LEVEL>2</LEVEL>
  5810. <IDPARENT>0</IDPARENT>
  5811. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  5812. ]]></VALUE>
  5813. <LANGUAGE>0</LANGUAGE>
  5814. <LANGUAGEWIN>---</LANGUAGEWIN>
  5815. <CATEGORY>2</CATEGORY>
  5816. <MAINSCRIPT>0</MAINSCRIPT>
  5817. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5818. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5819. <AUTHOR></AUTHOR>
  5820. <COMPANY></COMPANY>
  5821. <VERSION></VERSION>
  5822. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5823. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5824. </TEMPLATE>
  5825. <TEMPLATE>
  5826. <NAME>CREATEDOMAIN</NAME>
  5827. <ID>18</ID>
  5828. <GUID>{C6256B46-7A72-4293-9EAC-1B29F2711557}</GUID>
  5829. <CAPTION></CAPTION>
  5830. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5831. <ENABLED>1</ENABLED>
  5832. <LEVEL>2</LEVEL>
  5833. <IDPARENT>0</IDPARENT>
  5834. <VALUE><![CDATA[if(not Empty(UserDataType),"",
  5835. "Create Domain %DictName% "+
  5836. if((DictType.DataTypeId=80),"blob sub_type %IntToStr(DictType.Decimal)% segment size %IntToStr(DictType.Length)%","%typsql%")+
  5837. if(Empty(DefDict),""," %DefDict%")+
  5838. if(DefaultExist," Default %default%","")+
  5839. if(CheckExist," Check ("+evalcheck2("value")+")", "")+
  5840. if(Empty(Def2Dict),"", " %Def2Dict%")+
  5841. ";"
  5842. )
  5843. ]]></VALUE>
  5844. <LANGUAGE>0</LANGUAGE>
  5845. <LANGUAGEWIN>---</LANGUAGEWIN>
  5846. <CATEGORY>2</CATEGORY>
  5847. <MAINSCRIPT>0</MAINSCRIPT>
  5848. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5849. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5850. <AUTHOR></AUTHOR>
  5851. <COMPANY></COMPANY>
  5852. <VERSION></VERSION>
  5853. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5854. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  5855. </TEMPLATE>
  5856. <TEMPLATE>
  5857. <NAME>DROPDOMAINS</NAME>
  5858. <ID>19</ID>
  5859. <GUID>{438A25C7-8739-482A-BBDE-A5AEDAC902E0}</GUID>
  5860. <CAPTION></CAPTION>
  5861. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5862. <ENABLED>1</ENABLED>
  5863. <LEVEL>2</LEVEL>
  5864. <IDPARENT>0</IDPARENT>
  5865. <VALUE><![CDATA[@ForDict("%cr%", "", if(not Empty(UserDataType),"", "Drop domain %dictname%;%cr%"), "", "" )
  5866. ]]></VALUE>
  5867. <LANGUAGE>0</LANGUAGE>
  5868. <LANGUAGEWIN>---</LANGUAGEWIN>
  5869. <CATEGORY>2</CATEGORY>
  5870. <MAINSCRIPT>0</MAINSCRIPT>
  5871. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5872. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5873. <AUTHOR></AUTHOR>
  5874. <COMPANY></COMPANY>
  5875. <VERSION></VERSION>
  5876. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5877. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  5878. </TEMPLATE>
  5879. <TEMPLATE>
  5880. <NAME>CREATEALTERKEY</NAME>
  5881. <ID>20</ID>
  5882. <GUID>{50DFA003-1D26-4D3B-9E72-DE4D4CC5F658}</GUID>
  5883. <CAPTION></CAPTION>
  5884. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5885. <ENABLED>1</ENABLED>
  5886. <LEVEL>2</LEVEL>
  5887. <IDPARENT>0</IDPARENT>
  5888. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  5889. ]]></VALUE>
  5890. <LANGUAGE>0</LANGUAGE>
  5891. <LANGUAGEWIN>---</LANGUAGEWIN>
  5892. <CATEGORY>2</CATEGORY>
  5893. <MAINSCRIPT>0</MAINSCRIPT>
  5894. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5895. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5896. <AUTHOR></AUTHOR>
  5897. <COMPANY></COMPANY>
  5898. <VERSION></VERSION>
  5899. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5900. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5901. </TEMPLATE>
  5902. <TEMPLATE>
  5903. <NAME>DropRefIntegrity</NAME>
  5904. <ID>21</ID>
  5905. <GUID>{804460D6-22E5-4C0B-9E92-5BFB100009ED}</GUID>
  5906. <CAPTION></CAPTION>
  5907. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5908. <ENABLED>1</ENABLED>
  5909. <LEVEL>2</LEVEL>
  5910. <IDPARENT>0</IDPARENT>
  5911. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  5912. alter table %childtablename% drop constraint %frelname%;
  5913. ]]></VALUE>
  5914. <LANGUAGE>0</LANGUAGE>
  5915. <LANGUAGEWIN>---</LANGUAGEWIN>
  5916. <CATEGORY>2</CATEGORY>
  5917. <MAINSCRIPT>0</MAINSCRIPT>
  5918. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5919. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5920. <AUTHOR></AUTHOR>
  5921. <COMPANY></COMPANY>
  5922. <VERSION></VERSION>
  5923. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5924. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5925. </TEMPLATE>
  5926. <TEMPLATE>
  5927. <NAME>DropTriggerUpdate</NAME>
  5928. <ID>22</ID>
  5929. <GUID>{2BB6DC55-F8B5-44A4-8E62-81FF54C6DA87}</GUID>
  5930. <CAPTION></CAPTION>
  5931. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5932. <ENABLED>1</ENABLED>
  5933. <LEVEL>2</LEVEL>
  5934. <IDPARENT>0</IDPARENT>
  5935. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  5936. drop trigger tu_%tablename%;
  5937. ]]></VALUE>
  5938. <LANGUAGE>0</LANGUAGE>
  5939. <LANGUAGEWIN>---</LANGUAGEWIN>
  5940. <CATEGORY>2</CATEGORY>
  5941. <MAINSCRIPT>0</MAINSCRIPT>
  5942. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5943. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5944. <AUTHOR></AUTHOR>
  5945. <COMPANY></COMPANY>
  5946. <VERSION></VERSION>
  5947. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5948. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5949. </TEMPLATE>
  5950. <TEMPLATE>
  5951. <NAME>DropTriggerDelete</NAME>
  5952. <ID>23</ID>
  5953. <GUID>{3E3A18E2-46FF-4B01-9D15-746EC7F3D57B}</GUID>
  5954. <CAPTION></CAPTION>
  5955. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5956. <ENABLED>1</ENABLED>
  5957. <LEVEL>2</LEVEL>
  5958. <IDPARENT>0</IDPARENT>
  5959. <VALUE><![CDATA[{lEntParDelTrig}
  5960. drop trigger td_%tablename%;
  5961. ]]></VALUE>
  5962. <LANGUAGE>0</LANGUAGE>
  5963. <LANGUAGEWIN>---</LANGUAGEWIN>
  5964. <CATEGORY>2</CATEGORY>
  5965. <MAINSCRIPT>0</MAINSCRIPT>
  5966. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5967. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5968. <AUTHOR></AUTHOR>
  5969. <COMPANY></COMPANY>
  5970. <VERSION></VERSION>
  5971. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5972. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5973. </TEMPLATE>
  5974. <TEMPLATE>
  5975. <NAME>DropTriggerInsert</NAME>
  5976. <ID>24</ID>
  5977. <GUID>{68A81C68-F8AB-4A40-BD6D-507A7BBBD89A}</GUID>
  5978. <CAPTION></CAPTION>
  5979. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  5980. <ENABLED>1</ENABLED>
  5981. <LEVEL>2</LEVEL>
  5982. <IDPARENT>0</IDPARENT>
  5983. <VALUE><![CDATA[{lEntChildInsTrig  }
  5984. drop trigger ti_%tablename%;
  5985. ]]></VALUE>
  5986. <LANGUAGE>0</LANGUAGE>
  5987. <LANGUAGEWIN>---</LANGUAGEWIN>
  5988. <CATEGORY>2</CATEGORY>
  5989. <MAINSCRIPT>0</MAINSCRIPT>
  5990. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  5991. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  5992. <AUTHOR></AUTHOR>
  5993. <COMPANY></COMPANY>
  5994. <VERSION></VERSION>
  5995. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  5996. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  5997. </TEMPLATE>
  5998. <TEMPLATE>
  5999. <NAME>CreateExcept</NAME>
  6000. <ID>25</ID>
  6001. <GUID>{E8B09FB3-AC1B-458F-B5E8-B3CA95596134}</GUID>
  6002. <CAPTION></CAPTION>
  6003. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6004. <ENABLED>1</ENABLED>
  6005. <LEVEL>2</LEVEL>
  6006. <IDPARENT>0</IDPARENT>
  6007. <VALUE><![CDATA[create exception except_del_p 'Children still exist in child table. Cannot delete parent'^
  6008. create exception except_ins_ch 'Parent does not exist. Cannot create child.'^
  6009. create exception except_upd_ch 'Parent does not exist. Cannot update child '^
  6010. create exception except_upd_p 'Children still exist in child table.'^
  6011. ]]></VALUE>
  6012. <LANGUAGE>0</LANGUAGE>
  6013. <LANGUAGEWIN>---</LANGUAGEWIN>
  6014. <CATEGORY>2</CATEGORY>
  6015. <MAINSCRIPT>0</MAINSCRIPT>
  6016. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6017. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6018. <AUTHOR></AUTHOR>
  6019. <COMPANY></COMPANY>
  6020. <VERSION></VERSION>
  6021. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6022. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  6023. </TEMPLATE>
  6024. <TEMPLATE>
  6025. <NAME>DropExcept</NAME>
  6026. <ID>26</ID>
  6027. <GUID>{656FF073-AB7C-4F6E-A60C-4DF705DECD08}</GUID>
  6028. <CAPTION></CAPTION>
  6029. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6030. <ENABLED>1</ENABLED>
  6031. <LEVEL>2</LEVEL>
  6032. <IDPARENT>0</IDPARENT>
  6033. <VALUE><![CDATA[drop exception except_del_p ;
  6034. drop exception except_ins_ch ;
  6035. drop exception except_upd_ch ;
  6036. drop exception except_upd_p ;
  6037. ]]></VALUE>
  6038. <LANGUAGE>0</LANGUAGE>
  6039. <LANGUAGEWIN>---</LANGUAGEWIN>
  6040. <CATEGORY>2</CATEGORY>
  6041. <MAINSCRIPT>0</MAINSCRIPT>
  6042. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6043. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6044. <AUTHOR></AUTHOR>
  6045. <COMPANY></COMPANY>
  6046. <VERSION></VERSION>
  6047. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6048. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  6049. </TEMPLATE>
  6050. <TEMPLATE>
  6051. <NAME>DropProcedures</NAME>
  6052. <ID>27</ID>
  6053. <GUID>{3E950C23-53C6-4F96-B814-D9DEBC8CCF68}</GUID>
  6054. <CAPTION></CAPTION>
  6055. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6056. <ENABLED>1</ENABLED>
  6057. <LEVEL>2</LEVEL>
  6058. <IDPARENT>0</IDPARENT>
  6059. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%;%cr%","","")
  6060. ]]></VALUE>
  6061. <LANGUAGE>0</LANGUAGE>
  6062. <LANGUAGEWIN>---</LANGUAGEWIN>
  6063. <CATEGORY>2</CATEGORY>
  6064. <MAINSCRIPT>0</MAINSCRIPT>
  6065. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6066. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6067. <AUTHOR></AUTHOR>
  6068. <COMPANY></COMPANY>
  6069. <VERSION></VERSION>
  6070. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6071. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  6072. </TEMPLATE>
  6073. <TEMPLATE>
  6074. <NAME>DropViews</NAME>
  6075. <ID>28</ID>
  6076. <GUID>{0A6B71E2-2F4C-49A0-AB2F-E5C63D4A7614}</GUID>
  6077. <CAPTION></CAPTION>
  6078. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6079. <ENABLED>1</ENABLED>
  6080. <LEVEL>2</LEVEL>
  6081. <IDPARENT>0</IDPARENT>
  6082. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%;%cr%","","")
  6083. ]]></VALUE>
  6084. <LANGUAGE>0</LANGUAGE>
  6085. <LANGUAGEWIN>---</LANGUAGEWIN>
  6086. <CATEGORY>2</CATEGORY>
  6087. <MAINSCRIPT>0</MAINSCRIPT>
  6088. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6089. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6090. <AUTHOR></AUTHOR>
  6091. <COMPANY></COMPANY>
  6092. <VERSION></VERSION>
  6093. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6094. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  6095. </TEMPLATE>
  6096. <TEMPLATE>
  6097. <NAME>CreateProcedurePermiss</NAME>
  6098. <ID>29</ID>
  6099. <GUID>{DD8BA02F-8A29-49BC-9EDD-69EEB0ABDF7C}</GUID>
  6100. <CAPTION></CAPTION>
  6101. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6102. <ENABLED>1</ENABLED>
  6103. <LEVEL>2</LEVEL>
  6104. <IDPARENT>0</IDPARENT>
  6105. <VALUE><![CDATA[if(lPermissExec,"grant execute on procedure %ProcedureName% to %UserOrRoleName%;%cr%","")
  6106. ]]></VALUE>
  6107. <LANGUAGE>0</LANGUAGE>
  6108. <LANGUAGEWIN>---</LANGUAGEWIN>
  6109. <CATEGORY>2</CATEGORY>
  6110. <MAINSCRIPT>0</MAINSCRIPT>
  6111. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6112. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6113. <AUTHOR></AUTHOR>
  6114. <COMPANY></COMPANY>
  6115. <VERSION></VERSION>
  6116. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6117. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  6118. </TEMPLATE>
  6119. <TEMPLATE>
  6120. <NAME>CreateDataType</NAME>
  6121. <ID>30</ID>
  6122. <GUID>{9BCC400B-8753-4F58-93DF-87D58A307BBF}</GUID>
  6123. <CAPTION></CAPTION>
  6124. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6125. <ENABLED>1</ENABLED>
  6126. <LEVEL>2</LEVEL>
  6127. <IDPARENT>0</IDPARENT>
  6128. <VALUE><![CDATA[function Main( ColumnId )
  6129. {
  6130. var Column = Model.GetAttribute( ColumnId );
  6131. var Object;
  6132. var Result;    
  6133.  
  6134. if ( Column.DataTypeId == 0 )
  6135.     Object = Model.GetDictType( Column.DictTypeId )
  6136. else
  6137.     Object = Column;
  6138.  
  6139. if (Object.DataTypeId == 80)
  6140.     Result = 'blob sub_type '+Object.Decimal.toString()+' segment size '+Object.Length.toString()
  6141. else
  6142.     {
  6143.     if (Column.UserDataType != '')
  6144.         Result = Column.UserDataType;
  6145.     else
  6146.         Result = Column.SQLDataType;
  6147.     }
  6148.  
  6149. return( Result );    
  6150. };
  6151. ]]></VALUE>
  6152. <LANGUAGE>1</LANGUAGE>
  6153. <LANGUAGEWIN>---</LANGUAGEWIN>
  6154. <CATEGORY>2</CATEGORY>
  6155. <MAINSCRIPT>0</MAINSCRIPT>
  6156. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6157. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6158. <AUTHOR></AUTHOR>
  6159. <COMPANY></COMPANY>
  6160. <VERSION></VERSION>
  6161. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  6162. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  6163. </TEMPLATE>
  6164. </TEMPLATES>
  6165. <VARIABLES><![CDATA[ldomainSupp  1
  6166. lAtrCheckConstraintSupp 1
  6167. lAlterKeySupp 1
  6168. lProceduresSupp 1
  6169. lViewsSupp 1
  6170. lConstraintPkSupp 1
  6171. lConstraintFkSupp 1
  6172. lAtrUniqueConstraintSupp 1
  6173. lPermissUserToRoleSupp 1
  6174. lPermissUserToObjectSupp 1
  6175. lPermissRoleToObjectSupp 1
  6176. lRoleSupp 1
  6177. lUserTypeAttrSupp 1
  6178. lUserTypeDomainSupp 1
  6179. lDriParUpdRestrict 1
  6180. lDriParUpdCascade 1
  6181. lDriParUpdSetNull 1
  6182. lDriParUpdSetDefault 1
  6183. lDriParDelRestrict 1
  6184. lDriParDelCascade 1
  6185. lDriParDelSetNull 1
  6186. lDriParDelSetDefault 1
  6187. lDriChildInsRestrict 0
  6188. lDriChildUpdRestrict 0
  6189. lDriParUpdRestrictSupp 1
  6190. lDriParUpdCascadeSupp 1
  6191. lDriParUpdSetNullSupp 1
  6192. lDriParUpdSetDefaultSupp 1
  6193. lDriParDelRestrictSupp 1
  6194. lDriParDelCascadeSupp 1
  6195. lDriParDelSetNullSupp 1
  6196. lDriParDelSetDefaultSupp 1
  6197. lDriChildInsRestrictSupp 0
  6198. lDriChildUpdRestrictSupp 0
  6199. lIndexDescendSupp 1
  6200. lIndexItDescendSupp 0
  6201. lIndexUpperSupp 0
  6202. lIndexExprSupp 0
  6203. lIndexUniqueSupp 1
  6204. lIndexFilterSupp 0
  6205. lIndexStandSupp 1
  6206. lIndexClusterSupp 0
  6207. lIndexNameUnique 1
  6208. lPkSupp 1
  6209. lPkNotNull 1
  6210. lDRISupp 1
  6211. lTriggerSupp 1
  6212. lAtrUniqueSupp 1
  6213. lAtrNotNullSupp 1
  6214. lAtrCheckSupp 1
  6215. lAtrDefaultSupp 1
  6216. ldomainSupp  1
  6217. lAtrCheckConstraintSupp 1
  6218. lAlterKeySupp 1
  6219. lProceduresSupp 1
  6220. lViewsSupp 1
  6221. lConstraintPkSupp 1
  6222. lConstraintFkSupp 1
  6223. lAtrUniqueConstraintSupp 1
  6224. lPermissUserToRoleSupp 1
  6225. lPermissUserToObjectSupp 1
  6226. lPermissRoleToObjectSupp 1
  6227. lRoleSupp 1
  6228. lUserTypeAttrSupp 1
  6229. lUserTypeDomainSupp 1
  6230. ]]></VARIABLES>
  6231. <USEREDITS>
  6232. <USEREDIT>
  6233. <NAME>lDropException</NAME>
  6234. <ID>1</ID>
  6235. <GUID>{8033B93C-DD69-4B72-82F5-31F436C6E9F0}</GUID>
  6236. <CAPTION>Drop exception</CAPTION>
  6237. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6238. <TYPE>1</TYPE>
  6239. <LEVEL>1</LEVEL>
  6240. <DEFAULT></DEFAULT>
  6241. <ORD>120</ORD>
  6242. <LENGTH>250</LENGTH>
  6243. <ENABLED>1</ENABLED>
  6244. <ITEMS></ITEMS>
  6245. </USEREDIT>
  6246. <USEREDIT>
  6247. <NAME>lCreateException</NAME>
  6248. <ID>2</ID>
  6249. <GUID>{8EC58FD1-2131-40A4-99A1-D65C6828C3C8}</GUID>
  6250. <CAPTION>Create exception</CAPTION>
  6251. <PACKAGEGUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</PACKAGEGUID>
  6252. <TYPE>1</TYPE>
  6253. <LEVEL>1</LEVEL>
  6254. <DEFAULT></DEFAULT>
  6255. <ORD>130</ORD>
  6256. <LENGTH>250</LENGTH>
  6257. <ENABLED>1</ENABLED>
  6258. <ITEMS></ITEMS>
  6259. </USEREDIT>
  6260. </USEREDITS>
  6261. <TYPELIST>
  6262. <TYPE>
  6263. <NAME>Char</NAME>
  6264. <ID>10</ID>
  6265. <GUID>{9200E82C-288D-4C1C-84EF-71A5C5E4E8EA}</GUID>
  6266. <PHNAME>Char</PHNAME>
  6267. <LLENGTH>1</LLENGTH>
  6268. <LDECIMAL>0</LDECIMAL>
  6269. <MAXLENGTH>32765</MAXLENGTH>
  6270. <MINLENGTH>1</MINLENGTH>
  6271. <MAXDECIMAL>0</MAXDECIMAL>
  6272. <MINDECIMAL>0</MINDECIMAL>
  6273. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  6274. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6275. <TRANSFORMCODE>A</TRANSFORMCODE>
  6276. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  6277. <EXPORTTO>0</EXPORTTO>
  6278. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6279. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6280. </TYPE>
  6281. <TYPE>
  6282. <NAME>Varchar</NAME>
  6283. <ID>20</ID>
  6284. <GUID>{97313B7A-0107-4AB5-9679-D4BFB610B682}</GUID>
  6285. <PHNAME>Varchar</PHNAME>
  6286. <LLENGTH>1</LLENGTH>
  6287. <LDECIMAL>0</LDECIMAL>
  6288. <MAXLENGTH>32765</MAXLENGTH>
  6289. <MINLENGTH>1</MINLENGTH>
  6290. <MAXDECIMAL>0</MAXDECIMAL>
  6291. <MINDECIMAL>0</MINDECIMAL>
  6292. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  6293. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6294. <TRANSFORMCODE>VA</TRANSFORMCODE>
  6295. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  6296. <EXPORTTO>0</EXPORTTO>
  6297. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6298. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6299. </TYPE>
  6300. <TYPE>
  6301. <NAME>Smallint</NAME>
  6302. <ID>30</ID>
  6303. <GUID>{337F6211-EAAF-4AE2-8797-26A0ED661AAE}</GUID>
  6304. <PHNAME>Smallint</PHNAME>
  6305. <LLENGTH>0</LLENGTH>
  6306. <LDECIMAL>0</LDECIMAL>
  6307. <MAXLENGTH>0</MAXLENGTH>
  6308. <MINLENGTH>0</MINLENGTH>
  6309. <MAXDECIMAL>0</MAXDECIMAL>
  6310. <MINDECIMAL>0</MINDECIMAL>
  6311. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6312. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6313. <TRANSFORMCODE>SI</TRANSFORMCODE>
  6314. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  6315. <EXPORTTO>0</EXPORTTO>
  6316. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6317. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6318. </TYPE>
  6319. <TYPE>
  6320. <NAME>Integer</NAME>
  6321. <ID>40</ID>
  6322. <GUID>{EF32EFA5-B557-4365-9B7C-DA90AA44DAED}</GUID>
  6323. <PHNAME>Integer</PHNAME>
  6324. <LLENGTH>0</LLENGTH>
  6325. <LDECIMAL>0</LDECIMAL>
  6326. <MAXLENGTH>0</MAXLENGTH>
  6327. <MINLENGTH>0</MINLENGTH>
  6328. <MAXDECIMAL>0</MAXDECIMAL>
  6329. <MINDECIMAL>0</MINDECIMAL>
  6330. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6331. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6332. <TRANSFORMCODE>I</TRANSFORMCODE>
  6333. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  6334. <EXPORTTO>0</EXPORTTO>
  6335. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6336. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6337. </TYPE>
  6338. <TYPE>
  6339. <NAME>Float</NAME>
  6340. <ID>50</ID>
  6341. <GUID>{281AAD95-2D86-4F69-92D7-C4AB26FABBFC}</GUID>
  6342. <PHNAME>Float</PHNAME>
  6343. <LLENGTH>0</LLENGTH>
  6344. <LDECIMAL>0</LDECIMAL>
  6345. <MAXLENGTH>0</MAXLENGTH>
  6346. <MINLENGTH>0</MINLENGTH>
  6347. <MAXDECIMAL>0</MAXDECIMAL>
  6348. <MINDECIMAL>0</MINDECIMAL>
  6349. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6350. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6351. <TRANSFORMCODE>F</TRANSFORMCODE>
  6352. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  6353. <EXPORTTO>0</EXPORTTO>
  6354. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6355. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6356. </TYPE>
  6357. <TYPE>
  6358. <NAME>Double precision</NAME>
  6359. <ID>60</ID>
  6360. <GUID>{4F72CA51-9224-4195-9CA5-7AB588E1E421}</GUID>
  6361. <PHNAME>Double precision</PHNAME>
  6362. <LLENGTH>0</LLENGTH>
  6363. <LDECIMAL>0</LDECIMAL>
  6364. <MAXLENGTH>0</MAXLENGTH>
  6365. <MINLENGTH>0</MINLENGTH>
  6366. <MAXDECIMAL>0</MAXDECIMAL>
  6367. <MINDECIMAL>0</MINDECIMAL>
  6368. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6369. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6370. <TRANSFORMCODE>LF</TRANSFORMCODE>
  6371. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  6372. <EXPORTTO>0</EXPORTTO>
  6373. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6374. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6375. </TYPE>
  6376. <TYPE>
  6377. <NAME>Date</NAME>
  6378. <ID>70</ID>
  6379. <GUID>{B5B70837-F8F7-4BAA-95CB-CEB17305DA26}</GUID>
  6380. <PHNAME>Date</PHNAME>
  6381. <LLENGTH>0</LLENGTH>
  6382. <LDECIMAL>0</LDECIMAL>
  6383. <MAXLENGTH>0</MAXLENGTH>
  6384. <MINLENGTH>0</MINLENGTH>
  6385. <MAXDECIMAL>0</MAXDECIMAL>
  6386. <MINDECIMAL>0</MINDECIMAL>
  6387. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6388. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6389. <TRANSFORMCODE>DT</TRANSFORMCODE>
  6390. <TRANSFORMTO>DT;D;TS;</TRANSFORMTO>
  6391. <EXPORTTO>0</EXPORTTO>
  6392. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6393. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6394. </TYPE>
  6395. <TYPE>
  6396. <NAME>(Time)</NAME>
  6397. <ID>73</ID>
  6398. <GUID>{C998D2CA-5463-423E-AE8D-4C2C8DDA2199}</GUID>
  6399. <PHNAME>Date</PHNAME>
  6400. <LLENGTH>0</LLENGTH>
  6401. <LDECIMAL>0</LDECIMAL>
  6402. <MAXLENGTH>0</MAXLENGTH>
  6403. <MINLENGTH>0</MINLENGTH>
  6404. <MAXDECIMAL>0</MAXDECIMAL>
  6405. <MINDECIMAL>0</MINDECIMAL>
  6406. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6407. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6408. <TRANSFORMCODE>NONE</TRANSFORMCODE>
  6409. <TRANSFORMTO>NONE;T</TRANSFORMTO>
  6410. <EXPORTTO>0</EXPORTTO>
  6411. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6412. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6413. </TYPE>
  6414. <TYPE>
  6415. <NAME>(Timestamp)</NAME>
  6416. <ID>76</ID>
  6417. <GUID>{1C56EEAD-6B63-490C-863B-6ACE1DD0AC4D}</GUID>
  6418. <PHNAME>Date</PHNAME>
  6419. <LLENGTH>0</LLENGTH>
  6420. <LDECIMAL>0</LDECIMAL>
  6421. <MAXLENGTH>0</MAXLENGTH>
  6422. <MINLENGTH>0</MINLENGTH>
  6423. <MAXDECIMAL>0</MAXDECIMAL>
  6424. <MINDECIMAL>0</MINDECIMAL>
  6425. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6426. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6427. <TRANSFORMCODE>NONE</TRANSFORMCODE>
  6428. <TRANSFORMTO>NONE;DT</TRANSFORMTO>
  6429. <EXPORTTO>0</EXPORTTO>
  6430. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6431. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6432. </TYPE>
  6433. <TYPE>
  6434. <NAME>Blob</NAME>
  6435. <ID>80</ID>
  6436. <GUID>{7D4F5617-9848-4062-BE2C-CA8B1E9EC6E4}</GUID>
  6437. <PHNAME>Blob</PHNAME>
  6438. <LLENGTH>1</LLENGTH>
  6439. <LDECIMAL>1</LDECIMAL>
  6440. <MAXLENGTH>65535</MAXLENGTH>
  6441. <MINLENGTH>1</MINLENGTH>
  6442. <MAXDECIMAL>2</MAXDECIMAL>
  6443. <MINDECIMAL>-100</MINDECIMAL>
  6444. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  6445. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  6446. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  6447. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  6448. <EXPORTTO>0</EXPORTTO>
  6449. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6450. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6451. </TYPE>
  6452. <TYPE>
  6453. <NAME>Decimal</NAME>
  6454. <ID>90</ID>
  6455. <GUID>{68E3A6FA-D894-4762-976E-FCC7D033C761}</GUID>
  6456. <PHNAME>Decimal</PHNAME>
  6457. <LLENGTH>1</LLENGTH>
  6458. <LDECIMAL>1</LDECIMAL>
  6459. <MAXLENGTH>15</MAXLENGTH>
  6460. <MINLENGTH>1</MINLENGTH>
  6461. <MAXDECIMAL>15</MAXDECIMAL>
  6462. <MINDECIMAL>0</MINDECIMAL>
  6463. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  6464. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6465. <TRANSFORMCODE>DC</TRANSFORMCODE>
  6466. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  6467. <EXPORTTO>0</EXPORTTO>
  6468. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6469. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6470. </TYPE>
  6471. <TYPE>
  6472. <NAME>Numeric</NAME>
  6473. <ID>100</ID>
  6474. <GUID>{E04C96FA-62E7-44C9-9BDF-E3DBD642A0C0}</GUID>
  6475. <PHNAME>Numeric</PHNAME>
  6476. <LLENGTH>1</LLENGTH>
  6477. <LDECIMAL>1</LDECIMAL>
  6478. <MAXLENGTH>15</MAXLENGTH>
  6479. <MINLENGTH>1</MINLENGTH>
  6480. <MAXDECIMAL>15</MAXDECIMAL>
  6481. <MINDECIMAL>0</MINDECIMAL>
  6482. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  6483. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6484. <TRANSFORMCODE>N</TRANSFORMCODE>
  6485. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  6486. <EXPORTTO>0</EXPORTTO>
  6487. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6488. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6489. </TYPE>
  6490. <TYPE>
  6491. <NAME>Empty</NAME>
  6492. <ID>200</ID>
  6493. <GUID>{FDEA8621-EB3F-4F68-AABA-87385B83D49B}</GUID>
  6494. <PHNAME></PHNAME>
  6495. <LLENGTH>0</LLENGTH>
  6496. <LDECIMAL>0</LDECIMAL>
  6497. <MAXLENGTH>0</MAXLENGTH>
  6498. <MINLENGTH>0</MINLENGTH>
  6499. <MAXDECIMAL>0</MAXDECIMAL>
  6500. <MINDECIMAL>0</MINDECIMAL>
  6501. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6502. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6503. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  6504. <TRANSFORMTO>EMP;</TRANSFORMTO>
  6505. <EXPORTTO>0</EXPORTTO>
  6506. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6507. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6508. </TYPE>
  6509. </TYPELIST>
  6510. <TEXTOBJECTTYPES>
  6511. </TEXTOBJECTTYPES>
  6512. <DISABLED>0</DISABLED>
  6513. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  6514. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  6515. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  6516. <DEFAULTCHAR>_</DEFAULTCHAR>
  6517. <INVALIDCHARACTERS>!"#%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  6518. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  6519. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  6520. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  6521. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  6522. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6523. <KEYWORDS><![CDATA[ACTION
  6524. ACTIVE
  6525. ADD
  6526. ADMIN
  6527. AFTER
  6528. ALL
  6529. ALTER
  6530. AND
  6531. ANY
  6532. AS
  6533. ASC
  6534. ASCENDING
  6535. AT
  6536. AUTO
  6537. AUTODDL
  6538. AVG
  6539. BASED
  6540. BASENAME
  6541. BASE_NAME
  6542. BEFORE
  6543. BEGIN
  6544. BETWEEN
  6545. BLOB
  6546. BLOBEDIT
  6547. BUFFER
  6548. BY
  6549. CACHE
  6550. CASCADE
  6551. CAST
  6552. CHAR
  6553. CHARACTER
  6554. CHARACTER_LENGTH
  6555. CHAR_LENGTH
  6556. CHECK
  6557. CHECK_POINT_LEN
  6558. CHECK_POINT_LENGTH
  6559. COLLATE
  6560. COLLATION
  6561. COLUMN
  6562. COMMIT
  6563. COMMITTED
  6564. COMPILETIME
  6565. COMPUTED
  6566. CLOSE
  6567. CONDITIONAL
  6568. CONNECT
  6569. CONSTRAINT
  6570. CONTAINING
  6571. CONTINUE
  6572. COUNT
  6573. CREATE
  6574. CSTRING
  6575. CURRENT
  6576. CURSOR
  6577. DATABASE
  6578. DATE
  6579. DB_KEY
  6580. DEBUG
  6581. DEC
  6582. DECIMAL
  6583. DECLARE
  6584. DEFAULT
  6585. DELETE
  6586. DESC
  6587. DESCENDING
  6588. DESCRIBE
  6589. DESCRIPTOR
  6590. DISCONNECT
  6591. DISPLAY
  6592. DISTINCT
  6593. DO
  6594. DOMAIN
  6595. DOUBLE
  6596. DROP
  6597. ECHO
  6598. EDIT
  6599. ELSE
  6600. END
  6601. ENTRY_POINT
  6602. ESCAPE
  6603. EVENT
  6604. EXCEPTION
  6605. EXECUTE
  6606. EXISTS
  6607. EXIT
  6608. EXTERN
  6609. EXTERNAL
  6610. EXTRACT
  6611. FETCH
  6612. FILE
  6613. FILTER
  6614. FLOAT
  6615. FOR
  6616. FOREIGN
  6617. FOUND
  6618. FREE_IT
  6619. FROM
  6620. FULL
  6621. FUNCTION
  6622. GDSCODE
  6623. GENERATOR
  6624. GEN_ID
  6625. GLOBAL
  6626. GOTO
  6627. GRANT
  6628. GROUP
  6629. GROUP_COMMIT_WAIT
  6630. GROUP_COMMIT_WAIT_TIME
  6631. HAVING HELP
  6632. IF
  6633. IMMEDIATE
  6634. IN
  6635. INACTIVE
  6636. INDEX
  6637. INDICATOR
  6638. INIT
  6639. INNER
  6640. INPUT
  6641. INPUT_TYPE
  6642. INSERT
  6643. INT
  6644. INTEGER
  6645. INTO
  6646. IS
  6647. ISOLATION
  6648. ISQL
  6649. JOIN
  6650. KEY
  6651. LC_MESSAGES
  6652. LC_TYPE
  6653. LEFT
  6654. LENGTH LEV
  6655. LEVEL
  6656. LIKE
  6657. LOGFILE
  6658. LOG_BUFFER_SIZE
  6659. LOG_BUF_SIZE
  6660. LONG
  6661. MANUAL
  6662. MAX
  6663. MAXIMUM
  6664. MAXIMUM_SEGMENT
  6665. MAX_SEGMENT
  6666. MERGE
  6667. MESSAGE
  6668. MIN
  6669. MINIMUM
  6670. MODULE_NAME
  6671. NAMES
  6672. NATIONAL
  6673. NATURAL
  6674. NCHAR
  6675. NO
  6676. NOAUTO
  6677. NOT
  6678. NULL
  6679. NUMERIC
  6680. NUM_LOG_BUFS
  6681. NUM_LOG_BUFFERS
  6682. OCTET_LENGTH
  6683. OF
  6684. ON
  6685. ONLY
  6686. OPEN
  6687. OPTION
  6688. OR
  6689. ORDER
  6690. OUTER
  6691. OUTPUT
  6692. OUTPUT_TYPE
  6693. OVERFLOW
  6694. PAGE
  6695. PAGELENGTH
  6696. PAGES
  6697. PAGE_SIZE
  6698. PARAMETER
  6699. PASSWORD
  6700. PLAN
  6701. POSITION
  6702. POST_EVENT
  6703. PRECISION
  6704. PREPARE
  6705. PROCEDURE
  6706. PROTECTED
  6707. PRIMARY
  6708. PRIVILEGES
  6709. PUBLIC
  6710. QUIT
  6711. RAW_PARTITIONS
  6712. RDB$DB_KEY
  6713. READ
  6714. REAL
  6715. RECORD_VERSION
  6716. REFERENCES
  6717. RELEASE
  6718. RESERV
  6719. RESERVING
  6720. RESTRICT
  6721. RETAIN
  6722. RETURN
  6723. RETURNING_VALUES
  6724. RETURNS
  6725. REVOKE
  6726. RIGHT
  6727. ROLE
  6728. ROLLBACK
  6729. RUNTIME
  6730. SCHEMA
  6731. SEGMENT
  6732. SELECT
  6733. SET
  6734. SHADOW
  6735. SHARED
  6736. SHELL
  6737. SHOW
  6738. SINGULAR
  6739. INTERBASE
  6740. KEYWORDS
  6741. SIZE
  6742. SMALLINT
  6743. SNAPSHOT
  6744. SOME
  6745. SORT
  6746. SQL
  6747. SQLCODE
  6748. SQLERROR
  6749. SQLWARNING
  6750. STABILITY
  6751. STARTING
  6752. STARTS
  6753. STATEMENT
  6754. STATIC
  6755. STATISTICS
  6756. SUB_TYPE
  6757. SUM
  6758. SUSPEND
  6759. TABLE
  6760. TERMINATOR
  6761. THEN
  6762. TO
  6763. TRANSACTION
  6764. TRANSLATE
  6765. TRANSLATION
  6766. TRIGGER
  6767. TRIM
  6768. UNCOMMITTED
  6769. UNION
  6770. UNIQUE
  6771. UPDATE
  6772. UPPER
  6773. USER
  6774. USING
  6775. VALUE
  6776. VALUES
  6777. VARCHAR
  6778. VARIABLE
  6779. VARYING
  6780. VERSION
  6781. VIEW
  6782. WAIT
  6783. WHEN
  6784. WHENEVER
  6785. WHERE
  6786. WHILE
  6787. WITH
  6788. WORK
  6789. WRITE
  6790. ]]></KEYWORDS>
  6791. </SERVER>
  6792. <SERVER>
  6793. <NAME>Interbase 6 SQL 1</NAME>
  6794. <ID>130</ID>
  6795. <GUID>{2F20930A-677F-4734-9108-37D812346124}</GUID>
  6796. <TEMPLATES>
  6797. <TEMPLATE>
  6798. <NAME>CreateDatabase</NAME>
  6799. <ID>1</ID>
  6800. <GUID>{1435A9EF-164E-4EAD-AD9D-0071F77A17D9}</GUID>
  6801. <CAPTION>CreateDatabase</CAPTION>
  6802. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  6803. <ENABLED>1</ENABLED>
  6804. <LEVEL>2</LEVEL>
  6805. <IDPARENT>0</IDPARENT>
  6806. <VALUE><![CDATA[/*
  6807. Created        %createddate%
  6808. Modified        %modifieddate%
  6809. Project        %projectname%
  6810. Model        %modelname%
  6811. Company        %company%
  6812. Author        %authorname%
  6813. Version        %version%
  6814. Database        %databasetype% 
  6815. */
  6816.  
  6817. {lbeforescript}
  6818. %beforescript%
  6819. {lDropProceduresGener}
  6820. @template(DropProcedures)
  6821. {lDropTriggersListGener}
  6822. @template(DropTriggersList)
  6823. {lDropViewsGener}
  6824. @template(DropViews)
  6825. {ldroptriggerGener}
  6826. @showmessage("Drop triggers")
  6827. @template(droptriggers)
  6828. {lDropIndexGener}
  6829. @template(DropIndexs)
  6830. {lDropTableGener}
  6831. @showmessage("Drop tables")
  6832. @template(DropRefIntegritys)
  6833. @template(droptables)
  6834. {lDropDomainGener}
  6835. @showmessage("Drop domains")
  6836. @template(dropdomains)
  6837. {lDropException}
  6838. @template(DropExcept)
  6839. {lDomainGener}
  6840. @showmessage("Create domains")
  6841. @template(CreateDomains)
  6842. {lTableGener}
  6843. @showmessage("Create tables")
  6844. @template(createtables)
  6845. {lEntityOthers}
  6846. @showmessage("Create tab 'Others' for selected tables")
  6847. @template(CreateTableOthers)
  6848. {lalterkeysgener}
  6849. @template(CreateAlterKeys)
  6850. {lIndexGener}
  6851. @showmessage("Create indexes")
  6852. @template(createindexs)
  6853. {lRefIntegGener}
  6854. @template(refintegritys)
  6855. {true}
  6856. set term ^;
  6857. {lCreateException}
  6858. @template(CreateExcept)
  6859. {lViewsGener}
  6860. @showmessage("Create Views")
  6861. @template(CreateViews)
  6862. {lProceduresGener}
  6863. @showmessage("Create Procedures")
  6864. @template(CreateProcedures)
  6865. {lTriggersGener}
  6866. @showmessage("Create Triggers")
  6867. @template(createtriggers)
  6868. {lTriggersUserGener}
  6869. @template(CreateTriggersList)
  6870. {true}
  6871. set term ;^
  6872. {lRoleGener}
  6873. @showmessage("Roles")
  6874. @template(CreateRole)
  6875. {lUserToRoleGener}
  6876. @ShowMessage("Users permissions to roles")
  6877. @template(GrantUserToRole)
  6878. {lRolePermissGener}
  6879. @ShowMessage("Roles permissions")
  6880. @template(CreateRolePermiss)
  6881. {lUserPermissGener}
  6882. @ShowMessage("Users permissions")
  6883. @template(CreateUserPermiss)
  6884. {lafterscript}
  6885. %afterscript%
  6886. {true}
  6887. @template(UserTempl)
  6888.  
  6889. ]]></VALUE>
  6890. <LANGUAGE>0</LANGUAGE>
  6891. <LANGUAGEWIN>---</LANGUAGEWIN>
  6892. <CATEGORY>2</CATEGORY>
  6893. <MAINSCRIPT>0</MAINSCRIPT>
  6894. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6895. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6896. <AUTHOR></AUTHOR>
  6897. <COMPANY></COMPANY>
  6898. <VERSION></VERSION>
  6899. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  6900. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  6901. </TEMPLATE>
  6902. <TEMPLATE>
  6903. <NAME>CreateTable</NAME>
  6904. <ID>2</ID>
  6905. <GUID>{38F24771-853A-4E69-856B-6085958D93E9}</GUID>
  6906. <CAPTION>CreateTable</CAPTION>
  6907. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  6908. <ENABLED>1</ENABLED>
  6909. <LEVEL>2</LEVEL>
  6910. <IDPARENT>0</IDPARENT>
  6911. <VALUE><![CDATA[cr+
  6912. "Create table %tablename% %tablestorage%"+
  6913. if(Empty(cExternalFile),"","external file "+cExternalFile)+
  6914. " ("+
  6915. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  6916. if(existpk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+ " Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  6917. ");"+cr+showmessage("Table %tablename%")
  6918. ]]></VALUE>
  6919. <LANGUAGE>0</LANGUAGE>
  6920. <LANGUAGEWIN>---</LANGUAGEWIN>
  6921. <CATEGORY>2</CATEGORY>
  6922. <MAINSCRIPT>0</MAINSCRIPT>
  6923. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6924. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6925. <AUTHOR></AUTHOR>
  6926. <COMPANY></COMPANY>
  6927. <VERSION></VERSION>
  6928. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  6929. <MODIFIED><DATE>8/13/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  6930. </TEMPLATE>
  6931. <TEMPLATE>
  6932. <NAME>CREATEINDEX</NAME>
  6933. <ID>3</ID>
  6934. <GUID>{3F05EF82-2356-4D0F-80C3-1FF5969CB506}</GUID>
  6935. <CAPTION></CAPTION>
  6936. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  6937. <ENABLED>1</ENABLED>
  6938. <LEVEL>2</LEVEL>
  6939. <IDPARENT>0</IDPARENT>
  6940. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  6941. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",");")+cr
  6942. +ShowMessage("Index %Indexname% for table %tablename%")
  6943. ]]></VALUE>
  6944. <LANGUAGE>0</LANGUAGE>
  6945. <LANGUAGEWIN>---</LANGUAGEWIN>
  6946. <CATEGORY>2</CATEGORY>
  6947. <MAINSCRIPT>0</MAINSCRIPT>
  6948. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  6949. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  6950. <AUTHOR></AUTHOR>
  6951. <COMPANY></COMPANY>
  6952. <VERSION></VERSION>
  6953. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  6954. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  6955. </TEMPLATE>
  6956. <TEMPLATE>
  6957. <NAME>TRIGGERPARENTUPDATE</NAME>
  6958. <ID>4</ID>
  6959. <GUID>{E24A820B-3082-4C56-9D4E-394A4B8E14A3}</GUID>
  6960. <CAPTION></CAPTION>
  6961. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  6962. <ENABLED>1</ENABLED>
  6963. <LEVEL>2</LEVEL>
  6964. <IDPARENT>0</IDPARENT>
  6965. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  6966. /* cascade child %childtablename% update when parent %parenttablename% changed */
  6967.  
  6968. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  6969. begin
  6970.     update %childtablename%
  6971.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = new.%PkParentName%" , ",%cr%" , "")
  6972.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "") ;
  6973. end
  6974.  
  6975. {ParUpdSetNULL and  (not lParUpdSetnullDekl)}
  6976. /* cascade setnull when parent changed */
  6977.  
  6978. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  6979. begin
  6980.     update %childtablename%
  6981.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  6982.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  6983. end
  6984.  
  6985. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)}
  6986. /* cascade setdefault when parent changed */
  6987. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  6988. begin
  6989.     update %childtablename%
  6990.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  6991.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  6992. end
  6993.  
  6994.  
  6995. {ParUpdRestrict and (not lParUpdRestDekl)}
  6996. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  6997.  
  6998. if     @forrelpk( "( ", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  6999. begin
  7000.     select count( * ) from %childtablename%
  7001.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  7002.     into :numrows;
  7003.     IF ( numrows > 0 ) then
  7004.         begin
  7005.         exception except_upd_p;
  7006.         end
  7007. end
  7008. ]]></VALUE>
  7009. <LANGUAGE>0</LANGUAGE>
  7010. <LANGUAGEWIN>---</LANGUAGEWIN>
  7011. <CATEGORY>2</CATEGORY>
  7012. <MAINSCRIPT>0</MAINSCRIPT>
  7013. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7014. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7015. <AUTHOR></AUTHOR>
  7016. <COMPANY></COMPANY>
  7017. <VERSION></VERSION>
  7018. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7019. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7020. </TEMPLATE>
  7021. <TEMPLATE>
  7022. <NAME>TRIGGERCHILDUPDATE</NAME>
  7023. <ID>5</ID>
  7024. <GUID>{14B2A1F6-7972-4EE3-BCE4-FFE5DF9A491A}</GUID>
  7025. <CAPTION></CAPTION>
  7026. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7027. <ENABLED>1</ENABLED>
  7028. <LEVEL>2</LEVEL>
  7029. <IDPARENT>0</IDPARENT>
  7030. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  7031. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  7032.  
  7033. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  7034.      begin
  7035.     select count( * ) from %ParentTableName%
  7036.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  7037.     into :numrows;
  7038.     IF ( numrows = 0 ) then
  7039.         begin
  7040.         exception except_upd_ch;
  7041.         end
  7042.     end
  7043. ]]></VALUE>
  7044. <LANGUAGE>0</LANGUAGE>
  7045. <LANGUAGEWIN>---</LANGUAGEWIN>
  7046. <CATEGORY>2</CATEGORY>
  7047. <MAINSCRIPT>0</MAINSCRIPT>
  7048. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7049. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7050. <AUTHOR></AUTHOR>
  7051. <COMPANY></COMPANY>
  7052. <VERSION></VERSION>
  7053. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7054. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7055. </TEMPLATE>
  7056. <TEMPLATE>
  7057. <NAME>CREATETRIGGERUPDATE</NAME>
  7058. <ID>6</ID>
  7059. <GUID>{637DC693-96CC-4E3F-845B-9B6ACDCF7EBA}</GUID>
  7060. <CAPTION></CAPTION>
  7061. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7062. <ENABLED>1</ENABLED>
  7063. <LEVEL>2</LEVEL>
  7064. <IDPARENT>0</IDPARENT>
  7065. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  7066. /* Update trigger for %tablename% */
  7067.  
  7068. CREATE Trigger tu_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  7069. before update as
  7070. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  7071. begin
  7072.      @forchild( "", "", template(triggerparentupdate), "", "" )
  7073.      @forparent("", "", template(triggerchildupdate), "", "" )
  7074. end
  7075. ^
  7076. ]]></VALUE>
  7077. <LANGUAGE>0</LANGUAGE>
  7078. <LANGUAGEWIN>---</LANGUAGEWIN>
  7079. <CATEGORY>2</CATEGORY>
  7080. <MAINSCRIPT>0</MAINSCRIPT>
  7081. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7082. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7083. <AUTHOR></AUTHOR>
  7084. <COMPANY></COMPANY>
  7085. <VERSION></VERSION>
  7086. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7087. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7088. </TEMPLATE>
  7089. <TEMPLATE>
  7090. <NAME>CREATETRIGGERINSERT</NAME>
  7091. <ID>7</ID>
  7092. <GUID>{5A1F3D26-DD06-4525-A102-62698E872F68}</GUID>
  7093. <CAPTION></CAPTION>
  7094. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7095. <ENABLED>1</ENABLED>
  7096. <LEVEL>2</LEVEL>
  7097. <IDPARENT>0</IDPARENT>
  7098. <VALUE><![CDATA[{lEntChildInsTrig  }
  7099. /* Insert trigger for %tablename% */
  7100.  
  7101. CREATE Trigger ti_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  7102. before insert as
  7103. declare variable numrows integer;
  7104. begin
  7105. @forparent("", "", template(TriggerParentInsert), "", "")
  7106. end
  7107. ^
  7108. ]]></VALUE>
  7109. <LANGUAGE>0</LANGUAGE>
  7110. <LANGUAGEWIN>---</LANGUAGEWIN>
  7111. <CATEGORY>2</CATEGORY>
  7112. <MAINSCRIPT>0</MAINSCRIPT>
  7113. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7114. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7115. <AUTHOR></AUTHOR>
  7116. <COMPANY></COMPANY>
  7117. <VERSION></VERSION>
  7118. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7119. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7120. </TEMPLATE>
  7121. <TEMPLATE>
  7122. <NAME>CREATETRIGGERDELETE</NAME>
  7123. <ID>8</ID>
  7124. <GUID>{A1A4B36E-A5DF-40D8-968F-EA4E4E0E650E}</GUID>
  7125. <CAPTION></CAPTION>
  7126. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7127. <ENABLED>1</ENABLED>
  7128. <LEVEL>2</LEVEL>
  7129. <IDPARENT>0</IDPARENT>
  7130. <VALUE><![CDATA[{lEntParDelTrig}
  7131. /* Delete trigger for %tablename% */
  7132.  
  7133. CREATE Trigger td_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  7134. before delete as
  7135. @if(lEntParDelRest,"declare variable numrows integer;","")
  7136. begin
  7137. @forchild( "", "", template(TriggerParentDelete), "", "" )
  7138. end
  7139. ^
  7140. ]]></VALUE>
  7141. <LANGUAGE>0</LANGUAGE>
  7142. <LANGUAGEWIN>---</LANGUAGEWIN>
  7143. <CATEGORY>2</CATEGORY>
  7144. <MAINSCRIPT>0</MAINSCRIPT>
  7145. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7146. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7147. <AUTHOR></AUTHOR>
  7148. <COMPANY></COMPANY>
  7149. <VERSION></VERSION>
  7150. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7151. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7152. </TEMPLATE>
  7153. <TEMPLATE>
  7154. <NAME>TRIGGERPARENTDELETE</NAME>
  7155. <ID>9</ID>
  7156. <GUID>{0B4976C3-B259-4895-B431-92AB59CF8F43}</GUID>
  7157. <CAPTION></CAPTION>
  7158. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7159. <ENABLED>1</ENABLED>
  7160. <LEVEL>2</LEVEL>
  7161. <IDPARENT>0</IDPARENT>
  7162. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  7163. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  7164.  
  7165.  
  7166.     delete from %childtablename%
  7167.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "");
  7168.  
  7169.  
  7170. {ParDelSetNULL and (not lParDelSetnullDekl)}
  7171. /* cascade setnull when parent deleted */
  7172.  
  7173.  
  7174.     update %childtablename%
  7175.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  7176.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  7177.  
  7178. {ParDelSetDefault and (not lParDelSetDefaultDekl)}
  7179. /* cascade setdefault when parent deleted */
  7180.  
  7181.  
  7182.     update %childtablename%
  7183.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  7184.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  7185.  
  7186.  
  7187.  
  7188. {ParDelRestrict and (not lParDelRestDekl)}
  7189. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  7190.  
  7191.  
  7192.     select count( * ) from %childtablename%
  7193.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  7194.     into :numrows;
  7195.     IF ( numrows > 0 ) then
  7196.         begin
  7197.         exception except_del_p;
  7198.         end
  7199.  
  7200.  
  7201.  
  7202. ]]></VALUE>
  7203. <LANGUAGE>0</LANGUAGE>
  7204. <LANGUAGEWIN>---</LANGUAGEWIN>
  7205. <CATEGORY>2</CATEGORY>
  7206. <MAINSCRIPT>0</MAINSCRIPT>
  7207. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7208. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7209. <AUTHOR></AUTHOR>
  7210. <COMPANY></COMPANY>
  7211. <VERSION></VERSION>
  7212. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7213. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7214. </TEMPLATE>
  7215. <TEMPLATE>
  7216. <NAME>TRIGGERPARENTINSERT</NAME>
  7217. <ID>10</ID>
  7218. <GUID>{DB400ED7-A959-49A4-8699-A03AA8EA6414}</GUID>
  7219. <CAPTION></CAPTION>
  7220. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7221. <ENABLED>1</ENABLED>
  7222. <LEVEL>2</LEVEL>
  7223. <IDPARENT>0</IDPARENT>
  7224. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  7225. /* restrict child %childtablename% when parent %parenttablename% insert */
  7226.  
  7227. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  7228.      begin
  7229.     select count( * ) from %ParentTableName%
  7230.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  7231.     into :numrows;
  7232.     IF ( numrows = 0 ) then
  7233.         begin
  7234.         exception  except_ins_ch;
  7235.         end
  7236.     end
  7237. ]]></VALUE>
  7238. <LANGUAGE>0</LANGUAGE>
  7239. <LANGUAGEWIN>---</LANGUAGEWIN>
  7240. <CATEGORY>2</CATEGORY>
  7241. <MAINSCRIPT>0</MAINSCRIPT>
  7242. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7243. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7244. <AUTHOR></AUTHOR>
  7245. <COMPANY></COMPANY>
  7246. <VERSION></VERSION>
  7247. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7248. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7249. </TEMPLATE>
  7250. <TEMPLATE>
  7251. <NAME>REFINTEGRITY</NAME>
  7252. <ID>11</ID>
  7253. <GUID>{58397EE6-7756-4A46-9063-6CB7065C56AB}</GUID>
  7254. <CAPTION></CAPTION>
  7255. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7256. <ENABLED>1</ENABLED>
  7257. <LEVEL>2</LEVEL>
  7258. <IDPARENT>0</IDPARENT>
  7259. <VALUE><![CDATA[{lRelAnyDekl}
  7260. alter table %childtablename% add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  7261. ]]></VALUE>
  7262. <LANGUAGE>0</LANGUAGE>
  7263. <LANGUAGEWIN>---</LANGUAGEWIN>
  7264. <CATEGORY>2</CATEGORY>
  7265. <MAINSCRIPT>0</MAINSCRIPT>
  7266. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7267. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7268. <AUTHOR></AUTHOR>
  7269. <COMPANY></COMPANY>
  7270. <VERSION></VERSION>
  7271. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7272. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7273. </TEMPLATE>
  7274. <TEMPLATE>
  7275. <NAME>DropIndexs</NAME>
  7276. <ID>12</ID>
  7277. <GUID>{D08564E5-0AB7-4ED7-B2C3-CFA7CEC59A48}</GUID>
  7278. <CAPTION></CAPTION>
  7279. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7280. <ENABLED>1</ENABLED>
  7281. <LEVEL>2</LEVEL>
  7282. <IDPARENT>0</IDPARENT>
  7283. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  7284. ]]></VALUE>
  7285. <LANGUAGE>0</LANGUAGE>
  7286. <LANGUAGEWIN>---</LANGUAGEWIN>
  7287. <CATEGORY>2</CATEGORY>
  7288. <MAINSCRIPT>0</MAINSCRIPT>
  7289. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7290. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7291. <AUTHOR></AUTHOR>
  7292. <COMPANY></COMPANY>
  7293. <VERSION></VERSION>
  7294. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7295. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7296. </TEMPLATE>
  7297. <TEMPLATE>
  7298. <NAME>DROPTABLES</NAME>
  7299. <ID>13</ID>
  7300. <GUID>{7E771006-5D8E-4D4F-A950-6C613880F1D5}</GUID>
  7301. <CAPTION></CAPTION>
  7302. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7303. <ENABLED>1</ENABLED>
  7304. <LEVEL>2</LEVEL>
  7305. <IDPARENT>0</IDPARENT>
  7306. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  7307. ]]></VALUE>
  7308. <LANGUAGE>0</LANGUAGE>
  7309. <LANGUAGEWIN>---</LANGUAGEWIN>
  7310. <CATEGORY>2</CATEGORY>
  7311. <MAINSCRIPT>0</MAINSCRIPT>
  7312. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7313. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7314. <AUTHOR></AUTHOR>
  7315. <COMPANY></COMPANY>
  7316. <VERSION></VERSION>
  7317. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7318. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7319. </TEMPLATE>
  7320. <TEMPLATE>
  7321. <NAME>REFINTEGRITY2</NAME>
  7322. <ID>14</ID>
  7323. <GUID>{1756E5C8-9A78-4B63-8762-B4FA42A99B96}</GUID>
  7324. <CAPTION></CAPTION>
  7325. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7326. <ENABLED>1</ENABLED>
  7327. <LEVEL>2</LEVEL>
  7328. <IDPARENT>0</IDPARENT>
  7329. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, " no action " ,if(lRelParUpdCascDekl  " cascade", if(lRelParUpdSetnullDekl , "Set Null", if(lRelParUpdSetDefaultDekl, "Set Default","") ) ) ), "" )+
  7330. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " no action " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl,"Set Default", "") ) ) ), "" )+";"
  7331. ]]></VALUE>
  7332. <LANGUAGE>0</LANGUAGE>
  7333. <LANGUAGEWIN>---</LANGUAGEWIN>
  7334. <CATEGORY>2</CATEGORY>
  7335. <MAINSCRIPT>0</MAINSCRIPT>
  7336. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7337. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7338. <AUTHOR></AUTHOR>
  7339. <COMPANY></COMPANY>
  7340. <VERSION></VERSION>
  7341. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7342. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7343. </TEMPLATE>
  7344. <TEMPLATE>
  7345. <NAME>CREATEATRIB</NAME>
  7346. <ID>15</ID>
  7347. <GUID>{CC6B5912-32B8-41EE-AA74-526A5A52EE79}</GUID>
  7348. <CAPTION></CAPTION>
  7349. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7350. <ENABLED>1</ENABLED>
  7351. <LEVEL>2</LEVEL>
  7352. <IDPARENT>0</IDPARENT>
  7353. <VALUE><![CDATA["%ColName% "+
  7354. ScriptProc( CreateDataType,Main, Column.Id )+
  7355. if(defexist," %defvalue%", "")+
  7356. if(defaultexist," Default %defaultvalue%"  ,"")+
  7357. if(notnull," NOT NULL","")+
  7358. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  7359. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  7360. if(checkexist," Check ("+ evalcheck+")","")+
  7361. if(def2exist," %def2value%", "")
  7362. ]]></VALUE>
  7363. <LANGUAGE>0</LANGUAGE>
  7364. <LANGUAGEWIN>---</LANGUAGEWIN>
  7365. <CATEGORY>2</CATEGORY>
  7366. <MAINSCRIPT>0</MAINSCRIPT>
  7367. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7368. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7369. <AUTHOR></AUTHOR>
  7370. <COMPANY></COMPANY>
  7371. <VERSION></VERSION>
  7372. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7373. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7374. </TEMPLATE>
  7375. <TEMPLATE>
  7376. <NAME>CREATEATRIB2</NAME>
  7377. <ID>16</ID>
  7378. <GUID>{990263E5-29C5-47A4-8B03-8EA089850C8A}</GUID>
  7379. <CAPTION></CAPTION>
  7380. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7381. <ENABLED>1</ENABLED>
  7382. <LEVEL>2</LEVEL>
  7383. <IDPARENT>0</IDPARENT>
  7384. <VALUE><![CDATA["%colname%"+
  7385. if(not Empty(UserDataType)," %UserDataType%", " %DictName%")+
  7386. if(defexist," %defvalue%","")+
  7387. if(notnull," NOT NULL","")+
  7388. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  7389. if(def2exist," %def2value%", "")
  7390. ]]></VALUE>
  7391. <LANGUAGE>0</LANGUAGE>
  7392. <LANGUAGEWIN>---</LANGUAGEWIN>
  7393. <CATEGORY>2</CATEGORY>
  7394. <MAINSCRIPT>0</MAINSCRIPT>
  7395. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7396. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7397. <AUTHOR></AUTHOR>
  7398. <COMPANY></COMPANY>
  7399. <VERSION></VERSION>
  7400. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7401. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  7402. </TEMPLATE>
  7403. <TEMPLATE>
  7404. <NAME>CREATEDOMAINS</NAME>
  7405. <ID>17</ID>
  7406. <GUID>{CFDCCE0C-6A18-4323-8440-517778C48A0B}</GUID>
  7407. <CAPTION></CAPTION>
  7408. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7409. <ENABLED>1</ENABLED>
  7410. <LEVEL>2</LEVEL>
  7411. <IDPARENT>0</IDPARENT>
  7412. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  7413. ]]></VALUE>
  7414. <LANGUAGE>0</LANGUAGE>
  7415. <LANGUAGEWIN>---</LANGUAGEWIN>
  7416. <CATEGORY>2</CATEGORY>
  7417. <MAINSCRIPT>0</MAINSCRIPT>
  7418. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7419. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7420. <AUTHOR></AUTHOR>
  7421. <COMPANY></COMPANY>
  7422. <VERSION></VERSION>
  7423. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7424. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7425. </TEMPLATE>
  7426. <TEMPLATE>
  7427. <NAME>CREATEDOMAIN</NAME>
  7428. <ID>18</ID>
  7429. <GUID>{8379E25D-0DE7-41C4-A8C2-329A47C3A72B}</GUID>
  7430. <CAPTION></CAPTION>
  7431. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7432. <ENABLED>1</ENABLED>
  7433. <LEVEL>2</LEVEL>
  7434. <IDPARENT>0</IDPARENT>
  7435. <VALUE><![CDATA[if(not Empty(UserDataType),"",
  7436. "Create Domain %DictName% "+
  7437. if((DictType.DataTypeId=80),"blob sub_type %IntToStr(DictType.Decimal)% segment size %IntToStr(DictType.Length)%","%typsql%")+
  7438. if(Empty(DefDict),""," %DefDict%")+
  7439. if(DefaultExist," Default %default%","")+
  7440. if(CheckExist," Check ("+evalcheck2("value")+")", "")+
  7441. if(Empty(Def2Dict),"", " %Def2Dict%")+
  7442. ";"
  7443. )
  7444. ]]></VALUE>
  7445. <LANGUAGE>0</LANGUAGE>
  7446. <LANGUAGEWIN>---</LANGUAGEWIN>
  7447. <CATEGORY>2</CATEGORY>
  7448. <MAINSCRIPT>0</MAINSCRIPT>
  7449. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7450. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7451. <AUTHOR></AUTHOR>
  7452. <COMPANY></COMPANY>
  7453. <VERSION></VERSION>
  7454. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7455. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  7456. </TEMPLATE>
  7457. <TEMPLATE>
  7458. <NAME>DROPDOMAINS</NAME>
  7459. <ID>19</ID>
  7460. <GUID>{5C31367A-FB2B-46FF-84E7-00539708F3A6}</GUID>
  7461. <CAPTION></CAPTION>
  7462. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7463. <ENABLED>1</ENABLED>
  7464. <LEVEL>2</LEVEL>
  7465. <IDPARENT>0</IDPARENT>
  7466. <VALUE><![CDATA[@ForDict("%cr%", "", if(not Empty(UserDataType),"", "Drop domain %dictname%;%cr%"), "", "" )
  7467. ]]></VALUE>
  7468. <LANGUAGE>0</LANGUAGE>
  7469. <LANGUAGEWIN>---</LANGUAGEWIN>
  7470. <CATEGORY>2</CATEGORY>
  7471. <MAINSCRIPT>0</MAINSCRIPT>
  7472. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7473. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7474. <AUTHOR></AUTHOR>
  7475. <COMPANY></COMPANY>
  7476. <VERSION></VERSION>
  7477. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7478. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  7479. </TEMPLATE>
  7480. <TEMPLATE>
  7481. <NAME>CREATEALTERKEY</NAME>
  7482. <ID>20</ID>
  7483. <GUID>{DBD62B5E-957B-4CEA-8B34-A6440CE599DA}</GUID>
  7484. <CAPTION></CAPTION>
  7485. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7486. <ENABLED>1</ENABLED>
  7487. <LEVEL>2</LEVEL>
  7488. <IDPARENT>0</IDPARENT>
  7489. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  7490. ]]></VALUE>
  7491. <LANGUAGE>0</LANGUAGE>
  7492. <LANGUAGEWIN>---</LANGUAGEWIN>
  7493. <CATEGORY>2</CATEGORY>
  7494. <MAINSCRIPT>0</MAINSCRIPT>
  7495. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7496. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7497. <AUTHOR></AUTHOR>
  7498. <COMPANY></COMPANY>
  7499. <VERSION></VERSION>
  7500. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7501. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7502. </TEMPLATE>
  7503. <TEMPLATE>
  7504. <NAME>DropRefIntegrity</NAME>
  7505. <ID>21</ID>
  7506. <GUID>{3C2EB736-F85D-47DF-A8B0-C485197CA08F}</GUID>
  7507. <CAPTION></CAPTION>
  7508. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7509. <ENABLED>1</ENABLED>
  7510. <LEVEL>2</LEVEL>
  7511. <IDPARENT>0</IDPARENT>
  7512. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  7513. alter table %childtablename% drop constraint %frelname%;
  7514. ]]></VALUE>
  7515. <LANGUAGE>0</LANGUAGE>
  7516. <LANGUAGEWIN>---</LANGUAGEWIN>
  7517. <CATEGORY>2</CATEGORY>
  7518. <MAINSCRIPT>0</MAINSCRIPT>
  7519. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7520. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7521. <AUTHOR></AUTHOR>
  7522. <COMPANY></COMPANY>
  7523. <VERSION></VERSION>
  7524. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7525. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7526. </TEMPLATE>
  7527. <TEMPLATE>
  7528. <NAME>DropTriggerUpdate</NAME>
  7529. <ID>22</ID>
  7530. <GUID>{4A80724A-E47B-42B0-9CF7-D1304B6EC55C}</GUID>
  7531. <CAPTION></CAPTION>
  7532. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7533. <ENABLED>1</ENABLED>
  7534. <LEVEL>2</LEVEL>
  7535. <IDPARENT>0</IDPARENT>
  7536. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  7537. drop trigger tu_%tablename%;
  7538. ]]></VALUE>
  7539. <LANGUAGE>0</LANGUAGE>
  7540. <LANGUAGEWIN>---</LANGUAGEWIN>
  7541. <CATEGORY>2</CATEGORY>
  7542. <MAINSCRIPT>0</MAINSCRIPT>
  7543. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7544. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7545. <AUTHOR></AUTHOR>
  7546. <COMPANY></COMPANY>
  7547. <VERSION></VERSION>
  7548. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7549. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7550. </TEMPLATE>
  7551. <TEMPLATE>
  7552. <NAME>DropTriggerDelete</NAME>
  7553. <ID>23</ID>
  7554. <GUID>{3D4369C8-CB2F-4B5A-BBA5-80734BB4392A}</GUID>
  7555. <CAPTION></CAPTION>
  7556. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7557. <ENABLED>1</ENABLED>
  7558. <LEVEL>2</LEVEL>
  7559. <IDPARENT>0</IDPARENT>
  7560. <VALUE><![CDATA[{lEntParDelTrig}
  7561. drop trigger td_%tablename%;
  7562. ]]></VALUE>
  7563. <LANGUAGE>0</LANGUAGE>
  7564. <LANGUAGEWIN>---</LANGUAGEWIN>
  7565. <CATEGORY>2</CATEGORY>
  7566. <MAINSCRIPT>0</MAINSCRIPT>
  7567. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7568. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7569. <AUTHOR></AUTHOR>
  7570. <COMPANY></COMPANY>
  7571. <VERSION></VERSION>
  7572. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7573. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7574. </TEMPLATE>
  7575. <TEMPLATE>
  7576. <NAME>DropTriggerInsert</NAME>
  7577. <ID>24</ID>
  7578. <GUID>{A7B99D4D-7C37-4018-A1C7-D69768AB9B02}</GUID>
  7579. <CAPTION></CAPTION>
  7580. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7581. <ENABLED>1</ENABLED>
  7582. <LEVEL>2</LEVEL>
  7583. <IDPARENT>0</IDPARENT>
  7584. <VALUE><![CDATA[{lEntChildInsTrig  }
  7585. drop trigger ti_%tablename%;
  7586. ]]></VALUE>
  7587. <LANGUAGE>0</LANGUAGE>
  7588. <LANGUAGEWIN>---</LANGUAGEWIN>
  7589. <CATEGORY>2</CATEGORY>
  7590. <MAINSCRIPT>0</MAINSCRIPT>
  7591. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7592. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7593. <AUTHOR></AUTHOR>
  7594. <COMPANY></COMPANY>
  7595. <VERSION></VERSION>
  7596. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7597. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7598. </TEMPLATE>
  7599. <TEMPLATE>
  7600. <NAME>CreateExcept</NAME>
  7601. <ID>25</ID>
  7602. <GUID>{2112C020-7E25-4CE8-A6A4-14D6D506473F}</GUID>
  7603. <CAPTION></CAPTION>
  7604. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7605. <ENABLED>1</ENABLED>
  7606. <LEVEL>2</LEVEL>
  7607. <IDPARENT>0</IDPARENT>
  7608. <VALUE><![CDATA[create exception except_del_p 'Children still exist in child table. Cannot delete parent'^
  7609. create exception except_ins_ch 'Parent does not exist. Cannot create child.'^
  7610. create exception except_upd_ch 'Parent does not exist. Cannot update child '^
  7611. create exception except_upd_p 'Children still exist in child table.'^
  7612. ]]></VALUE>
  7613. <LANGUAGE>0</LANGUAGE>
  7614. <LANGUAGEWIN>---</LANGUAGEWIN>
  7615. <CATEGORY>2</CATEGORY>
  7616. <MAINSCRIPT>0</MAINSCRIPT>
  7617. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7618. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7619. <AUTHOR></AUTHOR>
  7620. <COMPANY></COMPANY>
  7621. <VERSION></VERSION>
  7622. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7623. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7624. </TEMPLATE>
  7625. <TEMPLATE>
  7626. <NAME>DropExcept</NAME>
  7627. <ID>26</ID>
  7628. <GUID>{64C13290-3A6B-4904-99C5-53FD6A811772}</GUID>
  7629. <CAPTION></CAPTION>
  7630. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7631. <ENABLED>1</ENABLED>
  7632. <LEVEL>2</LEVEL>
  7633. <IDPARENT>0</IDPARENT>
  7634. <VALUE><![CDATA[drop exception except_del_p ;
  7635. drop exception except_ins_ch ;
  7636. drop exception except_upd_ch ;
  7637. drop exception except_upd_p ;
  7638. ]]></VALUE>
  7639. <LANGUAGE>0</LANGUAGE>
  7640. <LANGUAGEWIN>---</LANGUAGEWIN>
  7641. <CATEGORY>2</CATEGORY>
  7642. <MAINSCRIPT>0</MAINSCRIPT>
  7643. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7644. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7645. <AUTHOR></AUTHOR>
  7646. <COMPANY></COMPANY>
  7647. <VERSION></VERSION>
  7648. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7649. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7650. </TEMPLATE>
  7651. <TEMPLATE>
  7652. <NAME>DropProcedures</NAME>
  7653. <ID>27</ID>
  7654. <GUID>{C73BEDBC-A1A8-459F-970F-6CBF1BDCAB33}</GUID>
  7655. <CAPTION></CAPTION>
  7656. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7657. <ENABLED>1</ENABLED>
  7658. <LEVEL>2</LEVEL>
  7659. <IDPARENT>0</IDPARENT>
  7660. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%;%cr%","","")
  7661. ]]></VALUE>
  7662. <LANGUAGE>0</LANGUAGE>
  7663. <LANGUAGEWIN>---</LANGUAGEWIN>
  7664. <CATEGORY>2</CATEGORY>
  7665. <MAINSCRIPT>0</MAINSCRIPT>
  7666. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7667. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7668. <AUTHOR></AUTHOR>
  7669. <COMPANY></COMPANY>
  7670. <VERSION></VERSION>
  7671. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7672. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7673. </TEMPLATE>
  7674. <TEMPLATE>
  7675. <NAME>DropViews</NAME>
  7676. <ID>28</ID>
  7677. <GUID>{E220B82C-A0AD-4018-BC33-2CC2F6B63795}</GUID>
  7678. <CAPTION></CAPTION>
  7679. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7680. <ENABLED>1</ENABLED>
  7681. <LEVEL>2</LEVEL>
  7682. <IDPARENT>0</IDPARENT>
  7683. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%;%cr%","","")
  7684. ]]></VALUE>
  7685. <LANGUAGE>0</LANGUAGE>
  7686. <LANGUAGEWIN>---</LANGUAGEWIN>
  7687. <CATEGORY>2</CATEGORY>
  7688. <MAINSCRIPT>0</MAINSCRIPT>
  7689. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7690. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7691. <AUTHOR></AUTHOR>
  7692. <COMPANY></COMPANY>
  7693. <VERSION></VERSION>
  7694. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7695. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7696. </TEMPLATE>
  7697. <TEMPLATE>
  7698. <NAME>CreateProcedurePermiss</NAME>
  7699. <ID>29</ID>
  7700. <GUID>{FFFE2716-E7FA-461B-BB41-117AE4B278EA}</GUID>
  7701. <CAPTION></CAPTION>
  7702. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7703. <ENABLED>1</ENABLED>
  7704. <LEVEL>2</LEVEL>
  7705. <IDPARENT>0</IDPARENT>
  7706. <VALUE><![CDATA[if(lPermissExec,"grant execute on procedure %ProcedureName% to %UserOrRoleName%;%cr%","")
  7707. ]]></VALUE>
  7708. <LANGUAGE>0</LANGUAGE>
  7709. <LANGUAGEWIN>---</LANGUAGEWIN>
  7710. <CATEGORY>2</CATEGORY>
  7711. <MAINSCRIPT>0</MAINSCRIPT>
  7712. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7713. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7714. <AUTHOR></AUTHOR>
  7715. <COMPANY></COMPANY>
  7716. <VERSION></VERSION>
  7717. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7718. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  7719. </TEMPLATE>
  7720. <TEMPLATE>
  7721. <NAME>CreateDataType</NAME>
  7722. <ID>30</ID>
  7723. <GUID>{C0BEDA1C-0D9D-4BCF-B4D9-A94FA36A31FA}</GUID>
  7724. <CAPTION></CAPTION>
  7725. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7726. <ENABLED>1</ENABLED>
  7727. <LEVEL>2</LEVEL>
  7728. <IDPARENT>0</IDPARENT>
  7729. <VALUE><![CDATA[function Main( ColumnId )
  7730. {
  7731. var Column = Model.GetAttribute( ColumnId );
  7732. var Object;
  7733. var Result;    
  7734.  
  7735. if ( Column.DataTypeId == 0 )
  7736.     Object = Model.GetDictType( Column.DictTypeId )
  7737. else
  7738.     Object = Column;
  7739.  
  7740. if (Object.DataTypeId == 80)
  7741.     Result = 'blob sub_type '+Object.Decimal.toString()+' segment size '+Object.Length.toString()
  7742. else
  7743.     {
  7744.     if (Column.UserDataType != '')
  7745.         Result = Column.UserDataType;
  7746.     else
  7747.         Result = Column.SQLDataType;
  7748.     }
  7749.  
  7750. return( Result );    
  7751. };
  7752. ]]></VALUE>
  7753. <LANGUAGE>1</LANGUAGE>
  7754. <LANGUAGEWIN>---</LANGUAGEWIN>
  7755. <CATEGORY>2</CATEGORY>
  7756. <MAINSCRIPT>0</MAINSCRIPT>
  7757. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  7758. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  7759. <AUTHOR></AUTHOR>
  7760. <COMPANY></COMPANY>
  7761. <VERSION></VERSION>
  7762. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  7763. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  7764. </TEMPLATE>
  7765. </TEMPLATES>
  7766. <VARIABLES><![CDATA[ldomainSupp  1
  7767. lAtrCheckConstraintSupp 1
  7768. lAlterKeySupp 1
  7769. lProceduresSupp 1
  7770. lViewsSupp 1
  7771. lConstraintPkSupp 1
  7772. lConstraintFkSupp 1
  7773. lAtrUniqueConstraintSupp 1
  7774. lPermissUserToRoleSupp 1
  7775. lPermissUserToObjectSupp 1
  7776. lPermissRoleToObjectSupp 1
  7777. lRoleSupp 1
  7778. lUserTypeAttrSupp 1
  7779. lUserTypeDomainSupp 1
  7780. lDriParUpdRestrict 1
  7781. lDriParUpdCascade 1
  7782. lDriParUpdSetNull 1
  7783. lDriParUpdSetDefault 1
  7784. lDriParDelRestrict 1
  7785. lDriParDelCascade 1
  7786. lDriParDelSetNull 1
  7787. lDriParDelSetDefault 1
  7788. lDriChildInsRestrict 0
  7789. lDriChildUpdRestrict 0
  7790. lDriParUpdRestrictSupp 1
  7791. lDriParUpdCascadeSupp 1
  7792. lDriParUpdSetNullSupp 1
  7793. lDriParUpdSetDefaultSupp 1
  7794. lDriParDelRestrictSupp 1
  7795. lDriParDelCascadeSupp 1
  7796. lDriParDelSetNullSupp 1
  7797. lDriParDelSetDefaultSupp 1
  7798. lDriChildInsRestrictSupp 0
  7799. lDriChildUpdRestrictSupp 0
  7800. lIndexDescendSupp 1
  7801. lIndexItDescendSupp 0
  7802. lIndexUpperSupp 0
  7803. lIndexExprSupp 0
  7804. lIndexUniqueSupp 1
  7805. lIndexFilterSupp 0
  7806. lIndexStandSupp 1
  7807. lIndexClusterSupp 0
  7808. lIndexNameUnique 1
  7809. lPkSupp 1
  7810. lPkNotNull 1
  7811. lDRISupp 1
  7812. lTriggerSupp 1
  7813. lAtrUniqueSupp 1
  7814. lAtrNotNullSupp 1
  7815. lAtrCheckSupp 1
  7816. lAtrDefaultSupp 1
  7817. ldomainSupp  1
  7818. lAtrCheckConstraintSupp 1
  7819. lAlterKeySupp 1
  7820. lProceduresSupp 1
  7821. lViewsSupp 1
  7822. lConstraintPkSupp 1
  7823. lConstraintFkSupp 1
  7824. lAtrUniqueConstraintSupp 1
  7825. lPermissUserToRoleSupp 1
  7826. lPermissUserToObjectSupp 1
  7827. lPermissRoleToObjectSupp 1
  7828. lRoleSupp 1
  7829. lUserTypeAttrSupp 1
  7830. lUserTypeDomainSupp 1
  7831. ]]></VARIABLES>
  7832. <USEREDITS>
  7833. <USEREDIT>
  7834. <NAME>lDropException</NAME>
  7835. <ID>1</ID>
  7836. <GUID>{B4EE3940-62C5-4D3E-A363-A2E4261B1087}</GUID>
  7837. <CAPTION>Drop Exception</CAPTION>
  7838. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7839. <TYPE>1</TYPE>
  7840. <LEVEL>1</LEVEL>
  7841. <DEFAULT></DEFAULT>
  7842. <ORD>120</ORD>
  7843. <LENGTH>250</LENGTH>
  7844. <ENABLED>1</ENABLED>
  7845. <ITEMS></ITEMS>
  7846. </USEREDIT>
  7847. <USEREDIT>
  7848. <NAME>lCreateException</NAME>
  7849. <ID>2</ID>
  7850. <GUID>{6BF1AE5D-C4DC-4713-9F2B-23524486326F}</GUID>
  7851. <CAPTION>Create Exception</CAPTION>
  7852. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7853. <TYPE>1</TYPE>
  7854. <LEVEL>1</LEVEL>
  7855. <DEFAULT></DEFAULT>
  7856. <ORD>130</ORD>
  7857. <LENGTH>250</LENGTH>
  7858. <ENABLED>1</ENABLED>
  7859. <ITEMS></ITEMS>
  7860. </USEREDIT>
  7861. <USEREDIT>
  7862. <NAME>cExternalFile</NAME>
  7863. <ID>3</ID>
  7864. <GUID>{06ED1AE9-AF56-443E-A634-74F859335643}</GUID>
  7865. <CAPTION>External file</CAPTION>
  7866. <PACKAGEGUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</PACKAGEGUID>
  7867. <TYPE>0</TYPE>
  7868. <LEVEL>2</LEVEL>
  7869. <DEFAULT></DEFAULT>
  7870. <ORD>10</ORD>
  7871. <LENGTH>400</LENGTH>
  7872. <ENABLED>1</ENABLED>
  7873. <ITEMS></ITEMS>
  7874. </USEREDIT>
  7875. </USEREDITS>
  7876. <TYPELIST>
  7877. <TYPE>
  7878. <NAME>Char</NAME>
  7879. <ID>10</ID>
  7880. <GUID>{A6F35193-E05E-4D28-AC52-7336F18AD5A7}</GUID>
  7881. <PHNAME>Char</PHNAME>
  7882. <LLENGTH>1</LLENGTH>
  7883. <LDECIMAL>0</LDECIMAL>
  7884. <MAXLENGTH>32765</MAXLENGTH>
  7885. <MINLENGTH>1</MINLENGTH>
  7886. <MAXDECIMAL>0</MAXDECIMAL>
  7887. <MINDECIMAL>0</MINDECIMAL>
  7888. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  7889. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7890. <TRANSFORMCODE>A</TRANSFORMCODE>
  7891. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  7892. <EXPORTTO>0</EXPORTTO>
  7893. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7894. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7895. </TYPE>
  7896. <TYPE>
  7897. <NAME>Varchar</NAME>
  7898. <ID>20</ID>
  7899. <GUID>{B4D3BB2D-7E80-4DE1-A925-F0841213A22B}</GUID>
  7900. <PHNAME>Varchar</PHNAME>
  7901. <LLENGTH>1</LLENGTH>
  7902. <LDECIMAL>0</LDECIMAL>
  7903. <MAXLENGTH>32765</MAXLENGTH>
  7904. <MINLENGTH>1</MINLENGTH>
  7905. <MAXDECIMAL>0</MAXDECIMAL>
  7906. <MINDECIMAL>0</MINDECIMAL>
  7907. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  7908. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7909. <TRANSFORMCODE>VA</TRANSFORMCODE>
  7910. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  7911. <EXPORTTO>0</EXPORTTO>
  7912. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7913. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7914. </TYPE>
  7915. <TYPE>
  7916. <NAME>Smallint</NAME>
  7917. <ID>30</ID>
  7918. <GUID>{0DB6CD5D-D788-41D3-938A-0CED9EBB7D36}</GUID>
  7919. <PHNAME>Smallint</PHNAME>
  7920. <LLENGTH>0</LLENGTH>
  7921. <LDECIMAL>0</LDECIMAL>
  7922. <MAXLENGTH>0</MAXLENGTH>
  7923. <MINLENGTH>0</MINLENGTH>
  7924. <MAXDECIMAL>0</MAXDECIMAL>
  7925. <MINDECIMAL>0</MINDECIMAL>
  7926. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7927. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7928. <TRANSFORMCODE>SI</TRANSFORMCODE>
  7929. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  7930. <EXPORTTO>0</EXPORTTO>
  7931. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7932. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7933. </TYPE>
  7934. <TYPE>
  7935. <NAME>Integer</NAME>
  7936. <ID>40</ID>
  7937. <GUID>{CD991B72-8613-4903-9869-AFD8D7795D09}</GUID>
  7938. <PHNAME>Integer</PHNAME>
  7939. <LLENGTH>0</LLENGTH>
  7940. <LDECIMAL>0</LDECIMAL>
  7941. <MAXLENGTH>0</MAXLENGTH>
  7942. <MINLENGTH>0</MINLENGTH>
  7943. <MAXDECIMAL>0</MAXDECIMAL>
  7944. <MINDECIMAL>0</MINDECIMAL>
  7945. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7946. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7947. <TRANSFORMCODE>I</TRANSFORMCODE>
  7948. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  7949. <EXPORTTO>0</EXPORTTO>
  7950. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7951. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7952. </TYPE>
  7953. <TYPE>
  7954. <NAME>Float</NAME>
  7955. <ID>50</ID>
  7956. <GUID>{9974FB35-146F-4A74-B1CA-91BCB8F4F960}</GUID>
  7957. <PHNAME>Float</PHNAME>
  7958. <LLENGTH>0</LLENGTH>
  7959. <LDECIMAL>0</LDECIMAL>
  7960. <MAXLENGTH>0</MAXLENGTH>
  7961. <MINLENGTH>0</MINLENGTH>
  7962. <MAXDECIMAL>0</MAXDECIMAL>
  7963. <MINDECIMAL>0</MINDECIMAL>
  7964. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7965. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7966. <TRANSFORMCODE>F</TRANSFORMCODE>
  7967. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  7968. <EXPORTTO>0</EXPORTTO>
  7969. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7970. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7971. </TYPE>
  7972. <TYPE>
  7973. <NAME>Double precision</NAME>
  7974. <ID>60</ID>
  7975. <GUID>{37A9BBE2-8A68-42DA-98A4-72FC7CD6EEBA}</GUID>
  7976. <PHNAME>Double precision</PHNAME>
  7977. <LLENGTH>0</LLENGTH>
  7978. <LDECIMAL>0</LDECIMAL>
  7979. <MAXLENGTH>0</MAXLENGTH>
  7980. <MINLENGTH>0</MINLENGTH>
  7981. <MAXDECIMAL>0</MAXDECIMAL>
  7982. <MINDECIMAL>0</MINDECIMAL>
  7983. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7984. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7985. <TRANSFORMCODE>LF</TRANSFORMCODE>
  7986. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  7987. <EXPORTTO>0</EXPORTTO>
  7988. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7989. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7990. </TYPE>
  7991. <TYPE>
  7992. <NAME>Date</NAME>
  7993. <ID>70</ID>
  7994. <GUID>{1B911B55-ABBE-496F-B78B-89706B977B0A}</GUID>
  7995. <PHNAME>Timestamp</PHNAME>
  7996. <LLENGTH>0</LLENGTH>
  7997. <LDECIMAL>0</LDECIMAL>
  7998. <MAXLENGTH>0</MAXLENGTH>
  7999. <MINLENGTH>0</MINLENGTH>
  8000. <MAXDECIMAL>0</MAXDECIMAL>
  8001. <MINDECIMAL>0</MINDECIMAL>
  8002. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  8003. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  8004. <TRANSFORMCODE>DTX</TRANSFORMCODE>
  8005. <TRANSFORMTO>DTX;DT;TS;</TRANSFORMTO>
  8006. <EXPORTTO>0</EXPORTTO>
  8007. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8008. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8009. </TYPE>
  8010. <TYPE>
  8011. <NAME>Timestamp</NAME>
  8012. <ID>76</ID>
  8013. <GUID>{2D5D09A1-F2F7-4946-B72E-DF23A1018AC3}</GUID>
  8014. <PHNAME>Timestamp</PHNAME>
  8015. <LLENGTH>0</LLENGTH>
  8016. <LDECIMAL>0</LDECIMAL>
  8017. <MAXLENGTH>0</MAXLENGTH>
  8018. <MINLENGTH>0</MINLENGTH>
  8019. <MAXDECIMAL>0</MAXDECIMAL>
  8020. <MINDECIMAL>0</MINDECIMAL>
  8021. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  8022. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  8023. <TRANSFORMCODE>DT</TRANSFORMCODE>
  8024. <TRANSFORMTO>DT;D;TS;</TRANSFORMTO>
  8025. <EXPORTTO>0</EXPORTTO>
  8026. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8027. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8028. </TYPE>
  8029. <TYPE>
  8030. <NAME>Blob</NAME>
  8031. <ID>80</ID>
  8032. <GUID>{58A5108C-50ED-47CA-A00D-93D8622BB67B}</GUID>
  8033. <PHNAME>Blob</PHNAME>
  8034. <LLENGTH>1</LLENGTH>
  8035. <LDECIMAL>1</LDECIMAL>
  8036. <MAXLENGTH>65535</MAXLENGTH>
  8037. <MINLENGTH>1</MINLENGTH>
  8038. <MAXDECIMAL>2</MAXDECIMAL>
  8039. <MINDECIMAL>-100</MINDECIMAL>
  8040. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  8041. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  8042. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  8043. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  8044. <EXPORTTO>0</EXPORTTO>
  8045. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8046. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8047. </TYPE>
  8048. <TYPE>
  8049. <NAME>Decimal</NAME>
  8050. <ID>90</ID>
  8051. <GUID>{1303DC4C-A41F-4F00-AE29-4FC5DEB1551A}</GUID>
  8052. <PHNAME>Decimal</PHNAME>
  8053. <LLENGTH>1</LLENGTH>
  8054. <LDECIMAL>1</LDECIMAL>
  8055. <MAXLENGTH>15</MAXLENGTH>
  8056. <MINLENGTH>1</MINLENGTH>
  8057. <MAXDECIMAL>15</MAXDECIMAL>
  8058. <MINDECIMAL>0</MINDECIMAL>
  8059. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  8060. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  8061. <TRANSFORMCODE>DC</TRANSFORMCODE>
  8062. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  8063. <EXPORTTO>0</EXPORTTO>
  8064. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8065. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8066. </TYPE>
  8067. <TYPE>
  8068. <NAME>Numeric</NAME>
  8069. <ID>100</ID>
  8070. <GUID>{93601032-98C7-4FEC-A95C-4BE83A0089EF}</GUID>
  8071. <PHNAME>Numeric</PHNAME>
  8072. <LLENGTH>1</LLENGTH>
  8073. <LDECIMAL>1</LDECIMAL>
  8074. <MAXLENGTH>15</MAXLENGTH>
  8075. <MINLENGTH>1</MINLENGTH>
  8076. <MAXDECIMAL>15</MAXDECIMAL>
  8077. <MINDECIMAL>0</MINDECIMAL>
  8078. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  8079. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  8080. <TRANSFORMCODE>N</TRANSFORMCODE>
  8081. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  8082. <EXPORTTO>0</EXPORTTO>
  8083. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8084. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8085. </TYPE>
  8086. <TYPE>
  8087. <NAME>Empty</NAME>
  8088. <ID>200</ID>
  8089. <GUID>{0DBF8365-9479-4D87-96A3-3BBA150C528E}</GUID>
  8090. <PHNAME></PHNAME>
  8091. <LLENGTH>0</LLENGTH>
  8092. <LDECIMAL>0</LDECIMAL>
  8093. <MAXLENGTH>0</MAXLENGTH>
  8094. <MINLENGTH>0</MINLENGTH>
  8095. <MAXDECIMAL>0</MAXDECIMAL>
  8096. <MINDECIMAL>0</MINDECIMAL>
  8097. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  8098. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  8099. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  8100. <TRANSFORMTO>EMP;</TRANSFORMTO>
  8101. <EXPORTTO>0</EXPORTTO>
  8102. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  8103. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  8104. </TYPE>
  8105. </TYPELIST>
  8106. <TEXTOBJECTTYPES>
  8107. </TEXTOBJECTTYPES>
  8108. <DISABLED>0</DISABLED>
  8109. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  8110. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  8111. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  8112. <DEFAULTCHAR>_</DEFAULTCHAR>
  8113. <INVALIDCHARACTERS>!"#%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  8114. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  8115. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  8116. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  8117. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  8118. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8119. <KEYWORDS><![CDATA[ACTION
  8120. ACTIVE
  8121. ADD
  8122. ADMIN
  8123. AFTER
  8124. ALL
  8125. ALTER
  8126. AND
  8127. ANY
  8128. AS
  8129. ASC
  8130. ASCENDING
  8131. AT
  8132. AUTO
  8133. AUTODDL
  8134. AVG
  8135. BASED
  8136. BASENAME
  8137. BASE_NAME
  8138. BEFORE
  8139. BEGIN
  8140. BETWEEN
  8141. BLOB
  8142. BLOBEDIT
  8143. BUFFER
  8144. BY
  8145. CACHE
  8146. CASCADE
  8147. CAST
  8148. CHAR
  8149. CHARACTER
  8150. CHARACTER_LENGTH
  8151. CHAR_LENGTH
  8152. CHECK
  8153. CHECK_POINT_LEN
  8154. CHECK_POINT_LENGTH
  8155. COLLATE
  8156. COLLATION
  8157. COLUMN
  8158. COMMIT
  8159. COMMITTED
  8160. COMPILETIME
  8161. COMPUTED
  8162. CLOSE
  8163. CONDITIONAL
  8164. CONNECT
  8165. CONSTRAINT
  8166. CONTAINING
  8167. CONTINUE
  8168. COUNT
  8169. CREATE
  8170. CSTRING
  8171. CURRENT
  8172. CURSOR
  8173. DATABASE
  8174. DATE
  8175. DB_KEY
  8176. DEBUG
  8177. DEC
  8178. DECIMAL
  8179. DECLARE
  8180. DEFAULT
  8181. DELETE
  8182. DESC
  8183. DESCENDING
  8184. DESCRIBE
  8185. DESCRIPTOR
  8186. DISCONNECT
  8187. DISPLAY
  8188. DISTINCT
  8189. DO
  8190. DOMAIN
  8191. DOUBLE
  8192. DROP
  8193. ECHO
  8194. EDIT
  8195. ELSE
  8196. END
  8197. ENTRY_POINT
  8198. ESCAPE
  8199. EVENT
  8200. EXCEPTION
  8201. EXECUTE
  8202. EXISTS
  8203. EXIT
  8204. EXTERN
  8205. EXTERNAL
  8206. EXTRACT
  8207. FETCH
  8208. FILE
  8209. FILTER
  8210. FLOAT
  8211. FOR
  8212. FOREIGN
  8213. FOUND
  8214. FREE_IT
  8215. FROM
  8216. FULL
  8217. FUNCTION
  8218. GDSCODE
  8219. GENERATOR
  8220. GEN_ID
  8221. GLOBAL
  8222. GOTO
  8223. GRANT
  8224. GROUP
  8225. GROUP_COMMIT_WAIT
  8226. GROUP_COMMIT_WAIT_TIME
  8227. HAVING HELP
  8228. IF
  8229. IMMEDIATE
  8230. IN
  8231. INACTIVE
  8232. INDEX
  8233. INDICATOR
  8234. INIT
  8235. INNER
  8236. INPUT
  8237. INPUT_TYPE
  8238. INSERT
  8239. INT
  8240. INTEGER
  8241. INTO
  8242. IS
  8243. ISOLATION
  8244. ISQL
  8245. JOIN
  8246. KEY
  8247. LC_MESSAGES
  8248. LC_TYPE
  8249. LEFT
  8250. LENGTH LEV
  8251. LEVEL
  8252. LIKE
  8253. LOGFILE
  8254. LOG_BUFFER_SIZE
  8255. LOG_BUF_SIZE
  8256. LONG
  8257. MANUAL
  8258. MAX
  8259. MAXIMUM
  8260. MAXIMUM_SEGMENT
  8261. MAX_SEGMENT
  8262. MERGE
  8263. MESSAGE
  8264. MIN
  8265. MINIMUM
  8266. MODULE_NAME
  8267. NAMES
  8268. NATIONAL
  8269. NATURAL
  8270. NCHAR
  8271. NO
  8272. NOAUTO
  8273. NOT
  8274. NULL
  8275. NUMERIC
  8276. NUM_LOG_BUFS
  8277. NUM_LOG_BUFFERS
  8278. OCTET_LENGTH
  8279. OF
  8280. ON
  8281. ONLY
  8282. OPEN
  8283. OPTION
  8284. OR
  8285. ORDER
  8286. OUTER
  8287. OUTPUT
  8288. OUTPUT_TYPE
  8289. OVERFLOW
  8290. PAGE
  8291. PAGELENGTH
  8292. PAGES
  8293. PAGE_SIZE
  8294. PARAMETER
  8295. PASSWORD
  8296. PLAN
  8297. POSITION
  8298. POST_EVENT
  8299. PRECISION
  8300. PREPARE
  8301. PROCEDURE
  8302. PROTECTED
  8303. PRIMARY
  8304. PRIVILEGES
  8305. PUBLIC
  8306. QUIT
  8307. RAW_PARTITIONS
  8308. RDB$DB_KEY
  8309. READ
  8310. REAL
  8311. RECORD_VERSION
  8312. REFERENCES
  8313. RELEASE
  8314. RESERV
  8315. RESERVING
  8316. RESTRICT
  8317. RETAIN
  8318. RETURN
  8319. RETURNING_VALUES
  8320. RETURNS
  8321. REVOKE
  8322. RIGHT
  8323. ROLE
  8324. ROLLBACK
  8325. RUNTIME
  8326. SCHEMA
  8327. SEGMENT
  8328. SELECT
  8329. SET
  8330. SHADOW
  8331. SHARED
  8332. SHELL
  8333. SHOW
  8334. SINGULAR
  8335. INTERBASE
  8336. KEYWORDS
  8337. SIZE
  8338. SMALLINT
  8339. SNAPSHOT
  8340. SOME
  8341. SORT
  8342. SQL
  8343. SQLCODE
  8344. SQLERROR
  8345. SQLWARNING
  8346. STABILITY
  8347. STARTING
  8348. STARTS
  8349. STATEMENT
  8350. STATIC
  8351. STATISTICS
  8352. SUB_TYPE
  8353. SUM
  8354. SUSPEND
  8355. TABLE
  8356. TERMINATOR
  8357. THEN
  8358. TO
  8359. TRANSACTION
  8360. TRANSLATE
  8361. TRANSLATION
  8362. TRIGGER
  8363. TRIM
  8364. UNCOMMITTED
  8365. UNION
  8366. UNIQUE
  8367. UPDATE
  8368. UPPER
  8369. USER
  8370. USING
  8371. VALUE
  8372. VALUES
  8373. VARCHAR
  8374. VARIABLE
  8375. VARYING
  8376. VERSION
  8377. VIEW
  8378. WAIT
  8379. WHEN
  8380. WHENEVER
  8381. WHERE
  8382. WHILE
  8383. WITH
  8384. WORK
  8385. WRITE
  8386. ]]></KEYWORDS>
  8387. </SERVER>
  8388. <SERVER>
  8389. <NAME>Interbase 6 SQL 3</NAME>
  8390. <ID>120</ID>
  8391. <GUID>{CB336592-3D27-4F4E-A69B-9074BDFBD174}</GUID>
  8392. <TEMPLATES>
  8393. <TEMPLATE>
  8394. <NAME>CreateDatabase</NAME>
  8395. <ID>1</ID>
  8396. <GUID>{82AC7928-344E-4378-AA38-C0A7E963EC29}</GUID>
  8397. <CAPTION>CreateDatabase</CAPTION>
  8398. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8399. <ENABLED>1</ENABLED>
  8400. <LEVEL>2</LEVEL>
  8401. <IDPARENT>0</IDPARENT>
  8402. <VALUE><![CDATA[/*
  8403. Created        %createddate%
  8404. Modified        %modifieddate%
  8405. Project        %projectname%
  8406. Model        %modelname%
  8407. Company        %company%
  8408. Author        %authorname%
  8409. Version        %version%
  8410. Database        %databasetype% 
  8411. */
  8412. @Script(SetQuotes)
  8413. {lbeforescript}
  8414. %beforescript%
  8415. {lDropViewsGener}
  8416. @template(DropViews)
  8417. {lDropProceduresGener}
  8418. @template(DropProcedures)
  8419. {lDropTriggersListGener}
  8420. @template(DropTriggersList)
  8421. {ldroptriggerGener}
  8422. @showmessage("Drop triggers")
  8423. @template(droptriggers)
  8424. {lDropIndexGener}
  8425. @template(DropIndexs)
  8426. {lDropTableGener}
  8427. @showmessage("Drop tables")
  8428. @template(DropRefIntegritys)
  8429. @template(droptables)
  8430. {lDropDomainGener}
  8431. @showmessage("Drop domains")
  8432. @template(dropdomains)
  8433. {lDropExceptionsGener}
  8434. @template(DropExceptions)
  8435. {ldroptriggerGener and lDropExceptionsTriggerGener}
  8436. @template(DropExcept)
  8437. {lDropGeneratorsGener}
  8438. @template(DropGenerators)
  8439. {lDomainGener}
  8440. @showmessage("Create domains")
  8441. @template(CreateDomains)
  8442. {lTableGener}
  8443. @showmessage("Create tables")
  8444. @template(createtables)
  8445. {lEntityOthers}
  8446. @showmessage("Create tab 'Others' for selected tables")
  8447. @template(CreateTableOthers)
  8448. {lalterkeysgener}
  8449. @showmessage("Create alter keys")
  8450. @template(CreateAlterKeys)
  8451. {lIndexGener}
  8452. @showmessage("Create indexes")
  8453. @template(createindexs)
  8454. {lRefIntegGener}
  8455. @template(refintegritys)
  8456. {lGeneratorsGener}
  8457. @template(CreateGenerators)
  8458. {lExceptionsGener}
  8459. @template(CreateExceptions)
  8460. {lTriggersGener and lExceptionsTriggerGener}
  8461. @template(CreateExcept)
  8462. {lViewsGener}
  8463. @showmessage("Create Views")
  8464. @template(CreateViews)
  8465. {true}
  8466. set term ^;
  8467. {lProceduresGener}
  8468. @showmessage("Create Procedures")
  8469. @template(CreateProcedures)
  8470. {lTriggersGener}
  8471. @showmessage("Create Triggers")
  8472. @template(createtriggers)
  8473. {lTriggersUserGener}
  8474. @template(CreateTriggersList)
  8475. {true}
  8476. set term ;^
  8477. {lRoleGener}
  8478. @showmessage("Roles")
  8479. @template(CreateRole)
  8480. {lUserToRoleGener}
  8481. @ShowMessage("Users permissions to roles")
  8482. @template(GrantUserToRole)
  8483. {lRolePermissGener}
  8484. @ShowMessage("Roles permissions")
  8485. @template(CreateRolePermiss)
  8486. {lUserPermissGener}
  8487. @ShowMessage("Users permissions")
  8488. @template(CreateUserPermiss)
  8489. @template(RevokeUserPermiss)
  8490. {lafterscript}
  8491. %afterscript%
  8492. {true}
  8493. @template(UserTempl)
  8494.  
  8495. ]]></VALUE>
  8496. <LANGUAGE>0</LANGUAGE>
  8497. <LANGUAGEWIN>---</LANGUAGEWIN>
  8498. <CATEGORY>2</CATEGORY>
  8499. <MAINSCRIPT>0</MAINSCRIPT>
  8500. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8501. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8502. <AUTHOR></AUTHOR>
  8503. <COMPANY></COMPANY>
  8504. <VERSION></VERSION>
  8505. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8506. <MODIFIED><DATE>10/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8507. </TEMPLATE>
  8508. <TEMPLATE>
  8509. <NAME>CreateTable</NAME>
  8510. <ID>2</ID>
  8511. <GUID>{4768DF4D-291E-480F-8E94-088380C674D6}</GUID>
  8512. <CAPTION>CreateTable</CAPTION>
  8513. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8514. <ENABLED>1</ENABLED>
  8515. <LEVEL>2</LEVEL>
  8516. <IDPARENT>0</IDPARENT>
  8517. <VALUE><![CDATA[cr+
  8518. "Create Table %qt%%TableName%%qt% %TableStorage% "+
  8519. if( Empty(cExternalFile), "", "External File %c6%%cExternalFile%%c6% " )+
  8520. "("+
  8521. ForCol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  8522. if(ExistPk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %qt%%ConstraintPkName%%qt%","")+ " Primary Key ("+ForPkCol("%qt%", "%qt%", ColName, "%qt%,", "%qt%)"+cr) , cr )+
  8523. ");"+cr+ShowMessage("Table %tablename%")
  8524. ]]></VALUE>
  8525. <LANGUAGE>0</LANGUAGE>
  8526. <LANGUAGEWIN>---</LANGUAGEWIN>
  8527. <CATEGORY>2</CATEGORY>
  8528. <MAINSCRIPT>0</MAINSCRIPT>
  8529. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8530. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8531. <AUTHOR></AUTHOR>
  8532. <COMPANY></COMPANY>
  8533. <VERSION></VERSION>
  8534. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8535. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8536. </TEMPLATE>
  8537. <TEMPLATE>
  8538. <NAME>CreateIndex</NAME>
  8539. <ID>3</ID>
  8540. <GUID>{D2FA4427-684E-496D-8366-179D56BF2E2E}</GUID>
  8541. <CAPTION></CAPTION>
  8542. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8543. <ENABLED>1</ENABLED>
  8544. <LEVEL>2</LEVEL>
  8545. <IDPARENT>0</IDPARENT>
  8546. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  8547. +"Index %qt%%Indexname%%qt%  ON %qt%%tablename%%qt% ("+ForIndexCol("%qt%","%qt%",colname,"%qt%,","%qt%);")+cr
  8548. +ShowMessage("Index %Indexname% for table %tablename%")
  8549. ]]></VALUE>
  8550. <LANGUAGE>0</LANGUAGE>
  8551. <LANGUAGEWIN>---</LANGUAGEWIN>
  8552. <CATEGORY>2</CATEGORY>
  8553. <MAINSCRIPT>0</MAINSCRIPT>
  8554. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8555. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8556. <AUTHOR></AUTHOR>
  8557. <COMPANY></COMPANY>
  8558. <VERSION></VERSION>
  8559. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8560. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8561. </TEMPLATE>
  8562. <TEMPLATE>
  8563. <NAME>TriggerParentUpdate</NAME>
  8564. <ID>4</ID>
  8565. <GUID>{2E590DDE-4CB9-4B7F-A27C-F30B5ADC0E64}</GUID>
  8566. <CAPTION></CAPTION>
  8567. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8568. <ENABLED>1</ENABLED>
  8569. <LEVEL>2</LEVEL>
  8570. <IDPARENT>0</IDPARENT>
  8571. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  8572. /* Cascade child %childtablename% update, when parent %parenttablename% changed */
  8573.  
  8574. if     @forrelpk( "(", tb , "old.%qt%%PkParentName%%qt% != new.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  8575. begin
  8576.     update %qt%%childtablename%%qt%
  8577.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = new.%qt%%PkParentName%%qt%" , ",%cr%" , "")
  8578.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND %cr%", "") ;
  8579. end
  8580.  
  8581. {ParUpdSetNULL and  (not lParUpdSetnullDekl)}
  8582. /* Cascade setnull, when parent changed */
  8583.  
  8584. if     @forrelpk( "(", tb , "old.%qt%%PkParentName%%qt% != new.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  8585. begin
  8586.     update %qt%%childtablename%%qt%
  8587.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = NULL" , ",%cr%" , "")
  8588.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  8589. end
  8590.  
  8591. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)}
  8592. /* Cascade setdefault, when parent changed */
  8593. if     @forrelpk( "(", tb , "old.%qt%%PkParentName%%qt% != new.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  8594. begin
  8595.     update %qt%%childtablename%%qt%
  8596.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  8597.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  8598. end
  8599.  
  8600. {ParUpdRestrict and (not lParUpdRestDekl)}
  8601. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  8602.  
  8603. if     @forrelpk( "( ", tb , "old.%qt%%PkParentName%%qt% != new.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  8604. begin
  8605.     select count( * ) from %qt%%childtablename%%qt%
  8606.     where     @forrelpk( "", "", "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" )
  8607.     into :numrows;
  8608.     IF ( numrows > 0 ) then
  8609.         begin
  8610.         exception %qt%except_upd_p%qt%;
  8611.         end
  8612. end
  8613. ]]></VALUE>
  8614. <LANGUAGE>0</LANGUAGE>
  8615. <LANGUAGEWIN>---</LANGUAGEWIN>
  8616. <CATEGORY>2</CATEGORY>
  8617. <MAINSCRIPT>0</MAINSCRIPT>
  8618. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8619. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8620. <AUTHOR></AUTHOR>
  8621. <COMPANY></COMPANY>
  8622. <VERSION></VERSION>
  8623. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8624. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8625. </TEMPLATE>
  8626. <TEMPLATE>
  8627. <NAME>TriggerChildUpdate</NAME>
  8628. <ID>5</ID>
  8629. <GUID>{3F603103-5183-4A7A-8273-7A2029BD9ACD}</GUID>
  8630. <CAPTION></CAPTION>
  8631. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8632. <ENABLED>1</ENABLED>
  8633. <LEVEL>2</LEVEL>
  8634. <IDPARENT>0</IDPARENT>
  8635. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  8636. /* Restrict child %ChildTableName%, when reference to parent %ParentTableName% is updated */
  8637. if @forrelpk( "(", tb, "new.%qt%%pkchildname%%qt% is not null", " AND %cr%", ")" ) then
  8638.      begin
  8639.     select count( * ) from %qt%%ParentTableName%%qt%
  8640.     where     @forrelpk( "", "", "new.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" )
  8641.     into :numrows;
  8642.     IF ( numrows = 0 ) then
  8643.         begin
  8644.         exception %qt%except_upd_ch%qt%;
  8645.         end
  8646.     end
  8647. ]]></VALUE>
  8648. <LANGUAGE>0</LANGUAGE>
  8649. <LANGUAGEWIN>---</LANGUAGEWIN>
  8650. <CATEGORY>2</CATEGORY>
  8651. <MAINSCRIPT>0</MAINSCRIPT>
  8652. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8653. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8654. <AUTHOR></AUTHOR>
  8655. <COMPANY></COMPANY>
  8656. <VERSION></VERSION>
  8657. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8658. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8659. </TEMPLATE>
  8660. <TEMPLATE>
  8661. <NAME>CreateTriggerUpdate</NAME>
  8662. <ID>6</ID>
  8663. <GUID>{60739586-B2C2-4BA0-AEAD-B61C37195D0C}</GUID>
  8664. <CAPTION></CAPTION>
  8665. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8666. <ENABLED>1</ENABLED>
  8667. <LEVEL>2</LEVEL>
  8668. <IDPARENT>0</IDPARENT>
  8669. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  8670. /* Update trigger for %tablename% */
  8671.  
  8672. Create Trigger %qt%tu_%tablename%%qt% for %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  8673. before update as
  8674. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  8675. begin
  8676.      @forchild( "", "", template(triggerparentupdate), "", "" )
  8677.      @forparent("", "", template(triggerchildupdate), "", "" )
  8678. end
  8679. ^
  8680. ]]></VALUE>
  8681. <LANGUAGE>0</LANGUAGE>
  8682. <LANGUAGEWIN>---</LANGUAGEWIN>
  8683. <CATEGORY>2</CATEGORY>
  8684. <MAINSCRIPT>0</MAINSCRIPT>
  8685. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8686. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8687. <AUTHOR></AUTHOR>
  8688. <COMPANY></COMPANY>
  8689. <VERSION></VERSION>
  8690. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8691. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8692. </TEMPLATE>
  8693. <TEMPLATE>
  8694. <NAME>CreateTriggerInsert</NAME>
  8695. <ID>7</ID>
  8696. <GUID>{E7F16E13-7DDD-4437-B942-A2AD3EA8FFCB}</GUID>
  8697. <CAPTION></CAPTION>
  8698. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8699. <ENABLED>1</ENABLED>
  8700. <LEVEL>2</LEVEL>
  8701. <IDPARENT>0</IDPARENT>
  8702. <VALUE><![CDATA[{lEntChildInsTrig  }
  8703. /* Insert trigger for %tablename% */
  8704.  
  8705. Create Trigger %qt%ti_%tablename%%qt% for %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  8706. before insert as
  8707. declare variable numrows integer;
  8708. begin
  8709. @forparent("", "", template(TriggerParentInsert), "", "")
  8710. end
  8711. ^
  8712. ]]></VALUE>
  8713. <LANGUAGE>0</LANGUAGE>
  8714. <LANGUAGEWIN>---</LANGUAGEWIN>
  8715. <CATEGORY>2</CATEGORY>
  8716. <MAINSCRIPT>0</MAINSCRIPT>
  8717. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8718. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8719. <AUTHOR></AUTHOR>
  8720. <COMPANY></COMPANY>
  8721. <VERSION></VERSION>
  8722. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8723. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8724. </TEMPLATE>
  8725. <TEMPLATE>
  8726. <NAME>CreateTriggerDelete</NAME>
  8727. <ID>8</ID>
  8728. <GUID>{DED7C9C4-B7F9-46B5-ABD6-83ADAE0D23CE}</GUID>
  8729. <CAPTION></CAPTION>
  8730. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8731. <ENABLED>1</ENABLED>
  8732. <LEVEL>2</LEVEL>
  8733. <IDPARENT>0</IDPARENT>
  8734. <VALUE><![CDATA[{lEntParDelTrig}
  8735. /* Delete trigger for %tablename% */
  8736.  
  8737. Create Trigger %qt%td_%tablename%%qt% for %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  8738. before delete as
  8739. @if(lEntParDelRest,"declare variable numrows integer;","")
  8740. begin
  8741. @forchild( "", "", template(TriggerParentDelete), "", "" )
  8742. end
  8743. ^
  8744. ]]></VALUE>
  8745. <LANGUAGE>0</LANGUAGE>
  8746. <LANGUAGEWIN>---</LANGUAGEWIN>
  8747. <CATEGORY>2</CATEGORY>
  8748. <MAINSCRIPT>0</MAINSCRIPT>
  8749. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8750. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8751. <AUTHOR></AUTHOR>
  8752. <COMPANY></COMPANY>
  8753. <VERSION></VERSION>
  8754. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8755. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8756. </TEMPLATE>
  8757. <TEMPLATE>
  8758. <NAME>TriggerParentDelete</NAME>
  8759. <ID>9</ID>
  8760. <GUID>{3247E782-67BE-4CE1-B1C4-E5AC34B478C7}</GUID>
  8761. <CAPTION></CAPTION>
  8762. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8763. <ENABLED>1</ENABLED>
  8764. <LEVEL>2</LEVEL>
  8765. <IDPARENT>0</IDPARENT>
  8766. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  8767. /* Cascade child %childtablename% delete, when parent %parenttablename% deleted */
  8768.  
  8769.     delete from %qt%%childtablename%%qt%
  8770.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND %cr%", "");
  8771.  
  8772.  
  8773. {ParDelSetNULL and (not lParDelSetnullDekl)}
  8774. /* Cascade setnull, when parent deleted */
  8775.  
  8776.     update %qt%%childtablename%%qt%
  8777.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = NULL" , ",%cr%" , "")
  8778.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  8779.  
  8780. {ParDelSetDefault and (not lParDelSetDefaultDekl)}
  8781. /* Cascade setdefault, when parent deleted */
  8782.  
  8783.     update %qt%%childtablename%%qt%
  8784.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  8785.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = old.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  8786.  
  8787.  
  8788.  
  8789. {ParDelRestrict and (not lParDelRestDekl)}
  8790. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  8791.  
  8792.     select count( * ) from %qt%%childtablename%%qt%
  8793.     where     @forrelpk( "", "", "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" )
  8794.     into :numrows;
  8795.     if ( numrows > 0 ) then
  8796.         begin
  8797.         exception %qt%except_del_p%qt%;
  8798.         end
  8799. ]]></VALUE>
  8800. <LANGUAGE>0</LANGUAGE>
  8801. <LANGUAGEWIN>---</LANGUAGEWIN>
  8802. <CATEGORY>2</CATEGORY>
  8803. <MAINSCRIPT>0</MAINSCRIPT>
  8804. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8805. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8806. <AUTHOR></AUTHOR>
  8807. <COMPANY></COMPANY>
  8808. <VERSION></VERSION>
  8809. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8810. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8811. </TEMPLATE>
  8812. <TEMPLATE>
  8813. <NAME>TriggerParentInsert</NAME>
  8814. <ID>10</ID>
  8815. <GUID>{CD8040D9-0AE9-4B11-AF0F-B732A368A445}</GUID>
  8816. <CAPTION></CAPTION>
  8817. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8818. <ENABLED>1</ENABLED>
  8819. <LEVEL>2</LEVEL>
  8820. <IDPARENT>0</IDPARENT>
  8821. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  8822. /* Restrict child %childtablename%, when a new reference to parent %parenttablename% is inserted */
  8823.  
  8824. if @forrelpk( "(", tb, "new.%qt%%pkchildname%%qt% is not null", " AND %cr%", ")" ) then
  8825.      begin
  8826.     select count( * ) from %qt%%ParentTableName%%qt%
  8827.     where     @forrelpk( "", "", "new.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" )
  8828.     into :numrows;
  8829.     IF ( numrows = 0 ) then
  8830.         begin
  8831.         exception  %qt%except_ins_ch%qt%;
  8832.         end
  8833.     end
  8834. ]]></VALUE>
  8835. <LANGUAGE>0</LANGUAGE>
  8836. <LANGUAGEWIN>---</LANGUAGEWIN>
  8837. <CATEGORY>2</CATEGORY>
  8838. <MAINSCRIPT>0</MAINSCRIPT>
  8839. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8840. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8841. <AUTHOR></AUTHOR>
  8842. <COMPANY></COMPANY>
  8843. <VERSION></VERSION>
  8844. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8845. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8846. </TEMPLATE>
  8847. <TEMPLATE>
  8848. <NAME>RefIntegrity</NAME>
  8849. <ID>11</ID>
  8850. <GUID>{B75F9E16-F41F-44EE-ADB7-BFF631A6ED6E}</GUID>
  8851. <CAPTION></CAPTION>
  8852. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8853. <ENABLED>1</ENABLED>
  8854. <LEVEL>2</LEVEL>
  8855. <IDPARENT>0</IDPARENT>
  8856. <VALUE><![CDATA[{lRelAnyDekl}
  8857. Alter Table %qt%%childtablename%%qt% add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %qt%%frelname%%qt% ","")Foreign Key (@ForRelPk("","",qt+PkChildName+qt,",","")) references %qt%%parenttablename%%qt% (@ForRelPk("","",qt+PkParentName+qt,",",""))@macro(refintegrity2)
  8858. ]]></VALUE>
  8859. <LANGUAGE>0</LANGUAGE>
  8860. <LANGUAGEWIN>---</LANGUAGEWIN>
  8861. <CATEGORY>2</CATEGORY>
  8862. <MAINSCRIPT>0</MAINSCRIPT>
  8863. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8864. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8865. <AUTHOR></AUTHOR>
  8866. <COMPANY></COMPANY>
  8867. <VERSION></VERSION>
  8868. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8869. <MODIFIED><DATE>10/9/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8870. </TEMPLATE>
  8871. <TEMPLATE>
  8872. <NAME>DropIndexs</NAME>
  8873. <ID>12</ID>
  8874. <GUID>{F0E7B910-3D79-4B9D-922A-819C41317F98}</GUID>
  8875. <CAPTION></CAPTION>
  8876. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8877. <ENABLED>1</ENABLED>
  8878. <LEVEL>2</LEVEL>
  8879. <IDPARENT>0</IDPARENT>
  8880. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop Index %qt%%indexname%%qt%;%cr%", "", "" ),"","")
  8881. ]]></VALUE>
  8882. <LANGUAGE>0</LANGUAGE>
  8883. <LANGUAGEWIN>---</LANGUAGEWIN>
  8884. <CATEGORY>2</CATEGORY>
  8885. <MAINSCRIPT>0</MAINSCRIPT>
  8886. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8887. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8888. <AUTHOR></AUTHOR>
  8889. <COMPANY></COMPANY>
  8890. <VERSION></VERSION>
  8891. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8892. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8893. </TEMPLATE>
  8894. <TEMPLATE>
  8895. <NAME>RefIntegrity2</NAME>
  8896. <ID>13</ID>
  8897. <GUID>{D801A5BD-38B1-4AAF-A632-747B1F732244}</GUID>
  8898. <CAPTION></CAPTION>
  8899. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8900. <ENABLED>1</ENABLED>
  8901. <LEVEL>2</LEVEL>
  8902. <IDPARENT>0</IDPARENT>
  8903. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, "no action" ,if(lRelParUpdCascDekl  "cascade", if(lRelParUpdSetnullDekl , "Set Null", if(lRelParUpdSetDefaultDekl, "Set Default","") ) ) ), "" )+
  8904. if(lRelDelDekl, " on delete "+if(lRelParDelRestDekl , "no action" ,if(lRelParDelCascDekl  "cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl,"Set Default", "") ) ) ), "" )+";"
  8905. ]]></VALUE>
  8906. <LANGUAGE>0</LANGUAGE>
  8907. <LANGUAGEWIN>---</LANGUAGEWIN>
  8908. <CATEGORY>2</CATEGORY>
  8909. <MAINSCRIPT>0</MAINSCRIPT>
  8910. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8911. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8912. <AUTHOR></AUTHOR>
  8913. <COMPANY></COMPANY>
  8914. <VERSION></VERSION>
  8915. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8916. <MODIFIED><DATE>10/9/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8917. </TEMPLATE>
  8918. <TEMPLATE>
  8919. <NAME>CreateAtrib</NAME>
  8920. <ID>14</ID>
  8921. <GUID>{0D12683C-F244-4ACB-BE84-CB42A4D8A83B}</GUID>
  8922. <CAPTION></CAPTION>
  8923. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8924. <ENABLED>1</ENABLED>
  8925. <LEVEL>2</LEVEL>
  8926. <IDPARENT>0</IDPARENT>
  8927. <VALUE><![CDATA["%qt%%ColName%%qt% "+
  8928. ScriptProc( CreateDataType,Main, Column.Id )+
  8929. if(defexist," %defvalue%", "")+
  8930. if(defaultexist," Default %defaultvalue%"  ,"")+
  8931. if(notnull," NOT NULL","")+
  8932. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %qt%%ConstraintAtrUnique%%qt%","")+" UNIQUE", "")+
  8933. if(constraintExist and CheckExist, " Constraint %qt%%constraint%%qt%","")+
  8934. if(checkexist," Check ("+ evalcheck+")","")+
  8935. if(def2exist," %def2value%", "")
  8936. ]]></VALUE>
  8937. <LANGUAGE>0</LANGUAGE>
  8938. <LANGUAGEWIN>---</LANGUAGEWIN>
  8939. <CATEGORY>2</CATEGORY>
  8940. <MAINSCRIPT>0</MAINSCRIPT>
  8941. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8942. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8943. <AUTHOR></AUTHOR>
  8944. <COMPANY></COMPANY>
  8945. <VERSION></VERSION>
  8946. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8947. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8948. </TEMPLATE>
  8949. <TEMPLATE>
  8950. <NAME>CreateAtrib2</NAME>
  8951. <ID>15</ID>
  8952. <GUID>{ECF1FDB2-BB2F-4FA5-999E-001E4C3A36DB}</GUID>
  8953. <CAPTION></CAPTION>
  8954. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8955. <ENABLED>1</ENABLED>
  8956. <LEVEL>2</LEVEL>
  8957. <IDPARENT>0</IDPARENT>
  8958. <VALUE><![CDATA["%qt%%colname%%qt%"+
  8959. if(not Empty(UserDataType)," %UserDataType%", " %qt%%DictName%%qt%")+
  8960. if(defexist," %defvalue%", "")+
  8961. if(notnull," NOT NULL","")+
  8962. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  8963. if(def2exist," %def2value%", "")
  8964. ]]></VALUE>
  8965. <LANGUAGE>0</LANGUAGE>
  8966. <LANGUAGEWIN>---</LANGUAGEWIN>
  8967. <CATEGORY>2</CATEGORY>
  8968. <MAINSCRIPT>0</MAINSCRIPT>
  8969. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8970. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8971. <AUTHOR></AUTHOR>
  8972. <COMPANY></COMPANY>
  8973. <VERSION></VERSION>
  8974. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8975. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8976. </TEMPLATE>
  8977. <TEMPLATE>
  8978. <NAME>CreateDomains</NAME>
  8979. <ID>16</ID>
  8980. <GUID>{73A63167-F353-482C-B085-967526DD2A74}</GUID>
  8981. <CAPTION></CAPTION>
  8982. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  8983. <ENABLED>1</ENABLED>
  8984. <LEVEL>2</LEVEL>
  8985. <IDPARENT>0</IDPARENT>
  8986. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  8987. ]]></VALUE>
  8988. <LANGUAGE>0</LANGUAGE>
  8989. <LANGUAGEWIN>---</LANGUAGEWIN>
  8990. <CATEGORY>2</CATEGORY>
  8991. <MAINSCRIPT>0</MAINSCRIPT>
  8992. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  8993. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  8994. <AUTHOR></AUTHOR>
  8995. <COMPANY></COMPANY>
  8996. <VERSION></VERSION>
  8997. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  8998. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  8999. </TEMPLATE>
  9000. <TEMPLATE>
  9001. <NAME>CreateDomain</NAME>
  9002. <ID>17</ID>
  9003. <GUID>{F2F160D0-697B-4C08-A9CE-E400542B8007}</GUID>
  9004. <CAPTION></CAPTION>
  9005. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9006. <ENABLED>1</ENABLED>
  9007. <LEVEL>2</LEVEL>
  9008. <IDPARENT>0</IDPARENT>
  9009. <VALUE><![CDATA[if(not Empty(UserDataType),"", 
  9010. "Create Domain %qt%%DictName%%qt% As "+
  9011. if((DictType.DataTypeId=80),"blob sub_type %IntToStr(DictType.Decimal)% segment size %IntToStr(DictType.Length)%","%typsql%")+
  9012. if(Empty(DefDict),""," %DefDict%")+
  9013. if(DefaultExist," Default %default%","")+
  9014. if(CheckExist," Check ("+evalcheck2("value")+")", "")+
  9015. if(Empty(Def2Dict),"", " %Def2Dict%")+
  9016. ";"
  9017. )
  9018. ]]></VALUE>
  9019. <LANGUAGE>0</LANGUAGE>
  9020. <LANGUAGEWIN>---</LANGUAGEWIN>
  9021. <CATEGORY>2</CATEGORY>
  9022. <MAINSCRIPT>0</MAINSCRIPT>
  9023. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9024. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9025. <AUTHOR></AUTHOR>
  9026. <COMPANY></COMPANY>
  9027. <VERSION></VERSION>
  9028. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9029. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9030. </TEMPLATE>
  9031. <TEMPLATE>
  9032. <NAME>DropDomains</NAME>
  9033. <ID>18</ID>
  9034. <GUID>{612E4A64-D526-457B-9B4B-1EDCA3AA8382}</GUID>
  9035. <CAPTION></CAPTION>
  9036. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9037. <ENABLED>1</ENABLED>
  9038. <LEVEL>2</LEVEL>
  9039. <IDPARENT>0</IDPARENT>
  9040. <VALUE><![CDATA[@ForDict("%cr%", "", if(not Empty(UserDataType),"", "Drop Domain %qt%%dictname%%qt%;%cr%"), "", "" )
  9041. ]]></VALUE>
  9042. <LANGUAGE>0</LANGUAGE>
  9043. <LANGUAGEWIN>---</LANGUAGEWIN>
  9044. <CATEGORY>2</CATEGORY>
  9045. <MAINSCRIPT>0</MAINSCRIPT>
  9046. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9047. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9048. <AUTHOR></AUTHOR>
  9049. <COMPANY></COMPANY>
  9050. <VERSION></VERSION>
  9051. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9052. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9053. </TEMPLATE>
  9054. <TEMPLATE>
  9055. <NAME>CreateAlterKey</NAME>
  9056. <ID>19</ID>
  9057. <GUID>{1E4EDDB0-C5D4-48E6-A584-9A17CFB03ED5}</GUID>
  9058. <CAPTION></CAPTION>
  9059. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9060. <ENABLED>1</ENABLED>
  9061. <LEVEL>2</LEVEL>
  9062. <IDPARENT>0</IDPARENT>
  9063. <VALUE><![CDATA[ForAlterKey("","","Alter Table %qt%%tablename%%qt% add Constraint %qt%%AlterKeyConstraintName%%qt% UNIQUE ("+ForAlterKeyCol("","",qt+ColName+qt,",","")+");%cr%","","")
  9064. ]]></VALUE>
  9065. <LANGUAGE>0</LANGUAGE>
  9066. <LANGUAGEWIN>---</LANGUAGEWIN>
  9067. <CATEGORY>2</CATEGORY>
  9068. <MAINSCRIPT>0</MAINSCRIPT>
  9069. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9070. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9071. <AUTHOR></AUTHOR>
  9072. <COMPANY></COMPANY>
  9073. <VERSION></VERSION>
  9074. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9075. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9076. </TEMPLATE>
  9077. <TEMPLATE>
  9078. <NAME>DropRefIntegrity</NAME>
  9079. <ID>20</ID>
  9080. <GUID>{24863A14-EF0D-4FEB-BA15-D375BB442F5F}</GUID>
  9081. <CAPTION></CAPTION>
  9082. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9083. <ENABLED>1</ENABLED>
  9084. <LEVEL>2</LEVEL>
  9085. <IDPARENT>0</IDPARENT>
  9086. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  9087. Alter Table %qt%%childtablename%%qt% drop Constraint %qt%%frelname%%qt%;
  9088. ]]></VALUE>
  9089. <LANGUAGE>0</LANGUAGE>
  9090. <LANGUAGEWIN>---</LANGUAGEWIN>
  9091. <CATEGORY>2</CATEGORY>
  9092. <MAINSCRIPT>0</MAINSCRIPT>
  9093. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9094. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9095. <AUTHOR></AUTHOR>
  9096. <COMPANY></COMPANY>
  9097. <VERSION></VERSION>
  9098. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9099. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9100. </TEMPLATE>
  9101. <TEMPLATE>
  9102. <NAME>DropTriggerUpdate</NAME>
  9103. <ID>21</ID>
  9104. <GUID>{0DD59C47-7321-434C-B543-8B8AD517D73B}</GUID>
  9105. <CAPTION></CAPTION>
  9106. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9107. <ENABLED>1</ENABLED>
  9108. <LEVEL>2</LEVEL>
  9109. <IDPARENT>0</IDPARENT>
  9110. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  9111. Drop Trigger %qt%tu_%tablename%%qt%;
  9112. ]]></VALUE>
  9113. <LANGUAGE>0</LANGUAGE>
  9114. <LANGUAGEWIN>---</LANGUAGEWIN>
  9115. <CATEGORY>2</CATEGORY>
  9116. <MAINSCRIPT>0</MAINSCRIPT>
  9117. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9118. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9119. <AUTHOR></AUTHOR>
  9120. <COMPANY></COMPANY>
  9121. <VERSION></VERSION>
  9122. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9123. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9124. </TEMPLATE>
  9125. <TEMPLATE>
  9126. <NAME>DropTriggerDelete</NAME>
  9127. <ID>22</ID>
  9128. <GUID>{74C8839B-4C65-4A4C-940F-BEA8D499D68C}</GUID>
  9129. <CAPTION></CAPTION>
  9130. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9131. <ENABLED>1</ENABLED>
  9132. <LEVEL>2</LEVEL>
  9133. <IDPARENT>0</IDPARENT>
  9134. <VALUE><![CDATA[{lEntParDelTrig}
  9135. Drop Trigger %qt%td_%tablename%%qt%;
  9136. ]]></VALUE>
  9137. <LANGUAGE>0</LANGUAGE>
  9138. <LANGUAGEWIN>---</LANGUAGEWIN>
  9139. <CATEGORY>2</CATEGORY>
  9140. <MAINSCRIPT>0</MAINSCRIPT>
  9141. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9142. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9143. <AUTHOR></AUTHOR>
  9144. <COMPANY></COMPANY>
  9145. <VERSION></VERSION>
  9146. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9147. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9148. </TEMPLATE>
  9149. <TEMPLATE>
  9150. <NAME>DropTriggerInsert</NAME>
  9151. <ID>23</ID>
  9152. <GUID>{2769D526-09B2-489A-881F-52150EE8487C}</GUID>
  9153. <CAPTION></CAPTION>
  9154. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9155. <ENABLED>1</ENABLED>
  9156. <LEVEL>2</LEVEL>
  9157. <IDPARENT>0</IDPARENT>
  9158. <VALUE><![CDATA[{lEntChildInsTrig  }
  9159. Drop Trigger %qt%ti_%tablename%%qt%;
  9160. ]]></VALUE>
  9161. <LANGUAGE>0</LANGUAGE>
  9162. <LANGUAGEWIN>---</LANGUAGEWIN>
  9163. <CATEGORY>2</CATEGORY>
  9164. <MAINSCRIPT>0</MAINSCRIPT>
  9165. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9166. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9167. <AUTHOR></AUTHOR>
  9168. <COMPANY></COMPANY>
  9169. <VERSION></VERSION>
  9170. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9171. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9172. </TEMPLATE>
  9173. <TEMPLATE>
  9174. <NAME>CreateExcept</NAME>
  9175. <ID>24</ID>
  9176. <GUID>{08A9A25A-D128-4358-82AC-A39D2D5A3521}</GUID>
  9177. <CAPTION></CAPTION>
  9178. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9179. <ENABLED>1</ENABLED>
  9180. <LEVEL>2</LEVEL>
  9181. <IDPARENT>0</IDPARENT>
  9182. <VALUE><![CDATA[Create Exception %qt%except_del_p%qt% 'Children still exist in child table. Cannot delete parent';
  9183. Create Exception %qt%except_ins_ch%qt% 'Parent does not exist. Cannot create child.';
  9184. Create Exception %qt%except_upd_ch%qt% 'Parent does not exist. Cannot update child ';
  9185. Create Exception %qt%except_upd_p%qt% 'Children still exist in child table.';
  9186. ]]></VALUE>
  9187. <LANGUAGE>0</LANGUAGE>
  9188. <LANGUAGEWIN>---</LANGUAGEWIN>
  9189. <CATEGORY>2</CATEGORY>
  9190. <MAINSCRIPT>0</MAINSCRIPT>
  9191. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9192. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9193. <AUTHOR></AUTHOR>
  9194. <COMPANY></COMPANY>
  9195. <VERSION></VERSION>
  9196. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9197. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9198. </TEMPLATE>
  9199. <TEMPLATE>
  9200. <NAME>DropExcept</NAME>
  9201. <ID>25</ID>
  9202. <GUID>{85445724-A5A2-42E0-93D8-C37BAAED61BB}</GUID>
  9203. <CAPTION></CAPTION>
  9204. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9205. <ENABLED>1</ENABLED>
  9206. <LEVEL>2</LEVEL>
  9207. <IDPARENT>0</IDPARENT>
  9208. <VALUE><![CDATA[Drop Exception %qt%except_del_p%qt%;
  9209. Drop Exception %qt%except_ins_ch%qt%;
  9210. Drop Exception %qt%except_upd_ch%qt%;
  9211. Drop Exception %qt%except_upd_p%qt%;
  9212. ]]></VALUE>
  9213. <LANGUAGE>0</LANGUAGE>
  9214. <LANGUAGEWIN>---</LANGUAGEWIN>
  9215. <CATEGORY>2</CATEGORY>
  9216. <MAINSCRIPT>0</MAINSCRIPT>
  9217. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9218. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9219. <AUTHOR></AUTHOR>
  9220. <COMPANY></COMPANY>
  9221. <VERSION></VERSION>
  9222. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9223. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9224. </TEMPLATE>
  9225. <TEMPLATE>
  9226. <NAME>DropProcedures</NAME>
  9227. <ID>26</ID>
  9228. <GUID>{12222B64-8209-4EE5-9DC4-E36DAA6A184F}</GUID>
  9229. <CAPTION></CAPTION>
  9230. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9231. <ENABLED>1</ENABLED>
  9232. <LEVEL>2</LEVEL>
  9233. <IDPARENT>0</IDPARENT>
  9234. <VALUE><![CDATA[@ForProcedureR("","","Drop Procedure %qt%%ProcedureName%%qt%;%cr%","","")
  9235. ]]></VALUE>
  9236. <LANGUAGE>0</LANGUAGE>
  9237. <LANGUAGEWIN>---</LANGUAGEWIN>
  9238. <CATEGORY>2</CATEGORY>
  9239. <MAINSCRIPT>0</MAINSCRIPT>
  9240. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9241. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9242. <AUTHOR></AUTHOR>
  9243. <COMPANY></COMPANY>
  9244. <VERSION></VERSION>
  9245. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9246. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9247. </TEMPLATE>
  9248. <TEMPLATE>
  9249. <NAME>DropViews</NAME>
  9250. <ID>27</ID>
  9251. <GUID>{505215DF-CE76-4A53-B980-196A34C0C0A0}</GUID>
  9252. <CAPTION></CAPTION>
  9253. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9254. <ENABLED>1</ENABLED>
  9255. <LEVEL>2</LEVEL>
  9256. <IDPARENT>0</IDPARENT>
  9257. <VALUE><![CDATA[@ForViewR("","","Drop View %qt%%ViewName%%qt%;%cr%","","")
  9258. ]]></VALUE>
  9259. <LANGUAGE>0</LANGUAGE>
  9260. <LANGUAGEWIN>---</LANGUAGEWIN>
  9261. <CATEGORY>2</CATEGORY>
  9262. <MAINSCRIPT>0</MAINSCRIPT>
  9263. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9264. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9265. <AUTHOR></AUTHOR>
  9266. <COMPANY></COMPANY>
  9267. <VERSION></VERSION>
  9268. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9269. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9270. </TEMPLATE>
  9271. <TEMPLATE>
  9272. <NAME>DropTriggersList</NAME>
  9273. <ID>28</ID>
  9274. <GUID>{903EA12F-93F4-46BF-8FF0-7F6C97F14219}</GUID>
  9275. <CAPTION></CAPTION>
  9276. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9277. <ENABLED>1</ENABLED>
  9278. <LEVEL>2</LEVEL>
  9279. <IDPARENT>0</IDPARENT>
  9280. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop Trigger %qt%%TriggerName%%qt%;%cr%","",""),"","")
  9281. @ForTriggerR("","","Drop Trigger %qt%%TriggerName%%qt%;%cr%","","")
  9282. ]]></VALUE>
  9283. <LANGUAGE>0</LANGUAGE>
  9284. <LANGUAGEWIN>---</LANGUAGEWIN>
  9285. <CATEGORY>2</CATEGORY>
  9286. <MAINSCRIPT>0</MAINSCRIPT>
  9287. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9288. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9289. <AUTHOR></AUTHOR>
  9290. <COMPANY></COMPANY>
  9291. <VERSION></VERSION>
  9292. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9293. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9294. </TEMPLATE>
  9295. <TEMPLATE>
  9296. <NAME>CreateProcedurePermiss</NAME>
  9297. <ID>29</ID>
  9298. <GUID>{0C00BFD8-591D-4967-BA7A-3FC32AC7B5E2}</GUID>
  9299. <CAPTION></CAPTION>
  9300. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9301. <ENABLED>1</ENABLED>
  9302. <LEVEL>2</LEVEL>
  9303. <IDPARENT>0</IDPARENT>
  9304. <VALUE><![CDATA[if(lPermissExec,"Grant execute on Procedure %qt%%ProcedureName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")
  9305. ]]></VALUE>
  9306. <LANGUAGE>0</LANGUAGE>
  9307. <LANGUAGEWIN>---</LANGUAGEWIN>
  9308. <CATEGORY>2</CATEGORY>
  9309. <MAINSCRIPT>0</MAINSCRIPT>
  9310. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9311. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9312. <AUTHOR></AUTHOR>
  9313. <COMPANY></COMPANY>
  9314. <VERSION></VERSION>
  9315. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9316. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9317. </TEMPLATE>
  9318. <TEMPLATE>
  9319. <NAME>CreateTablePermiss</NAME>
  9320. <ID>30</ID>
  9321. <GUID>{7C32F750-6725-48E7-AF1E-0F4462310F6B}</GUID>
  9322. <CAPTION></CAPTION>
  9323. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9324. <ENABLED>1</ENABLED>
  9325. <LEVEL>2</LEVEL>
  9326. <IDPARENT>0</IDPARENT>
  9327. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9328. if(lPermissUpdate,"Grant update on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9329. if(lPermissDelete,"Grant delete on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9330. if(lPermissInsert,"Grant insert on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9331. if(lPermissDRI,"Grant references on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")
  9332. ]]></VALUE>
  9333. <LANGUAGE>0</LANGUAGE>
  9334. <LANGUAGEWIN>---</LANGUAGEWIN>
  9335. <CATEGORY>2</CATEGORY>
  9336. <MAINSCRIPT>0</MAINSCRIPT>
  9337. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9338. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9339. <AUTHOR></AUTHOR>
  9340. <COMPANY></COMPANY>
  9341. <VERSION></VERSION>
  9342. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9343. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  9344. </TEMPLATE>
  9345. <TEMPLATE>
  9346. <NAME>CreateViewPermiss</NAME>
  9347. <ID>31</ID>
  9348. <GUID>{47B85283-243E-4A8C-B9E8-DA87205B961A}</GUID>
  9349. <CAPTION></CAPTION>
  9350. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9351. <ENABLED>1</ENABLED>
  9352. <LEVEL>2</LEVEL>
  9353. <IDPARENT>0</IDPARENT>
  9354. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9355. if(lPermissUpdate,"Grant update on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9356. if(lPermissDelete,"Grant delete on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")+
  9357. if(lPermissInsert,"Grant insert on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%;%cr%","")
  9358. ]]></VALUE>
  9359. <LANGUAGE>0</LANGUAGE>
  9360. <LANGUAGEWIN>---</LANGUAGEWIN>
  9361. <CATEGORY>2</CATEGORY>
  9362. <MAINSCRIPT>0</MAINSCRIPT>
  9363. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9364. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9365. <AUTHOR></AUTHOR>
  9366. <COMPANY></COMPANY>
  9367. <VERSION></VERSION>
  9368. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9369. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  9370. </TEMPLATE>
  9371. <TEMPLATE>
  9372. <NAME>CreateDataType</NAME>
  9373. <ID>32</ID>
  9374. <GUID>{350B788A-7D45-4AC5-A66C-270EA88E0541}</GUID>
  9375. <CAPTION></CAPTION>
  9376. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9377. <ENABLED>1</ENABLED>
  9378. <LEVEL>2</LEVEL>
  9379. <IDPARENT>0</IDPARENT>
  9380. <VALUE><![CDATA[function Main( ColumnId )
  9381. {
  9382. var Column = Model.GetAttribute( ColumnId );
  9383. var Object;
  9384. var Result;
  9385. var qt = Model.GetUserVariable( 'qt' );
  9386.  
  9387. if ( Column.DataTypeId == 0 )
  9388.     Object = Model.GetDictType( Column.DictTypeId );
  9389. else
  9390.     Object = Column;
  9391.  
  9392. if (Object.DataTypeId == 80)
  9393.     Result = 'blob sub_type '+Object.Decimal.toString()+' segment size '+Object.Length.toString()
  9394. else
  9395.     {
  9396.     if (Column.UserDataType != '')
  9397.         Result = Column.UserDataType;
  9398.     else
  9399.         Result = Column.SQLDataType;
  9400.     }
  9401.  
  9402. return( Result );    
  9403. };
  9404. ]]></VALUE>
  9405. <LANGUAGE>1</LANGUAGE>
  9406. <LANGUAGEWIN>---</LANGUAGEWIN>
  9407. <CATEGORY>2</CATEGORY>
  9408. <MAINSCRIPT>0</MAINSCRIPT>
  9409. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9410. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9411. <AUTHOR></AUTHOR>
  9412. <COMPANY></COMPANY>
  9413. <VERSION></VERSION>
  9414. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9415. <MODIFIED><DATE>8/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9416. </TEMPLATE>
  9417. <TEMPLATE>
  9418. <NAME>CreateRole</NAME>
  9419. <ID>33</ID>
  9420. <GUID>{EDACA425-44E6-47AC-B5EC-97DDFA417AD4}</GUID>
  9421. <CAPTION></CAPTION>
  9422. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9423. <ENABLED>1</ENABLED>
  9424. <LEVEL>2</LEVEL>
  9425. <IDPARENT>0</IDPARENT>
  9426. <VALUE><![CDATA[@ForRole("","",if(lRole,"Create Role %qt%%RoleName%%qt%;%cr%",""),"","")
  9427. ]]></VALUE>
  9428. <LANGUAGE>0</LANGUAGE>
  9429. <LANGUAGEWIN>---</LANGUAGEWIN>
  9430. <CATEGORY>2</CATEGORY>
  9431. <MAINSCRIPT>0</MAINSCRIPT>
  9432. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9433. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9434. <AUTHOR></AUTHOR>
  9435. <COMPANY></COMPANY>
  9436. <VERSION></VERSION>
  9437. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9438. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9439. </TEMPLATE>
  9440. <TEMPLATE>
  9441. <NAME>GrantUserToRole</NAME>
  9442. <ID>34</ID>
  9443. <GUID>{27B6EA88-6EE2-4095-BC61-5F3A1B7FDCAD}</GUID>
  9444. <CAPTION></CAPTION>
  9445. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9446. <ENABLED>1</ENABLED>
  9447. <LEVEL>2</LEVEL>
  9448. <IDPARENT>0</IDPARENT>
  9449. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("Grant %qt%%rolename%%qt% to %qt%%username%%qt%;%cr%"),"",""),"","")
  9450. ]]></VALUE>
  9451. <LANGUAGE>0</LANGUAGE>
  9452. <LANGUAGEWIN>---</LANGUAGEWIN>
  9453. <CATEGORY>2</CATEGORY>
  9454. <MAINSCRIPT>0</MAINSCRIPT>
  9455. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9456. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9457. <AUTHOR></AUTHOR>
  9458. <COMPANY></COMPANY>
  9459. <VERSION></VERSION>
  9460. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9461. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  9462. </TEMPLATE>
  9463. <TEMPLATE>
  9464. <NAME>SetQuotes</NAME>
  9465. <ID>35</ID>
  9466. <GUID>{E59AF8FE-F6D8-45C6-980E-86588A21C1E2}</GUID>
  9467. <CAPTION></CAPTION>
  9468. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9469. <ENABLED>1</ENABLED>
  9470. <LEVEL>2</LEVEL>
  9471. <IDPARENT>0</IDPARENT>
  9472. <VALUE><![CDATA[function Main()
  9473. {
  9474. if ( UserVarToBool( Model.lQuotations ) )
  9475.   Model.SetUserVariable( 'qt','"' )
  9476. else
  9477.   Model.SetUserVariable( 'qt','' ); 
  9478. };
  9479. ]]></VALUE>
  9480. <LANGUAGE>1</LANGUAGE>
  9481. <LANGUAGEWIN>---</LANGUAGEWIN>
  9482. <CATEGORY>2</CATEGORY>
  9483. <MAINSCRIPT>0</MAINSCRIPT>
  9484. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9485. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9486. <AUTHOR></AUTHOR>
  9487. <COMPANY></COMPANY>
  9488. <VERSION></VERSION>
  9489. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  9490. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  9491. </TEMPLATE>
  9492. <TEMPLATE>
  9493. <NAME>CreateExceptions</NAME>
  9494. <ID>36</ID>
  9495. <GUID>{022FD984-C8C8-4333-9E29-3B0CAE26F2C3}</GUID>
  9496. <CAPTION></CAPTION>
  9497. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9498. <ENABLED>1</ENABLED>
  9499. <LEVEL>2</LEVEL>
  9500. <IDPARENT>0</IDPARENT>
  9501. <VALUE><![CDATA[@ForTextObject(20, "", "", TextObject , cr, "")
  9502. ]]></VALUE>
  9503. <LANGUAGE>0</LANGUAGE>
  9504. <LANGUAGEWIN>---</LANGUAGEWIN>
  9505. <CATEGORY>2</CATEGORY>
  9506. <MAINSCRIPT>0</MAINSCRIPT>
  9507. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9508. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9509. <AUTHOR></AUTHOR>
  9510. <COMPANY></COMPANY>
  9511. <VERSION></VERSION>
  9512. <CREATED><DATE>9/27/2002</DATE><TIME>13:54:44</TIME></CREATED>
  9513. <MODIFIED><DATE>9/27/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9514. </TEMPLATE>
  9515. <TEMPLATE>
  9516. <NAME>DropExceptions</NAME>
  9517. <ID>37</ID>
  9518. <GUID>{91F6578A-5686-4C95-868D-BD2B7988DA4F}</GUID>
  9519. <CAPTION></CAPTION>
  9520. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9521. <ENABLED>1</ENABLED>
  9522. <LEVEL>2</LEVEL>
  9523. <IDPARENT>0</IDPARENT>
  9524. <VALUE><![CDATA[@ForTextObject(20, "", "","Drop Exception "+qt+TextObjectName+qt+";%cr%", "", "")
  9525. ]]></VALUE>
  9526. <LANGUAGE>0</LANGUAGE>
  9527. <LANGUAGEWIN>---</LANGUAGEWIN>
  9528. <CATEGORY>2</CATEGORY>
  9529. <MAINSCRIPT>0</MAINSCRIPT>
  9530. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9531. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9532. <AUTHOR></AUTHOR>
  9533. <COMPANY></COMPANY>
  9534. <VERSION></VERSION>
  9535. <CREATED><DATE>9/27/2002</DATE><TIME>13:54:56</TIME></CREATED>
  9536. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9537. </TEMPLATE>
  9538. <TEMPLATE>
  9539. <NAME>CreateGenerators</NAME>
  9540. <ID>38</ID>
  9541. <GUID>{AD1DB44D-B576-4038-919D-79F4517AAB87}</GUID>
  9542. <CAPTION></CAPTION>
  9543. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9544. <ENABLED>1</ENABLED>
  9545. <LEVEL>2</LEVEL>
  9546. <IDPARENT>0</IDPARENT>
  9547. <VALUE><![CDATA[@ForTextObject(30, "", "", TextObject , cr, "")
  9548. ]]></VALUE>
  9549. <LANGUAGE>0</LANGUAGE>
  9550. <LANGUAGEWIN>---</LANGUAGEWIN>
  9551. <CATEGORY>2</CATEGORY>
  9552. <MAINSCRIPT>0</MAINSCRIPT>
  9553. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9554. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9555. <AUTHOR></AUTHOR>
  9556. <COMPANY></COMPANY>
  9557. <VERSION></VERSION>
  9558. <CREATED><DATE>9/27/2002</DATE><TIME>14:00:47</TIME></CREATED>
  9559. <MODIFIED><DATE>9/27/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9560. </TEMPLATE>
  9561. <TEMPLATE>
  9562. <NAME>DropGenerators</NAME>
  9563. <ID>39</ID>
  9564. <GUID>{4305F290-3E8E-4863-909D-7CED063C441D}</GUID>
  9565. <CAPTION></CAPTION>
  9566. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9567. <ENABLED>1</ENABLED>
  9568. <LEVEL>2</LEVEL>
  9569. <IDPARENT>0</IDPARENT>
  9570. <VALUE><![CDATA[@ForTextObject(30, "DELETE FROM RDB$GENERATORS WHERE ", cr+tb+"OR ","RDB$GENERATOR_NAME = '"+TextObjectName+"'", "", ";%cr%")
  9571. ]]></VALUE>
  9572. <LANGUAGE>0</LANGUAGE>
  9573. <LANGUAGEWIN>---</LANGUAGEWIN>
  9574. <CATEGORY>2</CATEGORY>
  9575. <MAINSCRIPT>0</MAINSCRIPT>
  9576. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9577. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9578. <AUTHOR></AUTHOR>
  9579. <COMPANY></COMPANY>
  9580. <VERSION></VERSION>
  9581. <CREATED><DATE>9/27/2002</DATE><TIME>14:00:52</TIME></CREATED>
  9582. <MODIFIED><DATE>10/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9583. </TEMPLATE>
  9584. <TEMPLATE>
  9585. <NAME>RevokeUserPermiss</NAME>
  9586. <ID>40</ID>
  9587. <GUID>{260368E4-B55B-4D0A-BC03-ACB5D7ED4A12}</GUID>
  9588. <CAPTION></CAPTION>
  9589. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9590. <ENABLED>1</ENABLED>
  9591. <LEVEL>2</LEVEL>
  9592. <IDPARENT>0</IDPARENT>
  9593. <VALUE><![CDATA[@ForTable("","",ForUser("","",PermissTableUser(Macro(RevokeTablePermiss)),"",""),"","")
  9594. @ForView("","",ForUser("","",PermissViewUser(Macro(RevokeViewPermiss)),"",""),"","")
  9595. @ForProcedure("","",ForUser("","",PermissProcedureUser(Macro(RevokeProcedurePermiss)),"",""),"","")
  9596. ]]></VALUE>
  9597. <LANGUAGE>0</LANGUAGE>
  9598. <LANGUAGEWIN>---</LANGUAGEWIN>
  9599. <CATEGORY>2</CATEGORY>
  9600. <MAINSCRIPT>0</MAINSCRIPT>
  9601. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9602. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9603. <AUTHOR></AUTHOR>
  9604. <COMPANY></COMPANY>
  9605. <VERSION></VERSION>
  9606. <CREATED><DATE>10/1/2002</DATE><TIME>17:19:48</TIME></CREATED>
  9607. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9608. </TEMPLATE>
  9609. <TEMPLATE>
  9610. <NAME>RevokeProcedurePermiss</NAME>
  9611. <ID>41</ID>
  9612. <GUID>{F1963D9D-EAD8-4173-B2FA-4FCECD265769}</GUID>
  9613. <CAPTION></CAPTION>
  9614. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9615. <ENABLED>1</ENABLED>
  9616. <LEVEL>2</LEVEL>
  9617. <IDPARENT>0</IDPARENT>
  9618. <VALUE><![CDATA[if(not lPermissExec,"Revoke execute on Procedure %qt%%ProcedureName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")
  9619. ]]></VALUE>
  9620. <LANGUAGE>0</LANGUAGE>
  9621. <LANGUAGEWIN>---</LANGUAGEWIN>
  9622. <CATEGORY>2</CATEGORY>
  9623. <MAINSCRIPT>0</MAINSCRIPT>
  9624. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9625. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9626. <AUTHOR></AUTHOR>
  9627. <COMPANY></COMPANY>
  9628. <VERSION></VERSION>
  9629. <CREATED><DATE>10/1/2002</DATE><TIME>17:21:39</TIME></CREATED>
  9630. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9631. </TEMPLATE>
  9632. <TEMPLATE>
  9633. <NAME>RevokeTablePermiss</NAME>
  9634. <ID>42</ID>
  9635. <GUID>{7D6C71E2-EB0A-4C00-A6E3-A300C1B835BD}</GUID>
  9636. <CAPTION></CAPTION>
  9637. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9638. <ENABLED>1</ENABLED>
  9639. <LEVEL>2</LEVEL>
  9640. <IDPARENT>0</IDPARENT>
  9641. <VALUE><![CDATA[if(not lPermissSelect,"Revoke select on %qt%%TableName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9642. if(not lPermissUpdate,"Revoke update on %qt%%TableName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9643. if(not lPermissDelete,"Revoke delete on %qt%%TableName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9644. if(not lPermissInsert,"Revoke insert on %qt%%TableName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9645. if(not lPermissDRI,"Revoke references on %qt%%TableName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")
  9646. ]]></VALUE>
  9647. <LANGUAGE>0</LANGUAGE>
  9648. <LANGUAGEWIN>---</LANGUAGEWIN>
  9649. <CATEGORY>2</CATEGORY>
  9650. <MAINSCRIPT>0</MAINSCRIPT>
  9651. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9652. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9653. <AUTHOR></AUTHOR>
  9654. <COMPANY></COMPANY>
  9655. <VERSION></VERSION>
  9656. <CREATED><DATE>10/1/2002</DATE><TIME>17:22:08</TIME></CREATED>
  9657. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9658. </TEMPLATE>
  9659. <TEMPLATE>
  9660. <NAME>RevokeViewPermiss</NAME>
  9661. <ID>43</ID>
  9662. <GUID>{364747CA-42F1-43B1-8792-FA4981D53819}</GUID>
  9663. <CAPTION></CAPTION>
  9664. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9665. <ENABLED>1</ENABLED>
  9666. <LEVEL>2</LEVEL>
  9667. <IDPARENT>0</IDPARENT>
  9668. <VALUE><![CDATA[if(not lPermissSelect,"Revoke select on %qt%%ViewName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9669. if(not lPermissUpdate,"Revoke update on %qt%%ViewName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9670. if(not lPermissDelete,"Revoke delete on %qt%%ViewName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")+
  9671. if(not lPermissInsert,"Revoke insert on %qt%%ViewName%%qt% from %qt%%UserOrRoleName%%qt%;%cr%","")
  9672. ]]></VALUE>
  9673. <LANGUAGE>0</LANGUAGE>
  9674. <LANGUAGEWIN>---</LANGUAGEWIN>
  9675. <CATEGORY>2</CATEGORY>
  9676. <MAINSCRIPT>0</MAINSCRIPT>
  9677. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9678. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9679. <AUTHOR></AUTHOR>
  9680. <COMPANY></COMPANY>
  9681. <VERSION></VERSION>
  9682. <CREATED><DATE>10/1/2002</DATE><TIME>17:22:18</TIME></CREATED>
  9683. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9684. </TEMPLATE>
  9685. <TEMPLATE>
  9686. <NAME>CreateViews</NAME>
  9687. <ID>44</ID>
  9688. <GUID>{E0FE8251-2830-4221-A703-585419891DC7}</GUID>
  9689. <CAPTION></CAPTION>
  9690. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9691. <ENABLED>1</ENABLED>
  9692. <LEVEL>2</LEVEL>
  9693. <IDPARENT>0</IDPARENT>
  9694. <VALUE><![CDATA[@ForView("","",View+cr,"","")
  9695. ]]></VALUE>
  9696. <LANGUAGE>0</LANGUAGE>
  9697. <LANGUAGEWIN>---</LANGUAGEWIN>
  9698. <CATEGORY>2</CATEGORY>
  9699. <MAINSCRIPT>0</MAINSCRIPT>
  9700. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9701. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9702. <AUTHOR></AUTHOR>
  9703. <COMPANY></COMPANY>
  9704. <VERSION></VERSION>
  9705. <CREATED><DATE>10/3/2002</DATE><TIME>14:22:37</TIME></CREATED>
  9706. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9707. </TEMPLATE>
  9708. <TEMPLATE>
  9709. <NAME>CreateTriggersList</NAME>
  9710. <ID>45</ID>
  9711. <GUID>{DCB0F6D2-3010-4906-B4DD-98832FA591DB}</GUID>
  9712. <CAPTION></CAPTION>
  9713. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9714. <ENABLED>1</ENABLED>
  9715. <LEVEL>2</LEVEL>
  9716. <IDPARENT>0</IDPARENT>
  9717. <VALUE><![CDATA[@ForTable("","",ForTableTrigger("","",Trigger+cr,"",""),"","")
  9718.  
  9719. ]]></VALUE>
  9720. <LANGUAGE>0</LANGUAGE>
  9721. <LANGUAGEWIN>---</LANGUAGEWIN>
  9722. <CATEGORY>2</CATEGORY>
  9723. <MAINSCRIPT>0</MAINSCRIPT>
  9724. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9725. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9726. <AUTHOR></AUTHOR>
  9727. <COMPANY></COMPANY>
  9728. <VERSION></VERSION>
  9729. <CREATED><DATE>10/3/2002</DATE><TIME>14:42:42</TIME></CREATED>
  9730. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9731. </TEMPLATE>
  9732. <TEMPLATE>
  9733. <NAME>CreateAlterKeys</NAME>
  9734. <ID>46</ID>
  9735. <GUID>{BA002421-37AC-482C-824E-194D0A363D33}</GUID>
  9736. <CAPTION></CAPTION>
  9737. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9738. <ENABLED>1</ENABLED>
  9739. <LEVEL>2</LEVEL>
  9740. <IDPARENT>0</IDPARENT>
  9741. <VALUE><![CDATA[@fortable("","",macro(CreateAlterKey),"","")
  9742. ]]></VALUE>
  9743. <LANGUAGE>0</LANGUAGE>
  9744. <LANGUAGEWIN>---</LANGUAGEWIN>
  9745. <CATEGORY>2</CATEGORY>
  9746. <MAINSCRIPT>0</MAINSCRIPT>
  9747. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9748. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9749. <AUTHOR></AUTHOR>
  9750. <COMPANY></COMPANY>
  9751. <VERSION></VERSION>
  9752. <CREATED><DATE>10/3/2002</DATE><TIME>14:45:10</TIME></CREATED>
  9753. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9754. </TEMPLATE>
  9755. <TEMPLATE>
  9756. <NAME>DropTables</NAME>
  9757. <ID>47</ID>
  9758. <GUID>{71D51C35-AD7A-405E-A607-A3610A4991FE}</GUID>
  9759. <CAPTION></CAPTION>
  9760. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9761. <ENABLED>1</ENABLED>
  9762. <LEVEL>2</LEVEL>
  9763. <IDPARENT>0</IDPARENT>
  9764. <VALUE><![CDATA[@ForTableR("", "", "Drop Table %qt%%tablename%%qt%;%cr%", "", "" )
  9765. ]]></VALUE>
  9766. <LANGUAGE>0</LANGUAGE>
  9767. <LANGUAGEWIN>---</LANGUAGEWIN>
  9768. <CATEGORY>2</CATEGORY>
  9769. <MAINSCRIPT>0</MAINSCRIPT>
  9770. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  9771. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  9772. <AUTHOR></AUTHOR>
  9773. <COMPANY></COMPANY>
  9774. <VERSION></VERSION>
  9775. <CREATED><DATE>10/3/2002</DATE><TIME>16:46:11</TIME></CREATED>
  9776. <MODIFIED><DATE>10/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  9777. </TEMPLATE>
  9778. </TEMPLATES>
  9779. <VARIABLES><![CDATA[ldomainSupp  1
  9780. lAtrCheckConstraintSupp 1
  9781. lAlterKeySupp 1
  9782. lProceduresSupp 1
  9783. lViewsSupp 1
  9784. lConstraintPkSupp 1
  9785. lConstraintFkSupp 1
  9786. lAtrUniqueConstraintSupp 1
  9787. lPermissUserToRoleSupp 1
  9788. lPermissUserToObjectSupp 1
  9789. lPermissRoleToObjectSupp 1
  9790. lRoleSupp 1
  9791. lUserTypeAttrSupp 1
  9792. lUserTypeDomainSupp 1
  9793. lDriParUpdRestrict 1
  9794. lDriParUpdCascade 1
  9795. lDriParUpdSetNull 1
  9796. lDriParUpdSetDefault 1
  9797. lDriParDelRestrict 1
  9798. lDriParDelCascade 1
  9799. lDriParDelSetNull 1
  9800. lDriParDelSetDefault 1
  9801. lDriChildInsRestrict 0
  9802. lDriChildUpdRestrict 0
  9803. lDriParUpdRestrictSupp 1
  9804. lDriParUpdCascadeSupp 1
  9805. lDriParUpdSetNullSupp 1
  9806. lDriParUpdSetDefaultSupp 1
  9807. lDriParDelRestrictSupp 1
  9808. lDriParDelCascadeSupp 1
  9809. lDriParDelSetNullSupp 1
  9810. lDriParDelSetDefaultSupp 1
  9811. lDriChildInsRestrictSupp 0
  9812. lDriChildUpdRestrictSupp 0
  9813. lIndexDescendSupp 1
  9814. lIndexItDescendSupp 0
  9815. lIndexUpperSupp 0
  9816. lIndexExprSupp 0
  9817. lIndexUniqueSupp 1
  9818. lIndexFilterSupp 0
  9819. lIndexStandSupp 1
  9820. lIndexClusterSupp 0
  9821. lIndexNameUnique 1
  9822. lPkSupp 1
  9823. lPkNotNull 1
  9824. lDRISupp 1
  9825. lTriggerSupp 1
  9826. lAtrUniqueSupp 1
  9827. lAtrNotNullSupp 1
  9828. lAtrCheckSupp 1
  9829. lAtrDefaultSupp 1
  9830. ldomainSupp  1
  9831. lAtrCheckConstraintSupp 1
  9832. lAlterKeySupp 1
  9833. lProceduresSupp 1
  9834. lViewsSupp 1
  9835. lConstraintPkSupp 1
  9836. lConstraintFkSupp 1
  9837. lAtrUniqueConstraintSupp 1
  9838. lPermissUserToRoleSupp 1
  9839. lPermissUserToObjectSupp 1
  9840. lPermissRoleToObjectSupp 1
  9841. lRoleSupp 1
  9842. lUserTypeAttrSupp 1
  9843. lUserTypeDomainSupp 1
  9844. ]]></VARIABLES>
  9845. <USEREDITS>
  9846. <USEREDIT>
  9847. <NAME>lQuotations</NAME>
  9848. <ID>1</ID>
  9849. <GUID>{71EF315F-7E5D-43D8-A2B0-3889B2559B97}</GUID>
  9850. <CAPTION>Use Quotations</CAPTION>
  9851. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9852. <TYPE>1</TYPE>
  9853. <LEVEL>1</LEVEL>
  9854. <DEFAULT>1</DEFAULT>
  9855. <ORD>0</ORD>
  9856. <LENGTH>0</LENGTH>
  9857. <ENABLED>1</ENABLED>
  9858. <ITEMS></ITEMS>
  9859. </USEREDIT>
  9860. <USEREDIT>
  9861. <NAME>lGeneratorsGener</NAME>
  9862. <ID>2</ID>
  9863. <GUID>{C5130AB4-0D5C-4D1F-BB5B-F197C2143D0A}</GUID>
  9864. <CAPTION>Generate generators</CAPTION>
  9865. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9866. <TYPE>1</TYPE>
  9867. <LEVEL>1</LEVEL>
  9868. <DEFAULT>0</DEFAULT>
  9869. <ORD>120</ORD>
  9870. <LENGTH>0</LENGTH>
  9871. <ENABLED>1</ENABLED>
  9872. <ITEMS></ITEMS>
  9873. </USEREDIT>
  9874. <USEREDIT>
  9875. <NAME>lDropGeneratorsGener</NAME>
  9876. <ID>3</ID>
  9877. <GUID>{1E7F2A55-8441-4682-8AA4-2500EC4265C2}</GUID>
  9878. <CAPTION>Drop generators</CAPTION>
  9879. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9880. <TYPE>1</TYPE>
  9881. <LEVEL>1</LEVEL>
  9882. <DEFAULT>0</DEFAULT>
  9883. <ORD>220</ORD>
  9884. <LENGTH>0</LENGTH>
  9885. <ENABLED>1</ENABLED>
  9886. <ITEMS></ITEMS>
  9887. </USEREDIT>
  9888. <USEREDIT>
  9889. <NAME>lExceptionsTriggerGener</NAME>
  9890. <ID>4</ID>
  9891. <GUID>{2305D1D7-AE5D-4F23-9C52-A51028FF694F}</GUID>
  9892. <CAPTION>Generate exceptions for triggers for RI</CAPTION>
  9893. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9894. <TYPE>1</TYPE>
  9895. <LEVEL>1</LEVEL>
  9896. <DEFAULT>1</DEFAULT>
  9897. <ORD>115</ORD>
  9898. <LENGTH>0</LENGTH>
  9899. <ENABLED>1</ENABLED>
  9900. <ITEMS></ITEMS>
  9901. </USEREDIT>
  9902. <USEREDIT>
  9903. <NAME>lDropExceptionsTriggerGener</NAME>
  9904. <ID>5</ID>
  9905. <GUID>{3B83B9A0-2994-4009-84F7-0C91D088E9B0}</GUID>
  9906. <CAPTION>Drop exceptions for triggers for RI</CAPTION>
  9907. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9908. <TYPE>1</TYPE>
  9909. <LEVEL>1</LEVEL>
  9910. <DEFAULT>0</DEFAULT>
  9911. <ORD>215</ORD>
  9912. <LENGTH>0</LENGTH>
  9913. <ENABLED>1</ENABLED>
  9914. <ITEMS></ITEMS>
  9915. </USEREDIT>
  9916. <USEREDIT>
  9917. <NAME>lExceptionsGener</NAME>
  9918. <ID>6</ID>
  9919. <GUID>{34027A15-2B99-49F1-98D8-6015941B6F49}</GUID>
  9920. <CAPTION>Generate exceptions</CAPTION>
  9921. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9922. <TYPE>1</TYPE>
  9923. <LEVEL>1</LEVEL>
  9924. <DEFAULT>0</DEFAULT>
  9925. <ORD>110</ORD>
  9926. <LENGTH>0</LENGTH>
  9927. <ENABLED>1</ENABLED>
  9928. <ITEMS></ITEMS>
  9929. </USEREDIT>
  9930. <USEREDIT>
  9931. <NAME>lDropExceptionsGener</NAME>
  9932. <ID>7</ID>
  9933. <GUID>{DB971715-6695-4C78-9734-364EF5C03EE6}</GUID>
  9934. <CAPTION>Drop exceptions</CAPTION>
  9935. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9936. <TYPE>1</TYPE>
  9937. <LEVEL>1</LEVEL>
  9938. <DEFAULT>0</DEFAULT>
  9939. <ORD>210</ORD>
  9940. <LENGTH>0</LENGTH>
  9941. <ENABLED>1</ENABLED>
  9942. <ITEMS></ITEMS>
  9943. </USEREDIT>
  9944. <USEREDIT>
  9945. <NAME>cExternalFile</NAME>
  9946. <ID>8</ID>
  9947. <GUID>{4582C68F-6C14-4748-9BCC-43ECF9255EA4}</GUID>
  9948. <CAPTION>External File</CAPTION>
  9949. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  9950. <TYPE>0</TYPE>
  9951. <LEVEL>2</LEVEL>
  9952. <DEFAULT></DEFAULT>
  9953. <ORD>10</ORD>
  9954. <LENGTH>0</LENGTH>
  9955. <ENABLED>1</ENABLED>
  9956. <ITEMS></ITEMS>
  9957. </USEREDIT>
  9958. </USEREDITS>
  9959. <TYPELIST>
  9960. <TYPE>
  9961. <NAME>Char</NAME>
  9962. <ID>10</ID>
  9963. <GUID>{9DDE64A4-D3C8-403D-AB4F-17BFCE9D3B61}</GUID>
  9964. <PHNAME>Char</PHNAME>
  9965. <LLENGTH>1</LLENGTH>
  9966. <LDECIMAL>0</LDECIMAL>
  9967. <MAXLENGTH>32767</MAXLENGTH>
  9968. <MINLENGTH>1</MINLENGTH>
  9969. <MAXDECIMAL>0</MAXDECIMAL>
  9970. <MINDECIMAL>0</MINDECIMAL>
  9971. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  9972. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  9973. <TRANSFORMCODE>A</TRANSFORMCODE>
  9974. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  9975. <EXPORTTO>0</EXPORTTO>
  9976. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  9977. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  9978. </TYPE>
  9979. <TYPE>
  9980. <NAME>NChar</NAME>
  9981. <ID>15</ID>
  9982. <GUID>{D3D1D6D6-0734-4AFF-B6F7-02050E0ECC0E}</GUID>
  9983. <PHNAME>NChar</PHNAME>
  9984. <LLENGTH>1</LLENGTH>
  9985. <LDECIMAL>0</LDECIMAL>
  9986. <MAXLENGTH>32767</MAXLENGTH>
  9987. <MINLENGTH>1</MINLENGTH>
  9988. <MAXDECIMAL>0</MAXDECIMAL>
  9989. <MINDECIMAL>0</MINDECIMAL>
  9990. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  9991. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  9992. <TRANSFORMCODE>NA</TRANSFORMCODE>
  9993. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  9994. <EXPORTTO>0</EXPORTTO>
  9995. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  9996. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  9997. </TYPE>
  9998. <TYPE>
  9999. <NAME>Varchar</NAME>
  10000. <ID>20</ID>
  10001. <GUID>{7027D851-A89D-405A-B036-026F91D38C6C}</GUID>
  10002. <PHNAME>Varchar</PHNAME>
  10003. <LLENGTH>1</LLENGTH>
  10004. <LDECIMAL>0</LDECIMAL>
  10005. <MAXLENGTH>32767</MAXLENGTH>
  10006. <MINLENGTH>1</MINLENGTH>
  10007. <MAXDECIMAL>0</MAXDECIMAL>
  10008. <MINDECIMAL>0</MINDECIMAL>
  10009. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  10010. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10011. <TRANSFORMCODE>VA</TRANSFORMCODE>
  10012. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  10013. <EXPORTTO>0</EXPORTTO>
  10014. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10015. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10016. </TYPE>
  10017. <TYPE>
  10018. <NAME>NChar Varying</NAME>
  10019. <ID>25</ID>
  10020. <GUID>{DD729534-2FC9-49B4-828A-E292AB7FA30F}</GUID>
  10021. <PHNAME>NChar Varying</PHNAME>
  10022. <LLENGTH>1</LLENGTH>
  10023. <LDECIMAL>0</LDECIMAL>
  10024. <MAXLENGTH>32767</MAXLENGTH>
  10025. <MINLENGTH>1</MINLENGTH>
  10026. <MAXDECIMAL>0</MAXDECIMAL>
  10027. <MINDECIMAL>0</MINDECIMAL>
  10028. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  10029. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10030. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  10031. <TRANSFORMTO>NVA;VA;LVA;A;LA;</TRANSFORMTO>
  10032. <EXPORTTO>0</EXPORTTO>
  10033. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10034. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10035. </TYPE>
  10036. <TYPE>
  10037. <NAME>Smallint</NAME>
  10038. <ID>30</ID>
  10039. <GUID>{5C56CE34-D5E7-46A3-9F43-1D421A20F7F7}</GUID>
  10040. <PHNAME>Smallint</PHNAME>
  10041. <LLENGTH>0</LLENGTH>
  10042. <LDECIMAL>0</LDECIMAL>
  10043. <MAXLENGTH>0</MAXLENGTH>
  10044. <MINLENGTH>0</MINLENGTH>
  10045. <MAXDECIMAL>0</MAXDECIMAL>
  10046. <MINDECIMAL>0</MINDECIMAL>
  10047. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10048. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10049. <TRANSFORMCODE>SI</TRANSFORMCODE>
  10050. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  10051. <EXPORTTO>0</EXPORTTO>
  10052. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10053. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10054. </TYPE>
  10055. <TYPE>
  10056. <NAME>Integer</NAME>
  10057. <ID>40</ID>
  10058. <GUID>{0C59B850-3439-469C-AF36-20244A66A533}</GUID>
  10059. <PHNAME>Integer</PHNAME>
  10060. <LLENGTH>0</LLENGTH>
  10061. <LDECIMAL>0</LDECIMAL>
  10062. <MAXLENGTH>0</MAXLENGTH>
  10063. <MINLENGTH>0</MINLENGTH>
  10064. <MAXDECIMAL>0</MAXDECIMAL>
  10065. <MINDECIMAL>0</MINDECIMAL>
  10066. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10067. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10068. <TRANSFORMCODE>I</TRANSFORMCODE>
  10069. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  10070. <EXPORTTO>0</EXPORTTO>
  10071. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10072. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10073. </TYPE>
  10074. <TYPE>
  10075. <NAME>Float</NAME>
  10076. <ID>50</ID>
  10077. <GUID>{41E12DDA-46AF-4D6F-BFF4-840DBE55C49D}</GUID>
  10078. <PHNAME>Float</PHNAME>
  10079. <LLENGTH>0</LLENGTH>
  10080. <LDECIMAL>0</LDECIMAL>
  10081. <MAXLENGTH>0</MAXLENGTH>
  10082. <MINLENGTH>0</MINLENGTH>
  10083. <MAXDECIMAL>0</MAXDECIMAL>
  10084. <MINDECIMAL>0</MINDECIMAL>
  10085. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10086. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10087. <TRANSFORMCODE>F</TRANSFORMCODE>
  10088. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  10089. <EXPORTTO>0</EXPORTTO>
  10090. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10091. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10092. </TYPE>
  10093. <TYPE>
  10094. <NAME>Double precision</NAME>
  10095. <ID>60</ID>
  10096. <GUID>{324508E7-BC88-4CAB-828C-29AE6E3C1A73}</GUID>
  10097. <PHNAME>Double precision</PHNAME>
  10098. <LLENGTH>0</LLENGTH>
  10099. <LDECIMAL>0</LDECIMAL>
  10100. <MAXLENGTH>0</MAXLENGTH>
  10101. <MINLENGTH>0</MINLENGTH>
  10102. <MAXDECIMAL>0</MAXDECIMAL>
  10103. <MINDECIMAL>0</MINDECIMAL>
  10104. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10105. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10106. <TRANSFORMCODE>LF</TRANSFORMCODE>
  10107. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  10108. <EXPORTTO>0</EXPORTTO>
  10109. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10110. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10111. </TYPE>
  10112. <TYPE>
  10113. <NAME>Date</NAME>
  10114. <ID>70</ID>
  10115. <GUID>{4201C92F-29A2-4C8D-905F-13B4D2E98379}</GUID>
  10116. <PHNAME>Date</PHNAME>
  10117. <LLENGTH>0</LLENGTH>
  10118. <LDECIMAL>0</LDECIMAL>
  10119. <MAXLENGTH>0</MAXLENGTH>
  10120. <MINLENGTH>0</MINLENGTH>
  10121. <MAXDECIMAL>0</MAXDECIMAL>
  10122. <MINDECIMAL>0</MINDECIMAL>
  10123. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10124. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10125. <TRANSFORMCODE>D</TRANSFORMCODE>
  10126. <TRANSFORMTO>D;DT;TS;</TRANSFORMTO>
  10127. <EXPORTTO>0</EXPORTTO>
  10128. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10129. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10130. </TYPE>
  10131. <TYPE>
  10132. <NAME>Time</NAME>
  10133. <ID>73</ID>
  10134. <GUID>{C7BFC8D5-AAF3-428D-B49C-9F9673133B02}</GUID>
  10135. <PHNAME>Time</PHNAME>
  10136. <LLENGTH>0</LLENGTH>
  10137. <LDECIMAL>0</LDECIMAL>
  10138. <MAXLENGTH>0</MAXLENGTH>
  10139. <MINLENGTH>0</MINLENGTH>
  10140. <MAXDECIMAL>0</MAXDECIMAL>
  10141. <MINDECIMAL>0</MINDECIMAL>
  10142. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10143. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10144. <TRANSFORMCODE>T</TRANSFORMCODE>
  10145. <TRANSFORMTO>T;DT;TS;</TRANSFORMTO>
  10146. <EXPORTTO>0</EXPORTTO>
  10147. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10148. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10149. </TYPE>
  10150. <TYPE>
  10151. <NAME>Timestamp</NAME>
  10152. <ID>76</ID>
  10153. <GUID>{87E153BA-342B-4854-A81E-45D689621B6D}</GUID>
  10154. <PHNAME>Timestamp</PHNAME>
  10155. <LLENGTH>0</LLENGTH>
  10156. <LDECIMAL>0</LDECIMAL>
  10157. <MAXLENGTH>0</MAXLENGTH>
  10158. <MINLENGTH>0</MINLENGTH>
  10159. <MAXDECIMAL>0</MAXDECIMAL>
  10160. <MINDECIMAL>0</MINDECIMAL>
  10161. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10162. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10163. <TRANSFORMCODE>DT</TRANSFORMCODE>
  10164. <TRANSFORMTO>DT;D;TS;</TRANSFORMTO>
  10165. <EXPORTTO>0</EXPORTTO>
  10166. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10167. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10168. </TYPE>
  10169. <TYPE>
  10170. <NAME>Blob</NAME>
  10171. <ID>80</ID>
  10172. <GUID>{2099A15E-EE57-42A2-8419-2E3EB3B569F7}</GUID>
  10173. <PHNAME>Blob</PHNAME>
  10174. <LLENGTH>1</LLENGTH>
  10175. <LDECIMAL>1</LDECIMAL>
  10176. <MAXLENGTH>65535</MAXLENGTH>
  10177. <MINLENGTH>1</MINLENGTH>
  10178. <MAXDECIMAL>2</MAXDECIMAL>
  10179. <MINDECIMAL>-100</MINDECIMAL>
  10180. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  10181. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  10182. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  10183. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  10184. <EXPORTTO>0</EXPORTTO>
  10185. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10186. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10187. </TYPE>
  10188. <TYPE>
  10189. <NAME>Decimal</NAME>
  10190. <ID>90</ID>
  10191. <GUID>{0FA00E01-75D0-42EC-A091-41798C0B5A8C}</GUID>
  10192. <PHNAME>Decimal</PHNAME>
  10193. <LLENGTH>1</LLENGTH>
  10194. <LDECIMAL>1</LDECIMAL>
  10195. <MAXLENGTH>18</MAXLENGTH>
  10196. <MINLENGTH>1</MINLENGTH>
  10197. <MAXDECIMAL>18</MAXDECIMAL>
  10198. <MINDECIMAL>0</MINDECIMAL>
  10199. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  10200. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10201. <TRANSFORMCODE>DC</TRANSFORMCODE>
  10202. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  10203. <EXPORTTO>0</EXPORTTO>
  10204. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10205. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10206. </TYPE>
  10207. <TYPE>
  10208. <NAME>Numeric</NAME>
  10209. <ID>100</ID>
  10210. <GUID>{AE0F7568-A0F0-4BB1-A7D2-456A6B635B1A}</GUID>
  10211. <PHNAME>Numeric</PHNAME>
  10212. <LLENGTH>1</LLENGTH>
  10213. <LDECIMAL>1</LDECIMAL>
  10214. <MAXLENGTH>18</MAXLENGTH>
  10215. <MINLENGTH>1</MINLENGTH>
  10216. <MAXDECIMAL>18</MAXDECIMAL>
  10217. <MINDECIMAL>0</MINDECIMAL>
  10218. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  10219. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10220. <TRANSFORMCODE>N</TRANSFORMCODE>
  10221. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  10222. <EXPORTTO>0</EXPORTTO>
  10223. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10224. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10225. </TYPE>
  10226. <TYPE>
  10227. <NAME>Empty</NAME>
  10228. <ID>200</ID>
  10229. <GUID>{E54BA5CB-5D8C-4621-AC3B-CAECE7530A0A}</GUID>
  10230. <PHNAME></PHNAME>
  10231. <LLENGTH>0</LLENGTH>
  10232. <LDECIMAL>0</LDECIMAL>
  10233. <MAXLENGTH>0</MAXLENGTH>
  10234. <MINLENGTH>0</MINLENGTH>
  10235. <MAXDECIMAL>0</MAXDECIMAL>
  10236. <MINDECIMAL>0</MINDECIMAL>
  10237. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  10238. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  10239. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  10240. <TRANSFORMTO>EMP;</TRANSFORMTO>
  10241. <EXPORTTO>0</EXPORTTO>
  10242. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  10243. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  10244. </TYPE>
  10245. </TYPELIST>
  10246. <TEXTOBJECTTYPES>
  10247. <TEXTOBJECTTYPE>
  10248. <NAME>Exceptions</NAME>
  10249. <ID>1</ID>
  10250. <GUID>{2A09FCC4-4CBB-4A40-98F7-CE623EC72AF7}</GUID>
  10251. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  10252. <DEFAULTNAME>Exception%d</DEFAULTNAME>
  10253. </TEXTOBJECTTYPE>
  10254. <TEXTOBJECTTYPE>
  10255. <NAME>Generators</NAME>
  10256. <ID>2</ID>
  10257. <GUID>{41141297-8E43-4BB9-865C-40D0E5E65E92}</GUID>
  10258. <TEXTOBJECTTYPE>30</TEXTOBJECTTYPE>
  10259. <DEFAULTNAME>Generator%d</DEFAULTNAME>
  10260. </TEXTOBJECTTYPE>
  10261. </TEXTOBJECTTYPES>
  10262. <DISABLED>0</DISABLED>
  10263. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  10264. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  10265. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  10266. <DEFAULTCHAR>_</DEFAULTCHAR>
  10267. <INVALIDCHARACTERS>!"#%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  10268. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  10269. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  10270. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  10271. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  10272. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10273. <KEYWORDS><![CDATA[ACTION
  10274. ACTIVE
  10275. ADD
  10276. ADMIN
  10277. AFTER
  10278. ALL
  10279. ALTER
  10280. AND
  10281. ANY
  10282. AS
  10283. ASC
  10284. ASCENDING
  10285. AT
  10286. AUTO
  10287. AUTODDL
  10288. AVG
  10289. BASED
  10290. BASENAME
  10291. BASE_NAME
  10292. BEFORE
  10293. BEGIN
  10294. BETWEEN
  10295. BLOB
  10296. BLOBEDIT
  10297. BUFFER
  10298. BY
  10299. CACHE
  10300. CASCADE
  10301. CAST
  10302. CHAR
  10303. CHARACTER
  10304. CHARACTER_LENGTH
  10305. CHAR_LENGTH
  10306. CHECK
  10307. CHECK_POINT_LEN
  10308. CHECK_POINT_LENGTH
  10309. COLLATE
  10310. COLLATION
  10311. COLUMN
  10312. COMMIT
  10313. COMMITTED
  10314. COMPILETIME
  10315. COMPUTED
  10316. CLOSE
  10317. CONDITIONAL
  10318. CONNECT
  10319. CONSTRAINT
  10320. CONTAINING
  10321. CONTINUE
  10322. COUNT
  10323. CREATE
  10324. CSTRING
  10325. CURRENT
  10326. CURSOR
  10327. DATABASE
  10328. DATE
  10329. DB_KEY
  10330. DEBUG
  10331. DEC
  10332. DECIMAL
  10333. DECLARE
  10334. DEFAULT
  10335. DELETE
  10336. DESC
  10337. DESCENDING
  10338. DESCRIBE
  10339. DESCRIPTOR
  10340. DISCONNECT
  10341. DISPLAY
  10342. DISTINCT
  10343. DO
  10344. DOMAIN
  10345. DOUBLE
  10346. DROP
  10347. ECHO
  10348. EDIT
  10349. ELSE
  10350. END
  10351. ENTRY_POINT
  10352. ESCAPE
  10353. EVENT
  10354. EXCEPTION
  10355. EXECUTE
  10356. EXISTS
  10357. EXIT
  10358. EXTERN
  10359. EXTERNAL
  10360. EXTRACT
  10361. FETCH
  10362. FILE
  10363. FILTER
  10364. FLOAT
  10365. FOR
  10366. FOREIGN
  10367. FOUND
  10368. FREE_IT
  10369. FROM
  10370. FULL
  10371. FUNCTION
  10372. GDSCODE
  10373. GENERATOR
  10374. GEN_ID
  10375. GLOBAL
  10376. GOTO
  10377. GRANT
  10378. GROUP
  10379. GROUP_COMMIT_WAIT
  10380. GROUP_COMMIT_WAIT_TIME
  10381. HAVING HELP
  10382. IF
  10383. IMMEDIATE
  10384. IN
  10385. INACTIVE
  10386. INDEX
  10387. INDICATOR
  10388. INIT
  10389. INNER
  10390. INPUT
  10391. INPUT_TYPE
  10392. INSERT
  10393. INT
  10394. INTEGER
  10395. INTO
  10396. IS
  10397. ISOLATION
  10398. ISQL
  10399. JOIN
  10400. KEY
  10401. LC_MESSAGES
  10402. LC_TYPE
  10403. LEFT
  10404. LENGTH LEV
  10405. LEVEL
  10406. LIKE
  10407. LOGFILE
  10408. LOG_BUFFER_SIZE
  10409. LOG_BUF_SIZE
  10410. LONG
  10411. MANUAL
  10412. MAX
  10413. MAXIMUM
  10414. MAXIMUM_SEGMENT
  10415. MAX_SEGMENT
  10416. MERGE
  10417. MESSAGE
  10418. MIN
  10419. MINIMUM
  10420. MODULE_NAME
  10421. NAMES
  10422. NATIONAL
  10423. NATURAL
  10424. NCHAR
  10425. NO
  10426. NOAUTO
  10427. NOT
  10428. NULL
  10429. NUMERIC
  10430. NUM_LOG_BUFS
  10431. NUM_LOG_BUFFERS
  10432. OCTET_LENGTH
  10433. OF
  10434. ON
  10435. ONLY
  10436. OPEN
  10437. OPTION
  10438. OR
  10439. ORDER
  10440. OUTER
  10441. OUTPUT
  10442. OUTPUT_TYPE
  10443. OVERFLOW
  10444. PAGE
  10445. PAGELENGTH
  10446. PAGES
  10447. PAGE_SIZE
  10448. PARAMETER
  10449. PASSWORD
  10450. PLAN
  10451. POSITION
  10452. POST_EVENT
  10453. PRECISION
  10454. PREPARE
  10455. PROCEDURE
  10456. PROTECTED
  10457. PRIMARY
  10458. PRIVILEGES
  10459. PUBLIC
  10460. QUIT
  10461. RAW_PARTITIONS
  10462. RDB$DB_KEY
  10463. READ
  10464. REAL
  10465. RECORD_VERSION
  10466. REFERENCES
  10467. RELEASE
  10468. RESERV
  10469. RESERVING
  10470. RESTRICT
  10471. RETAIN
  10472. RETURN
  10473. RETURNING_VALUES
  10474. RETURNS
  10475. REVOKE
  10476. RIGHT
  10477. ROLE
  10478. ROLLBACK
  10479. RUNTIME
  10480. SCHEMA
  10481. SEGMENT
  10482. SELECT
  10483. SET
  10484. SHADOW
  10485. SHARED
  10486. SHELL
  10487. SHOW
  10488. SINGULAR
  10489. INTERBASE
  10490. KEYWORDS
  10491. SIZE
  10492. SMALLINT
  10493. SNAPSHOT
  10494. SOME
  10495. SORT
  10496. SQL
  10497. SQLCODE
  10498. SQLERROR
  10499. SQLWARNING
  10500. STABILITY
  10501. STARTING
  10502. STARTS
  10503. STATEMENT
  10504. STATIC
  10505. STATISTICS
  10506. SUB_TYPE
  10507. SUM
  10508. SUSPEND
  10509. TABLE
  10510. TERMINATOR
  10511. THEN
  10512. TO
  10513. TRANSACTION
  10514. TRANSLATE
  10515. TRANSLATION
  10516. TRIGGER
  10517. TRIM
  10518. UNCOMMITTED
  10519. UNION
  10520. UNIQUE
  10521. UPDATE
  10522. UPPER
  10523. USER
  10524. USING
  10525. VALUE
  10526. VALUES
  10527. VARCHAR
  10528. VARIABLE
  10529. VARYING
  10530. VERSION
  10531. VIEW
  10532. WAIT
  10533. WHEN
  10534. WHENEVER
  10535. WHERE
  10536. WHILE
  10537. WITH
  10538. WORK
  10539. WRITE
  10540. ]]></KEYWORDS>
  10541. </SERVER>
  10542. <SERVER>
  10543. <NAME>Informix</NAME>
  10544. <ID>90</ID>
  10545. <GUID>{C2C31293-319C-4291-AAF5-6332786B6C32}</GUID>
  10546. <TEMPLATES>
  10547. <TEMPLATE>
  10548. <NAME>CreateDatabase</NAME>
  10549. <ID>1</ID>
  10550. <GUID>{F3447A11-2953-457B-9B40-2B3393981948}</GUID>
  10551. <CAPTION></CAPTION>
  10552. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10553. <ENABLED>1</ENABLED>
  10554. <LEVEL>2</LEVEL>
  10555. <IDPARENT>0</IDPARENT>
  10556. <VALUE><![CDATA[-- Created            %createddate%
  10557. -- Modified        %modifieddate%
  10558. -- Project            %projectname%
  10559. -- Model            %modelname%
  10560. -- Company        %company%
  10561. -- Author            %authorname%
  10562. -- Version            %version%
  10563. -- Database        %databasetype% 
  10564.  
  10565.  
  10566. {lbeforescript}
  10567. %beforescript%
  10568. {ldroptriggerGener}
  10569. @showmessage("Drop triggers")
  10570. @template(droptriggers)
  10571. {lDropIndexGener}
  10572. @template(DropIndexs)
  10573. {lDropTableGener}
  10574. @showmessage("Drop tables")
  10575. @template(DropRefIntegritys)
  10576. @template(droptables)
  10577. {lTableGener}
  10578. @showmessage("Create tables")
  10579. @template(createtables)
  10580. {lEntityOthers}
  10581. @showmessage("Create tab 'Others' for selected tables")
  10582. @template(CreateTableOthers)
  10583. {lalterkeysgener}
  10584. @template(CreateAlterKeys)
  10585. {lIndexGener}
  10586. @showmessage("Create indexes")
  10587. @template(createindexs)
  10588. {lRefIntegGener}
  10589. @template(refintegritys)
  10590. {lTriggersGener}
  10591. @template(createtriggers)
  10592. {lProceduresGener}
  10593. @template(CreateProcedures)
  10594. {lViewsGener}
  10595. @template(CreateViews)
  10596. {lTriggersUserGener}
  10597. @showmessage("Create user-defined triggers")
  10598. @template(CreateTriggersList)
  10599. {lRoleGener}
  10600. @showmessage("Roles")
  10601. @template(CreateRole)
  10602. {lUserToRoleGener}
  10603. @ShowMessage("Users permissions to roles")
  10604. @template(GrantUserToRole)
  10605. {lRolePermissGener}
  10606. @ShowMessage("Roles permissions")
  10607. @template(CreateRolePermiss)
  10608. {lUserPermissGener}
  10609. @ShowMessage("Users permissions")
  10610. @template(CreateUserPermiss)
  10611. {lafterscript}
  10612. %afterscript%
  10613. {true}
  10614. @template(UserTempl)
  10615.  
  10616. ]]></VALUE>
  10617. <LANGUAGE>0</LANGUAGE>
  10618. <LANGUAGEWIN>---</LANGUAGEWIN>
  10619. <CATEGORY>2</CATEGORY>
  10620. <MAINSCRIPT>0</MAINSCRIPT>
  10621. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10622. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10623. <AUTHOR></AUTHOR>
  10624. <COMPANY></COMPANY>
  10625. <VERSION></VERSION>
  10626. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10627. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  10628. </TEMPLATE>
  10629. <TEMPLATE>
  10630. <NAME>CREATETABLE</NAME>
  10631. <ID>2</ID>
  10632. <GUID>{2CB42415-C790-4BCD-A97B-CD2FBA8C3DF8}</GUID>
  10633. <CAPTION></CAPTION>
  10634. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10635. <ENABLED>1</ENABLED>
  10636. <LEVEL>2</LEVEL>
  10637. <IDPARENT>0</IDPARENT>
  10638. <VALUE><![CDATA[cr+
  10639. "Create table %tablename% ("+
  10640. forcol("", "", cr+tb+ macro(CreateAtrib) ,",", "")+
  10641. if(existpk and lPkGener, ",%cr%"+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+ if(lPkAsConstraint," Constraint %ConstraintPkName%","")+cr) , cr )+
  10642. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  10643. ]]></VALUE>
  10644. <LANGUAGE>0</LANGUAGE>
  10645. <LANGUAGEWIN>---</LANGUAGEWIN>
  10646. <CATEGORY>2</CATEGORY>
  10647. <MAINSCRIPT>0</MAINSCRIPT>
  10648. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10649. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10650. <AUTHOR></AUTHOR>
  10651. <COMPANY></COMPANY>
  10652. <VERSION></VERSION>
  10653. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10654. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10655. </TEMPLATE>
  10656. <TEMPLATE>
  10657. <NAME>CREATEINDEX</NAME>
  10658. <ID>3</ID>
  10659. <GUID>{329309A6-594B-4086-B697-A328DC7E6AF0}</GUID>
  10660. <CAPTION></CAPTION>
  10661. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10662. <ENABLED>1</ENABLED>
  10663. <LEVEL>2</LEVEL>
  10664. <IDPARENT>0</IDPARENT>
  10665. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  10666. +if(clustered,"CLUSTER ","")
  10667. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  10668. +ShowMessage("Index %Indexname% for table %tablename%")
  10669. ]]></VALUE>
  10670. <LANGUAGE>0</LANGUAGE>
  10671. <LANGUAGEWIN>---</LANGUAGEWIN>
  10672. <CATEGORY>2</CATEGORY>
  10673. <MAINSCRIPT>0</MAINSCRIPT>
  10674. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10675. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10676. <AUTHOR></AUTHOR>
  10677. <COMPANY></COMPANY>
  10678. <VERSION></VERSION>
  10679. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10680. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10681. </TEMPLATE>
  10682. <TEMPLATE>
  10683. <NAME>DROPINDEXS</NAME>
  10684. <ID>4</ID>
  10685. <GUID>{6AC1C0D9-64DF-417F-938A-673662E35241}</GUID>
  10686. <CAPTION></CAPTION>
  10687. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10688. <ENABLED>1</ENABLED>
  10689. <LEVEL>2</LEVEL>
  10690. <IDPARENT>0</IDPARENT>
  10691. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  10692. ]]></VALUE>
  10693. <LANGUAGE>0</LANGUAGE>
  10694. <LANGUAGEWIN>---</LANGUAGEWIN>
  10695. <CATEGORY>2</CATEGORY>
  10696. <MAINSCRIPT>0</MAINSCRIPT>
  10697. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10698. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10699. <AUTHOR></AUTHOR>
  10700. <COMPANY></COMPANY>
  10701. <VERSION></VERSION>
  10702. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10703. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10704. </TEMPLATE>
  10705. <TEMPLATE>
  10706. <NAME>CREATETRIGGERS</NAME>
  10707. <ID>5</ID>
  10708. <GUID>{37E97967-0DCC-4834-8A26-3BCD5E2C550B}</GUID>
  10709. <CAPTION></CAPTION>
  10710. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10711. <ENABLED>1</ENABLED>
  10712. <LEVEL>2</LEVEL>
  10713. <IDPARENT>0</IDPARENT>
  10714. <VALUE><![CDATA[create procedure RaiseEx(errNum int, errMsg char(255))
  10715.     raise exception errNum,0,errMsg;
  10716. end procedure;
  10717.  
  10718. @fortable("", "", template(createtriggerupdate), "", "")
  10719. @fortable("", "", template(createtriggerdelete), "", "")
  10720. @fortable("", "", template(createtriggerinsert), "", "")
  10721. ]]></VALUE>
  10722. <LANGUAGE>0</LANGUAGE>
  10723. <LANGUAGEWIN>---</LANGUAGEWIN>
  10724. <CATEGORY>2</CATEGORY>
  10725. <MAINSCRIPT>0</MAINSCRIPT>
  10726. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10727. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10728. <AUTHOR></AUTHOR>
  10729. <COMPANY></COMPANY>
  10730. <VERSION></VERSION>
  10731. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10732. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10733. </TEMPLATE>
  10734. <TEMPLATE>
  10735. <NAME>TRIGGERPARENTUPDATE</NAME>
  10736. <ID>6</ID>
  10737. <GUID>{D7CB51EE-551E-42AF-9F68-43E5CCAE8AB2}</GUID>
  10738. <CAPTION></CAPTION>
  10739. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10740. <ENABLED>1</ENABLED>
  10741. <LEVEL>2</LEVEL>
  10742. <IDPARENT>0</IDPARENT>
  10743. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  10744. @if(flag1,",","")
  10745. -- cascade child %childtablename% update when parent %parenttablename% changed 
  10746.      (
  10747.     update %childtablename%
  10748.     set @ForRelPk( tb , tb , "%PkChildName% = new_upd.%PkParentName%" , ",%cr%" , "")
  10749.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND %cr%", "") 
  10750.     )
  10751. @setflag(1,true)
  10752.  
  10753. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  10754. @if(flag1,",","")
  10755. -- cascade setnull when parent changed 
  10756.     ( 
  10757.     update %childtablename%
  10758.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  10759.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "")
  10760.     )
  10761. @setflag(1,true)
  10762.  
  10763.  
  10764. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  10765. @if(flag1,",","")
  10766. -- cascade setdefault when parent changed 
  10767.     ( 
  10768.     update %childtablename%
  10769.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %pkChildDefaultValue%" , ",%cr%" , "")
  10770.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "")
  10771.     )
  10772. @setflag(1,true)
  10773.  
  10774.  
  10775. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  10776. @if(flag1,",","")
  10777. -- Restrict child %childtablename%, when parent %parenttablename% changed 
  10778. when (exists(
  10779.     select count( * ) 
  10780.     from %childtablename%
  10781.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = old_upd.%PkParentName%", " AND "+cr+tb+tb, "" )
  10782.     ))
  10783.     ( 
  10784.     execute procedure RaiseEx(-746, 'Children still exist in child table.')
  10785.     )
  10786. @setflag(1,true)
  10787.  
  10788.      
  10789.  
  10790.  
  10791. ]]></VALUE>
  10792. <LANGUAGE>0</LANGUAGE>
  10793. <LANGUAGEWIN>---</LANGUAGEWIN>
  10794. <CATEGORY>2</CATEGORY>
  10795. <MAINSCRIPT>0</MAINSCRIPT>
  10796. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10797. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10798. <AUTHOR></AUTHOR>
  10799. <COMPANY></COMPANY>
  10800. <VERSION></VERSION>
  10801. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10802. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10803. </TEMPLATE>
  10804. <TEMPLATE>
  10805. <NAME>TRIGGERCHILDUPDATE</NAME>
  10806. <ID>7</ID>
  10807. <GUID>{8406896E-ECE2-4AFC-B82E-321828DB3C47}</GUID>
  10808. <CAPTION></CAPTION>
  10809. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10810. <ENABLED>1</ENABLED>
  10811. <LEVEL>2</LEVEL>
  10812. <IDPARENT>0</IDPARENT>
  10813. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  10814. @if(flag1,",","")
  10815. -- restrict parent %ParentTableName% when child %ChildTableName% updated 
  10816. when ( not exists (
  10817.     select count( * ) 
  10818.     from %ParentTableName%
  10819.     where     @forrelpk( "", "", "new_upd.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  10820.     ))
  10821.     (
  10822.     execute procedure RaiseEx(-746,  'Parent does not exist. Cannot update child.')
  10823.     )
  10824. @setflag(1,true)
  10825. ]]></VALUE>
  10826. <LANGUAGE>0</LANGUAGE>
  10827. <LANGUAGEWIN>---</LANGUAGEWIN>
  10828. <CATEGORY>2</CATEGORY>
  10829. <MAINSCRIPT>0</MAINSCRIPT>
  10830. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10831. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10832. <AUTHOR></AUTHOR>
  10833. <COMPANY></COMPANY>
  10834. <VERSION></VERSION>
  10835. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10836. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10837. </TEMPLATE>
  10838. <TEMPLATE>
  10839. <NAME>CREATETRIGGERUPDATE</NAME>
  10840. <ID>8</ID>
  10841. <GUID>{0075F2A3-CF9C-49C1-8CB2-3859FDB98BB4}</GUID>
  10842. <CAPTION></CAPTION>
  10843. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10844. <ENABLED>1</ENABLED>
  10845. <LEVEL>2</LEVEL>
  10846. <IDPARENT>0</IDPARENT>
  10847. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  10848. -- Update trigger for %tablename% 
  10849.  
  10850. CREATE Trigger tu_%tablename% update on  %tablename%
  10851. @showmessage("Trigger for %tablename% ")
  10852. referencing new as new_upd old as old_upd for each row
  10853. @setflag(1,false)
  10854.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  10855.      @forparent("", "", template(triggerchildupdate), "", "" );
  10856. ]]></VALUE>
  10857. <LANGUAGE>0</LANGUAGE>
  10858. <LANGUAGEWIN>---</LANGUAGEWIN>
  10859. <CATEGORY>2</CATEGORY>
  10860. <MAINSCRIPT>0</MAINSCRIPT>
  10861. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10862. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10863. <AUTHOR></AUTHOR>
  10864. <COMPANY></COMPANY>
  10865. <VERSION></VERSION>
  10866. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10867. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10868. </TEMPLATE>
  10869. <TEMPLATE>
  10870. <NAME>CREATETRIGGERINSERT</NAME>
  10871. <ID>9</ID>
  10872. <GUID>{595FDEC6-F530-4392-A9E7-6E390C1FF846}</GUID>
  10873. <CAPTION></CAPTION>
  10874. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10875. <ENABLED>1</ENABLED>
  10876. <LEVEL>2</LEVEL>
  10877. <IDPARENT>0</IDPARENT>
  10878. <VALUE><![CDATA[{lEntChildInsTrig  }
  10879. -- Insert trigger for %tablename% 
  10880.  
  10881. CREATE Trigger ti_%tablename%  insert on %tablename%
  10882. @showmessage("Trigger for %tablename% ")
  10883. referencing new as new_ins for each row
  10884. @setflag(1,false)
  10885. @forparent("", "", template(TriggerParentInsert), "", "");
  10886. ]]></VALUE>
  10887. <LANGUAGE>0</LANGUAGE>
  10888. <LANGUAGEWIN>---</LANGUAGEWIN>
  10889. <CATEGORY>2</CATEGORY>
  10890. <MAINSCRIPT>0</MAINSCRIPT>
  10891. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10892. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10893. <AUTHOR></AUTHOR>
  10894. <COMPANY></COMPANY>
  10895. <VERSION></VERSION>
  10896. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10897. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10898. </TEMPLATE>
  10899. <TEMPLATE>
  10900. <NAME>CREATETRIGGERDELETE</NAME>
  10901. <ID>10</ID>
  10902. <GUID>{583EA02F-5BEA-419A-B9AB-07D4900A8058}</GUID>
  10903. <CAPTION></CAPTION>
  10904. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10905. <ENABLED>1</ENABLED>
  10906. <LEVEL>2</LEVEL>
  10907. <IDPARENT>0</IDPARENT>
  10908. <VALUE><![CDATA[{lEntParDelTrig}
  10909. -- Delete trigger for %tablename% 
  10910.  
  10911. CREATE Trigger td_%tablename% delete on %tablename%
  10912.  @showmessage("Trigger for %tablename% ")
  10913. referencing old as old_del for each row
  10914. @setflag(1,false)
  10915. @forchild( "", "", template(TriggerParentDelete), if(lRelDelTrig  ,",","") , "" ) ;
  10916. ]]></VALUE>
  10917. <LANGUAGE>0</LANGUAGE>
  10918. <LANGUAGEWIN>---</LANGUAGEWIN>
  10919. <CATEGORY>2</CATEGORY>
  10920. <MAINSCRIPT>0</MAINSCRIPT>
  10921. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10922. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10923. <AUTHOR></AUTHOR>
  10924. <COMPANY></COMPANY>
  10925. <VERSION></VERSION>
  10926. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10927. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10928. </TEMPLATE>
  10929. <TEMPLATE>
  10930. <NAME>TRIGGERPARENTDELETE</NAME>
  10931. <ID>11</ID>
  10932. <GUID>{9D7F1FB0-A7CA-4A8A-9CF0-51858D82225E}</GUID>
  10933. <CAPTION></CAPTION>
  10934. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10935. <ENABLED>1</ENABLED>
  10936. <LEVEL>2</LEVEL>
  10937. <IDPARENT>0</IDPARENT>
  10938. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  10939. @if(flag1,",","")
  10940. -- cascade child %childtablename% delete when parent %parenttablename% deleted 
  10941.      (
  10942.     delete from %childtablename%
  10943.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND %cr%", "")
  10944.     )
  10945. @setflag(1,true)
  10946.  
  10947. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  10948. @if(flag1,",","")
  10949. -- cascade setnull when parent deleted 
  10950.      (
  10951.     update %childtablename%
  10952.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  10953.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "")
  10954.     )
  10955. @setflag(1,true)
  10956.  
  10957. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  10958. @if(flag1,",","")
  10959. -- cascade setdefault when parent deleted 
  10960.      (
  10961.     update %childtablename%
  10962.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  10963.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "")
  10964.     )
  10965. @setflag(1,true)
  10966.  
  10967. {ParDelRestrict and (not lParDelRestDekl)} 
  10968. @if(flag1,",","")
  10969. -- Restrict child %childtablename%, when parent %parenttablename% deleted 
  10970. when ( exists (
  10971.     select count( * ) 
  10972.     from %childtablename%
  10973.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% =  old_del.%PkParentName%", " AND "+cr+tb+tb, "" )
  10974.     ))
  10975.     (
  10976.     execute procedure RaiseEx(-746,  'Children still exist in child table. Cannot delete parent')
  10977.     )
  10978. @setflag(1,true)
  10979. ]]></VALUE>
  10980. <LANGUAGE>0</LANGUAGE>
  10981. <LANGUAGEWIN>---</LANGUAGEWIN>
  10982. <CATEGORY>2</CATEGORY>
  10983. <MAINSCRIPT>0</MAINSCRIPT>
  10984. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  10985. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  10986. <AUTHOR></AUTHOR>
  10987. <COMPANY></COMPANY>
  10988. <VERSION></VERSION>
  10989. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  10990. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  10991. </TEMPLATE>
  10992. <TEMPLATE>
  10993. <NAME>TRIGGERPARENTINSERT</NAME>
  10994. <ID>12</ID>
  10995. <GUID>{03903971-B888-4EA1-83A6-4F89582154D6}</GUID>
  10996. <CAPTION></CAPTION>
  10997. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  10998. <ENABLED>1</ENABLED>
  10999. <LEVEL>2</LEVEL>
  11000. <IDPARENT>0</IDPARENT>
  11001. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  11002. @if(flag1,",","")
  11003. -- restrict child %childtablename% when parent %parenttablename% insert 
  11004. when( not exists ( 
  11005.     select count( * ) 
  11006.     from %ParentTableName%
  11007.     where     @forrelpk( "", "", "new_ins.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  11008.     ))
  11009.     (
  11010.     execute procedure RaiseEx(-746,  'Parent does not exist. Cannot insert child.' )
  11011.     )
  11012. @setflag(1,true)
  11013. ]]></VALUE>
  11014. <LANGUAGE>0</LANGUAGE>
  11015. <LANGUAGEWIN>---</LANGUAGEWIN>
  11016. <CATEGORY>2</CATEGORY>
  11017. <MAINSCRIPT>0</MAINSCRIPT>
  11018. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11019. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11020. <AUTHOR></AUTHOR>
  11021. <COMPANY></COMPANY>
  11022. <VERSION></VERSION>
  11023. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11024. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11025. </TEMPLATE>
  11026. <TEMPLATE>
  11027. <NAME>REFINTEGRITY2</NAME>
  11028. <ID>13</ID>
  11029. <GUID>{C593B397-3789-4B92-BAF1-683A91887C87}</GUID>
  11030. <CAPTION></CAPTION>
  11031. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11032. <ENABLED>1</ENABLED>
  11033. <LEVEL>2</LEVEL>
  11034. <IDPARENT>0</IDPARENT>
  11035. <VALUE><![CDATA[if(lRelParDelCascDekl , " on delete cascade" , "")
  11036. ]]></VALUE>
  11037. <LANGUAGE>0</LANGUAGE>
  11038. <LANGUAGEWIN>---</LANGUAGEWIN>
  11039. <CATEGORY>2</CATEGORY>
  11040. <MAINSCRIPT>0</MAINSCRIPT>
  11041. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11042. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11043. <AUTHOR></AUTHOR>
  11044. <COMPANY></COMPANY>
  11045. <VERSION></VERSION>
  11046. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11047. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11048. </TEMPLATE>
  11049. <TEMPLATE>
  11050. <NAME>REFINTEGRITY</NAME>
  11051. <ID>14</ID>
  11052. <GUID>{EC7DDED4-522E-43E6-8EA1-6DDE89746772}</GUID>
  11053. <CAPTION></CAPTION>
  11054. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11055. <ENABLED>1</ENABLED>
  11056. <LEVEL>2</LEVEL>
  11057. <IDPARENT>0</IDPARENT>
  11058. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  11059. alter table %childtablename% add Constraint foreign key(%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2) @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","");
  11060.  
  11061. ]]></VALUE>
  11062. <LANGUAGE>0</LANGUAGE>
  11063. <LANGUAGEWIN>---</LANGUAGEWIN>
  11064. <CATEGORY>2</CATEGORY>
  11065. <MAINSCRIPT>0</MAINSCRIPT>
  11066. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11067. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11068. <AUTHOR></AUTHOR>
  11069. <COMPANY></COMPANY>
  11070. <VERSION></VERSION>
  11071. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11072. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11073. </TEMPLATE>
  11074. <TEMPLATE>
  11075. <NAME>DROPTABLES</NAME>
  11076. <ID>15</ID>
  11077. <GUID>{11E176EC-F553-4CB9-A563-375EF6EE59C5}</GUID>
  11078. <CAPTION></CAPTION>
  11079. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11080. <ENABLED>1</ENABLED>
  11081. <LEVEL>2</LEVEL>
  11082. <IDPARENT>0</IDPARENT>
  11083. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  11084. ]]></VALUE>
  11085. <LANGUAGE>0</LANGUAGE>
  11086. <LANGUAGEWIN>---</LANGUAGEWIN>
  11087. <CATEGORY>2</CATEGORY>
  11088. <MAINSCRIPT>0</MAINSCRIPT>
  11089. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11090. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11091. <AUTHOR></AUTHOR>
  11092. <COMPANY></COMPANY>
  11093. <VERSION></VERSION>
  11094. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11095. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11096. </TEMPLATE>
  11097. <TEMPLATE>
  11098. <NAME>CREATEATRIB</NAME>
  11099. <ID>16</ID>
  11100. <GUID>{3CA1994D-2A50-47E5-9F2A-38DF42CAAA41}</GUID>
  11101. <CAPTION></CAPTION>
  11102. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11103. <ENABLED>1</ENABLED>
  11104. <LEVEL>2</LEVEL>
  11105. <IDPARENT>0</IDPARENT>
  11106. <VALUE><![CDATA["%ColName% %typsql% "+ 
  11107. if(defexist," %defvalue%", "")+
  11108. if(defaultexist," Default %defaultvalue% "  ,"")+
  11109. if(notnull," NOT NULL "," ")+
  11110. if(UniqueAtr," Unique "+if(not Empty(ConstraintAtrUnique),"Constraint %ConstraintAtrUnique%",""), "")+
  11111. if(checkexist," Check ("+ evalcheck +" )","")+
  11112. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  11113. if(def2exist," %def2value%", "")
  11114. ]]></VALUE>
  11115. <LANGUAGE>0</LANGUAGE>
  11116. <LANGUAGEWIN>---</LANGUAGEWIN>
  11117. <CATEGORY>2</CATEGORY>
  11118. <MAINSCRIPT>0</MAINSCRIPT>
  11119. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11120. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11121. <AUTHOR></AUTHOR>
  11122. <COMPANY></COMPANY>
  11123. <VERSION></VERSION>
  11124. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11125. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11126. </TEMPLATE>
  11127. <TEMPLATE>
  11128. <NAME>CREATEDOMAINS</NAME>
  11129. <ID>17</ID>
  11130. <GUID>{66EC7755-34E1-4DC4-A244-FFC7ECE2BE3B}</GUID>
  11131. <CAPTION></CAPTION>
  11132. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11133. <ENABLED>1</ENABLED>
  11134. <LEVEL>2</LEVEL>
  11135. <IDPARENT>0</IDPARENT>
  11136. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  11137. ]]></VALUE>
  11138. <LANGUAGE>0</LANGUAGE>
  11139. <LANGUAGEWIN>---</LANGUAGEWIN>
  11140. <CATEGORY>2</CATEGORY>
  11141. <MAINSCRIPT>0</MAINSCRIPT>
  11142. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11143. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11144. <AUTHOR></AUTHOR>
  11145. <COMPANY></COMPANY>
  11146. <VERSION></VERSION>
  11147. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11148. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11149. </TEMPLATE>
  11150. <TEMPLATE>
  11151. <NAME>CREATEDOMAIN</NAME>
  11152. <ID>18</ID>
  11153. <GUID>{58DB8E5E-6E16-44B0-8ABB-B1F7F54FD644}</GUID>
  11154. <CAPTION></CAPTION>
  11155. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11156. <ENABLED>1</ENABLED>
  11157. <LEVEL>2</LEVEL>
  11158. <IDPARENT>0</IDPARENT>
  11159. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+if(DefaultExist, " Default %default%","")+if(CheckExist," Check ("+evalcheck2(dictname)+" )", "")+";"
  11160. ]]></VALUE>
  11161. <LANGUAGE>0</LANGUAGE>
  11162. <LANGUAGEWIN>---</LANGUAGEWIN>
  11163. <CATEGORY>2</CATEGORY>
  11164. <MAINSCRIPT>0</MAINSCRIPT>
  11165. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11166. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11167. <AUTHOR></AUTHOR>
  11168. <COMPANY></COMPANY>
  11169. <VERSION></VERSION>
  11170. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11171. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11172. </TEMPLATE>
  11173. <TEMPLATE>
  11174. <NAME>DROPDOMAINS</NAME>
  11175. <ID>19</ID>
  11176. <GUID>{E77F2224-9707-421A-8F9F-3AD39AF80013}</GUID>
  11177. <CAPTION></CAPTION>
  11178. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11179. <ENABLED>1</ENABLED>
  11180. <LEVEL>2</LEVEL>
  11181. <IDPARENT>0</IDPARENT>
  11182. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  11183. ]]></VALUE>
  11184. <LANGUAGE>0</LANGUAGE>
  11185. <LANGUAGEWIN>---</LANGUAGEWIN>
  11186. <CATEGORY>2</CATEGORY>
  11187. <MAINSCRIPT>0</MAINSCRIPT>
  11188. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11189. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11190. <AUTHOR></AUTHOR>
  11191. <COMPANY></COMPANY>
  11192. <VERSION></VERSION>
  11193. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11194. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11195. </TEMPLATE>
  11196. <TEMPLATE>
  11197. <NAME>CreateAlterKey</NAME>
  11198. <ID>20</ID>
  11199. <GUID>{B91BF35C-E5C3-488A-BC39-19E9B3D2E2DC}</GUID>
  11200. <CAPTION></CAPTION>
  11201. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11202. <ENABLED>1</ENABLED>
  11203. <LEVEL>2</LEVEL>
  11204. <IDPARENT>0</IDPARENT>
  11205. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint unique (%AlterKeyKeys%)  constraint %AlterKeyConstraintName%;","","")
  11206. ]]></VALUE>
  11207. <LANGUAGE>0</LANGUAGE>
  11208. <LANGUAGEWIN>---</LANGUAGEWIN>
  11209. <CATEGORY>2</CATEGORY>
  11210. <MAINSCRIPT>0</MAINSCRIPT>
  11211. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11212. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11213. <AUTHOR></AUTHOR>
  11214. <COMPANY></COMPANY>
  11215. <VERSION></VERSION>
  11216. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11217. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11218. </TEMPLATE>
  11219. <TEMPLATE>
  11220. <NAME>DropTriggerUpdate</NAME>
  11221. <ID>21</ID>
  11222. <GUID>{B24AB641-6D1C-424D-AC12-B2B1D3B59C90}</GUID>
  11223. <CAPTION></CAPTION>
  11224. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11225. <ENABLED>1</ENABLED>
  11226. <LEVEL>2</LEVEL>
  11227. <IDPARENT>0</IDPARENT>
  11228. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  11229. drop trigger tu_%tablename%;
  11230. ]]></VALUE>
  11231. <LANGUAGE>0</LANGUAGE>
  11232. <LANGUAGEWIN>---</LANGUAGEWIN>
  11233. <CATEGORY>2</CATEGORY>
  11234. <MAINSCRIPT>0</MAINSCRIPT>
  11235. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11236. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11237. <AUTHOR></AUTHOR>
  11238. <COMPANY></COMPANY>
  11239. <VERSION></VERSION>
  11240. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11241. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11242. </TEMPLATE>
  11243. <TEMPLATE>
  11244. <NAME>DropTriggerDelete</NAME>
  11245. <ID>22</ID>
  11246. <GUID>{BAC121D0-5D19-48D2-BFE3-0CE7F2922A6B}</GUID>
  11247. <CAPTION></CAPTION>
  11248. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11249. <ENABLED>1</ENABLED>
  11250. <LEVEL>2</LEVEL>
  11251. <IDPARENT>0</IDPARENT>
  11252. <VALUE><![CDATA[{lEntParDelTrig}
  11253. drop trigger td_%tablename%;
  11254. ]]></VALUE>
  11255. <LANGUAGE>0</LANGUAGE>
  11256. <LANGUAGEWIN>---</LANGUAGEWIN>
  11257. <CATEGORY>2</CATEGORY>
  11258. <MAINSCRIPT>0</MAINSCRIPT>
  11259. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11260. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11261. <AUTHOR></AUTHOR>
  11262. <COMPANY></COMPANY>
  11263. <VERSION></VERSION>
  11264. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11265. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11266. </TEMPLATE>
  11267. <TEMPLATE>
  11268. <NAME>DropTriggerInsert</NAME>
  11269. <ID>23</ID>
  11270. <GUID>{C7C3A40A-45CE-4C26-9ACF-82A071E6B202}</GUID>
  11271. <CAPTION></CAPTION>
  11272. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11273. <ENABLED>1</ENABLED>
  11274. <LEVEL>2</LEVEL>
  11275. <IDPARENT>0</IDPARENT>
  11276. <VALUE><![CDATA[{lEntChildInsTrig  }
  11277. drop trigger ti_%tablename%;
  11278. ]]></VALUE>
  11279. <LANGUAGE>0</LANGUAGE>
  11280. <LANGUAGEWIN>---</LANGUAGEWIN>
  11281. <CATEGORY>2</CATEGORY>
  11282. <MAINSCRIPT>0</MAINSCRIPT>
  11283. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11284. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11285. <AUTHOR></AUTHOR>
  11286. <COMPANY></COMPANY>
  11287. <VERSION></VERSION>
  11288. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11289. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11290. </TEMPLATE>
  11291. <TEMPLATE>
  11292. <NAME>DropRefIntegrity</NAME>
  11293. <ID>24</ID>
  11294. <GUID>{2C526A77-4473-4587-8F1E-98C039CF8218}</GUID>
  11295. <CAPTION></CAPTION>
  11296. <PACKAGEGUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</PACKAGEGUID>
  11297. <ENABLED>1</ENABLED>
  11298. <LEVEL>2</LEVEL>
  11299. <IDPARENT>0</IDPARENT>
  11300. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  11301. alter table %childtablename% drop constraint %frelname%;
  11302. ]]></VALUE>
  11303. <LANGUAGE>0</LANGUAGE>
  11304. <LANGUAGEWIN>---</LANGUAGEWIN>
  11305. <CATEGORY>2</CATEGORY>
  11306. <MAINSCRIPT>0</MAINSCRIPT>
  11307. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  11308. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  11309. <AUTHOR></AUTHOR>
  11310. <COMPANY></COMPANY>
  11311. <VERSION></VERSION>
  11312. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  11313. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  11314. </TEMPLATE>
  11315. </TEMPLATES>
  11316. <VARIABLES><![CDATA[ldomainSupp  0
  11317. lAtrCheckConstraintSupp 1
  11318. lAlterKeySupp 1
  11319. lProceduresSupp 1
  11320. lViewsSupp 1
  11321. lConstraintPkSupp 1
  11322. lConstraintFkSupp 1
  11323. lAtrUniqueConstraintSupp 1
  11324. lPermissUserToRoleSupp 1
  11325. lPermissUserToObjectSupp 1
  11326. lPermissRoleToObjectSupp 1
  11327. lRoleSupp 1
  11328. lDriParUpdRestrict 1
  11329. lDriParUpdCascade 0
  11330. lDriParUpdSetNull 0
  11331. lDriParUpdSetDefault 0
  11332. lDriParDelRestrict 1
  11333. lDriParDelCascade 1
  11334. lDriParDelSetNull 0
  11335. lDriParDelSetDefault 0
  11336. lDriChildInsRestrict 0
  11337. lDriChildUpdRestrict 0
  11338. lDriParUpdRestrictSupp 1
  11339. lDriParUpdCascadeSupp 0
  11340. lDriParUpdSetNullSupp 0
  11341. lDriParUpdSetDefaultSupp 0
  11342. lDriParDelRestrictSupp 1
  11343. lDriParDelCascadeSupp 1
  11344. lDriParDelSetNullSupp 0
  11345. lDriParDelSetDefaultSupp 0
  11346. lDriChildInsRestrictSupp 0
  11347. lDriChildUpdRestrictSupp 0
  11348. lIndexDescendSupp 0
  11349. lIndexItDescendSupp 1
  11350. lIndexUpperSupp 0
  11351. lIndexExprSupp 0
  11352. lIndexUniqueSupp 1
  11353. lIndexFilterSupp 0
  11354. lIndexStandSupp 1
  11355. lIndexClusterSupp 1
  11356. lIndexNameUnique 1
  11357. lPkSupp 1
  11358. lPkNotNull 1
  11359. lDRISupp 1
  11360. lTriggerSupp 1
  11361. lAtrUniqueSupp 1
  11362. lAtrNotNullSupp 1
  11363. lAtrCheckSupp 1
  11364. lAtrDefaultSupp 1
  11365. ldomainSupp  0
  11366. lAtrCheckConstraintSupp 1
  11367. lAlterKeySupp 1
  11368. lProceduresSupp 1
  11369. lViewsSupp 1
  11370. lConstraintPkSupp 1
  11371. lConstraintFkSupp 1
  11372. lAtrUniqueConstraintSupp 1
  11373. lPermissUserToRoleSupp 1
  11374. lPermissUserToObjectSupp 1
  11375. lPermissRoleToObjectSupp 1
  11376. lRoleSupp 1
  11377. ]]></VARIABLES>
  11378. <USEREDITS>
  11379. </USEREDITS>
  11380. <TYPELIST>
  11381. <TYPE>
  11382. <NAME>Char</NAME>
  11383. <ID>10</ID>
  11384. <GUID>{A7F7C35E-7D88-4470-88B5-27281204524E}</GUID>
  11385. <PHNAME>Char</PHNAME>
  11386. <LLENGTH>1</LLENGTH>
  11387. <LDECIMAL>0</LDECIMAL>
  11388. <MAXLENGTH>65000</MAXLENGTH>
  11389. <MINLENGTH>1</MINLENGTH>
  11390. <MAXDECIMAL>0</MAXDECIMAL>
  11391. <MINDECIMAL>0</MINDECIMAL>
  11392. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  11393. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11394. <TRANSFORMCODE>A</TRANSFORMCODE>
  11395. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  11396. <EXPORTTO>0</EXPORTTO>
  11397. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11398. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11399. </TYPE>
  11400. <TYPE>
  11401. <NAME>NChar</NAME>
  11402. <ID>15</ID>
  11403. <GUID>{2504E073-3A0F-4ACB-9AA2-4FB4E6B91A28}</GUID>
  11404. <PHNAME>NChar</PHNAME>
  11405. <LLENGTH>1</LLENGTH>
  11406. <LDECIMAL>0</LDECIMAL>
  11407. <MAXLENGTH>65000</MAXLENGTH>
  11408. <MINLENGTH>1</MINLENGTH>
  11409. <MAXDECIMAL>0</MAXDECIMAL>
  11410. <MINDECIMAL>0</MINDECIMAL>
  11411. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  11412. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11413. <TRANSFORMCODE>NA</TRANSFORMCODE>
  11414. <TRANSFORMTO>NA;A;LA;NVA;VA;LVA;</TRANSFORMTO>
  11415. <EXPORTTO>0</EXPORTTO>
  11416. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11417. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11418. </TYPE>
  11419. <TYPE>
  11420. <NAME>Varchar</NAME>
  11421. <ID>20</ID>
  11422. <GUID>{3D6F79C4-353B-48E3-B2EF-DE1A7D2999A6}</GUID>
  11423. <PHNAME>Varchar</PHNAME>
  11424. <LLENGTH>1</LLENGTH>
  11425. <LDECIMAL>0</LDECIMAL>
  11426. <MAXLENGTH>65000</MAXLENGTH>
  11427. <MINLENGTH>1</MINLENGTH>
  11428. <MAXDECIMAL>0</MAXDECIMAL>
  11429. <MINDECIMAL>0</MINDECIMAL>
  11430. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  11431. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11432. <TRANSFORMCODE>VA</TRANSFORMCODE>
  11433. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  11434. <EXPORTTO>0</EXPORTTO>
  11435. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11436. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11437. </TYPE>
  11438. <TYPE>
  11439. <NAME>NVarchar</NAME>
  11440. <ID>25</ID>
  11441. <GUID>{2F3A3873-A6A7-49BF-BBD3-57908975178C}</GUID>
  11442. <PHNAME>NVarchar</PHNAME>
  11443. <LLENGTH>1</LLENGTH>
  11444. <LDECIMAL>0</LDECIMAL>
  11445. <MAXLENGTH>65000</MAXLENGTH>
  11446. <MINLENGTH>1</MINLENGTH>
  11447. <MAXDECIMAL>0</MAXDECIMAL>
  11448. <MINDECIMAL>0</MINDECIMAL>
  11449. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  11450. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11451. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  11452. <TRANSFORMTO>NVA;VA;LVA;NA;A;LA;</TRANSFORMTO>
  11453. <EXPORTTO>0</EXPORTTO>
  11454. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11455. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11456. </TYPE>
  11457. <TYPE>
  11458. <NAME>Integer</NAME>
  11459. <ID>30</ID>
  11460. <GUID>{E11BE430-D0D4-4309-B71C-723D773C251C}</GUID>
  11461. <PHNAME>Integer</PHNAME>
  11462. <LLENGTH>0</LLENGTH>
  11463. <LDECIMAL>0</LDECIMAL>
  11464. <MAXLENGTH>0</MAXLENGTH>
  11465. <MINLENGTH>0</MINLENGTH>
  11466. <MAXDECIMAL>0</MAXDECIMAL>
  11467. <MINDECIMAL>0</MINDECIMAL>
  11468. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11469. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11470. <TRANSFORMCODE>I</TRANSFORMCODE>
  11471. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  11472. <EXPORTTO>0</EXPORTTO>
  11473. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11474. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11475. </TYPE>
  11476. <TYPE>
  11477. <NAME>Smallint</NAME>
  11478. <ID>40</ID>
  11479. <GUID>{8A725540-8604-40DD-999E-DC6B84A738E0}</GUID>
  11480. <PHNAME>Smallint</PHNAME>
  11481. <LLENGTH>0</LLENGTH>
  11482. <LDECIMAL>0</LDECIMAL>
  11483. <MAXLENGTH>0</MAXLENGTH>
  11484. <MINLENGTH>0</MINLENGTH>
  11485. <MAXDECIMAL>0</MAXDECIMAL>
  11486. <MINDECIMAL>0</MINDECIMAL>
  11487. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11488. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11489. <TRANSFORMCODE>SI</TRANSFORMCODE>
  11490. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  11491. <EXPORTTO>0</EXPORTTO>
  11492. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11493. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11494. </TYPE>
  11495. <TYPE>
  11496. <NAME>Float</NAME>
  11497. <ID>50</ID>
  11498. <GUID>{B04BE71D-6DE5-48D0-82D6-465398927A6C}</GUID>
  11499. <PHNAME>Float</PHNAME>
  11500. <LLENGTH>0</LLENGTH>
  11501. <LDECIMAL>0</LDECIMAL>
  11502. <MAXLENGTH>0</MAXLENGTH>
  11503. <MINLENGTH>0</MINLENGTH>
  11504. <MAXDECIMAL>0</MAXDECIMAL>
  11505. <MINDECIMAL>0</MINDECIMAL>
  11506. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11507. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11508. <TRANSFORMCODE>F</TRANSFORMCODE>
  11509. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  11510. <EXPORTTO>0</EXPORTTO>
  11511. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11512. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11513. </TYPE>
  11514. <TYPE>
  11515. <NAME>Smallfloat</NAME>
  11516. <ID>60</ID>
  11517. <GUID>{F9A761A4-A554-4201-8512-DE60C5294E63}</GUID>
  11518. <PHNAME>Smallfloat</PHNAME>
  11519. <LLENGTH>0</LLENGTH>
  11520. <LDECIMAL>0</LDECIMAL>
  11521. <MAXLENGTH>0</MAXLENGTH>
  11522. <MINLENGTH>0</MINLENGTH>
  11523. <MAXDECIMAL>0</MAXDECIMAL>
  11524. <MINDECIMAL>0</MINDECIMAL>
  11525. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11526. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11527. <TRANSFORMCODE>SF</TRANSFORMCODE>
  11528. <TRANSFORMTO>SF;F;N,15,5;</TRANSFORMTO>
  11529. <EXPORTTO>0</EXPORTTO>
  11530. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11531. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11532. </TYPE>
  11533. <TYPE>
  11534. <NAME>Double precision</NAME>
  11535. <ID>70</ID>
  11536. <GUID>{AE25278E-E9CD-4A8D-B3AC-2CB7F817EE07}</GUID>
  11537. <PHNAME>Double precision</PHNAME>
  11538. <LLENGTH>0</LLENGTH>
  11539. <LDECIMAL>0</LDECIMAL>
  11540. <MAXLENGTH>0</MAXLENGTH>
  11541. <MINLENGTH>0</MINLENGTH>
  11542. <MAXDECIMAL>0</MAXDECIMAL>
  11543. <MINDECIMAL>0</MINDECIMAL>
  11544. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11545. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11546. <TRANSFORMCODE>LF</TRANSFORMCODE>
  11547. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  11548. <EXPORTTO>0</EXPORTTO>
  11549. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11550. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11551. </TYPE>
  11552. <TYPE>
  11553. <NAME>Numeric</NAME>
  11554. <ID>80</ID>
  11555. <GUID>{533DB9C8-91D3-47ED-B2CB-633DA3077F3D}</GUID>
  11556. <PHNAME>Numeric</PHNAME>
  11557. <LLENGTH>1</LLENGTH>
  11558. <LDECIMAL>1</LDECIMAL>
  11559. <MAXLENGTH>20</MAXLENGTH>
  11560. <MINLENGTH>1</MINLENGTH>
  11561. <MAXDECIMAL>19</MAXDECIMAL>
  11562. <MINDECIMAL>0</MINDECIMAL>
  11563. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  11564. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  11565. <TRANSFORMCODE>N</TRANSFORMCODE>
  11566. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  11567. <EXPORTTO>0</EXPORTTO>
  11568. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11569. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11570. </TYPE>
  11571. <TYPE>
  11572. <NAME>Decimal</NAME>
  11573. <ID>90</ID>
  11574. <GUID>{CF51EBB8-86F0-4784-A673-393A1E96114E}</GUID>
  11575. <PHNAME>Decimal</PHNAME>
  11576. <LLENGTH>1</LLENGTH>
  11577. <LDECIMAL>1</LDECIMAL>
  11578. <MAXLENGTH>20</MAXLENGTH>
  11579. <MINLENGTH>1</MINLENGTH>
  11580. <MAXDECIMAL>17</MAXDECIMAL>
  11581. <MINDECIMAL>0</MINDECIMAL>
  11582. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  11583. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  11584. <TRANSFORMCODE>DC</TRANSFORMCODE>
  11585. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  11586. <EXPORTTO>0</EXPORTTO>
  11587. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11588. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11589. </TYPE>
  11590. <TYPE>
  11591. <NAME>Serial</NAME>
  11592. <ID>100</ID>
  11593. <GUID>{C6C350E3-06A1-4095-A0E3-7160EE2F17D8}</GUID>
  11594. <PHNAME>Serial</PHNAME>
  11595. <LLENGTH>0</LLENGTH>
  11596. <LDECIMAL>0</LDECIMAL>
  11597. <MAXLENGTH>0</MAXLENGTH>
  11598. <MINLENGTH>0</MINLENGTH>
  11599. <MAXDECIMAL>0</MAXDECIMAL>
  11600. <MINDECIMAL>0</MINDECIMAL>
  11601. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11602. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11603. <TRANSFORMCODE>NO</TRANSFORMCODE>
  11604. <TRANSFORMTO>NO;LI;I;N,10,0;</TRANSFORMTO>
  11605. <EXPORTTO>30</EXPORTTO>
  11606. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11607. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11608. </TYPE>
  11609. <TYPE>
  11610. <NAME>Money</NAME>
  11611. <ID>110</ID>
  11612. <GUID>{4F6B3853-1287-43B7-8A8D-2D6DB48DB74A}</GUID>
  11613. <PHNAME>Money</PHNAME>
  11614. <LLENGTH>0</LLENGTH>
  11615. <LDECIMAL>0</LDECIMAL>
  11616. <MAXLENGTH>0</MAXLENGTH>
  11617. <MINLENGTH>0</MINLENGTH>
  11618. <MAXDECIMAL>0</MAXDECIMAL>
  11619. <MINDECIMAL>0</MINDECIMAL>
  11620. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11621. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11622. <TRANSFORMCODE>MN</TRANSFORMCODE>
  11623. <TRANSFORMTO>MN;N,15,2;</TRANSFORMTO>
  11624. <EXPORTTO>0</EXPORTTO>
  11625. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11626. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11627. </TYPE>
  11628. <TYPE>
  11629. <NAME>Date</NAME>
  11630. <ID>120</ID>
  11631. <GUID>{47A276C3-E9A9-41DA-9C9D-D2A8084DFFF9}</GUID>
  11632. <PHNAME>Date</PHNAME>
  11633. <LLENGTH>0</LLENGTH>
  11634. <LDECIMAL>0</LDECIMAL>
  11635. <MAXLENGTH>0</MAXLENGTH>
  11636. <MINLENGTH>0</MINLENGTH>
  11637. <MAXDECIMAL>0</MAXDECIMAL>
  11638. <MINDECIMAL>0</MINDECIMAL>
  11639. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11640. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11641. <TRANSFORMCODE>D</TRANSFORMCODE>
  11642. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  11643. <EXPORTTO>0</EXPORTTO>
  11644. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11645. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11646. </TYPE>
  11647. <TYPE>
  11648. <NAME>Datetime year to month</NAME>
  11649. <ID>130</ID>
  11650. <GUID>{83090BFD-ED98-40B5-B848-6FACE3881842}</GUID>
  11651. <PHNAME>Datetime year to month</PHNAME>
  11652. <LLENGTH>0</LLENGTH>
  11653. <LDECIMAL>0</LDECIMAL>
  11654. <MAXLENGTH>0</MAXLENGTH>
  11655. <MINLENGTH>0</MINLENGTH>
  11656. <MAXDECIMAL>0</MAXDECIMAL>
  11657. <MINDECIMAL>0</MINDECIMAL>
  11658. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11659. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11660. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11661. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11662. <EXPORTTO>0</EXPORTTO>
  11663. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11664. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11665. </TYPE>
  11666. <TYPE>
  11667. <NAME>Datetime year to day</NAME>
  11668. <ID>131</ID>
  11669. <GUID>{B7222CBE-5B8C-4BB0-9560-5E0243AE25AB}</GUID>
  11670. <PHNAME>Datetime year to day</PHNAME>
  11671. <LLENGTH>0</LLENGTH>
  11672. <LDECIMAL>0</LDECIMAL>
  11673. <MAXLENGTH>0</MAXLENGTH>
  11674. <MINLENGTH>0</MINLENGTH>
  11675. <MAXDECIMAL>0</MAXDECIMAL>
  11676. <MINDECIMAL>0</MINDECIMAL>
  11677. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11678. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11679. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11680. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11681. <EXPORTTO>0</EXPORTTO>
  11682. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11683. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11684. </TYPE>
  11685. <TYPE>
  11686. <NAME>Datetime year to hour</NAME>
  11687. <ID>132</ID>
  11688. <GUID>{DCD46FAE-1B07-4F11-AF0F-2D36160FEAFD}</GUID>
  11689. <PHNAME>Datetime year to hour</PHNAME>
  11690. <LLENGTH>0</LLENGTH>
  11691. <LDECIMAL>0</LDECIMAL>
  11692. <MAXLENGTH>0</MAXLENGTH>
  11693. <MINLENGTH>0</MINLENGTH>
  11694. <MAXDECIMAL>0</MAXDECIMAL>
  11695. <MINDECIMAL>0</MINDECIMAL>
  11696. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11697. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11698. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11699. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11700. <EXPORTTO>0</EXPORTTO>
  11701. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11702. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11703. </TYPE>
  11704. <TYPE>
  11705. <NAME>Datetime year to minute</NAME>
  11706. <ID>133</ID>
  11707. <GUID>{5CF0B76F-0529-4C9D-9D56-8A593C22AC77}</GUID>
  11708. <PHNAME>Datetime year to minute</PHNAME>
  11709. <LLENGTH>0</LLENGTH>
  11710. <LDECIMAL>0</LDECIMAL>
  11711. <MAXLENGTH>0</MAXLENGTH>
  11712. <MINLENGTH>0</MINLENGTH>
  11713. <MAXDECIMAL>0</MAXDECIMAL>
  11714. <MINDECIMAL>0</MINDECIMAL>
  11715. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11716. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11717. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11718. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11719. <EXPORTTO>0</EXPORTTO>
  11720. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11721. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11722. </TYPE>
  11723. <TYPE>
  11724. <NAME>Datetime year to second</NAME>
  11725. <ID>134</ID>
  11726. <GUID>{00D2A7E9-3145-489C-AFD8-5446B098EA9E}</GUID>
  11727. <PHNAME>Datetime year to second</PHNAME>
  11728. <LLENGTH>0</LLENGTH>
  11729. <LDECIMAL>0</LDECIMAL>
  11730. <MAXLENGTH>0</MAXLENGTH>
  11731. <MINLENGTH>0</MINLENGTH>
  11732. <MAXDECIMAL>0</MAXDECIMAL>
  11733. <MINDECIMAL>0</MINDECIMAL>
  11734. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11735. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11736. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11737. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11738. <EXPORTTO>0</EXPORTTO>
  11739. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11740. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11741. </TYPE>
  11742. <TYPE>
  11743. <NAME>Datetime year to fraction</NAME>
  11744. <ID>135</ID>
  11745. <GUID>{A92F33A9-AC8A-4C99-A624-4439057509D5}</GUID>
  11746. <PHNAME>Datetime year to fraction</PHNAME>
  11747. <LLENGTH>1</LLENGTH>
  11748. <LDECIMAL>0</LDECIMAL>
  11749. <MAXLENGTH>5</MAXLENGTH>
  11750. <MINLENGTH>1</MINLENGTH>
  11751. <MAXDECIMAL>0</MAXDECIMAL>
  11752. <MINDECIMAL>0</MINDECIMAL>
  11753. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  11754. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11755. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11756. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11757. <EXPORTTO>0</EXPORTTO>
  11758. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11759. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11760. </TYPE>
  11761. <TYPE>
  11762. <NAME>Datetime month to day</NAME>
  11763. <ID>136</ID>
  11764. <GUID>{B81CE9BE-304C-4E9E-8898-570CA126E248}</GUID>
  11765. <PHNAME>Datetime month to day</PHNAME>
  11766. <LLENGTH>0</LLENGTH>
  11767. <LDECIMAL>0</LDECIMAL>
  11768. <MAXLENGTH>0</MAXLENGTH>
  11769. <MINLENGTH>0</MINLENGTH>
  11770. <MAXDECIMAL>0</MAXDECIMAL>
  11771. <MINDECIMAL>0</MINDECIMAL>
  11772. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11773. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11774. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11775. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11776. <EXPORTTO>0</EXPORTTO>
  11777. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11778. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11779. </TYPE>
  11780. <TYPE>
  11781. <NAME>Datetime month to hour</NAME>
  11782. <ID>137</ID>
  11783. <GUID>{2F8AE19E-19AF-4D53-9EDE-835FFCC98738}</GUID>
  11784. <PHNAME>Datetime month to hour</PHNAME>
  11785. <LLENGTH>0</LLENGTH>
  11786. <LDECIMAL>0</LDECIMAL>
  11787. <MAXLENGTH>0</MAXLENGTH>
  11788. <MINLENGTH>0</MINLENGTH>
  11789. <MAXDECIMAL>0</MAXDECIMAL>
  11790. <MINDECIMAL>0</MINDECIMAL>
  11791. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11792. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11793. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11794. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11795. <EXPORTTO>0</EXPORTTO>
  11796. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11797. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11798. </TYPE>
  11799. <TYPE>
  11800. <NAME>Datetime month to minute</NAME>
  11801. <ID>138</ID>
  11802. <GUID>{F9EB60CE-0E2C-4C5E-AE2F-9475865F4C04}</GUID>
  11803. <PHNAME>Datetime month to minute</PHNAME>
  11804. <LLENGTH>0</LLENGTH>
  11805. <LDECIMAL>0</LDECIMAL>
  11806. <MAXLENGTH>0</MAXLENGTH>
  11807. <MINLENGTH>0</MINLENGTH>
  11808. <MAXDECIMAL>0</MAXDECIMAL>
  11809. <MINDECIMAL>0</MINDECIMAL>
  11810. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11811. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11812. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11813. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11814. <EXPORTTO>0</EXPORTTO>
  11815. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11816. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11817. </TYPE>
  11818. <TYPE>
  11819. <NAME>Datetime month to second</NAME>
  11820. <ID>139</ID>
  11821. <GUID>{4B1C45F9-FB95-4273-BE19-CCFDE04BD2E0}</GUID>
  11822. <PHNAME>Datetime month to second</PHNAME>
  11823. <LLENGTH>0</LLENGTH>
  11824. <LDECIMAL>0</LDECIMAL>
  11825. <MAXLENGTH>0</MAXLENGTH>
  11826. <MINLENGTH>0</MINLENGTH>
  11827. <MAXDECIMAL>0</MAXDECIMAL>
  11828. <MINDECIMAL>0</MINDECIMAL>
  11829. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11830. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11831. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11832. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11833. <EXPORTTO>0</EXPORTTO>
  11834. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11835. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11836. </TYPE>
  11837. <TYPE>
  11838. <NAME>Datetime month to fraction</NAME>
  11839. <ID>140</ID>
  11840. <GUID>{0105EA8E-D977-4968-AAA0-3BAA22AA99B1}</GUID>
  11841. <PHNAME>Datetime month to fraction</PHNAME>
  11842. <LLENGTH>1</LLENGTH>
  11843. <LDECIMAL>0</LDECIMAL>
  11844. <MAXLENGTH>5</MAXLENGTH>
  11845. <MINLENGTH>1</MINLENGTH>
  11846. <MAXDECIMAL>0</MAXDECIMAL>
  11847. <MINDECIMAL>0</MINDECIMAL>
  11848. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  11849. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11850. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11851. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11852. <EXPORTTO>0</EXPORTTO>
  11853. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11854. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11855. </TYPE>
  11856. <TYPE>
  11857. <NAME>Datetime day to hour</NAME>
  11858. <ID>141</ID>
  11859. <GUID>{46CFE883-C09B-4F49-BF77-691B9A90496D}</GUID>
  11860. <PHNAME>Datetime day to hour</PHNAME>
  11861. <LLENGTH>0</LLENGTH>
  11862. <LDECIMAL>0</LDECIMAL>
  11863. <MAXLENGTH>0</MAXLENGTH>
  11864. <MINLENGTH>0</MINLENGTH>
  11865. <MAXDECIMAL>0</MAXDECIMAL>
  11866. <MINDECIMAL>0</MINDECIMAL>
  11867. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11868. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11869. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11870. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11871. <EXPORTTO>0</EXPORTTO>
  11872. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11873. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11874. </TYPE>
  11875. <TYPE>
  11876. <NAME>Datetime day to minute</NAME>
  11877. <ID>142</ID>
  11878. <GUID>{DE54AE83-C4CE-4451-9A6F-9601DEDE924E}</GUID>
  11879. <PHNAME>Datetime day to minute</PHNAME>
  11880. <LLENGTH>0</LLENGTH>
  11881. <LDECIMAL>0</LDECIMAL>
  11882. <MAXLENGTH>0</MAXLENGTH>
  11883. <MINLENGTH>0</MINLENGTH>
  11884. <MAXDECIMAL>0</MAXDECIMAL>
  11885. <MINDECIMAL>0</MINDECIMAL>
  11886. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11887. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11888. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11889. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11890. <EXPORTTO>0</EXPORTTO>
  11891. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11892. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11893. </TYPE>
  11894. <TYPE>
  11895. <NAME>Datetime day to second</NAME>
  11896. <ID>143</ID>
  11897. <GUID>{5DABB533-7B46-496A-9409-C4C2D99F6CD4}</GUID>
  11898. <PHNAME>Datetime day to second</PHNAME>
  11899. <LLENGTH>0</LLENGTH>
  11900. <LDECIMAL>0</LDECIMAL>
  11901. <MAXLENGTH>0</MAXLENGTH>
  11902. <MINLENGTH>0</MINLENGTH>
  11903. <MAXDECIMAL>0</MAXDECIMAL>
  11904. <MINDECIMAL>0</MINDECIMAL>
  11905. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11906. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11907. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11908. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11909. <EXPORTTO>0</EXPORTTO>
  11910. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11911. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11912. </TYPE>
  11913. <TYPE>
  11914. <NAME>Datetime day to fraction</NAME>
  11915. <ID>144</ID>
  11916. <GUID>{16712B64-8E52-457E-83C0-2CDBCCD2F5EE}</GUID>
  11917. <PHNAME>Datetime day to fraction</PHNAME>
  11918. <LLENGTH>1</LLENGTH>
  11919. <LDECIMAL>0</LDECIMAL>
  11920. <MAXLENGTH>5</MAXLENGTH>
  11921. <MINLENGTH>1</MINLENGTH>
  11922. <MAXDECIMAL>0</MAXDECIMAL>
  11923. <MINDECIMAL>0</MINDECIMAL>
  11924. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  11925. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11926. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11927. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11928. <EXPORTTO>0</EXPORTTO>
  11929. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11930. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11931. </TYPE>
  11932. <TYPE>
  11933. <NAME>Datetime hour to minute</NAME>
  11934. <ID>145</ID>
  11935. <GUID>{E5CC22E0-B61B-4609-B4C5-B2372D01A5D7}</GUID>
  11936. <PHNAME>Datetime hour to minute</PHNAME>
  11937. <LLENGTH>0</LLENGTH>
  11938. <LDECIMAL>0</LDECIMAL>
  11939. <MAXLENGTH>0</MAXLENGTH>
  11940. <MINLENGTH>0</MINLENGTH>
  11941. <MAXDECIMAL>0</MAXDECIMAL>
  11942. <MINDECIMAL>0</MINDECIMAL>
  11943. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11944. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11945. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11946. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11947. <EXPORTTO>0</EXPORTTO>
  11948. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11949. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11950. </TYPE>
  11951. <TYPE>
  11952. <NAME>Datetime hour to second</NAME>
  11953. <ID>146</ID>
  11954. <GUID>{40A603A7-91D6-4795-9171-F080482E4BFE}</GUID>
  11955. <PHNAME>Datetime hour to second</PHNAME>
  11956. <LLENGTH>0</LLENGTH>
  11957. <LDECIMAL>0</LDECIMAL>
  11958. <MAXLENGTH>0</MAXLENGTH>
  11959. <MINLENGTH>0</MINLENGTH>
  11960. <MAXDECIMAL>0</MAXDECIMAL>
  11961. <MINDECIMAL>0</MINDECIMAL>
  11962. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  11963. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11964. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11965. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11966. <EXPORTTO>0</EXPORTTO>
  11967. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11968. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11969. </TYPE>
  11970. <TYPE>
  11971. <NAME>Datetime hour to fraction</NAME>
  11972. <ID>147</ID>
  11973. <GUID>{B4711E97-1EC4-49C0-AB2D-180ABBDE10C9}</GUID>
  11974. <PHNAME>Datetime hour to fraction</PHNAME>
  11975. <LLENGTH>1</LLENGTH>
  11976. <LDECIMAL>0</LDECIMAL>
  11977. <MAXLENGTH>5</MAXLENGTH>
  11978. <MINLENGTH>1</MINLENGTH>
  11979. <MAXDECIMAL>0</MAXDECIMAL>
  11980. <MINDECIMAL>0</MINDECIMAL>
  11981. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  11982. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  11983. <TRANSFORMCODE>DT</TRANSFORMCODE>
  11984. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  11985. <EXPORTTO>0</EXPORTTO>
  11986. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  11987. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  11988. </TYPE>
  11989. <TYPE>
  11990. <NAME>Datetime minute to second</NAME>
  11991. <ID>148</ID>
  11992. <GUID>{F68028E1-4397-4143-B511-4898A792C599}</GUID>
  11993. <PHNAME>Datetime minute to second</PHNAME>
  11994. <LLENGTH>0</LLENGTH>
  11995. <LDECIMAL>0</LDECIMAL>
  11996. <MAXLENGTH>0</MAXLENGTH>
  11997. <MINLENGTH>0</MINLENGTH>
  11998. <MAXDECIMAL>0</MAXDECIMAL>
  11999. <MINDECIMAL>0</MINDECIMAL>
  12000. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12001. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12002. <TRANSFORMCODE>DT</TRANSFORMCODE>
  12003. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  12004. <EXPORTTO>0</EXPORTTO>
  12005. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12006. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12007. </TYPE>
  12008. <TYPE>
  12009. <NAME>Datetime minute to fraction</NAME>
  12010. <ID>149</ID>
  12011. <GUID>{99222BB0-CAB7-45F2-B23B-F967A60131A9}</GUID>
  12012. <PHNAME>Datetime minute to fraction</PHNAME>
  12013. <LLENGTH>1</LLENGTH>
  12014. <LDECIMAL>0</LDECIMAL>
  12015. <MAXLENGTH>5</MAXLENGTH>
  12016. <MINLENGTH>1</MINLENGTH>
  12017. <MAXDECIMAL>0</MAXDECIMAL>
  12018. <MINDECIMAL>0</MINDECIMAL>
  12019. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  12020. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12021. <TRANSFORMCODE>DT</TRANSFORMCODE>
  12022. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  12023. <EXPORTTO>0</EXPORTTO>
  12024. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12025. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12026. </TYPE>
  12027. <TYPE>
  12028. <NAME>Datetime second to fraction</NAME>
  12029. <ID>150</ID>
  12030. <GUID>{BF9E9BF5-8834-4FDC-A5E8-AAD5788B2F0D}</GUID>
  12031. <PHNAME>Datetime second to fraction</PHNAME>
  12032. <LLENGTH>1</LLENGTH>
  12033. <LDECIMAL>0</LDECIMAL>
  12034. <MAXLENGTH>5</MAXLENGTH>
  12035. <MINLENGTH>1</MINLENGTH>
  12036. <MAXDECIMAL>0</MAXDECIMAL>
  12037. <MINDECIMAL>0</MINDECIMAL>
  12038. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  12039. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12040. <TRANSFORMCODE>DT</TRANSFORMCODE>
  12041. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  12042. <EXPORTTO>0</EXPORTTO>
  12043. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12044. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12045. </TYPE>
  12046. <TYPE>
  12047. <NAME>Text</NAME>
  12048. <ID>160</ID>
  12049. <GUID>{5808F262-BD82-4172-86A7-2678BD8E0D9F}</GUID>
  12050. <PHNAME>Text</PHNAME>
  12051. <LLENGTH>0</LLENGTH>
  12052. <LDECIMAL>0</LDECIMAL>
  12053. <MAXLENGTH>0</MAXLENGTH>
  12054. <MINLENGTH>0</MINLENGTH>
  12055. <MAXDECIMAL>0</MAXDECIMAL>
  12056. <MINDECIMAL>0</MINDECIMAL>
  12057. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12058. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12059. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  12060. <TRANSFORMTO>TXT;LVA;LA;BIN;LBIN;</TRANSFORMTO>
  12061. <EXPORTTO>0</EXPORTTO>
  12062. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12063. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12064. </TYPE>
  12065. <TYPE>
  12066. <NAME>Byte</NAME>
  12067. <ID>170</ID>
  12068. <GUID>{3577060D-CF14-4CE1-914C-B8C24E02D416}</GUID>
  12069. <PHNAME>Byte</PHNAME>
  12070. <LLENGTH>0</LLENGTH>
  12071. <LDECIMAL>0</LDECIMAL>
  12072. <MAXLENGTH>0</MAXLENGTH>
  12073. <MINLENGTH>0</MINLENGTH>
  12074. <MAXDECIMAL>0</MAXDECIMAL>
  12075. <MINDECIMAL>0</MINDECIMAL>
  12076. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12077. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12078. <TRANSFORMCODE>BT</TRANSFORMCODE>
  12079. <TRANSFORMTO>BT;LBIN;</TRANSFORMTO>
  12080. <EXPORTTO>0</EXPORTTO>
  12081. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12082. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12083. </TYPE>
  12084. <TYPE>
  12085. <NAME>Empty</NAME>
  12086. <ID>200</ID>
  12087. <GUID>{7C074E01-76BA-4305-8375-CE49EEFBB6C7}</GUID>
  12088. <PHNAME></PHNAME>
  12089. <LLENGTH>0</LLENGTH>
  12090. <LDECIMAL>0</LDECIMAL>
  12091. <MAXLENGTH>0</MAXLENGTH>
  12092. <MINLENGTH>0</MINLENGTH>
  12093. <MAXDECIMAL>0</MAXDECIMAL>
  12094. <MINDECIMAL>0</MINDECIMAL>
  12095. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12096. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12097. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  12098. <TRANSFORMTO>EMP;</TRANSFORMTO>
  12099. <EXPORTTO>0</EXPORTTO>
  12100. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12101. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12102. </TYPE>
  12103. </TYPELIST>
  12104. <TEXTOBJECTTYPES>
  12105. </TEXTOBJECTTYPES>
  12106. <DISABLED>0</DISABLED>
  12107. <MAXLENGTHTABLENAME>18</MAXLENGTHTABLENAME>
  12108. <MAXLENGTHCOLNAME>18</MAXLENGTHCOLNAME>
  12109. <MAXLENGTHINDEXNAME>18</MAXLENGTHINDEXNAME>
  12110. <DEFAULTCHAR>_</DEFAULTCHAR>
  12111. <INVALIDCHARACTERS>!"#$%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  12112. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  12113. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  12114. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  12115. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  12116. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12117. <KEYWORDS><![CDATA[]]></KEYWORDS>
  12118. </SERVER>
  12119. <SERVER>
  12120. <NAME>Ingres</NAME>
  12121. <ID>70</ID>
  12122. <GUID>{9AE898FF-E25D-4FD9-B16E-661C227EC4A6}</GUID>
  12123. <TEMPLATES>
  12124. <TEMPLATE>
  12125. <NAME>CreateDatabase</NAME>
  12126. <ID>1</ID>
  12127. <GUID>{C259A07D-FE18-4CFB-8E82-88E4C2C0DF4E}</GUID>
  12128. <CAPTION>CreateDatabase</CAPTION>
  12129. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12130. <ENABLED>1</ENABLED>
  12131. <LEVEL>2</LEVEL>
  12132. <IDPARENT>0</IDPARENT>
  12133. <VALUE><![CDATA[/*
  12134. Created        %createddate%
  12135. Modified        %modifieddate%
  12136. Project        %projectname%
  12137. Model        %modelname%
  12138. Company        %company%
  12139. Author        %authorname%
  12140. Version        %version%
  12141. Database        %databasetype% 
  12142. */
  12143.  
  12144. {lbeforescript}
  12145. %beforescript%
  12146. {lDropTableGener}
  12147. @showmessage("Drop tables")
  12148. @template(DropTables)
  12149. {lTableGener}
  12150. @showmessage("Create tables")
  12151. @template(createtables)
  12152. {lEntityOthers}
  12153. @showmessage("Create tab 'Others' for selected tables")
  12154. @template(CreateTableOthers)
  12155. {lDropIndexGener}
  12156. @template(DropIndexs)
  12157. {lIndexGener}
  12158. @showmessage("Create indexes")
  12159. @template(createindexs)
  12160. {lTriggersUserGener}
  12161. @showmessage("Create user-defined triggers")
  12162. @template(CreateTriggersList)
  12163. {true}
  12164. @template(createtriggers)
  12165. @template(CreateRules)
  12166. {lRoleGener}
  12167. @showmessage("Role")
  12168. @template(CreateRole)
  12169. {lUserToRoleGener}
  12170. @ShowMessage("Users permissions to roles")
  12171. @template(GrantUserToRole)
  12172. {lRolePermissGener}
  12173. @ShowMessage("Roles permissions")
  12174. @template(CreateRolePermiss)
  12175. {lUserPermissGener}
  12176. @ShowMessage("Users permissions")
  12177. @template(CreateUserPermiss)
  12178. {lafterscript}
  12179. %afterscript%
  12180. {true}
  12181. @template(UserTempl) 
  12182. ]]></VALUE>
  12183. <LANGUAGE>0</LANGUAGE>
  12184. <LANGUAGEWIN>---</LANGUAGEWIN>
  12185. <CATEGORY>2</CATEGORY>
  12186. <MAINSCRIPT>0</MAINSCRIPT>
  12187. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12188. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12189. <AUTHOR></AUTHOR>
  12190. <COMPANY></COMPANY>
  12191. <VERSION></VERSION>
  12192. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12193. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  12194. </TEMPLATE>
  12195. <TEMPLATE>
  12196. <NAME>CREATETABLES</NAME>
  12197. <ID>2</ID>
  12198. <GUID>{D40E08A3-4C57-4158-8302-5C3F9DC8511B}</GUID>
  12199. <CAPTION></CAPTION>
  12200. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12201. <ENABLED>1</ENABLED>
  12202. <LEVEL>2</LEVEL>
  12203. <IDPARENT>0</IDPARENT>
  12204. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  12205. ]]></VALUE>
  12206. <LANGUAGE>0</LANGUAGE>
  12207. <LANGUAGEWIN>---</LANGUAGEWIN>
  12208. <CATEGORY>2</CATEGORY>
  12209. <MAINSCRIPT>0</MAINSCRIPT>
  12210. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12211. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12212. <AUTHOR></AUTHOR>
  12213. <COMPANY></COMPANY>
  12214. <VERSION></VERSION>
  12215. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12216. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12217. </TEMPLATE>
  12218. <TEMPLATE>
  12219. <NAME>CREATETABLE</NAME>
  12220. <ID>3</ID>
  12221. <GUID>{02A9391E-A7C0-4830-9AC6-88DB08EB0AD0}</GUID>
  12222. <CAPTION></CAPTION>
  12223. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12224. <ENABLED>1</ENABLED>
  12225. <LEVEL>2</LEVEL>
  12226. <IDPARENT>0</IDPARENT>
  12227. <VALUE><![CDATA[cr+
  12228. "Create table %tablename% ("+
  12229. forcol("", "", cr+tb+"%ColName% %typsql%"+ if(defexist," %defvalue%", "")+
  12230. if(defaultexist," Default "+defaultvalue  ,"")+
  12231. if(notnull," NOT NULL","")+if(checkexist," Check ("+ evalcheck+" )","")+if(def2exist," %def2value%", "") , ",", "")+
  12232. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint,"Constraint pk_%tablename% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  12233. forParent("", "", template(refintegrity), "", "" )+
  12234. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  12235. ]]></VALUE>
  12236. <LANGUAGE>0</LANGUAGE>
  12237. <LANGUAGEWIN>---</LANGUAGEWIN>
  12238. <CATEGORY>2</CATEGORY>
  12239. <MAINSCRIPT>0</MAINSCRIPT>
  12240. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12241. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12242. <AUTHOR></AUTHOR>
  12243. <COMPANY></COMPANY>
  12244. <VERSION></VERSION>
  12245. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12246. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12247. </TEMPLATE>
  12248. <TEMPLATE>
  12249. <NAME>CREATEINDEXS</NAME>
  12250. <ID>4</ID>
  12251. <GUID>{4027B54A-126E-47A1-AEC5-62DF3FE8EA67}</GUID>
  12252. <CAPTION></CAPTION>
  12253. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12254. <ENABLED>1</ENABLED>
  12255. <LEVEL>2</LEVEL>
  12256. <IDPARENT>0</IDPARENT>
  12257. <VALUE><![CDATA[{lindexexist}
  12258. @fortable("","",forindex("", "", macro(createindex), "", "" ),"","")
  12259. ]]></VALUE>
  12260. <LANGUAGE>0</LANGUAGE>
  12261. <LANGUAGEWIN>---</LANGUAGEWIN>
  12262. <CATEGORY>2</CATEGORY>
  12263. <MAINSCRIPT>0</MAINSCRIPT>
  12264. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12265. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12266. <AUTHOR></AUTHOR>
  12267. <COMPANY></COMPANY>
  12268. <VERSION></VERSION>
  12269. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12270. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12271. </TEMPLATE>
  12272. <TEMPLATE>
  12273. <NAME>CREATEINDEX</NAME>
  12274. <ID>5</ID>
  12275. <GUID>{E3D853F5-15EE-406C-98D1-F31939C979B6}</GUID>
  12276. <CAPTION></CAPTION>
  12277. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12278. <ENABLED>1</ENABLED>
  12279. <LEVEL>2</LEVEL>
  12280. <IDPARENT>0</IDPARENT>
  12281. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  12282. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  12283. +ShowMessage("Index %Indexname% for table %tablename%")
  12284. ]]></VALUE>
  12285. <LANGUAGE>0</LANGUAGE>
  12286. <LANGUAGEWIN>---</LANGUAGEWIN>
  12287. <CATEGORY>2</CATEGORY>
  12288. <MAINSCRIPT>0</MAINSCRIPT>
  12289. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12290. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12291. <AUTHOR></AUTHOR>
  12292. <COMPANY></COMPANY>
  12293. <VERSION></VERSION>
  12294. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12295. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12296. </TEMPLATE>
  12297. <TEMPLATE>
  12298. <NAME>DROPINDEXS</NAME>
  12299. <ID>6</ID>
  12300. <GUID>{7B093F24-2B0D-47EC-A9DD-7D65DD3CD724}</GUID>
  12301. <CAPTION></CAPTION>
  12302. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12303. <ENABLED>1</ENABLED>
  12304. <LEVEL>2</LEVEL>
  12305. <IDPARENT>0</IDPARENT>
  12306. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  12307. ]]></VALUE>
  12308. <LANGUAGE>0</LANGUAGE>
  12309. <LANGUAGEWIN>---</LANGUAGEWIN>
  12310. <CATEGORY>2</CATEGORY>
  12311. <MAINSCRIPT>0</MAINSCRIPT>
  12312. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12313. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12314. <AUTHOR></AUTHOR>
  12315. <COMPANY></COMPANY>
  12316. <VERSION></VERSION>
  12317. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12318. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12319. </TEMPLATE>
  12320. <TEMPLATE>
  12321. <NAME>REFINTEGRITY</NAME>
  12322. <ID>7</ID>
  12323. <GUID>{44BCE12B-F0EB-48B4-A629-32BAD248E3B6}</GUID>
  12324. <CAPTION></CAPTION>
  12325. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12326. <ENABLED>1</ENABLED>
  12327. <LEVEL>2</LEVEL>
  12328. <IDPARENT>0</IDPARENT>
  12329. <VALUE><![CDATA[{lRelAnyDekl and lRefIntegGener}
  12330. ,foreign key (%childkeys%) references %parenttablename% (%parentkeys%)
  12331. ]]></VALUE>
  12332. <LANGUAGE>0</LANGUAGE>
  12333. <LANGUAGEWIN>---</LANGUAGEWIN>
  12334. <CATEGORY>2</CATEGORY>
  12335. <MAINSCRIPT>0</MAINSCRIPT>
  12336. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12337. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12338. <AUTHOR></AUTHOR>
  12339. <COMPANY></COMPANY>
  12340. <VERSION></VERSION>
  12341. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12342. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12343. </TEMPLATE>
  12344. <TEMPLATE>
  12345. <NAME>CREATETRIGGERUPDATE</NAME>
  12346. <ID>8</ID>
  12347. <GUID>{CD614B2D-EDA9-44DA-9B7B-E495FF0DA067}</GUID>
  12348. <CAPTION></CAPTION>
  12349. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12350. <ENABLED>1</ENABLED>
  12351. <LEVEL>2</LEVEL>
  12352. <IDPARENT>0</IDPARENT>
  12353. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  12354. /* Update procedure pro %tablename% */
  12355. @if(lDropTriggerGener,"drop procedure pu_%tablename%;%cr%", "")
  12356. @showmessage("Update procedure for %tablename%")
  12357. CREATE Procedure pu_%tablename%  ( 
  12358.      @ForPFkcol("", "", "old_%colname%=%typSql%,", "%cr%", "")
  12359.      @ForPFkcol("", "", "new_%colname%=%typSql%", ",%cr%", "")
  12360. ) As
  12361. declare
  12362. errno   = integer not null;
  12363. errmsg  = varchar(255) not null;
  12364. numrows = integer;
  12365.  
  12366. begin
  12367.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  12368.      @forparent("", "", template(triggerchildupdate), "", "" )
  12369. end;
  12370.  
  12371.  
  12372. ]]></VALUE>
  12373. <LANGUAGE>0</LANGUAGE>
  12374. <LANGUAGEWIN>---</LANGUAGEWIN>
  12375. <CATEGORY>2</CATEGORY>
  12376. <MAINSCRIPT>0</MAINSCRIPT>
  12377. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12378. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12379. <AUTHOR></AUTHOR>
  12380. <COMPANY></COMPANY>
  12381. <VERSION></VERSION>
  12382. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12383. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12384. </TEMPLATE>
  12385. <TEMPLATE>
  12386. <NAME>CREATETRIGGERINSERT</NAME>
  12387. <ID>9</ID>
  12388. <GUID>{B9EB3FF5-0114-4D17-9A57-FCBA950251F1}</GUID>
  12389. <CAPTION></CAPTION>
  12390. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12391. <ENABLED>1</ENABLED>
  12392. <LEVEL>2</LEVEL>
  12393. <IDPARENT>0</IDPARENT>
  12394. <VALUE><![CDATA[{lEntChildInsTrig  }
  12395. /* Insert procedure pro %tablename% */
  12396. @if(lDropTriggerGener,"drop procedure pi_%tablename%;%cr%", "")
  12397. @showmessage("Insert procedure for %tablename%")
  12398. CREATE Procedure pi_%tablename%  ( 
  12399.      @ForPFkcol("", "", "new_%colname%=%typSql%", ",%cr%", "")
  12400. ) As
  12401. declare
  12402. errno   = integer not null;
  12403. errmsg  = varchar(255) not null;
  12404. numrows = integer;
  12405.  
  12406. begin
  12407.      @forparent("", "", template(TriggerParentInsert), "", "")
  12408. end;
  12409.  
  12410. ]]></VALUE>
  12411. <LANGUAGE>0</LANGUAGE>
  12412. <LANGUAGEWIN>---</LANGUAGEWIN>
  12413. <CATEGORY>2</CATEGORY>
  12414. <MAINSCRIPT>0</MAINSCRIPT>
  12415. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12416. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12417. <AUTHOR></AUTHOR>
  12418. <COMPANY></COMPANY>
  12419. <VERSION></VERSION>
  12420. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12421. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12422. </TEMPLATE>
  12423. <TEMPLATE>
  12424. <NAME>CREATETRIGGERDELETE</NAME>
  12425. <ID>10</ID>
  12426. <GUID>{2AD0ECFD-784F-42D6-A2DB-58F36753D04A}</GUID>
  12427. <CAPTION></CAPTION>
  12428. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12429. <ENABLED>1</ENABLED>
  12430. <LEVEL>2</LEVEL>
  12431. <IDPARENT>0</IDPARENT>
  12432. <VALUE><![CDATA[{lEntParDelTrig}
  12433. /* Delete procedure pro %tablename% */
  12434. @if(lDropTriggerGener,"drop procedure pd_%tablename%;%cr%", "")
  12435. @showmessage("Delete procedure for %tablename%")
  12436. CREATE Procedure pd_%tablename%  ( 
  12437.      @ForPkcol("", "", "old_%colname%=%typSql%", ",%cr%", "")
  12438. ) As
  12439. declare
  12440. errno   = integer not null;
  12441. errmsg  = varchar(255) not null;
  12442. numrows = integer;
  12443.  
  12444. begin
  12445.      @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  12446. end;
  12447.  
  12448. ]]></VALUE>
  12449. <LANGUAGE>0</LANGUAGE>
  12450. <LANGUAGEWIN>---</LANGUAGEWIN>
  12451. <CATEGORY>2</CATEGORY>
  12452. <MAINSCRIPT>0</MAINSCRIPT>
  12453. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12454. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12455. <AUTHOR></AUTHOR>
  12456. <COMPANY></COMPANY>
  12457. <VERSION></VERSION>
  12458. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12459. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12460. </TEMPLATE>
  12461. <TEMPLATE>
  12462. <NAME>TRIGGERPARENTUPDATE</NAME>
  12463. <ID>11</ID>
  12464. <GUID>{2396EDF6-0D7F-4D4C-A8C9-7DEA5633F963}</GUID>
  12465. <CAPTION></CAPTION>
  12466. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12467. <ENABLED>1</ENABLED>
  12468. <LEVEL>2</LEVEL>
  12469. <IDPARENT>0</IDPARENT>
  12470. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  12471. /* cascade child %childtablename% update when parent %parenttablename% changed */
  12472.  
  12473. IF     @forrelpk( "(", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  12474.  
  12475.     update %childtablename%
  12476.     set @ForRelPk( tb , tb , "%PkChildName% = :new_%PkParentName%" , ",%cr%" , "")
  12477.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND %cr%", "") ;
  12478. endIF;
  12479.  
  12480. {ParUpdSetNULL and  (not lParUpdSetnullDekl)} 
  12481. /* cascade setnull when parent changed */
  12482.  
  12483. IF     @forrelpk( "(", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  12484.  
  12485.     update %childtablename%
  12486.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  12487.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND "+cr, "");
  12488. endIF;
  12489.  
  12490.  
  12491. {ParUpdRestrict and (not lParUpdRestDekl)} 
  12492. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  12493.  
  12494. IF     @forrelpk( "( ", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  12495.  
  12496.     select count( * ) 
  12497.     into :numrows
  12498.     from %childtablename%
  12499.     where     @forrelpk( "", "", "%PkChildName% = :old_%PkParentName%", " AND "+cr+tb, "" );
  12500.     
  12501.     IF ( numrows > 0 ) then
  12502.         errno  = 101;
  12503.         errmsg = ' Children still exist in child table. ';
  12504.         raise error :errno :errmsg;
  12505.         return :errno;
  12506.     endIF;
  12507. endIF;
  12508. ]]></VALUE>
  12509. <LANGUAGE>0</LANGUAGE>
  12510. <LANGUAGEWIN>---</LANGUAGEWIN>
  12511. <CATEGORY>2</CATEGORY>
  12512. <MAINSCRIPT>0</MAINSCRIPT>
  12513. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12514. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12515. <AUTHOR></AUTHOR>
  12516. <COMPANY></COMPANY>
  12517. <VERSION></VERSION>
  12518. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12519. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12520. </TEMPLATE>
  12521. <TEMPLATE>
  12522. <NAME>TRIGGERCHILDUPDATE</NAME>
  12523. <ID>12</ID>
  12524. <GUID>{927FF9DE-11A9-4508-B54F-0DF7A4F824B2}</GUID>
  12525. <CAPTION></CAPTION>
  12526. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12527. <ENABLED>1</ENABLED>
  12528. <LEVEL>2</LEVEL>
  12529. <IDPARENT>0</IDPARENT>
  12530. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  12531. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  12532.       
  12533. select count( * ) 
  12534. into :numrows
  12535. from %ParentTableName%
  12536. where     @forrelpk( "", "", "new_%PkChildName% =  %PkParentName%", " AND "+cr+tb, "" );
  12537.     
  12538. IF ( numrows = 0 ) then
  12539.     errno  = 102;
  12540.     errmsg = 'Parent does not exist. Cannot update child.';
  12541.     raise error :errno :errmsg;
  12542.     return :errno;         
  12543. endIF;
  12544. ]]></VALUE>
  12545. <LANGUAGE>0</LANGUAGE>
  12546. <LANGUAGEWIN>---</LANGUAGEWIN>
  12547. <CATEGORY>2</CATEGORY>
  12548. <MAINSCRIPT>0</MAINSCRIPT>
  12549. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12550. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12551. <AUTHOR></AUTHOR>
  12552. <COMPANY></COMPANY>
  12553. <VERSION></VERSION>
  12554. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12555. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12556. </TEMPLATE>
  12557. <TEMPLATE>
  12558. <NAME>TRIGGERPARENTDELETE</NAME>
  12559. <ID>13</ID>
  12560. <GUID>{FA770B5F-D6F6-4C2B-B5C3-DB03FCBC6D18}</GUID>
  12561. <CAPTION></CAPTION>
  12562. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12563. <ENABLED>1</ENABLED>
  12564. <LEVEL>2</LEVEL>
  12565. <IDPARENT>0</IDPARENT>
  12566. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  12567. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  12568.  
  12569.  
  12570.     delete from %childtablename%
  12571.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND %cr%", "");
  12572.  
  12573.  
  12574. {ParDelSetNULL and (not lParDelSEtnullDekl)} 
  12575. /* cascade setnull when parent deleted */
  12576.  
  12577.  
  12578.     update %childtablename%
  12579.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  12580.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND "+cr, "");
  12581.  
  12582.  
  12583. {ParDelRestrict and (not lParDelRestDekl)} 
  12584. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  12585.  
  12586.  
  12587.     select count( * ) 
  12588.     into :numrows
  12589.     from %childtablename%
  12590.     where     @forrelpk( "", "", "%PkChildName% =  :old_%PkParentName%", " AND "+cr+tb, "" );
  12591.     
  12592.     IF ( numrows > 0 ) then
  12593.         errno  = 103;
  12594.         errmsg = ' Children still exist in child table. Cannot delete parent ';
  12595.         raise error :errno :errmsg;
  12596.         return :errno; 
  12597.     endIF;
  12598. ]]></VALUE>
  12599. <LANGUAGE>0</LANGUAGE>
  12600. <LANGUAGEWIN>---</LANGUAGEWIN>
  12601. <CATEGORY>2</CATEGORY>
  12602. <MAINSCRIPT>0</MAINSCRIPT>
  12603. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12604. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12605. <AUTHOR></AUTHOR>
  12606. <COMPANY></COMPANY>
  12607. <VERSION></VERSION>
  12608. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12609. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12610. </TEMPLATE>
  12611. <TEMPLATE>
  12612. <NAME>TRIGGERPARENTINSERT</NAME>
  12613. <ID>14</ID>
  12614. <GUID>{2977A1F1-D438-4369-BF1E-9EE7EF894EE9}</GUID>
  12615. <CAPTION></CAPTION>
  12616. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12617. <ENABLED>1</ENABLED>
  12618. <LEVEL>2</LEVEL>
  12619. <IDPARENT>0</IDPARENT>
  12620. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  12621. /* restrict parent %parenttablename% when child %childtablename% insert */
  12622.  
  12623. select count( * ) 
  12624. into :numrows
  12625. from %ParentTableName%
  12626. where     @forrelpk( "", "", ":new_%PkChildName% =  %PkParentName%", " AND "+cr+tb, ";" )
  12627.     
  12628. IF ( numrows = 0 ) then
  12629.     errno  = 104;
  12630.     errmsg = ' Parent does not exist. Cannot create child.';
  12631.     raise error :errno :errmsg;
  12632.     return :errno;         
  12633.         
  12634. endIf;
  12635.  
  12636. ]]></VALUE>
  12637. <LANGUAGE>0</LANGUAGE>
  12638. <LANGUAGEWIN>---</LANGUAGEWIN>
  12639. <CATEGORY>2</CATEGORY>
  12640. <MAINSCRIPT>0</MAINSCRIPT>
  12641. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12642. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12643. <AUTHOR></AUTHOR>
  12644. <COMPANY></COMPANY>
  12645. <VERSION></VERSION>
  12646. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12647. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12648. </TEMPLATE>
  12649. <TEMPLATE>
  12650. <NAME>CREATERULES</NAME>
  12651. <ID>15</ID>
  12652. <GUID>{7AF6AA86-1BC6-4058-8FBF-12AEADD0B54F}</GUID>
  12653. <CAPTION></CAPTION>
  12654. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12655. <ENABLED>1</ENABLED>
  12656. <LEVEL>2</LEVEL>
  12657. <IDPARENT>0</IDPARENT>
  12658. <VALUE><![CDATA[{lTriggersGener}
  12659.  
  12660. @fortable("", "", template(createRuleUpdate), "", "")
  12661. @fortable("", "", template(createRuleDelete), "", "")
  12662. @fortable("", "", template(createRuleInsert), "", "")
  12663.  
  12664. ]]></VALUE>
  12665. <LANGUAGE>0</LANGUAGE>
  12666. <LANGUAGEWIN>---</LANGUAGEWIN>
  12667. <CATEGORY>2</CATEGORY>
  12668. <MAINSCRIPT>0</MAINSCRIPT>
  12669. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12670. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12671. <AUTHOR></AUTHOR>
  12672. <COMPANY></COMPANY>
  12673. <VERSION></VERSION>
  12674. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12675. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12676. </TEMPLATE>
  12677. <TEMPLATE>
  12678. <NAME>CREATERULEUPDATE</NAME>
  12679. <ID>16</ID>
  12680. <GUID>{6F528813-789F-47AB-9580-55638F21F393}</GUID>
  12681. <CAPTION></CAPTION>
  12682. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12683. <ENABLED>1</ENABLED>
  12684. <LEVEL>2</LEVEL>
  12685. <IDPARENT>0</IDPARENT>
  12686. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  12687. /* Update Rule pro %tablename% */
  12688.  
  12689. CREATE RULE Ru_%tablename% After Update Of %tablename% @showmessage("Trigger for %tablename% ")
  12690.     Execute Procedure Pu_%tablename% (
  12691. @ForPFkCol("", "", "%tb%old_%Colname%=old.%Colname%,", "%cr%", "" )
  12692. @ForPFkCol("", "", "%tb%new_%Colname%=new.%Colname%", ",%cr%", "" )
  12693. );
  12694. ]]></VALUE>
  12695. <LANGUAGE>0</LANGUAGE>
  12696. <LANGUAGEWIN>---</LANGUAGEWIN>
  12697. <CATEGORY>2</CATEGORY>
  12698. <MAINSCRIPT>0</MAINSCRIPT>
  12699. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12700. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12701. <AUTHOR></AUTHOR>
  12702. <COMPANY></COMPANY>
  12703. <VERSION></VERSION>
  12704. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12705. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12706. </TEMPLATE>
  12707. <TEMPLATE>
  12708. <NAME>CREATERULEDELETE</NAME>
  12709. <ID>17</ID>
  12710. <GUID>{0321DFD4-0C71-4DAA-913D-E6FAAA27C431}</GUID>
  12711. <CAPTION></CAPTION>
  12712. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12713. <ENABLED>1</ENABLED>
  12714. <LEVEL>2</LEVEL>
  12715. <IDPARENT>0</IDPARENT>
  12716. <VALUE><![CDATA[{lEntParDelTrig}
  12717. /* Delete Rule pro %tablename% */
  12718.  
  12719. CREATE RULE Rd_%tablename% After Delete Of %tablename% @showmessage("Trigger for %tablename% ")
  12720.     Execute Procedure Pd_%tablename% (
  12721. @ForPkCol("", "", "%tb%old_%Colname%=old.%Colname%", ",%cr%", "" )
  12722. );
  12723. ]]></VALUE>
  12724. <LANGUAGE>0</LANGUAGE>
  12725. <LANGUAGEWIN>---</LANGUAGEWIN>
  12726. <CATEGORY>2</CATEGORY>
  12727. <MAINSCRIPT>0</MAINSCRIPT>
  12728. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12729. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12730. <AUTHOR></AUTHOR>
  12731. <COMPANY></COMPANY>
  12732. <VERSION></VERSION>
  12733. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12734. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12735. </TEMPLATE>
  12736. <TEMPLATE>
  12737. <NAME>CREATERULEINSERT</NAME>
  12738. <ID>18</ID>
  12739. <GUID>{30848E94-DE80-4C9C-B14E-22CD1ACDD5DB}</GUID>
  12740. <CAPTION></CAPTION>
  12741. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12742. <ENABLED>1</ENABLED>
  12743. <LEVEL>2</LEVEL>
  12744. <IDPARENT>0</IDPARENT>
  12745. <VALUE><![CDATA[{lEntChildInsTrig  }
  12746. /* Insert Rule pro %tablename% */
  12747.  
  12748. CREATE RULE Ri_%tablename% After Insert Of %tablename% @showmessage("Trigger for %tablename% ")
  12749.     Execute Procedure Pi_%tablename% (
  12750. @ForPFkCol("", "", "%tb%new_%Colname%=new.%Colname%", ",%cr%", "" )
  12751. );
  12752. ]]></VALUE>
  12753. <LANGUAGE>0</LANGUAGE>
  12754. <LANGUAGEWIN>---</LANGUAGEWIN>
  12755. <CATEGORY>2</CATEGORY>
  12756. <MAINSCRIPT>0</MAINSCRIPT>
  12757. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12758. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12759. <AUTHOR></AUTHOR>
  12760. <COMPANY></COMPANY>
  12761. <VERSION></VERSION>
  12762. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12763. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12764. </TEMPLATE>
  12765. <TEMPLATE>
  12766. <NAME>DropTables</NAME>
  12767. <ID>19</ID>
  12768. <GUID>{70AEB9AD-B3A6-465E-9316-8B4BD0E58894}</GUID>
  12769. <CAPTION></CAPTION>
  12770. <PACKAGEGUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</PACKAGEGUID>
  12771. <ENABLED>1</ENABLED>
  12772. <LEVEL>2</LEVEL>
  12773. <IDPARENT>0</IDPARENT>
  12774. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  12775. ]]></VALUE>
  12776. <LANGUAGE>0</LANGUAGE>
  12777. <LANGUAGEWIN>---</LANGUAGEWIN>
  12778. <CATEGORY>2</CATEGORY>
  12779. <MAINSCRIPT>0</MAINSCRIPT>
  12780. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  12781. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  12782. <AUTHOR></AUTHOR>
  12783. <COMPANY></COMPANY>
  12784. <VERSION></VERSION>
  12785. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  12786. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  12787. </TEMPLATE>
  12788. </TEMPLATES>
  12789. <VARIABLES><![CDATA[lPermissUserToRoleSupp 1
  12790. lPermissUserToObjectSupp 1
  12791. lPermissRoleToObjectSupp 1
  12792. lRoleSupp 1
  12793. lDriParUpdRestrict 1
  12794. lDriParUpdCascade 0
  12795. lDriParUpdSetNull 0
  12796. lDriParUpdSetDefault 0
  12797. lDriParDelRestrict 1
  12798. lDriParDelCascade 0
  12799. lDriParDelSetNull 0
  12800. lDriParDelSetDefault 0
  12801. lDriChildInsRestrict 0
  12802. lDriChildUpdRestrict 0
  12803. lDriParUpdRestrictSupp 1
  12804. lDriParUpdCascadeSupp 0
  12805. lDriParUpdSetNullSupp 0
  12806. lDriParUpdSetDefaultSupp 0
  12807. lDriParDelRestrictSupp 1
  12808. lDriParDelCascadeSupp 0
  12809. lDriParDelSetNullSupp 0
  12810. lDriParDelSetDefaultSupp 0
  12811. lDriChildInsRestrictSupp 0
  12812. lDriChildUpdRestrictSupp 0
  12813. lIndexDescendSupp 1
  12814. lIndexItDescendSupp 1
  12815. lIndexUpperSupp 0
  12816. lIndexExprSupp 0
  12817. lIndexUniqueSupp 1
  12818. lIndexFilterSupp 0
  12819. lIndexStandSupp 1
  12820. lIndexClusterSupp 0
  12821. lIndexNameUnique 1
  12822. lPkSupp 1
  12823. lPkNotNull 1
  12824. lDRISupp 1
  12825. lTriggerSupp 1
  12826. lAtrUniqueSupp 0
  12827. lAtrNotNullSupp 1
  12828. lAtrCheckSupp 1
  12829. lAtrDefaultSupp 1
  12830. lPermissUserToRoleSupp 1
  12831. lPermissUserToObjectSupp 1
  12832. lPermissRoleToObjectSupp 1
  12833. lRoleSupp 1
  12834. ]]></VARIABLES>
  12835. <USEREDITS>
  12836. </USEREDITS>
  12837. <TYPELIST>
  12838. <TYPE>
  12839. <NAME>Char</NAME>
  12840. <ID>10</ID>
  12841. <GUID>{C7BFA693-AFAC-4544-BF05-5CBFF6C3F72B}</GUID>
  12842. <PHNAME>Char</PHNAME>
  12843. <LLENGTH>1</LLENGTH>
  12844. <LDECIMAL>0</LDECIMAL>
  12845. <MAXLENGTH>2000</MAXLENGTH>
  12846. <MINLENGTH>1</MINLENGTH>
  12847. <MAXDECIMAL>0</MAXDECIMAL>
  12848. <MINDECIMAL>0</MINDECIMAL>
  12849. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  12850. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12851. <TRANSFORMCODE>A</TRANSFORMCODE>
  12852. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  12853. <EXPORTTO>0</EXPORTTO>
  12854. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12855. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12856. </TYPE>
  12857. <TYPE>
  12858. <NAME>Varchar</NAME>
  12859. <ID>20</ID>
  12860. <GUID>{FC298E2D-D4CE-4D6C-84B1-29856CF4C48D}</GUID>
  12861. <PHNAME>Varchar</PHNAME>
  12862. <LLENGTH>1</LLENGTH>
  12863. <LDECIMAL>0</LDECIMAL>
  12864. <MAXLENGTH>2000</MAXLENGTH>
  12865. <MINLENGTH>1</MINLENGTH>
  12866. <MAXDECIMAL>0</MAXDECIMAL>
  12867. <MINDECIMAL>0</MINDECIMAL>
  12868. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  12869. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12870. <TRANSFORMCODE>VA</TRANSFORMCODE>
  12871. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  12872. <EXPORTTO>0</EXPORTTO>
  12873. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12874. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12875. </TYPE>
  12876. <TYPE>
  12877. <NAME>Integer</NAME>
  12878. <ID>30</ID>
  12879. <GUID>{8C7D9ABC-7E79-436F-A76D-F527381BFEA6}</GUID>
  12880. <PHNAME>Integer</PHNAME>
  12881. <LLENGTH>0</LLENGTH>
  12882. <LDECIMAL>0</LDECIMAL>
  12883. <MAXLENGTH>0</MAXLENGTH>
  12884. <MINLENGTH>0</MINLENGTH>
  12885. <MAXDECIMAL>0</MAXDECIMAL>
  12886. <MINDECIMAL>0</MINDECIMAL>
  12887. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12888. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12889. <TRANSFORMCODE>I</TRANSFORMCODE>
  12890. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  12891. <EXPORTTO>0</EXPORTTO>
  12892. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12893. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12894. </TYPE>
  12895. <TYPE>
  12896. <NAME>Integer1</NAME>
  12897. <ID>40</ID>
  12898. <GUID>{0DE04B52-B536-4CB6-8538-AB60D0A41F9A}</GUID>
  12899. <PHNAME>Integer1</PHNAME>
  12900. <LLENGTH>0</LLENGTH>
  12901. <LDECIMAL>0</LDECIMAL>
  12902. <MAXLENGTH>0</MAXLENGTH>
  12903. <MINLENGTH>0</MINLENGTH>
  12904. <MAXDECIMAL>0</MAXDECIMAL>
  12905. <MINDECIMAL>0</MINDECIMAL>
  12906. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12907. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12908. <TRANSFORMCODE>I</TRANSFORMCODE>
  12909. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  12910. <EXPORTTO>0</EXPORTTO>
  12911. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12912. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12913. </TYPE>
  12914. <TYPE>
  12915. <NAME>Integer2</NAME>
  12916. <ID>50</ID>
  12917. <GUID>{57E991E9-3D93-429D-B4B2-9ED38448E015}</GUID>
  12918. <PHNAME>Integer2</PHNAME>
  12919. <LLENGTH>0</LLENGTH>
  12920. <LDECIMAL>0</LDECIMAL>
  12921. <MAXLENGTH>0</MAXLENGTH>
  12922. <MINLENGTH>0</MINLENGTH>
  12923. <MAXDECIMAL>0</MAXDECIMAL>
  12924. <MINDECIMAL>0</MINDECIMAL>
  12925. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12926. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12927. <TRANSFORMCODE>I</TRANSFORMCODE>
  12928. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  12929. <EXPORTTO>0</EXPORTTO>
  12930. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12931. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12932. </TYPE>
  12933. <TYPE>
  12934. <NAME>Integer4</NAME>
  12935. <ID>60</ID>
  12936. <GUID>{DD604AA0-15CD-4D75-8FBD-37263D5BAA96}</GUID>
  12937. <PHNAME>Integer4</PHNAME>
  12938. <LLENGTH>0</LLENGTH>
  12939. <LDECIMAL>0</LDECIMAL>
  12940. <MAXLENGTH>0</MAXLENGTH>
  12941. <MINLENGTH>0</MINLENGTH>
  12942. <MAXDECIMAL>0</MAXDECIMAL>
  12943. <MINDECIMAL>0</MINDECIMAL>
  12944. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12945. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12946. <TRANSFORMCODE>I</TRANSFORMCODE>
  12947. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  12948. <EXPORTTO>0</EXPORTTO>
  12949. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12950. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12951. </TYPE>
  12952. <TYPE>
  12953. <NAME>Smallint</NAME>
  12954. <ID>70</ID>
  12955. <GUID>{029BAAE5-8F72-4D52-A993-9CA156AC3E5B}</GUID>
  12956. <PHNAME>Smallint</PHNAME>
  12957. <LLENGTH>0</LLENGTH>
  12958. <LDECIMAL>0</LDECIMAL>
  12959. <MAXLENGTH>0</MAXLENGTH>
  12960. <MINLENGTH>0</MINLENGTH>
  12961. <MAXDECIMAL>0</MAXDECIMAL>
  12962. <MINDECIMAL>0</MINDECIMAL>
  12963. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12964. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12965. <TRANSFORMCODE>SI</TRANSFORMCODE>
  12966. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  12967. <EXPORTTO>0</EXPORTTO>
  12968. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12969. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12970. </TYPE>
  12971. <TYPE>
  12972. <NAME>Float</NAME>
  12973. <ID>80</ID>
  12974. <GUID>{CB5C93F8-2DCE-40DE-8D3B-2E20928E2C26}</GUID>
  12975. <PHNAME>Float</PHNAME>
  12976. <LLENGTH>0</LLENGTH>
  12977. <LDECIMAL>0</LDECIMAL>
  12978. <MAXLENGTH>0</MAXLENGTH>
  12979. <MINLENGTH>0</MINLENGTH>
  12980. <MAXDECIMAL>0</MAXDECIMAL>
  12981. <MINDECIMAL>0</MINDECIMAL>
  12982. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  12983. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  12984. <TRANSFORMCODE>F</TRANSFORMCODE>
  12985. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  12986. <EXPORTTO>0</EXPORTTO>
  12987. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  12988. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  12989. </TYPE>
  12990. <TYPE>
  12991. <NAME>Float4</NAME>
  12992. <ID>90</ID>
  12993. <GUID>{0E576E74-3EDE-43F1-9376-F8730C565F43}</GUID>
  12994. <PHNAME>Float4</PHNAME>
  12995. <LLENGTH>0</LLENGTH>
  12996. <LDECIMAL>0</LDECIMAL>
  12997. <MAXLENGTH>0</MAXLENGTH>
  12998. <MINLENGTH>0</MINLENGTH>
  12999. <MAXDECIMAL>0</MAXDECIMAL>
  13000. <MINDECIMAL>0</MINDECIMAL>
  13001. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13002. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13003. <TRANSFORMCODE>F</TRANSFORMCODE>
  13004. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  13005. <EXPORTTO>0</EXPORTTO>
  13006. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13007. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13008. </TYPE>
  13009. <TYPE>
  13010. <NAME>Float8</NAME>
  13011. <ID>100</ID>
  13012. <GUID>{353D20F6-EED6-4F4E-AA98-9678A1208EAB}</GUID>
  13013. <PHNAME>Float8</PHNAME>
  13014. <LLENGTH>0</LLENGTH>
  13015. <LDECIMAL>0</LDECIMAL>
  13016. <MAXLENGTH>0</MAXLENGTH>
  13017. <MINLENGTH>0</MINLENGTH>
  13018. <MAXDECIMAL>0</MAXDECIMAL>
  13019. <MINDECIMAL>0</MINDECIMAL>
  13020. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13021. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13022. <TRANSFORMCODE>F</TRANSFORMCODE>
  13023. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  13024. <EXPORTTO>0</EXPORTTO>
  13025. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13026. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13027. </TYPE>
  13028. <TYPE>
  13029. <NAME>Real</NAME>
  13030. <ID>110</ID>
  13031. <GUID>{3849E045-8CA2-4BAA-A3C8-808F37010AD0}</GUID>
  13032. <PHNAME>Real</PHNAME>
  13033. <LLENGTH>0</LLENGTH>
  13034. <LDECIMAL>0</LDECIMAL>
  13035. <MAXLENGTH>0</MAXLENGTH>
  13036. <MINLENGTH>0</MINLENGTH>
  13037. <MAXDECIMAL>0</MAXDECIMAL>
  13038. <MINDECIMAL>0</MINDECIMAL>
  13039. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13040. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13041. <TRANSFORMCODE>R</TRANSFORMCODE>
  13042. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  13043. <EXPORTTO>0</EXPORTTO>
  13044. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13045. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13046. </TYPE>
  13047. <TYPE>
  13048. <NAME>Money</NAME>
  13049. <ID>120</ID>
  13050. <GUID>{74326E10-B5D4-4053-B82F-21222EFE18A5}</GUID>
  13051. <PHNAME>Money</PHNAME>
  13052. <LLENGTH>0</LLENGTH>
  13053. <LDECIMAL>0</LDECIMAL>
  13054. <MAXLENGTH>0</MAXLENGTH>
  13055. <MINLENGTH>0</MINLENGTH>
  13056. <MAXDECIMAL>0</MAXDECIMAL>
  13057. <MINDECIMAL>0</MINDECIMAL>
  13058. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13059. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13060. <TRANSFORMCODE>MN</TRANSFORMCODE>
  13061. <TRANSFORMTO>MN;F;N,15,5;</TRANSFORMTO>
  13062. <EXPORTTO>0</EXPORTTO>
  13063. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13064. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13065. </TYPE>
  13066. <TYPE>
  13067. <NAME>Double precision</NAME>
  13068. <ID>130</ID>
  13069. <GUID>{2064EB58-3584-41B9-8B36-83845EC1C8CC}</GUID>
  13070. <PHNAME>Double precision</PHNAME>
  13071. <LLENGTH>0</LLENGTH>
  13072. <LDECIMAL>0</LDECIMAL>
  13073. <MAXLENGTH>0</MAXLENGTH>
  13074. <MINLENGTH>0</MINLENGTH>
  13075. <MAXDECIMAL>0</MAXDECIMAL>
  13076. <MINDECIMAL>0</MINDECIMAL>
  13077. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13078. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13079. <TRANSFORMCODE>F</TRANSFORMCODE>
  13080. <TRANSFORMTO>F;N,15,2;</TRANSFORMTO>
  13081. <EXPORTTO>0</EXPORTTO>
  13082. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13083. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13084. </TYPE>
  13085. <TYPE>
  13086. <NAME>Text</NAME>
  13087. <ID>140</ID>
  13088. <GUID>{BB0A294D-E8EA-4EB4-98C7-5AF2BAA8FDD4}</GUID>
  13089. <PHNAME>Text</PHNAME>
  13090. <LLENGTH>1</LLENGTH>
  13091. <LDECIMAL>0</LDECIMAL>
  13092. <MAXLENGTH>2000</MAXLENGTH>
  13093. <MINLENGTH>1</MINLENGTH>
  13094. <MAXDECIMAL>0</MAXDECIMAL>
  13095. <MINDECIMAL>0</MINDECIMAL>
  13096. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  13097. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13098. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  13099. <TRANSFORMTO>TXT;LVA;LA;BIN;LBIN;</TRANSFORMTO>
  13100. <EXPORTTO>0</EXPORTTO>
  13101. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13102. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13103. </TYPE>
  13104. <TYPE>
  13105. <NAME>Date</NAME>
  13106. <ID>150</ID>
  13107. <GUID>{2BE486B7-7F4C-479B-A9FC-E84D2A58AEC5}</GUID>
  13108. <PHNAME>Date</PHNAME>
  13109. <LLENGTH>0</LLENGTH>
  13110. <LDECIMAL>0</LDECIMAL>
  13111. <MAXLENGTH>0</MAXLENGTH>
  13112. <MINLENGTH>0</MINLENGTH>
  13113. <MAXDECIMAL>0</MAXDECIMAL>
  13114. <MINDECIMAL>0</MINDECIMAL>
  13115. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13116. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13117. <TRANSFORMCODE>D</TRANSFORMCODE>
  13118. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  13119. <EXPORTTO>0</EXPORTTO>
  13120. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13121. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13122. </TYPE>
  13123. <TYPE>
  13124. <NAME>C</NAME>
  13125. <ID>160</ID>
  13126. <GUID>{4F8B4124-51E2-4136-96D0-716739800B15}</GUID>
  13127. <PHNAME>C</PHNAME>
  13128. <LLENGTH>1</LLENGTH>
  13129. <LDECIMAL>0</LDECIMAL>
  13130. <MAXLENGTH>2000</MAXLENGTH>
  13131. <MINLENGTH>1</MINLENGTH>
  13132. <MAXDECIMAL>0</MAXDECIMAL>
  13133. <MINDECIMAL>0</MINDECIMAL>
  13134. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  13135. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13136. <TRANSFORMCODE>A</TRANSFORMCODE>
  13137. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  13138. <EXPORTTO>0</EXPORTTO>
  13139. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13140. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13141. </TYPE>
  13142. <TYPE>
  13143. <NAME>Decimal</NAME>
  13144. <ID>170</ID>
  13145. <GUID>{D278A3E3-14C4-4C5B-B0FD-94524A68ED08}</GUID>
  13146. <PHNAME>Decimal</PHNAME>
  13147. <LLENGTH>1</LLENGTH>
  13148. <LDECIMAL>1</LDECIMAL>
  13149. <MAXLENGTH>32</MAXLENGTH>
  13150. <MINLENGTH>1</MINLENGTH>
  13151. <MAXDECIMAL>32</MAXDECIMAL>
  13152. <MINDECIMAL>0</MINDECIMAL>
  13153. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  13154. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  13155. <TRANSFORMCODE>DC</TRANSFORMCODE>
  13156. <TRANSFORMTO>DC;N;F;LF;</TRANSFORMTO>
  13157. <EXPORTTO>0</EXPORTTO>
  13158. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13159. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13160. </TYPE>
  13161. <TYPE>
  13162. <NAME>Byte</NAME>
  13163. <ID>180</ID>
  13164. <GUID>{6A7E34BB-018C-435F-8461-B6AF3ED1AC6C}</GUID>
  13165. <PHNAME>Byte</PHNAME>
  13166. <LLENGTH>1</LLENGTH>
  13167. <LDECIMAL>0</LDECIMAL>
  13168. <MAXLENGTH>2000</MAXLENGTH>
  13169. <MINLENGTH>1</MINLENGTH>
  13170. <MAXDECIMAL>0</MAXDECIMAL>
  13171. <MINDECIMAL>0</MINDECIMAL>
  13172. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  13173. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13174. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  13175. <TRANSFORMTO>BIN;LBIN;</TRANSFORMTO>
  13176. <EXPORTTO>0</EXPORTTO>
  13177. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13178. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13179. </TYPE>
  13180. <TYPE>
  13181. <NAME>Long varchar</NAME>
  13182. <ID>190</ID>
  13183. <GUID>{275EF817-EB57-4461-8D23-4DD647E052BF}</GUID>
  13184. <PHNAME>Long varchar</PHNAME>
  13185. <LLENGTH>0</LLENGTH>
  13186. <LDECIMAL>0</LDECIMAL>
  13187. <MAXLENGTH>0</MAXLENGTH>
  13188. <MINLENGTH>0</MINLENGTH>
  13189. <MAXDECIMAL>0</MAXDECIMAL>
  13190. <MINDECIMAL>0</MINDECIMAL>
  13191. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13192. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13193. <TRANSFORMCODE>LVA</TRANSFORMCODE>
  13194. <TRANSFORMTO>LVA;TXT;CLOB;</TRANSFORMTO>
  13195. <EXPORTTO>0</EXPORTTO>
  13196. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13197. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13198. </TYPE>
  13199. <TYPE>
  13200. <NAME>Table key</NAME>
  13201. <ID>200</ID>
  13202. <GUID>{4E5652EF-1C47-4F92-BD12-CD7C8D89265A}</GUID>
  13203. <PHNAME>Table key</PHNAME>
  13204. <LLENGTH>0</LLENGTH>
  13205. <LDECIMAL>0</LDECIMAL>
  13206. <MAXLENGTH>0</MAXLENGTH>
  13207. <MINLENGTH>0</MINLENGTH>
  13208. <MAXDECIMAL>0</MAXDECIMAL>
  13209. <MINDECIMAL>0</MINDECIMAL>
  13210. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13211. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13212. <TRANSFORMCODE>NO</TRANSFORMCODE>
  13213. <TRANSFORMTO>NO;</TRANSFORMTO>
  13214. <EXPORTTO>10</EXPORTTO>
  13215. <EXPORTTOLENGTH>8</EXPORTTOLENGTH>
  13216. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13217. </TYPE>
  13218. <TYPE>
  13219. <NAME>Object key</NAME>
  13220. <ID>210</ID>
  13221. <GUID>{E1F2D08A-3729-47E6-8CFA-236E4EE41C0B}</GUID>
  13222. <PHNAME>Object key</PHNAME>
  13223. <LLENGTH>0</LLENGTH>
  13224. <LDECIMAL>0</LDECIMAL>
  13225. <MAXLENGTH>0</MAXLENGTH>
  13226. <MINLENGTH>0</MINLENGTH>
  13227. <MAXDECIMAL>0</MAXDECIMAL>
  13228. <MINDECIMAL>0</MINDECIMAL>
  13229. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13230. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13231. <TRANSFORMCODE>NO</TRANSFORMCODE>
  13232. <TRANSFORMTO>NO;</TRANSFORMTO>
  13233. <EXPORTTO>0</EXPORTTO>
  13234. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13235. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13236. </TYPE>
  13237. <TYPE>
  13238. <NAME>Long byte</NAME>
  13239. <ID>220</ID>
  13240. <GUID>{6A1BE303-8134-414F-A6C3-A5C26538C583}</GUID>
  13241. <PHNAME>Long byte</PHNAME>
  13242. <LLENGTH>0</LLENGTH>
  13243. <LDECIMAL>0</LDECIMAL>
  13244. <MAXLENGTH>0</MAXLENGTH>
  13245. <MINLENGTH>0</MINLENGTH>
  13246. <MAXDECIMAL>0</MAXDECIMAL>
  13247. <MINDECIMAL>0</MINDECIMAL>
  13248. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13249. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13250. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  13251. <TRANSFORMTO>LBIN;BIN;</TRANSFORMTO>
  13252. <EXPORTTO>0</EXPORTTO>
  13253. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13254. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13255. </TYPE>
  13256. <TYPE>
  13257. <NAME>Empty</NAME>
  13258. <ID>400</ID>
  13259. <GUID>{92CDD72B-CC08-4544-B3DA-610ADEFFDC8A}</GUID>
  13260. <PHNAME></PHNAME>
  13261. <LLENGTH>0</LLENGTH>
  13262. <LDECIMAL>0</LDECIMAL>
  13263. <MAXLENGTH>0</MAXLENGTH>
  13264. <MINLENGTH>0</MINLENGTH>
  13265. <MAXDECIMAL>0</MAXDECIMAL>
  13266. <MINDECIMAL>0</MINDECIMAL>
  13267. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  13268. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  13269. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  13270. <TRANSFORMTO>EMP;</TRANSFORMTO>
  13271. <EXPORTTO>0</EXPORTTO>
  13272. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  13273. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  13274. </TYPE>
  13275. </TYPELIST>
  13276. <TEXTOBJECTTYPES>
  13277. </TEXTOBJECTTYPES>
  13278. <DISABLED>0</DISABLED>
  13279. <MAXLENGTHTABLENAME>32</MAXLENGTHTABLENAME>
  13280. <MAXLENGTHCOLNAME>32</MAXLENGTHCOLNAME>
  13281. <MAXLENGTHINDEXNAME>32</MAXLENGTHINDEXNAME>
  13282. <DEFAULTCHAR>_</DEFAULTCHAR>
  13283. <INVALIDCHARACTERS></INVALIDCHARACTERS>
  13284. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  13285. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  13286. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  13287. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  13288. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13289. <KEYWORDS><![CDATA[]]></KEYWORDS>
  13290. </SERVER>
  13291. <SERVER>
  13292. <NAME>Access 2000</NAME>
  13293. <ID>220</ID>
  13294. <GUID>{57D01F61-E731-4124-8845-CBD62F1E404B}</GUID>
  13295. <TEMPLATES>
  13296. <TEMPLATE>
  13297. <NAME>CreateDatabase</NAME>
  13298. <ID>1</ID>
  13299. <GUID>{99100F1C-9682-46FC-878A-BD1B8B1D1FB0}</GUID>
  13300. <CAPTION></CAPTION>
  13301. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13302. <ENABLED>1</ENABLED>
  13303. <LEVEL>2</LEVEL>
  13304. <IDPARENT>0</IDPARENT>
  13305. <VALUE><![CDATA[' Created        %createddate%
  13306. ' Modified        %modifieddate%
  13307. ' Project        %projectname%
  13308. ' Model            %modelname%
  13309. ' Company        %company%
  13310. ' Author            %authorname%
  13311. ' Version        %version%
  13312. ' Database        %databasetype% 
  13313.  
  13314. {lBeforeScript}
  13315. %beforescript%
  13316. {true}
  13317. @Template(CreateModule)
  13318. {lDropViewsGener}
  13319. @template(DropViews)
  13320. {lDropIndexGener}
  13321. @template(DropIndexes)
  13322. @showmessage("Drop Indexes")
  13323. {lDropTableGener}
  13324. @showmessage("Drop tables")
  13325. @template(DropTables)
  13326. {lProceduresGener}
  13327. @template(CreateProcedures)
  13328. {lTableGener}
  13329. @ShowMessage("Creating tables")
  13330. @Template(CreateTables)
  13331. {lPkGener}
  13332. @ShowMessage("Creating primary keys")
  13333. @Template(CreatePKs)
  13334. {lIndexGener}
  13335. @showmessage("Creating indexes")
  13336. @template(CreateIndexes)
  13337. {lAlterKeysGener}
  13338. @showmessage("Creating alter keys (unique indexes)")
  13339. @template(CreateAlterKeys)
  13340. {lRefIntegGener}
  13341. @template(RefIntegritys)
  13342. @showmessage("Creating relations")
  13343. {lViewsGener}
  13344. @template(CreateViews)
  13345. @showmessage("Creating queries")
  13346. {lafterscript}
  13347. %afterscript%
  13348. {true}
  13349. @Template(CreateSubRoutines)
  13350. @Template(UserTempl)
  13351. ]]></VALUE>
  13352. <LANGUAGE>0</LANGUAGE>
  13353. <LANGUAGEWIN>---</LANGUAGEWIN>
  13354. <CATEGORY>2</CATEGORY>
  13355. <MAINSCRIPT>0</MAINSCRIPT>
  13356. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13357. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13358. <AUTHOR></AUTHOR>
  13359. <COMPANY></COMPANY>
  13360. <VERSION></VERSION>
  13361. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13362. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13363. </TEMPLATE>
  13364. <TEMPLATE>
  13365. <NAME>CreateModule</NAME>
  13366. <ID>2</ID>
  13367. <GUID>{007CF41D-1D77-4830-9200-B8B56950DD7B}</GUID>
  13368. <CAPTION></CAPTION>
  13369. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13370. <ENABLED>1</ENABLED>
  13371. <LEVEL>2</LEVEL>
  13372. <IDPARENT>0</IDPARENT>
  13373. <VALUE><![CDATA['=======================================================
  13374. '=== MS Access 2000 database creation method
  13375. '===
  13376. '=== 1. Create a new database in the MS Access 2000
  13377. '=== 2. Create a new module
  13378. '=== 3. Copy the CASE Studio 2 output SQL script into the new MS Access 2000 module
  13379. '=== 4. Select from main menu "Tools" item "References..." and check the "Microsoft DAO 3.6 Object Library."
  13380. '=== 5. Place your mouse cursor somewhere in the main procedure Main()
  13381. '=== 6. Run the module code (Click the "Run Sub/UserForm" button or press F5)
  13382. '=======================================================
  13383.  
  13384. Public dbs As DAO.Database
  13385. Public tdf As DAO.TableDef
  13386. Public idx As DAO.Index
  13387. Public rel As DAO.Relation
  13388.  
  13389. Sub Main()
  13390.  
  13391. Set dbs = CurrentDb()
  13392.  
  13393. On Error GoTo ErrorHandler
  13394.     @iff( lDropViewsGener,"Call DropQueries","" )
  13395.     @iff( lDropTableGener,"Call DropTables","" )
  13396.     @iff( lDropIndexGener,"Call DropIndexes","" )
  13397.     @iff( lTableGener,"Call CreateTables","" )
  13398.     @iff( lPkGener,"Call CreatePrimaryKeys","" )
  13399.     @iff( lIndexGener,"Call CreateIndexes","" )
  13400.     @iff( lAlterKeysGener,"Call CreateAlterKeys","" )
  13401.     @iff( lRefIntegGener,"Call CreateRelations","" )
  13402.     @iff( lViewsGener,"Call CreateQueries","" )
  13403.     
  13404.     MsgBox "Script successfully processed.", vbInformation
  13405.     Exit Sub
  13406.     
  13407. ErrorHandler:
  13408.     Select Case Err.Number
  13409.         Case 3010
  13410.             MsgBox "Table " & tdf.Name & " allready exist!", vbInformation
  13411.             Err.Clear
  13412.       Case 3284
  13413.          MsgBox "Index " & idx.Name & " for table " & tdf.Name & " allready exist!", vbInformation
  13414.          Err.Clear
  13415.         Case Else
  13416.             MsgBox Err.Description, vbCritical
  13417.     End Select
  13418. End Sub
  13419. ]]></VALUE>
  13420. <LANGUAGE>0</LANGUAGE>
  13421. <LANGUAGEWIN>---</LANGUAGEWIN>
  13422. <CATEGORY>2</CATEGORY>
  13423. <MAINSCRIPT>0</MAINSCRIPT>
  13424. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13425. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13426. <AUTHOR></AUTHOR>
  13427. <COMPANY></COMPANY>
  13428. <VERSION></VERSION>
  13429. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13430. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13431. </TEMPLATE>
  13432. <TEMPLATE>
  13433. <NAME>CreateTables</NAME>
  13434. <ID>3</ID>
  13435. <GUID>{8A484D2A-A5B6-49FD-B417-DAF616990CA8}</GUID>
  13436. <CAPTION></CAPTION>
  13437. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13438. <ENABLED>1</ENABLED>
  13439. <LEVEL>2</LEVEL>
  13440. <IDPARENT>0</IDPARENT>
  13441. <VALUE><![CDATA[' Create tables
  13442. '===============
  13443.  
  13444. Sub CreateTables()
  13445.  
  13446. @ForTable("", "", "Call CreateTable"+IntToStr(Table.Id)+" '"+TableName, cr, "" )
  13447. End Sub
  13448.  
  13449. @ForTable("", "", macro(CreateTable), cr, "" )
  13450. ]]></VALUE>
  13451. <LANGUAGE>0</LANGUAGE>
  13452. <LANGUAGEWIN>---</LANGUAGEWIN>
  13453. <CATEGORY>2</CATEGORY>
  13454. <MAINSCRIPT>0</MAINSCRIPT>
  13455. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13456. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13457. <AUTHOR></AUTHOR>
  13458. <COMPANY></COMPANY>
  13459. <VERSION></VERSION>
  13460. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13461. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13462. </TEMPLATE>
  13463. <TEMPLATE>
  13464. <NAME>CreateTable</NAME>
  13465. <ID>4</ID>
  13466. <GUID>{1046B431-3555-4940-817F-B6537E8E6C08}</GUID>
  13467. <CAPTION></CAPTION>
  13468. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13469. <ENABLED>1</ENABLED>
  13470. <LEVEL>2</LEVEL>
  13471. <IDPARENT>0</IDPARENT>
  13472. <VALUE><![CDATA[ShowMessage( "Table %TableName%" )+
  13473. "'=== Create table %TableName% ======"+cr+
  13474. cr+
  13475. "Sub CreateTable"+IntToStr(Table.Id)+"()"+cr+
  13476. cr+
  13477. "Set tdf = dbs.CreateTableDef( %c5+tablename+c5% )"+
  13478. cr+
  13479. cr+
  13480. ForCol("","",
  13481. "Call AddFieldToTable(%c5+ColName+c5%, "+
  13482. ScriptProc( CreateAttribute,Main,Column.Id )+", "+
  13483. c5+if( Empty(cValText),"",cValText )+c5+", "+
  13484. c5+if( CheckExist,EvalCheck,"" )+c5+", "+
  13485. if( NotNull,"TRUE","FALSE" )+" )"+cr,"","")+
  13486. cr+
  13487. "dbs.TableDefs.Append tdf"+cr+
  13488. cr+
  13489. ScriptProc( AddTableProperties, Main, Table.Id, lGenTableComments )+
  13490. ForCol("","",ScriptProc( AddFieldProperties,Main, Column.Id, lGenAttrComments),"","")+cr+
  13491. cr+
  13492. "End Sub"+cr
  13493. ]]></VALUE>
  13494. <LANGUAGE>0</LANGUAGE>
  13495. <LANGUAGEWIN>---</LANGUAGEWIN>
  13496. <CATEGORY>2</CATEGORY>
  13497. <MAINSCRIPT>0</MAINSCRIPT>
  13498. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13499. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13500. <AUTHOR></AUTHOR>
  13501. <COMPANY></COMPANY>
  13502. <VERSION></VERSION>
  13503. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13504. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13505. </TEMPLATE>
  13506. <TEMPLATE>
  13507. <NAME>CreatePKs</NAME>
  13508. <ID>5</ID>
  13509. <GUID>{02A68960-CC13-4E6F-8199-8C90E5E6A1FE}</GUID>
  13510. <CAPTION></CAPTION>
  13511. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13512. <ENABLED>1</ENABLED>
  13513. <LEVEL>2</LEVEL>
  13514. <IDPARENT>0</IDPARENT>
  13515. <VALUE><![CDATA[' Create primary keys
  13516. '=====================
  13517.  
  13518. Sub CreatePrimaryKeys()
  13519.  
  13520. @ForTable("", "", iff( ExistPk, macro( CreatePK ), "" ), "", "" )
  13521. End Sub
  13522. ]]></VALUE>
  13523. <LANGUAGE>0</LANGUAGE>
  13524. <LANGUAGEWIN>---</LANGUAGEWIN>
  13525. <CATEGORY>2</CATEGORY>
  13526. <MAINSCRIPT>0</MAINSCRIPT>
  13527. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13528. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13529. <AUTHOR></AUTHOR>
  13530. <COMPANY></COMPANY>
  13531. <VERSION></VERSION>
  13532. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13533. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13534. </TEMPLATE>
  13535. <TEMPLATE>
  13536. <NAME>CreatePK</NAME>
  13537. <ID>6</ID>
  13538. <GUID>{1EC262B6-FE83-4811-8FB2-1A730855DF8E}</GUID>
  13539. <CAPTION></CAPTION>
  13540. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13541. <ENABLED>1</ENABLED>
  13542. <LEVEL>2</LEVEL>
  13543. <IDPARENT>0</IDPARENT>
  13544. <VALUE><![CDATA["'=== Create primary key for table %TableName% ======"+cr+
  13545. cr+
  13546. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  13547. "Set idx = tdf.CreateIndex( %c5+ConstraintPkName+c5% )"+cr+
  13548. cr+
  13549. "idx.Primary = True"+cr+
  13550. "idx.Unique  = True"+cr+
  13551. "idx.IgnoreNulls = False"+cr+
  13552. cr+
  13553. ForPkCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( lDescPK, "True", "False" )+" )"+cr,"","" )+
  13554. cr+
  13555. "tdf.Indexes.Append idx"+cr+
  13556. cr
  13557. ]]></VALUE>
  13558. <LANGUAGE>0</LANGUAGE>
  13559. <LANGUAGEWIN>---</LANGUAGEWIN>
  13560. <CATEGORY>2</CATEGORY>
  13561. <MAINSCRIPT>0</MAINSCRIPT>
  13562. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13563. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13564. <AUTHOR></AUTHOR>
  13565. <COMPANY></COMPANY>
  13566. <VERSION></VERSION>
  13567. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13568. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13569. </TEMPLATE>
  13570. <TEMPLATE>
  13571. <NAME>CreateIndexes</NAME>
  13572. <ID>7</ID>
  13573. <GUID>{9DA7F206-B330-4B85-BCB8-FF0FE179371F}</GUID>
  13574. <CAPTION></CAPTION>
  13575. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13576. <ENABLED>1</ENABLED>
  13577. <LEVEL>2</LEVEL>
  13578. <IDPARENT>0</IDPARENT>
  13579. <VALUE><![CDATA[' Create indexes
  13580. '================
  13581.  
  13582. Sub CreateIndexes()
  13583.  
  13584. @ForTable("", "", ForIndex("", "", macro( CreateIndex ), "", "" ), "", "" )
  13585. End Sub
  13586. ]]></VALUE>
  13587. <LANGUAGE>0</LANGUAGE>
  13588. <LANGUAGEWIN>---</LANGUAGEWIN>
  13589. <CATEGORY>2</CATEGORY>
  13590. <MAINSCRIPT>0</MAINSCRIPT>
  13591. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13592. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13593. <AUTHOR></AUTHOR>
  13594. <COMPANY></COMPANY>
  13595. <VERSION></VERSION>
  13596. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13597. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13598. </TEMPLATE>
  13599. <TEMPLATE>
  13600. <NAME>CreateIndex</NAME>
  13601. <ID>8</ID>
  13602. <GUID>{143ADAFC-EBE0-4192-946B-FB169A2D62A3}</GUID>
  13603. <CAPTION></CAPTION>
  13604. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13605. <ENABLED>1</ENABLED>
  13606. <LEVEL>2</LEVEL>
  13607. <IDPARENT>0</IDPARENT>
  13608. <VALUE><![CDATA["'=== Create indexes for table %TableName% ======"+cr+
  13609. cr+
  13610. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  13611. "Set idx = tdf.CreateIndex( %c5+IndexName+c5% )"+cr+
  13612. cr+
  13613. "idx.Unique = "+iff( Unique, "True", "False" )+cr+
  13614. "idx.Clustered = "+iff( Clustered, "True", "False" )+cr+
  13615. "idx.IgnoreNulls = "+iff( lIgnoreNullsIx, "True", "False" )+cr+
  13616. cr+
  13617. ForIndexCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( IndexColDesc, "True", "False" )+" )"+cr,"","" )+
  13618. cr+
  13619. "tdf.Indexes.Append idx"+cr+
  13620. cr
  13621. ]]></VALUE>
  13622. <LANGUAGE>0</LANGUAGE>
  13623. <LANGUAGEWIN>---</LANGUAGEWIN>
  13624. <CATEGORY>2</CATEGORY>
  13625. <MAINSCRIPT>0</MAINSCRIPT>
  13626. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13627. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13628. <AUTHOR></AUTHOR>
  13629. <COMPANY></COMPANY>
  13630. <VERSION></VERSION>
  13631. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13632. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13633. </TEMPLATE>
  13634. <TEMPLATE>
  13635. <NAME>CreateAlterKeys</NAME>
  13636. <ID>9</ID>
  13637. <GUID>{E0D8EC8A-5FB7-4013-A05A-C1A0713084F0}</GUID>
  13638. <CAPTION></CAPTION>
  13639. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13640. <ENABLED>1</ENABLED>
  13641. <LEVEL>2</LEVEL>
  13642. <IDPARENT>0</IDPARENT>
  13643. <VALUE><![CDATA[' Create alter keys (unique indexes in MS ACCESS)
  13644. '================================================
  13645.  
  13646. Sub CreateAlterKeys()
  13647.  
  13648. @ForTable("", "", ForAlterKey("", "", macro( CreateAlterKey ), "", "" ), "", "" )
  13649. End Sub
  13650. ]]></VALUE>
  13651. <LANGUAGE>0</LANGUAGE>
  13652. <LANGUAGEWIN>---</LANGUAGEWIN>
  13653. <CATEGORY>2</CATEGORY>
  13654. <MAINSCRIPT>0</MAINSCRIPT>
  13655. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13656. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13657. <AUTHOR></AUTHOR>
  13658. <COMPANY></COMPANY>
  13659. <VERSION></VERSION>
  13660. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13661. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13662. </TEMPLATE>
  13663. <TEMPLATE>
  13664. <NAME>CreateAlterKey</NAME>
  13665. <ID>10</ID>
  13666. <GUID>{264B9F07-8A8A-476B-B5B8-A0979A1F5808}</GUID>
  13667. <CAPTION></CAPTION>
  13668. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13669. <ENABLED>1</ENABLED>
  13670. <LEVEL>2</LEVEL>
  13671. <IDPARENT>0</IDPARENT>
  13672. <VALUE><![CDATA["'=== Create alter keys for table %TableName% ======"+cr+
  13673. cr+
  13674. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  13675. "Set idx = tdf.CreateIndex( %c5+AlterKeyConstraintName+c5% )"+cr+
  13676. cr+
  13677. "idx.Unique = True"+cr+
  13678. "idx.IgnoreNulls = "+iff( lIgnoreNullsAk, "True", "False" )+cr+
  13679. cr+
  13680. ForAlterKeyCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( AlterKeyColDesc, "True", "False" )+" )"+cr,"","" )+
  13681. cr+
  13682. "tdf.Indexes.Append idx"+cr+
  13683. cr
  13684. ]]></VALUE>
  13685. <LANGUAGE>0</LANGUAGE>
  13686. <LANGUAGEWIN>---</LANGUAGEWIN>
  13687. <CATEGORY>2</CATEGORY>
  13688. <MAINSCRIPT>0</MAINSCRIPT>
  13689. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13690. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13691. <AUTHOR></AUTHOR>
  13692. <COMPANY></COMPANY>
  13693. <VERSION></VERSION>
  13694. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13695. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13696. </TEMPLATE>
  13697. <TEMPLATE>
  13698. <NAME>CreateViews</NAME>
  13699. <ID>11</ID>
  13700. <GUID>{3539D8B0-97E0-4352-B121-DF1096F86994}</GUID>
  13701. <CAPTION></CAPTION>
  13702. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13703. <ENABLED>1</ENABLED>
  13704. <LEVEL>2</LEVEL>
  13705. <IDPARENT>0</IDPARENT>
  13706. <VALUE><![CDATA[' Create queries
  13707. '================
  13708.  
  13709. Sub CreateQueries()
  13710.  
  13711. Dim qdf As QueryDef
  13712.  
  13713. @ForView("", "", macro( CreateView ), "", "" )
  13714. End Sub
  13715. ]]></VALUE>
  13716. <LANGUAGE>0</LANGUAGE>
  13717. <LANGUAGEWIN>---</LANGUAGEWIN>
  13718. <CATEGORY>2</CATEGORY>
  13719. <MAINSCRIPT>0</MAINSCRIPT>
  13720. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13721. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13722. <AUTHOR></AUTHOR>
  13723. <COMPANY></COMPANY>
  13724. <VERSION></VERSION>
  13725. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13726. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  13727. </TEMPLATE>
  13728. <TEMPLATE>
  13729. <NAME>RefIntegritys</NAME>
  13730. <ID>12</ID>
  13731. <GUID>{DB0D7FA7-719D-4ED6-B903-F9336E951682}</GUID>
  13732. <CAPTION></CAPTION>
  13733. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13734. <ENABLED>1</ENABLED>
  13735. <LEVEL>2</LEVEL>
  13736. <IDPARENT>0</IDPARENT>
  13737. <VALUE><![CDATA[' Create relations
  13738. '==================
  13739.  
  13740. Sub CreateRelations()
  13741. @ForTable("", "", ForChild("", "", macro( RefIntegrity ), "", "" ), "", "" )
  13742. End Sub
  13743. ]]></VALUE>
  13744. <LANGUAGE>0</LANGUAGE>
  13745. <LANGUAGEWIN>---</LANGUAGEWIN>
  13746. <CATEGORY>2</CATEGORY>
  13747. <MAINSCRIPT>0</MAINSCRIPT>
  13748. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13749. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13750. <AUTHOR></AUTHOR>
  13751. <COMPANY></COMPANY>
  13752. <VERSION></VERSION>
  13753. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13754. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13755. </TEMPLATE>
  13756. <TEMPLATE>
  13757. <NAME>RefIntegrity</NAME>
  13758. <ID>13</ID>
  13759. <GUID>{BC73144A-A6A2-494D-B87E-67B4B1EF944E}</GUID>
  13760. <CAPTION></CAPTION>
  13761. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13762. <ENABLED>1</ENABLED>
  13763. <LEVEL>2</LEVEL>
  13764. <IDPARENT>0</IDPARENT>
  13765. <VALUE><![CDATA[ForRelPk( "'=== Create relations between parent table %ParentTableName% and child table %ChildTableName% ======"+cr+
  13766. cr+
  13767. "Set rel = dbs.CreateRelation("+c5+if(Empty(FRelName),ParentTableName+"_"+ChildTableName,FRelName)+c5+")"+cr+
  13768. cr+
  13769. "rel.Table            = "+c5+ParentTableName+c5+cr+
  13770. "rel.ForeignTable    = "+c5+ChildTableName+c5+cr+
  13771. "rel.Attributes    = "+
  13772. if((lRelParUpdRestDekl) or (lRelParUpdCascDekl) or (lRelParDelRestDekl) or (lRelParDelCascDekl),
  13773. if(lRelParUpdCascDekl,"dbRelationUpdateCascade+","")+
  13774. if(lRelParDelCascDekl,"dbRelationDeleteCascade","0"),"dbRelationDontEnforce")+
  13775. if(eJoin = "LEFT","+dbRelationLeft",if(eJoin = "RIGHT","+dbRelationRight",""))+cr+
  13776. cr,
  13777. "",
  13778. "Call AddFieldToRelation("+c5+PkParentName+c5+", "+c5+PkChildName+c5+")"+cr,
  13779. "",
  13780. cr+
  13781. "dbs.Relations.Append rel"+cr+
  13782. cr )+cr
  13783. ]]></VALUE>
  13784. <LANGUAGE>0</LANGUAGE>
  13785. <LANGUAGEWIN>---</LANGUAGEWIN>
  13786. <CATEGORY>2</CATEGORY>
  13787. <MAINSCRIPT>0</MAINSCRIPT>
  13788. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13789. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13790. <AUTHOR></AUTHOR>
  13791. <COMPANY></COMPANY>
  13792. <VERSION></VERSION>
  13793. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13794. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13795. </TEMPLATE>
  13796. <TEMPLATE>
  13797. <NAME>CreateSubRoutines</NAME>
  13798. <ID>14</ID>
  13799. <GUID>{187A8E7F-51BF-44DB-B68B-D99A46106D7B}</GUID>
  13800. <CAPTION></CAPTION>
  13801. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13802. <ENABLED>1</ENABLED>
  13803. <LEVEL>2</LEVEL>
  13804. <IDPARENT>0</IDPARENT>
  13805. <VALUE><![CDATA[{lDropViewsGener}
  13806. ' Drop queries
  13807. '==============
  13808.  
  13809. Sub DropQuery(QueryName As String)
  13810.  
  13811. Dim qdf As QueryDef
  13812.  
  13813. Set qdf = Nothing
  13814. On Error Resume Next
  13815. Set qdf = dbs.QueryDefs(QueryName)
  13816. On Error GoTo 0
  13817.  
  13818. If Not qdf Is Nothing Then dbs.QueryDefs.Delete ( QueryName )
  13819.  
  13820. End Sub
  13821.  
  13822. {lDropTableGener}
  13823. ' Drop relation
  13824. '===============
  13825.  
  13826. Sub DropRelation(RelName As String)
  13827.  
  13828. Set rel = Nothing
  13829. On Error Resume Next
  13830. Set rel = dbs.Relations(RelName)
  13831. On Error GoTo 0
  13832.  
  13833. If Not rel Is Nothing Then dbs.Relations.Delete ( RelName )
  13834.  
  13835. End Sub
  13836.  
  13837. ' Drop table
  13838. '============
  13839.  
  13840. Sub DropTable(TableName As String)
  13841.  
  13842. Set tdf = Nothing
  13843. On Error Resume Next
  13844. Set tdf = dbs.TableDefs(TableName)
  13845. On Error GoTo 0
  13846.  
  13847. If Not tdf Is Nothing Then dbs.TableDefs.Delete ( TableName )
  13848.  
  13849. End Sub
  13850.  
  13851. {lDropIndexGener}
  13852. ' Drop index
  13853. '============
  13854.  
  13855. Sub DropIndex(TableName As String, IndexName As String)
  13856.  
  13857. Set tdf = Nothing
  13858. Set idx = Nothing
  13859. On Error Resume Next
  13860. Set tdf = dbs.TableDefs(TableName)
  13861. Set idx = tdf.Indexes(IndexName)
  13862. On Error GoTo 0
  13863.  
  13864. If (Not tdf Is Nothing) And (Not idx Is Nothing) Then tdf.Indexes.Delete ( IndexName )
  13865.  
  13866. End Sub
  13867.  
  13868.  
  13869. {lTableGener}
  13870. ' Add fields to table
  13871. '=====================
  13872.  
  13873. Sub AddFieldToTable(FieldName As String, DataType As String, SizeCol As Integer, Attributes As Long, DefaultValue As Variant, ValText As String, ValRule As String, NotN As Boolean)
  13874.  
  13875. Dim fld As DAO.Field
  13876.  
  13877. Set fld = tdf.CreateField( FieldName, DataType )
  13878.  
  13879. If SizeCol         <> 0 Then fld.Size           = SizeCol
  13880. If Attributes    <> 0 Then fld.Attributes    = Attributes
  13881.  
  13882. fld.Required             = NotN
  13883. fld.DefaultValue         = DefaultValue
  13884. fld.ValidationRule     = ValRule
  13885. fld.ValidationText     = ValText
  13886.  
  13887. tdf.Fields.Append fld
  13888.  
  13889. End Sub
  13890.  
  13891. ' Add properties to table
  13892. '=========================
  13893.  
  13894. Sub AddPropertyToTable( PropertyName As String, Value As Variant, DataType As String)
  13895.  
  13896. Dim prp As DAO.Property
  13897.  
  13898. Set prp = tdf.CreateProperty(PropertyName, DataType, Value)
  13899.  
  13900. tdf.Properties.Append prp
  13901.  
  13902. End Sub
  13903.  
  13904.  
  13905. ' Add properties to field
  13906. '=========================
  13907.  
  13908. Sub AddPropertyToField( FieldName As String, PropertyName As String, Value As Variant, DataType As String)
  13909.  
  13910. Dim prp As DAO.Property
  13911. Dim fld As DAO.Field
  13912.  
  13913. Set fld = tdf.Fields( FieldName )
  13914. Set prp = fld.CreateProperty(PropertyName, DataType, Value)
  13915.  
  13916. fld.Properties.Append prp
  13917.  
  13918. End Sub
  13919.  
  13920.  
  13921. {lPKGener or lIndexGener or lAlterKeysGener}
  13922. ' Add fields to index
  13923. '=====================
  13924.  
  13925. Sub AddFieldToIndex( FieldName As String, Descending As Boolean )
  13926.  
  13927. Dim fld As DAO.Field
  13928.  
  13929. Set fld = idx.CreateField( FieldName )
  13930.  
  13931. If Descending = True Then fld.Attributes = dbDescending
  13932.  
  13933. idx.Fields.Append fld
  13934.  
  13935. End Sub
  13936.  
  13937.  
  13938. {lRefIntegGener}
  13939. ' Add fields to relation
  13940. '========================
  13941.  
  13942. Sub AddFieldToRelation( PKField As String, FKField As String )
  13943.  
  13944. Dim fld As DAO.Field
  13945.  
  13946. Set fld = rel.CreateField( PKField )
  13947.  
  13948. fld.ForeignName = FKField
  13949.  
  13950. rel.Fields.Append fld
  13951.  
  13952. End Sub
  13953. ]]></VALUE>
  13954. <LANGUAGE>0</LANGUAGE>
  13955. <LANGUAGEWIN>---</LANGUAGEWIN>
  13956. <CATEGORY>2</CATEGORY>
  13957. <MAINSCRIPT>0</MAINSCRIPT>
  13958. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13959. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13960. <AUTHOR></AUTHOR>
  13961. <COMPANY></COMPANY>
  13962. <VERSION></VERSION>
  13963. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13964. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13965. </TEMPLATE>
  13966. <TEMPLATE>
  13967. <NAME>DropTables</NAME>
  13968. <ID>15</ID>
  13969. <GUID>{D339EED4-B6F8-472E-9DB5-B2F2F68A695A}</GUID>
  13970. <CAPTION></CAPTION>
  13971. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  13972. <ENABLED>1</ENABLED>
  13973. <LEVEL>2</LEVEL>
  13974. <IDPARENT>0</IDPARENT>
  13975. <VALUE><![CDATA[' Drop tables
  13976. '===============
  13977.  
  13978. Public Sub DropTables()
  13979.  
  13980. 'Drop relations
  13981. @ForTableR("", "", ForChild("", "","Call DropRelation("+c5+if(Empty(FRelName),ParentTableName+"_"+ChildTableName,FRelName)+c5+")"+cr, "",""),"","")
  13982.  
  13983. 'Drop tables
  13984. @ForTableR("", "","Call DropTable( %c5+TableName+c5% )", cr, "" )
  13985.  
  13986. End Sub
  13987. ]]></VALUE>
  13988. <LANGUAGE>0</LANGUAGE>
  13989. <LANGUAGEWIN>---</LANGUAGEWIN>
  13990. <CATEGORY>2</CATEGORY>
  13991. <MAINSCRIPT>0</MAINSCRIPT>
  13992. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  13993. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  13994. <AUTHOR></AUTHOR>
  13995. <COMPANY></COMPANY>
  13996. <VERSION></VERSION>
  13997. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  13998. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  13999. </TEMPLATE>
  14000. <TEMPLATE>
  14001. <NAME>DropViews</NAME>
  14002. <ID>16</ID>
  14003. <GUID>{CBEFEAB1-6E54-4C72-B891-801980334445}</GUID>
  14004. <CAPTION></CAPTION>
  14005. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14006. <ENABLED>1</ENABLED>
  14007. <LEVEL>2</LEVEL>
  14008. <IDPARENT>0</IDPARENT>
  14009. <VALUE><![CDATA[' Drop queries
  14010. '===============
  14011.  
  14012. Sub DropQueries()
  14013.  
  14014. @ForViewR("", "","Call DropQuery( %c5+ViewName+c5% )", cr, "" )
  14015.  
  14016. End Sub
  14017. ]]></VALUE>
  14018. <LANGUAGE>0</LANGUAGE>
  14019. <LANGUAGEWIN>---</LANGUAGEWIN>
  14020. <CATEGORY>2</CATEGORY>
  14021. <MAINSCRIPT>0</MAINSCRIPT>
  14022. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14023. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14024. <AUTHOR></AUTHOR>
  14025. <COMPANY></COMPANY>
  14026. <VERSION></VERSION>
  14027. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14028. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  14029. </TEMPLATE>
  14030. <TEMPLATE>
  14031. <NAME>DropIndexes</NAME>
  14032. <ID>17</ID>
  14033. <GUID>{E4BA0C30-63BF-47E0-8E38-E3ADDEF0DC1D}</GUID>
  14034. <CAPTION></CAPTION>
  14035. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14036. <ENABLED>1</ENABLED>
  14037. <LEVEL>2</LEVEL>
  14038. <IDPARENT>0</IDPARENT>
  14039. <VALUE><![CDATA[' Drop indexes 
  14040. '==============
  14041.  
  14042. Sub DropIndexes()
  14043.  
  14044. 'Drop all non unique indexes
  14045. @ForTableR("", "", ForIndex("", "",iff( Unique,"","Call DropIndex("+c5+tablename+c5+", "+c5+indexname+c5+")"+cr),"",""),"","")
  14046.  
  14047. End Sub
  14048. ]]></VALUE>
  14049. <LANGUAGE>0</LANGUAGE>
  14050. <LANGUAGEWIN>---</LANGUAGEWIN>
  14051. <CATEGORY>2</CATEGORY>
  14052. <MAINSCRIPT>0</MAINSCRIPT>
  14053. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14054. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14055. <AUTHOR></AUTHOR>
  14056. <COMPANY></COMPANY>
  14057. <VERSION></VERSION>
  14058. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14059. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  14060. </TEMPLATE>
  14061. <TEMPLATE>
  14062. <NAME>CreateAttribute</NAME>
  14063. <ID>18</ID>
  14064. <GUID>{31FC47FF-993B-456B-8767-A9DB8154B66B}</GUID>
  14065. <CAPTION></CAPTION>
  14066. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14067. <ENABLED>1</ENABLED>
  14068. <LEVEL>2</LEVEL>
  14069. <IDPARENT>0</IDPARENT>
  14070. <VALUE><![CDATA[function Main( AttrId )
  14071. {
  14072. var Attribute    = Model.GetAttribute( AttrId );
  14073. var cFldAttr      = '0';
  14074. var nId            = Attribute.Id;
  14075. var nLength        = 0;
  14076. var lFK            = Attribute.FK;
  14077.  
  14078. // Dictionary data type
  14079. if (Attribute.DataTypeId == 0)
  14080.     Attribute = Model.GetDictType( Attribute.DictTypeId );
  14081.  
  14082. // Length property supported for this data type
  14083. if (Model.GetDataType(Attribute.DataTypeId).IsLength)
  14084.     nLength = Attribute.Length;
  14085.  
  14086. // Auto increment field (not foreign keys)
  14087. if ((Attribute.DataTypeId == 140) && (! lFK))
  14088.     cFldAttr = 'dbAutoIncrField';
  14089.  
  14090. if ((Attribute.DataTypeId == 145) && (! lFK))
  14091.     cFldAttr = 'dbSystemField';
  14092.  
  14093. // Hyperlink field
  14094. if (Attribute.DataTypeId == 150)
  14095.     cFldAttr = 'dbHyperlinkField';    
  14096.  
  14097. return( Model.GetDataType( Attribute.DataTypeId ).DataTypeName+', '+nLength+', '+cFldAttr+', "'+Attribute.Default.replace( /"/g,'""' )+'"' );
  14098. };
  14099. ]]></VALUE>
  14100. <LANGUAGE>1</LANGUAGE>
  14101. <LANGUAGEWIN>---</LANGUAGEWIN>
  14102. <CATEGORY>2</CATEGORY>
  14103. <MAINSCRIPT>0</MAINSCRIPT>
  14104. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14105. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14106. <AUTHOR></AUTHOR>
  14107. <COMPANY></COMPANY>
  14108. <VERSION></VERSION>
  14109. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14110. <MODIFIED><DATE>9/18/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14111. </TEMPLATE>
  14112. <TEMPLATE>
  14113. <NAME>AddFieldProperties</NAME>
  14114. <ID>19</ID>
  14115. <GUID>{47F35A1E-BA0D-4DBD-9E19-BF63960BAFBA}</GUID>
  14116. <CAPTION></CAPTION>
  14117. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14118. <ENABLED>1</ENABLED>
  14119. <LEVEL>2</LEVEL>
  14120. <IDPARENT>0</IDPARENT>
  14121. <VALUE><![CDATA[function Main( AttrId, lComments )
  14122. {
  14123. Attribute = Model.GetAttribute( AttrId );
  14124.  
  14125. var DataTypeId = Attribute.DataTypeId;
  14126.  
  14127. // Dictionary data type
  14128. if (DataTypeId == 0)
  14129.     DataTypeId = Model.GetDictType( Attribute.DictTypeId ).DataTypeId;
  14130.  
  14131. TextStream.Clear();
  14132.  
  14133. // Auto number type
  14134. if (Attribute.DataTypeId == 140)
  14135.     if ( Attribute.eAutoNumberType != 'Increment' )
  14136.         {
  14137.         TextStream.Writeln( 'tdf.Fields("'+Attribute.Name+'").DefaultValue = "GenUniqueID()"' );
  14138.         TextStream.Writeln( ' ' );
  14139.         }
  14140.  
  14141. // Decimal precission
  14142. if ( Attribute.nDecPre != '' )
  14143.     if (    (DataTypeId ==  30) || (DataTypeId ==  40) ||
  14144.             (DataTypeId ==  60) || (DataTypeId ==  80) ||
  14145.             (DataTypeId ==  90) || (DataTypeId == 120) )
  14146.  
  14147.         AddProperty( 'DecimalPlaces', Attribute.nDecPre, 'dbByte' );
  14148.         
  14149. // Auto number type
  14150. if ( Attribute.eAutoNumberType != 'Increment' )
  14151.     AddProperty( 'NewValues', 'Random', 'dbText' )
  14152.  
  14153. // Format
  14154. if ( Attribute.eFormat != 'None' )
  14155.     if ( Attribute.eFormat == 'Own' )
  14156.         {
  14157.         var re = /"/g;
  14158.         AddProperty( 'Format', Attribute.cOwnFormat.replace(re,'""'),    'dbText' )
  14159.         }
  14160.     else
  14161.         AddProperty( 'Format', Attribute.eFormat,        'dbText' );
  14162.  
  14163. // Caption
  14164. if ( Attribute.cCaption != '' )
  14165.     AddProperty( 'Caption', Attribute.cCaption, 'dbText' );
  14166. // Using Attribute name if caption not defined
  14167.     else
  14168.         if (Model.GetUserVariable('lGenEmptyCaption')==-1)
  14169.             AddProperty( 'Caption', Attribute.Name, 'dbText' );    
  14170.  
  14171. // Input mask
  14172. if ( Attribute.cInputMask != '' )
  14173.     {
  14174.     var re = /"/g;
  14175.     AddProperty( 'InputMask', Attribute.cInputMask.replace(re,'""'), 'dbText' );
  14176.     }
  14177.     
  14178. // Comments
  14179. if ( lComments )
  14180.     if ( Attribute.Description != '')
  14181.         AddProperty( 'Description',Scripting.AddTableProperties.ParseDescription( Attribute.Description ), 'dbText' );
  14182.  
  14183. // Unicode compression
  14184. if ( Attribute.lUnicodeCompression )
  14185.     AddProperty( 'UnicodeCompression', true, 'dbBoolean' );
  14186.  
  14187. return( TextStream.Text );    
  14188. };
  14189.  
  14190. function AddProperty( PropertyName, Value, DataType )
  14191. {
  14192. if (DataType == 'dbBoolean')
  14193.     TextStream.Writeln( 'Call AddPropertyToField( "'+Attribute.ColName+'","'+PropertyName+'",'+Value+','+DataType+')' )
  14194. else    
  14195.     TextStream.Writeln( 'Call AddPropertyToField( "'+Attribute.ColName+'","'+PropertyName+'","'+Value+'",'+DataType+')' );
  14196. };
  14197. ]]></VALUE>
  14198. <LANGUAGE>1</LANGUAGE>
  14199. <LANGUAGEWIN>---</LANGUAGEWIN>
  14200. <CATEGORY>2</CATEGORY>
  14201. <MAINSCRIPT>0</MAINSCRIPT>
  14202. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14203. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14204. <AUTHOR></AUTHOR>
  14205. <COMPANY></COMPANY>
  14206. <VERSION></VERSION>
  14207. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14208. <MODIFIED><DATE>10/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14209. </TEMPLATE>
  14210. <TEMPLATE>
  14211. <NAME>ParseView</NAME>
  14212. <ID>20</ID>
  14213. <GUID>{A5657960-98E9-4F2B-87DF-9CC32EDC7B92}</GUID>
  14214. <CAPTION></CAPTION>
  14215. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14216. <ENABLED>1</ENABLED>
  14217. <LEVEL>2</LEVEL>
  14218. <IDPARENT>0</IDPARENT>
  14219. <VALUE><![CDATA[function Main( cSQL )
  14220. {
  14221. var lFirst = true;
  14222. var lShorten;
  14223. var cPrev  = '';
  14224.  
  14225. cSQL = cSQL.replace( /"/g,'""' );
  14226.  
  14227. TextStream.Clear();
  14228.  
  14229. while ( (nPos = cSQL.search( /\r\n/i )) != -1 )
  14230.     {
  14231.     lShorten = (nPos > 300);
  14232.  
  14233.     if (lShorten) // make long lines shorter
  14234.         {
  14235.         nPos = 300;    
  14236.         while ((nPos > 100) && (cSQL.charAt(nPos)!=','))
  14237.             nPos--;
  14238.         cLine = cSQL.substr( 0,nPos+1 )+'"';
  14239.         }
  14240.     else
  14241.         {
  14242.         cLine = cSQL.substr( 0,nPos )+' "';
  14243.         nPos++; 
  14244.         }
  14245.             
  14246.     if (lFirst)
  14247.         {
  14248.         TextStream.Writeln( 'qdf.SQL\t=\t'+cPrev+'"'+cLine );
  14249.         lFirst = false;
  14250.         }
  14251.     else
  14252.         {
  14253.         TextStream.Write( ' _' );
  14254.         TextStream.Writeln( '\t\t\t+\t'+cPrev+'"'+cLine );
  14255.         };
  14256.  
  14257.     if (lShorten)
  14258.         cPrev = '      '    
  14259.     else
  14260.         cPrev = '';
  14261.  
  14262.     cSQL = cSQL.substr( nPos+1 );
  14263.     }
  14264.  
  14265. return( TextStream.Text );
  14266. };
  14267. ]]></VALUE>
  14268. <LANGUAGE>1</LANGUAGE>
  14269. <LANGUAGEWIN>---</LANGUAGEWIN>
  14270. <CATEGORY>2</CATEGORY>
  14271. <MAINSCRIPT>0</MAINSCRIPT>
  14272. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14273. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14274. <AUTHOR></AUTHOR>
  14275. <COMPANY></COMPANY>
  14276. <VERSION></VERSION>
  14277. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14278. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14279. </TEMPLATE>
  14280. <TEMPLATE>
  14281. <NAME>CreateView</NAME>
  14282. <ID>21</ID>
  14283. <GUID>{3AD1888C-FE2B-4D7A-A97D-65A7178326CD}</GUID>
  14284. <CAPTION></CAPTION>
  14285. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14286. <ENABLED>1</ENABLED>
  14287. <LEVEL>2</LEVEL>
  14288. <IDPARENT>0</IDPARENT>
  14289. <VALUE><![CDATA["'=== Create view %ViewName% ======"+cr+
  14290. cr+
  14291. "Set qdf = dbs.CreateQueryDef( %c5+ViewName+c5% )"+cr+
  14292. cr+
  14293. ScriptProc( ParseView,Main,View )
  14294. ]]></VALUE>
  14295. <LANGUAGE>0</LANGUAGE>
  14296. <LANGUAGEWIN>---</LANGUAGEWIN>
  14297. <CATEGORY>2</CATEGORY>
  14298. <MAINSCRIPT>0</MAINSCRIPT>
  14299. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14300. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14301. <AUTHOR></AUTHOR>
  14302. <COMPANY></COMPANY>
  14303. <VERSION></VERSION>
  14304. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14305. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  14306. </TEMPLATE>
  14307. <TEMPLATE>
  14308. <NAME>AddTableProperties</NAME>
  14309. <ID>22</ID>
  14310. <GUID>{F7EF2663-874A-4FBA-AA53-51225331B3B4}</GUID>
  14311. <CAPTION></CAPTION>
  14312. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14313. <ENABLED>1</ENABLED>
  14314. <LEVEL>2</LEVEL>
  14315. <IDPARENT>0</IDPARENT>
  14316. <VALUE><![CDATA[function Main( TableId, cComments )
  14317. {
  14318. Table = Model.GetEntity( TableId );
  14319.  
  14320. // Comments
  14321. if ( UserVarToBool( cComments ) )
  14322.     if ( Table.Description != '')
  14323.         AddProperty( 'Description',ParseDescription( Table.Description ), 'dbText' );
  14324.  
  14325. return( TextStream.Text );
  14326. };
  14327.  
  14328. function AddProperty( PropertyName, Value, DataType )
  14329. {
  14330. TextStream.Writeln( 'Call AddPropertyToTable( "'+PropertyName+'","'+Value+'",'+DataType+')' );
  14331. };
  14332.  
  14333. function ParseDescription( cDescription )
  14334. {
  14335. var Result = '';
  14336. var lFirst = true;
  14337.  
  14338. cDescription = cDescription.replace( /"/g,'""' ) + '\r\n';
  14339.  
  14340. while ( (nPos = cDescription.search( /\r\n/i )) != -1 )
  14341.     {
  14342.     if (lFirst)
  14343.         {
  14344.         Result += cDescription.substr( 0,nPos );
  14345.         lFirst = false;
  14346.         }
  14347.     else
  14348.         {
  14349.         Result += '"+Chr(13)+Chr(10) _\r\n';
  14350.         Result += '\t+\t"'+cDescription.substr( 0,nPos );
  14351.         };
  14352.     cDescription = cDescription.substr( nPos+2 );
  14353.     };
  14354.  
  14355. return( Result );
  14356. };
  14357. ]]></VALUE>
  14358. <LANGUAGE>1</LANGUAGE>
  14359. <LANGUAGEWIN>---</LANGUAGEWIN>
  14360. <CATEGORY>2</CATEGORY>
  14361. <MAINSCRIPT>0</MAINSCRIPT>
  14362. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14363. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14364. <AUTHOR></AUTHOR>
  14365. <COMPANY></COMPANY>
  14366. <VERSION></VERSION>
  14367. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  14368. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14369. </TEMPLATE>
  14370. <TEMPLATE>
  14371. <NAME>Ver_Main</NAME>
  14372. <ID>23</ID>
  14373. <GUID>{71B584E5-5A7F-4880-B16E-DE6A33A14C78}</GUID>
  14374. <CAPTION>Ver_Main</CAPTION>
  14375. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14376. <ENABLED>1</ENABLED>
  14377. <LEVEL>2</LEVEL>
  14378. <IDPARENT>0</IDPARENT>
  14379. <VALUE><![CDATA[function Main()
  14380. {
  14381. Scripting.Ver_Dictionary.ReadVocabulary();
  14382.  
  14383. Verify.Clear();
  14384.  
  14385. if (Verify.BasicVerification)
  14386.     {
  14387.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  14388.     Verify.Writeln( ' ' );
  14389.     Verify.CheckPkConstraint = false;
  14390.     Verify.VerifyBasic();
  14391.     };
  14392.     
  14393. if (Variables.lAttributes)
  14394.     Scripting.Ver_Attributes.Main();
  14395.  
  14396. Scripting.Ver_Summary.Main();
  14397. };
  14398. ]]></VALUE>
  14399. <LANGUAGE>1</LANGUAGE>
  14400. <LANGUAGEWIN>---</LANGUAGEWIN>
  14401. <CATEGORY>7</CATEGORY>
  14402. <MAINSCRIPT>0</MAINSCRIPT>
  14403. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14404. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14405. <AUTHOR></AUTHOR>
  14406. <COMPANY></COMPANY>
  14407. <VERSION></VERSION>
  14408. <CREATED><DATE>4/15/2002</DATE><TIME>11:27:00</TIME></CREATED>
  14409. <MODIFIED><DATE>4/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14410. </TEMPLATE>
  14411. <TEMPLATE>
  14412. <NAME>Ver_Attributes</NAME>
  14413. <ID>24</ID>
  14414. <GUID>{9EEF5647-045A-4138-B8A2-35742E1E5991}</GUID>
  14415. <CAPTION>Ver_Attributes</CAPTION>
  14416. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14417. <ENABLED>1</ENABLED>
  14418. <LEVEL>2</LEVEL>
  14419. <IDPARENT>0</IDPARENT>
  14420. <VALUE><![CDATA[function Main()
  14421. {
  14422. var lAutoInc = false;
  14423. var nDataTypeId = 0;
  14424.  
  14425. cEntityName = '';
  14426.  
  14427. Verify.Writeln( ' ' );
  14428. Verify.Writeln( '---------------------------------------------------' );
  14429. Verify.Writeln( Translator.Translate( 'V_ATTRIBUTES',0 ) );
  14430.  
  14431. for (e=0; e<Model.CountEntities; e++)
  14432.     {
  14433.     Entity     = Model.Entities( e );
  14434.     lAutoInc = false;
  14435.  
  14436.     for (a=0; a<Entity.CountAttributes; a++)
  14437.         {
  14438.         Attribute = Entity.Attributes( a );
  14439.         if (Attribute.DataTypeId == 0)
  14440.             DataType = Model.GetDataType( Model.GetDictType( Attribute.DictTypeId ).DataTypeId )
  14441.         else
  14442.             DataType = Model.GetDataType( Attribute.DataTypeId );    
  14443.  
  14444.         nDataTypeId = DataType.Id;    
  14445.  
  14446.         // check auto increment fields
  14447.         if ((nDataTypeId == 140) || (nDataTypeId == 145))
  14448.             if ( lAutoInc )
  14449.                 AddError( 'E_AUTOINC', '' )
  14450.             else
  14451.                 lAutoInc = true;
  14452.                 
  14453.         if (Attribute.Pk)
  14454.             if (nDataTypeId == 100) // OLE Object
  14455.                 AddError( 'E_PK','' );
  14456.         };
  14457.     };
  14458. };
  14459.  
  14460. //======================================================================
  14461.  
  14462. function AddError( cErrorMessage, cParam1 )
  14463. {
  14464. if (Entity.Name != cEntityName)
  14465.     {
  14466.     cEntityName = Entity.Name;
  14467.     Verify.Writeln( FormatStr( Translator.Translate( 'E_ENT_CHECK',0 ), cEntityName ) );
  14468.     };
  14469. Verify.AddError( FormatStr( Translator.Translate( cErrorMessage,0 ), cParam1 ) );
  14470. };
  14471. ]]></VALUE>
  14472. <LANGUAGE>1</LANGUAGE>
  14473. <LANGUAGEWIN>---</LANGUAGEWIN>
  14474. <CATEGORY>7</CATEGORY>
  14475. <MAINSCRIPT>0</MAINSCRIPT>
  14476. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14477. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14478. <AUTHOR></AUTHOR>
  14479. <COMPANY></COMPANY>
  14480. <VERSION></VERSION>
  14481. <CREATED><DATE>4/12/2002</DATE><TIME>15:04:21</TIME></CREATED>
  14482. <MODIFIED><DATE>4/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14483. </TEMPLATE>
  14484. <TEMPLATE>
  14485. <NAME>Verification</NAME>
  14486. <ID>25</ID>
  14487. <GUID>{7A28DABB-A039-4C11-B12B-1F658C832E7A}</GUID>
  14488. <CAPTION>Verifikace modelu</CAPTION>
  14489. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14490. <ENABLED>1</ENABLED>
  14491. <LEVEL>2</LEVEL>
  14492. <IDPARENT>0</IDPARENT>
  14493. <VALUE><![CDATA[function Main()
  14494. {
  14495. Translator.DefaultLng = 'csy';
  14496. ReadVocabulary();
  14497. Scripting.Ver_Main.Main();
  14498. }
  14499.  
  14500. //======================================================================
  14501.  
  14502. function DefineVariables()
  14503. {
  14504. Variables.DefineVariable( 'lAttributes', 'RozÜφ°enß kontrola atribut∙', 1 );
  14505. Variables.lAttributes = true;
  14506. };
  14507.  
  14508. //======================================================================
  14509.  
  14510. function ReadVocabulary()
  14511. {
  14512. Translator.Add( 'E_AUTOINC',        'Tabulka nesmφ obsahovat vφce ne₧ jeden atribut datovΘho typu \'automatickΘ Φφslo\'!' );
  14513. Translator.Add( 'E_PK',                'Primßrnφ klφΦ nesmφ b²t datovΘho typu \'OLE objekt\'' );
  14514.  
  14515. Translator.Add( 'V_ATTRIBUTES',    'RozÜφ°enß kontrola atribut∙' );
  14516. };
  14517. ]]></VALUE>
  14518. <LANGUAGE>1</LANGUAGE>
  14519. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  14520. <CATEGORY>7</CATEGORY>
  14521. <MAINSCRIPT>1</MAINSCRIPT>
  14522. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  14523. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  14524. <AUTHOR></AUTHOR>
  14525. <COMPANY></COMPANY>
  14526. <VERSION></VERSION>
  14527. <CREATED><DATE>4/15/2002</DATE><TIME>11:16:29</TIME></CREATED>
  14528. <MODIFIED><DATE>4/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  14529. </TEMPLATE>
  14530. </TEMPLATES>
  14531. <VARIABLES><![CDATA[lAtrCheckConstraintSupp 0
  14532. lAlterKeyItDescendSupp 1
  14533. lAlterKeySupp 1
  14534. lProceduresSupp 0
  14535. lViewsSupp 1
  14536. lConstraintPkSupp 0
  14537. lConstraintFkSupp 0
  14538. lAtrUniqueConstraintSupp 0
  14539. lPermissUserToObjectSupp 0
  14540. lPermissRoleToObjectSupp 0
  14541. lDomainSupp  0
  14542. lDriParUpdRestrict 1
  14543. lDriParUpdCascade 1
  14544. lDriParUpdSetNull 0
  14545. lDriParUpdSetDefault 0
  14546. lDriParDelRestrict 1
  14547. lDriParDelCascade 1
  14548. lDriParDelSetNull 0
  14549. lDriParDelSetDefault 0
  14550. lDriChildInsRestrict 0
  14551. lDriChildUpdRestrict 0
  14552. lDriParUpdRestrictSupp 1
  14553. lDriParUpdCascadeSupp 1
  14554. lDriParUpdSetNullSupp 0
  14555. lDriParUpdSetDefaultSupp 0
  14556. lDriParDelRestrictSupp 1
  14557. lDriParDelCascadeSupp 1
  14558. lDriParDelSetNullSupp 0
  14559. lDriParDelSetDefaultSupp 0
  14560. lDriChildInsRestrictSupp 0
  14561. lDriChildUpdRestrictSupp 0
  14562. lIndexDescendSupp 0
  14563. lIndexItDescendSupp 1
  14564. lIndexUpperSupp 0
  14565. lIndexExprSupp 0
  14566. lIndexUniqueSupp 1
  14567. lIndexFilterSupp 0
  14568. lIndexStandSupp 1
  14569. lIndexClusterSupp 0
  14570. lIndexNameUnique 0
  14571. lPkSupp 1
  14572. lPkNotNull 0
  14573. lDRISupp 1
  14574. lTriggerSupp 0
  14575. lAtrUniqueSupp 1
  14576. lAtrNotNullSupp 1
  14577. lAtrCheckSupp 1
  14578. lAtrDefaultSupp 1
  14579. lAtrCheckConstraintSupp 0
  14580. lAlterKeyItDescendSupp 1
  14581. lAlterKeySupp 1
  14582. lProceduresSupp 0
  14583. lViewsSupp 1
  14584. lConstraintPkSupp 0
  14585. lConstraintFkSupp 0
  14586. lAtrUniqueConstraintSupp 0
  14587. lPermissUserToObjectSupp 0
  14588. lPermissRoleToObjectSupp 0
  14589. lDomainSupp  0
  14590. ]]></VARIABLES>
  14591. <USEREDITS>
  14592. <USEREDIT>
  14593. <NAME>nDecPre</NAME>
  14594. <ID>1</ID>
  14595. <GUID>{4C81B60C-8FBC-4A58-8179-958F674FDB10}</GUID>
  14596. <CAPTION>Decimal precision for numeric types</CAPTION>
  14597. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14598. <TYPE>0</TYPE>
  14599. <LEVEL>3</LEVEL>
  14600. <DEFAULT></DEFAULT>
  14601. <ORD>30</ORD>
  14602. <LENGTH>40</LENGTH>
  14603. <ENABLED>1</ENABLED>
  14604. <ITEMS></ITEMS>
  14605. </USEREDIT>
  14606. <USEREDIT>
  14607. <NAME>cValText</NAME>
  14608. <ID>2</ID>
  14609. <GUID>{62F48721-1342-4284-B2DA-D1C42DDCE80B}</GUID>
  14610. <CAPTION>Validation text</CAPTION>
  14611. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14612. <TYPE>0</TYPE>
  14613. <LEVEL>3</LEVEL>
  14614. <DEFAULT></DEFAULT>
  14615. <ORD>50</ORD>
  14616. <LENGTH>250</LENGTH>
  14617. <ENABLED>1</ENABLED>
  14618. <ITEMS></ITEMS>
  14619. </USEREDIT>
  14620. <USEREDIT>
  14621. <NAME>eFormat</NAME>
  14622. <ID>3</ID>
  14623. <GUID>{EF9E9979-CFFD-4EBE-89FC-4759C82E302D}</GUID>
  14624. <CAPTION>Format</CAPTION>
  14625. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14626. <TYPE>2</TYPE>
  14627. <LEVEL>3</LEVEL>
  14628. <DEFAULT>None</DEFAULT>
  14629. <ORD>10</ORD>
  14630. <LENGTH>100</LENGTH>
  14631. <ENABLED>1</ENABLED>
  14632. <ITEMS>"None","Own","General Number","Currency","Euro","Fixed","Standard","Percent","Scientific","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Yes/No","True/False","On/Off"</ITEMS>
  14633. </USEREDIT>
  14634. <USEREDIT>
  14635. <NAME>cInputMask</NAME>
  14636. <ID>4</ID>
  14637. <GUID>{3CE86EB2-FA0B-4C38-A16D-F136828F30C9}</GUID>
  14638. <CAPTION>Input Mask</CAPTION>
  14639. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14640. <TYPE>0</TYPE>
  14641. <LEVEL>3</LEVEL>
  14642. <DEFAULT></DEFAULT>
  14643. <ORD>20</ORD>
  14644. <LENGTH>0</LENGTH>
  14645. <ENABLED>1</ENABLED>
  14646. <ITEMS></ITEMS>
  14647. </USEREDIT>
  14648. <USEREDIT>
  14649. <NAME>cCaption</NAME>
  14650. <ID>5</ID>
  14651. <GUID>{086A8E8C-95A6-4F3F-835F-AAAB983DD31C}</GUID>
  14652. <CAPTION>Caption</CAPTION>
  14653. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14654. <TYPE>0</TYPE>
  14655. <LEVEL>3</LEVEL>
  14656. <DEFAULT></DEFAULT>
  14657. <ORD>40</ORD>
  14658. <LENGTH>0</LENGTH>
  14659. <ENABLED>1</ENABLED>
  14660. <ITEMS></ITEMS>
  14661. </USEREDIT>
  14662. <USEREDIT>
  14663. <NAME>lGenAttrComments</NAME>
  14664. <ID>6</ID>
  14665. <GUID>{C8840088-50F8-4560-9D31-92FC0A52F61F}</GUID>
  14666. <CAPTION>Generate attribute comments</CAPTION>
  14667. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14668. <TYPE>1</TYPE>
  14669. <LEVEL>1</LEVEL>
  14670. <DEFAULT>-1</DEFAULT>
  14671. <ORD>10</ORD>
  14672. <LENGTH>0</LENGTH>
  14673. <ENABLED>1</ENABLED>
  14674. <ITEMS></ITEMS>
  14675. </USEREDIT>
  14676. <USEREDIT>
  14677. <NAME>lIgnoreNullsIx</NAME>
  14678. <ID>7</ID>
  14679. <GUID>{F3B0AE21-9F34-45EE-8508-D6462C06F581}</GUID>
  14680. <CAPTION>Ignore nulls</CAPTION>
  14681. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14682. <TYPE>1</TYPE>
  14683. <LEVEL>4</LEVEL>
  14684. <DEFAULT>0</DEFAULT>
  14685. <ORD>10</ORD>
  14686. <LENGTH>0</LENGTH>
  14687. <ENABLED>1</ENABLED>
  14688. <ITEMS></ITEMS>
  14689. </USEREDIT>
  14690. <USEREDIT>
  14691. <NAME>eJoin</NAME>
  14692. <ID>8</ID>
  14693. <GUID>{37B95462-BA1B-46CE-ACA2-DEC50C71AC1A}</GUID>
  14694. <CAPTION>Join type</CAPTION>
  14695. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14696. <TYPE>2</TYPE>
  14697. <LEVEL>5</LEVEL>
  14698. <DEFAULT>FULL</DEFAULT>
  14699. <ORD>10</ORD>
  14700. <LENGTH>0</LENGTH>
  14701. <ENABLED>1</ENABLED>
  14702. <ITEMS>"FULL","LEFT","RIGHT"</ITEMS>
  14703. </USEREDIT>
  14704. <USEREDIT>
  14705. <NAME>lIgnoreNullsAk</NAME>
  14706. <ID>9</ID>
  14707. <GUID>{570CC153-CD1D-4794-A1FD-A4198509547E}</GUID>
  14708. <CAPTION>Ignore nulls</CAPTION>
  14709. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14710. <TYPE>1</TYPE>
  14711. <LEVEL>7</LEVEL>
  14712. <DEFAULT>0</DEFAULT>
  14713. <ORD>10</ORD>
  14714. <LENGTH>0</LENGTH>
  14715. <ENABLED>1</ENABLED>
  14716. <ITEMS></ITEMS>
  14717. </USEREDIT>
  14718. <USEREDIT>
  14719. <NAME>lZeroLength</NAME>
  14720. <ID>10</ID>
  14721. <GUID>{BC8E91C9-428C-48C6-8BB9-0EA7F7BBDE28}</GUID>
  14722. <CAPTION>Allow zero length (for text,memo and hyperlink data types)</CAPTION>
  14723. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14724. <TYPE>1</TYPE>
  14725. <LEVEL>3</LEVEL>
  14726. <DEFAULT>0</DEFAULT>
  14727. <ORD>60</ORD>
  14728. <LENGTH>0</LENGTH>
  14729. <ENABLED>1</ENABLED>
  14730. <ITEMS></ITEMS>
  14731. </USEREDIT>
  14732. <USEREDIT>
  14733. <NAME>cOwnFormat</NAME>
  14734. <ID>11</ID>
  14735. <GUID>{7B26F73B-6041-40D7-AE39-6C2BE3099F9E}</GUID>
  14736. <CAPTION>Own format</CAPTION>
  14737. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14738. <TYPE>0</TYPE>
  14739. <LEVEL>3</LEVEL>
  14740. <DEFAULT></DEFAULT>
  14741. <ORD>15</ORD>
  14742. <LENGTH>0</LENGTH>
  14743. <ENABLED>1</ENABLED>
  14744. <ITEMS></ITEMS>
  14745. </USEREDIT>
  14746. <USEREDIT>
  14747. <NAME>lDescPK</NAME>
  14748. <ID>12</ID>
  14749. <GUID>{6D2F6AA9-C4B4-4F30-A422-E53E9003FB99}</GUID>
  14750. <CAPTION>Descending primary key</CAPTION>
  14751. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14752. <TYPE>1</TYPE>
  14753. <LEVEL>3</LEVEL>
  14754. <DEFAULT>0</DEFAULT>
  14755. <ORD>70</ORD>
  14756. <LENGTH>0</LENGTH>
  14757. <ENABLED>1</ENABLED>
  14758. <ITEMS></ITEMS>
  14759. </USEREDIT>
  14760. <USEREDIT>
  14761. <NAME>lUnicodeCompression</NAME>
  14762. <ID>13</ID>
  14763. <GUID>{699291B3-00B9-4FEC-A926-0456EE93EFD8}</GUID>
  14764. <CAPTION>Compress unicode (for text,memo and hyperlink data types)</CAPTION>
  14765. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14766. <TYPE>1</TYPE>
  14767. <LEVEL>3</LEVEL>
  14768. <DEFAULT>0</DEFAULT>
  14769. <ORD>65</ORD>
  14770. <LENGTH>0</LENGTH>
  14771. <ENABLED>1</ENABLED>
  14772. <ITEMS></ITEMS>
  14773. </USEREDIT>
  14774. <USEREDIT>
  14775. <NAME>lGenTableComments</NAME>
  14776. <ID>14</ID>
  14777. <GUID>{47CC4DC3-173F-4EC0-97F4-63C7DC2F4510}</GUID>
  14778. <CAPTION>Generate table comments</CAPTION>
  14779. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14780. <TYPE>1</TYPE>
  14781. <LEVEL>1</LEVEL>
  14782. <DEFAULT>-1</DEFAULT>
  14783. <ORD>5</ORD>
  14784. <LENGTH>0</LENGTH>
  14785. <ENABLED>1</ENABLED>
  14786. <ITEMS></ITEMS>
  14787. </USEREDIT>
  14788. <USEREDIT>
  14789. <NAME>eAutoNumberType</NAME>
  14790. <ID>15</ID>
  14791. <GUID>{D9A4959F-5B46-4719-BA89-38D60FA7B20D}</GUID>
  14792. <CAPTION>Auto number type</CAPTION>
  14793. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14794. <TYPE>2</TYPE>
  14795. <LEVEL>3</LEVEL>
  14796. <DEFAULT>Increment</DEFAULT>
  14797. <ORD>80</ORD>
  14798. <LENGTH>0</LENGTH>
  14799. <ENABLED>1</ENABLED>
  14800. <ITEMS>"Increment","Random"</ITEMS>
  14801. </USEREDIT>
  14802. <USEREDIT>
  14803. <NAME>lGenEmptyCaption</NAME>
  14804. <ID>16</ID>
  14805. <GUID>{CC7A95F7-4E52-4CF1-9055-1AB9DFC60E8F}</GUID>
  14806. <CAPTION>Use attribute names for empty captions</CAPTION>
  14807. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  14808. <TYPE>1</TYPE>
  14809. <LEVEL>1</LEVEL>
  14810. <DEFAULT>0</DEFAULT>
  14811. <ORD>200</ORD>
  14812. <LENGTH>0</LENGTH>
  14813. <ENABLED>1</ENABLED>
  14814. <ITEMS></ITEMS>
  14815. </USEREDIT>
  14816. </USEREDITS>
  14817. <TYPELIST>
  14818. <TYPE>
  14819. <NAME>Yes/No</NAME>
  14820. <ID>20</ID>
  14821. <GUID>{EF4333F6-90EA-42A1-8324-12ECA66E68A2}</GUID>
  14822. <PHNAME>dbBoolean</PHNAME>
  14823. <LLENGTH>0</LLENGTH>
  14824. <LDECIMAL>0</LDECIMAL>
  14825. <MAXLENGTH>0</MAXLENGTH>
  14826. <MINLENGTH>0</MINLENGTH>
  14827. <MAXDECIMAL>0</MAXDECIMAL>
  14828. <MINDECIMAL>0</MINDECIMAL>
  14829. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14830. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14831. <TRANSFORMCODE>BL</TRANSFORMCODE>
  14832. <TRANSFORMTO>BL;BIT;A;1,0;</TRANSFORMTO>
  14833. <EXPORTTO>0</EXPORTTO>
  14834. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14835. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14836. </TYPE>
  14837. <TYPE>
  14838. <NAME>Byte</NAME>
  14839. <ID>30</ID>
  14840. <GUID>{71EC9AC6-D2C1-49E7-82A1-B92F350862C8}</GUID>
  14841. <PHNAME>dbByte</PHNAME>
  14842. <LLENGTH>0</LLENGTH>
  14843. <LDECIMAL>0</LDECIMAL>
  14844. <MAXLENGTH>0</MAXLENGTH>
  14845. <MINLENGTH>0</MINLENGTH>
  14846. <MAXDECIMAL>0</MAXDECIMAL>
  14847. <MINDECIMAL>0</MINDECIMAL>
  14848. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14849. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14850. <TRANSFORMCODE>TI</TRANSFORMCODE>
  14851. <TRANSFORMTO>TI;SI;MI;LI;I;N;</TRANSFORMTO>
  14852. <EXPORTTO>0</EXPORTTO>
  14853. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14854. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14855. </TYPE>
  14856. <TYPE>
  14857. <NAME>Currency</NAME>
  14858. <ID>40</ID>
  14859. <GUID>{58185042-7EA9-4F17-96C9-18ADAF9D679D}</GUID>
  14860. <PHNAME>dbCurrency</PHNAME>
  14861. <LLENGTH>0</LLENGTH>
  14862. <LDECIMAL>0</LDECIMAL>
  14863. <MAXLENGTH>0</MAXLENGTH>
  14864. <MINLENGTH>0</MINLENGTH>
  14865. <MAXDECIMAL>0</MAXDECIMAL>
  14866. <MINDECIMAL>0</MINDECIMAL>
  14867. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14868. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14869. <TRANSFORMCODE>MN</TRANSFORMCODE>
  14870. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  14871. <EXPORTTO>0</EXPORTTO>
  14872. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14873. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14874. </TYPE>
  14875. <TYPE>
  14876. <NAME>Date/Time</NAME>
  14877. <ID>50</ID>
  14878. <GUID>{60A87F97-1B4E-4CCC-A45B-BB09033C08BB}</GUID>
  14879. <PHNAME>dbDate</PHNAME>
  14880. <LLENGTH>0</LLENGTH>
  14881. <LDECIMAL>0</LDECIMAL>
  14882. <MAXLENGTH>0</MAXLENGTH>
  14883. <MINLENGTH>0</MINLENGTH>
  14884. <MAXDECIMAL>0</MAXDECIMAL>
  14885. <MINDECIMAL>0</MINDECIMAL>
  14886. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14887. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14888. <TRANSFORMCODE>DT</TRANSFORMCODE>
  14889. <TRANSFORMTO>DT;D;A;</TRANSFORMTO>
  14890. <EXPORTTO>0</EXPORTTO>
  14891. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14892. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14893. </TYPE>
  14894. <TYPE>
  14895. <NAME>Double</NAME>
  14896. <ID>60</ID>
  14897. <GUID>{BB3BCC4B-8F65-4EC5-A7E1-ABD0D6E2FBCD}</GUID>
  14898. <PHNAME>dbDouble</PHNAME>
  14899. <LLENGTH>0</LLENGTH>
  14900. <LDECIMAL>0</LDECIMAL>
  14901. <MAXLENGTH>0</MAXLENGTH>
  14902. <MINLENGTH>0</MINLENGTH>
  14903. <MAXDECIMAL>0</MAXDECIMAL>
  14904. <MINDECIMAL>0</MINDECIMAL>
  14905. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14906. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14907. <TRANSFORMCODE>LF</TRANSFORMCODE>
  14908. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  14909. <EXPORTTO>0</EXPORTTO>
  14910. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14911. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14912. </TYPE>
  14913. <TYPE>
  14914. <NAME>Replication ID</NAME>
  14915. <ID>70</ID>
  14916. <GUID>{3874E588-45EB-42E9-8FCB-574F58E8BC1E}</GUID>
  14917. <PHNAME>dbGUID</PHNAME>
  14918. <LLENGTH>0</LLENGTH>
  14919. <LDECIMAL>0</LDECIMAL>
  14920. <MAXLENGTH>0</MAXLENGTH>
  14921. <MINLENGTH>0</MINLENGTH>
  14922. <MAXDECIMAL>0</MAXDECIMAL>
  14923. <MINDECIMAL>0</MINDECIMAL>
  14924. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14925. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14926. <TRANSFORMCODE>UI</TRANSFORMCODE>
  14927. <TRANSFORMTO>UI;DC;LF;F;</TRANSFORMTO>
  14928. <EXPORTTO>0</EXPORTTO>
  14929. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14930. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14931. </TYPE>
  14932. <TYPE>
  14933. <NAME>Integer</NAME>
  14934. <ID>80</ID>
  14935. <GUID>{7220345A-ECDF-419A-830C-A0DDFBA5B9D4}</GUID>
  14936. <PHNAME>dbInteger</PHNAME>
  14937. <LLENGTH>0</LLENGTH>
  14938. <LDECIMAL>0</LDECIMAL>
  14939. <MAXLENGTH>0</MAXLENGTH>
  14940. <MINLENGTH>0</MINLENGTH>
  14941. <MAXDECIMAL>0</MAXDECIMAL>
  14942. <MINDECIMAL>0</MINDECIMAL>
  14943. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14944. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14945. <TRANSFORMCODE>SI</TRANSFORMCODE>
  14946. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  14947. <EXPORTTO>0</EXPORTTO>
  14948. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14949. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14950. </TYPE>
  14951. <TYPE>
  14952. <NAME>Long Integer</NAME>
  14953. <ID>90</ID>
  14954. <GUID>{3ED3FA73-2EB7-4F17-91CE-BD79331ECF72}</GUID>
  14955. <PHNAME>dbLong</PHNAME>
  14956. <LLENGTH>0</LLENGTH>
  14957. <LDECIMAL>0</LDECIMAL>
  14958. <MAXLENGTH>0</MAXLENGTH>
  14959. <MINLENGTH>0</MINLENGTH>
  14960. <MAXDECIMAL>0</MAXDECIMAL>
  14961. <MINDECIMAL>0</MINDECIMAL>
  14962. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14963. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14964. <TRANSFORMCODE>I</TRANSFORMCODE>
  14965. <TRANSFORMTO>I;BI;N,10,0;lF;F;</TRANSFORMTO>
  14966. <EXPORTTO>0</EXPORTTO>
  14967. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14968. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14969. </TYPE>
  14970. <TYPE>
  14971. <NAME>OLE Object</NAME>
  14972. <ID>100</ID>
  14973. <GUID>{08B8C842-47E0-4D27-AB70-64EC192E2987}</GUID>
  14974. <PHNAME>dbLongBinary</PHNAME>
  14975. <LLENGTH>0</LLENGTH>
  14976. <LDECIMAL>0</LDECIMAL>
  14977. <MAXLENGTH>0</MAXLENGTH>
  14978. <MINLENGTH>0</MINLENGTH>
  14979. <MAXDECIMAL>0</MAXDECIMAL>
  14980. <MINDECIMAL>0</MINDECIMAL>
  14981. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  14982. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  14983. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  14984. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  14985. <EXPORTTO>0</EXPORTTO>
  14986. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  14987. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  14988. </TYPE>
  14989. <TYPE>
  14990. <NAME>Memo</NAME>
  14991. <ID>110</ID>
  14992. <GUID>{44EBE3D7-918A-4BB2-A487-CD0BD24190C5}</GUID>
  14993. <PHNAME>dbMemo</PHNAME>
  14994. <LLENGTH>0</LLENGTH>
  14995. <LDECIMAL>0</LDECIMAL>
  14996. <MAXLENGTH>0</MAXLENGTH>
  14997. <MINLENGTH>0</MINLENGTH>
  14998. <MAXDECIMAL>0</MAXDECIMAL>
  14999. <MINDECIMAL>0</MINDECIMAL>
  15000. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  15001. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15002. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  15003. <TRANSFORMTO>TXT;CLOB;BIN;LBIN;TXT;BLOB;</TRANSFORMTO>
  15004. <EXPORTTO>0</EXPORTTO>
  15005. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15006. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15007. </TYPE>
  15008. <TYPE>
  15009. <NAME>Single</NAME>
  15010. <ID>120</ID>
  15011. <GUID>{45F1B16C-3ED4-4453-8FBE-EFA17EB11A52}</GUID>
  15012. <PHNAME>dbSingle</PHNAME>
  15013. <LLENGTH>0</LLENGTH>
  15014. <LDECIMAL>0</LDECIMAL>
  15015. <MAXLENGTH>0</MAXLENGTH>
  15016. <MINLENGTH>0</MINLENGTH>
  15017. <MAXDECIMAL>0</MAXDECIMAL>
  15018. <MINDECIMAL>0</MINDECIMAL>
  15019. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  15020. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15021. <TRANSFORMCODE>F</TRANSFORMCODE>
  15022. <TRANSFORMTO>F;LF;N;</TRANSFORMTO>
  15023. <EXPORTTO>0</EXPORTTO>
  15024. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15025. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15026. </TYPE>
  15027. <TYPE>
  15028. <NAME>Text</NAME>
  15029. <ID>130</ID>
  15030. <GUID>{839AD45F-1801-4853-A778-0B005076370A}</GUID>
  15031. <PHNAME>dbText</PHNAME>
  15032. <LLENGTH>1</LLENGTH>
  15033. <LDECIMAL>0</LDECIMAL>
  15034. <MAXLENGTH>255</MAXLENGTH>
  15035. <MINLENGTH>0</MINLENGTH>
  15036. <MAXDECIMAL>0</MAXDECIMAL>
  15037. <MINDECIMAL>0</MINDECIMAL>
  15038. <DEFAULTLENGTH>50</DEFAULTLENGTH>
  15039. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15040. <TRANSFORMCODE>A</TRANSFORMCODE>
  15041. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  15042. <EXPORTTO>0</EXPORTTO>
  15043. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15044. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15045. </TYPE>
  15046. <TYPE>
  15047. <NAME>AutoNumber LI</NAME>
  15048. <ID>140</ID>
  15049. <GUID>{8EDB8AF9-CC93-475C-9FB3-28EE6B9D1E14}</GUID>
  15050. <PHNAME>dbLong</PHNAME>
  15051. <LLENGTH>0</LLENGTH>
  15052. <LDECIMAL>0</LDECIMAL>
  15053. <MAXLENGTH>0</MAXLENGTH>
  15054. <MINLENGTH>0</MINLENGTH>
  15055. <MAXDECIMAL>0</MAXDECIMAL>
  15056. <MINDECIMAL>0</MINDECIMAL>
  15057. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  15058. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15059. <TRANSFORMCODE>AI</TRANSFORMCODE>
  15060. <TRANSFORMTO>AI;I;BI;N,10,0;IF;F;</TRANSFORMTO>
  15061. <EXPORTTO>90</EXPORTTO>
  15062. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15063. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15064. </TYPE>
  15065. <TYPE>
  15066. <NAME>AutoNumber RID</NAME>
  15067. <ID>145</ID>
  15068. <GUID>{1D5EA487-BF23-4569-B238-C98E32D50166}</GUID>
  15069. <PHNAME>dbGUID</PHNAME>
  15070. <LLENGTH>0</LLENGTH>
  15071. <LDECIMAL>0</LDECIMAL>
  15072. <MAXLENGTH>0</MAXLENGTH>
  15073. <MINLENGTH>0</MINLENGTH>
  15074. <MAXDECIMAL>0</MAXDECIMAL>
  15075. <MINDECIMAL>0</MINDECIMAL>
  15076. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  15077. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15078. <TRANSFORMCODE>AUI</TRANSFORMCODE>
  15079. <TRANSFORMTO>AUI;UI;DC;LF;F;</TRANSFORMTO>
  15080. <EXPORTTO>70</EXPORTTO>
  15081. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15082. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15083. </TYPE>
  15084. <TYPE>
  15085. <NAME>Hyperlink</NAME>
  15086. <ID>150</ID>
  15087. <GUID>{3B58BB83-FC88-4BDC-856C-B944D0A4B830}</GUID>
  15088. <PHNAME>dbMemo</PHNAME>
  15089. <LLENGTH>0</LLENGTH>
  15090. <LDECIMAL>0</LDECIMAL>
  15091. <MAXLENGTH>0</MAXLENGTH>
  15092. <MINLENGTH>0</MINLENGTH>
  15093. <MAXDECIMAL>0</MAXDECIMAL>
  15094. <MINDECIMAL>0</MINDECIMAL>
  15095. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  15096. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  15097. <TRANSFORMCODE>HL</TRANSFORMCODE>
  15098. <TRANSFORMTO>HL;LVA;TXT;CLOB;</TRANSFORMTO>
  15099. <EXPORTTO>0</EXPORTTO>
  15100. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  15101. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  15102. </TYPE>
  15103. </TYPELIST>
  15104. <TEXTOBJECTTYPES>
  15105. </TEXTOBJECTTYPES>
  15106. <DISABLED>0</DISABLED>
  15107. <MAXLENGTHTABLENAME>64</MAXLENGTHTABLENAME>
  15108. <MAXLENGTHCOLNAME>64</MAXLENGTHCOLNAME>
  15109. <MAXLENGTHINDEXNAME>64</MAXLENGTHINDEXNAME>
  15110. <DEFAULTCHAR>_</DEFAULTCHAR>
  15111. <INVALIDCHARACTERS>!"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  15112. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  15113. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  15114. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  15115. <DEFAULTTYPEID>130</DEFAULTTYPEID>
  15116. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15117. <KEYWORDS><![CDATA[]]></KEYWORDS>
  15118. </SERVER>
  15119. <SERVER>
  15120. <NAME>Access 97</NAME>
  15121. <ID>100</ID>
  15122. <GUID>{B190FB35-FE63-4874-8F38-72156D4E014B}</GUID>
  15123. <TEMPLATES>
  15124. <TEMPLATE>
  15125. <NAME>CreateDatabase</NAME>
  15126. <ID>1</ID>
  15127. <GUID>{75444BE9-2C94-4549-B8BB-E70AEAD4FB1B}</GUID>
  15128. <CAPTION></CAPTION>
  15129. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15130. <ENABLED>1</ENABLED>
  15131. <LEVEL>2</LEVEL>
  15132. <IDPARENT>0</IDPARENT>
  15133. <VALUE><![CDATA[' Created        %createddate%
  15134. ' Modified        %modifieddate%
  15135. ' Project        %projectname%
  15136. ' Model            %modelname%
  15137. ' Company        %company%
  15138. ' Author            %authorname%
  15139. ' Version        %version%
  15140. ' Database        %databasetype% 
  15141.  
  15142. {lBeforeScript}
  15143. %beforescript%
  15144. {true}
  15145. @Template(CreateModule)
  15146. {lDropViewsGener}
  15147. @showmessage("Drop queries")
  15148. @template(DropViews)
  15149. {lDropIndexGener}
  15150. @showmessage("Drop indexes")
  15151. @template(DropIndexes)
  15152. {lDropTableGener}
  15153. @showmessage("Drop tables")
  15154. @template(DropTables)
  15155. {lTableGener}
  15156. @ShowMessage("Creating tables")
  15157. @Template(CreateTables)
  15158. {lPkGener}
  15159. @ShowMessage("Creating primary keys")
  15160. @Template(CreatePKs)
  15161. {lIndexGener}
  15162. @showmessage("Creating indexes")
  15163. @template(CreateIndexes)
  15164. {lAlterKeysGener}
  15165. @showmessage("Creating alter keys (unique indexes)")
  15166. @template(CreateAlterKeys)
  15167. {lRefIntegGener}
  15168. @template(RefIntegritys)
  15169. @showmessage("Creating relations")
  15170. {lViewsGener}
  15171. @template(CreateViews)
  15172. @showmessage("Creating queries")
  15173. {lafterscript}
  15174. %afterscript%
  15175. {true}
  15176. @Template(CreateSubRoutines)
  15177. @Template(UserTempl)
  15178. ]]></VALUE>
  15179. <LANGUAGE>0</LANGUAGE>
  15180. <LANGUAGEWIN>---</LANGUAGEWIN>
  15181. <CATEGORY>2</CATEGORY>
  15182. <MAINSCRIPT>0</MAINSCRIPT>
  15183. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15184. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15185. <AUTHOR></AUTHOR>
  15186. <COMPANY></COMPANY>
  15187. <VERSION></VERSION>
  15188. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15189. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15190. </TEMPLATE>
  15191. <TEMPLATE>
  15192. <NAME>CreateModule</NAME>
  15193. <ID>2</ID>
  15194. <GUID>{11E111E5-F273-4A8B-91DC-05307A9D2536}</GUID>
  15195. <CAPTION></CAPTION>
  15196. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15197. <ENABLED>1</ENABLED>
  15198. <LEVEL>2</LEVEL>
  15199. <IDPARENT>0</IDPARENT>
  15200. <VALUE><![CDATA['=======================================================
  15201. '=== MS Access 97 database creation method
  15202. '===
  15203. '=== 1. Create a new database in the MS Access 97
  15204. '=== 2. Create a new module
  15205. '=== 3. Copy the source code into the MS Access 97 module
  15206. '=== 4. Place the mouse cursor somewhere in the main procedure
  15207. '=== 5. Run the module code
  15208. '=======================================================
  15209.  
  15210. Public dbs As Database
  15211. Public tdf As TableDef
  15212. Public idx As Index
  15213. Public rel As Relation
  15214.  
  15215. Sub Main()
  15216.  
  15217. Set dbs = CurrentDb()
  15218.  
  15219. On Error GoTo ErrorHandler
  15220.     @iff( lDropViewsGener,"Call DropQueries","" )
  15221.     @iff( lDropTableGener,"Call DropTables","" )
  15222.     @iff( lDropIndexGener,"Call DropIndexes","" )
  15223.     @iff( lTableGener,"Call CreateTables","" )
  15224.     @iff( lPkGener,"Call CreatePrimaryKeys","" )
  15225.     @iff( lIndexGener,"Call CreateIndexes","" )
  15226.     @iff( lAlterKeysGener,"Call CreateAlterKeys","" )
  15227.     @iff( lRefIntegGener,"Call CreateRelations","" )
  15228.     @iff( lViewsGener,"Call CreateQueries","" )
  15229.     
  15230.     MsgBox "Script successfully processed.", vbInformation
  15231.     Exit Sub
  15232.     
  15233. ErrorHandler:
  15234.     Select Case Err.Number
  15235.         Case 3010
  15236.             MsgBox "Table " & tdf.Name & " already exist!", vbInformation
  15237.             Err.Clear
  15238.       Case 3284
  15239.          MsgBox "Index " & idx.Name & " for table " & tdf.Name & " already exist!", vbInformation
  15240.          Err.Clear
  15241.         Case Else
  15242.             MsgBox Err.Description, vbCritical
  15243.     End Select
  15244. End Sub
  15245. ]]></VALUE>
  15246. <LANGUAGE>0</LANGUAGE>
  15247. <LANGUAGEWIN>---</LANGUAGEWIN>
  15248. <CATEGORY>2</CATEGORY>
  15249. <MAINSCRIPT>0</MAINSCRIPT>
  15250. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15251. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15252. <AUTHOR></AUTHOR>
  15253. <COMPANY></COMPANY>
  15254. <VERSION></VERSION>
  15255. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15256. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15257. </TEMPLATE>
  15258. <TEMPLATE>
  15259. <NAME>CreateTables</NAME>
  15260. <ID>3</ID>
  15261. <GUID>{D8517437-AF47-4167-AD21-27910477B2C9}</GUID>
  15262. <CAPTION></CAPTION>
  15263. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15264. <ENABLED>1</ENABLED>
  15265. <LEVEL>2</LEVEL>
  15266. <IDPARENT>0</IDPARENT>
  15267. <VALUE><![CDATA[' Create tables
  15268. '===============
  15269.  
  15270. Sub CreateTables()
  15271.  
  15272. @ForTable("", "", "Call CreateTable"+IntToStr(Table.Id)+" '"+TableName, cr, "" )
  15273. End Sub
  15274.  
  15275. @ForTable("", "", macro(CreateTable), cr, "" )
  15276. ]]></VALUE>
  15277. <LANGUAGE>0</LANGUAGE>
  15278. <LANGUAGEWIN>---</LANGUAGEWIN>
  15279. <CATEGORY>2</CATEGORY>
  15280. <MAINSCRIPT>0</MAINSCRIPT>
  15281. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15282. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15283. <AUTHOR></AUTHOR>
  15284. <COMPANY></COMPANY>
  15285. <VERSION></VERSION>
  15286. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15287. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15288. </TEMPLATE>
  15289. <TEMPLATE>
  15290. <NAME>CreateTable</NAME>
  15291. <ID>4</ID>
  15292. <GUID>{FBED698D-3031-4BBA-92F5-971A9E441555}</GUID>
  15293. <CAPTION></CAPTION>
  15294. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15295. <ENABLED>1</ENABLED>
  15296. <LEVEL>2</LEVEL>
  15297. <IDPARENT>0</IDPARENT>
  15298. <VALUE><![CDATA[ShowMessage( "Table %TableName%" )+
  15299. "'=== Create table %TableName% ======"+cr+
  15300. cr+
  15301. "Sub CreateTable"+IntToStr(Table.Id)+"()"+cr+
  15302. cr+
  15303. "Set tdf = dbs.CreateTableDef( %c5+tablename+c5% )"+
  15304. cr+
  15305. cr+
  15306. ForCol("","",
  15307. "Call AddFieldToTable(%c5+ColName+c5%, "+
  15308. ScriptProc( CreateAttribute,Main,Column.Id )+", "+
  15309. c5+if( Empty(cValText),"",cValText )+c5+", "+
  15310. c5+if( CheckExist,EvalCheck,"" )+c5+", "+
  15311. if( NotNull,"TRUE","FALSE" )+" )"+cr,"","")+
  15312. cr+
  15313. "dbs.TableDefs.Append tdf"+cr+
  15314. cr+
  15315. ScriptProc( AddTableProperties, Main, Table.Id, lGenTableComments )+
  15316. ForCol("","",ScriptProc( AddFieldProperties,Main, Column.Id, lGenAttrComments),"","")+cr+
  15317. cr+
  15318. "End Sub"+cr
  15319. ]]></VALUE>
  15320. <LANGUAGE>0</LANGUAGE>
  15321. <LANGUAGEWIN>---</LANGUAGEWIN>
  15322. <CATEGORY>2</CATEGORY>
  15323. <MAINSCRIPT>0</MAINSCRIPT>
  15324. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15325. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15326. <AUTHOR></AUTHOR>
  15327. <COMPANY></COMPANY>
  15328. <VERSION></VERSION>
  15329. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15330. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15331. </TEMPLATE>
  15332. <TEMPLATE>
  15333. <NAME>CreatePKs</NAME>
  15334. <ID>5</ID>
  15335. <GUID>{A52C1455-F0F6-4972-A5CA-A863C84A4E1D}</GUID>
  15336. <CAPTION></CAPTION>
  15337. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15338. <ENABLED>1</ENABLED>
  15339. <LEVEL>2</LEVEL>
  15340. <IDPARENT>0</IDPARENT>
  15341. <VALUE><![CDATA[' Create primary keys
  15342. '=====================
  15343.  
  15344. Sub CreatePrimaryKeys()
  15345.  
  15346. @ForTable("", "", iff( ExistPk, macro( CreatePK ), "" ), "", "" )
  15347. End Sub
  15348. ]]></VALUE>
  15349. <LANGUAGE>0</LANGUAGE>
  15350. <LANGUAGEWIN>---</LANGUAGEWIN>
  15351. <CATEGORY>2</CATEGORY>
  15352. <MAINSCRIPT>0</MAINSCRIPT>
  15353. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15354. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15355. <AUTHOR></AUTHOR>
  15356. <COMPANY></COMPANY>
  15357. <VERSION></VERSION>
  15358. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15359. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15360. </TEMPLATE>
  15361. <TEMPLATE>
  15362. <NAME>CreatePK</NAME>
  15363. <ID>6</ID>
  15364. <GUID>{F0A8B492-0639-484C-87E4-467A2BC199FD}</GUID>
  15365. <CAPTION></CAPTION>
  15366. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15367. <ENABLED>1</ENABLED>
  15368. <LEVEL>2</LEVEL>
  15369. <IDPARENT>0</IDPARENT>
  15370. <VALUE><![CDATA["'=== Create primary key for table %TableName% ======"+cr+
  15371. cr+
  15372. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  15373. "Set idx = tdf.CreateIndex( %c5+ConstraintPkName+c5% )"+cr+
  15374. cr+
  15375. "idx.Primary = True"+cr+
  15376. "idx.Unique  = True"+cr+
  15377. "idx.IgnoreNulls = False"+cr+
  15378. cr+
  15379. ForPkCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( lDescPK, "True", "False" )+" )"+cr,"","" )+
  15380. cr+
  15381. "tdf.Indexes.Append idx"+cr+
  15382. cr
  15383. ]]></VALUE>
  15384. <LANGUAGE>0</LANGUAGE>
  15385. <LANGUAGEWIN>---</LANGUAGEWIN>
  15386. <CATEGORY>2</CATEGORY>
  15387. <MAINSCRIPT>0</MAINSCRIPT>
  15388. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15389. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15390. <AUTHOR></AUTHOR>
  15391. <COMPANY></COMPANY>
  15392. <VERSION></VERSION>
  15393. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  15394. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  15395. </TEMPLATE>
  15396. <TEMPLATE>
  15397. <NAME>CreateIndexes</NAME>
  15398. <ID>7</ID>
  15399. <GUID>{51376308-481A-40F9-8C7B-733E7410923D}</GUID>
  15400. <CAPTION></CAPTION>
  15401. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15402. <ENABLED>1</ENABLED>
  15403. <LEVEL>2</LEVEL>
  15404. <IDPARENT>0</IDPARENT>
  15405. <VALUE><![CDATA[' Create indexes
  15406. '================
  15407.  
  15408. Sub CreateIndexes()
  15409.  
  15410. @ForTable("", "", ForIndex("", "", macro( CreateIndex ), "", "" ), "", "" )
  15411. End Sub
  15412. ]]></VALUE>
  15413. <LANGUAGE>0</LANGUAGE>
  15414. <LANGUAGEWIN>---</LANGUAGEWIN>
  15415. <CATEGORY>2</CATEGORY>
  15416. <MAINSCRIPT>0</MAINSCRIPT>
  15417. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15418. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15419. <AUTHOR></AUTHOR>
  15420. <COMPANY></COMPANY>
  15421. <VERSION></VERSION>
  15422. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15423. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15424. </TEMPLATE>
  15425. <TEMPLATE>
  15426. <NAME>CreateIndex</NAME>
  15427. <ID>8</ID>
  15428. <GUID>{BF9CA81C-D43C-492C-9E33-B7FE1619818F}</GUID>
  15429. <CAPTION></CAPTION>
  15430. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15431. <ENABLED>1</ENABLED>
  15432. <LEVEL>2</LEVEL>
  15433. <IDPARENT>0</IDPARENT>
  15434. <VALUE><![CDATA["'=== Create indexes for table %TableName% ======"+cr+
  15435. cr+
  15436. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  15437. "Set idx = tdf.CreateIndex( %c5+IndexName+c5% )"+cr+
  15438. cr+
  15439. "idx.Unique = "+iff( Unique, "True", "False" )+cr+
  15440. "idx.Clustered = "+iff( Clustered, "True", "False" )+cr+
  15441. "idx.IgnoreNulls = "+iff( lIgnoreNullsIx, "True", "False" )+cr+
  15442. cr+
  15443. ForIndexCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( IndexColDesc, "True", "False" )+" )"+cr,"","" )+
  15444. cr+
  15445. "tdf.Indexes.Append idx"+cr+
  15446. cr
  15447. ]]></VALUE>
  15448. <LANGUAGE>0</LANGUAGE>
  15449. <LANGUAGEWIN>---</LANGUAGEWIN>
  15450. <CATEGORY>2</CATEGORY>
  15451. <MAINSCRIPT>0</MAINSCRIPT>
  15452. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15453. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15454. <AUTHOR></AUTHOR>
  15455. <COMPANY></COMPANY>
  15456. <VERSION></VERSION>
  15457. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15458. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15459. </TEMPLATE>
  15460. <TEMPLATE>
  15461. <NAME>CreateAlterKeys</NAME>
  15462. <ID>9</ID>
  15463. <GUID>{B73096CC-B1BE-4A97-B392-456C3EFB177D}</GUID>
  15464. <CAPTION></CAPTION>
  15465. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15466. <ENABLED>1</ENABLED>
  15467. <LEVEL>2</LEVEL>
  15468. <IDPARENT>0</IDPARENT>
  15469. <VALUE><![CDATA[' Create alter keys (unique indexes in MS ACCESS)
  15470. '================================================
  15471.  
  15472. Sub CreateAlterKeys()
  15473.  
  15474. @ForTable("", "", ForAlterKey("", "", macro( CreateAlterKey ), "", "" ), "", "" )
  15475. End Sub
  15476. ]]></VALUE>
  15477. <LANGUAGE>0</LANGUAGE>
  15478. <LANGUAGEWIN>---</LANGUAGEWIN>
  15479. <CATEGORY>2</CATEGORY>
  15480. <MAINSCRIPT>0</MAINSCRIPT>
  15481. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15482. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15483. <AUTHOR></AUTHOR>
  15484. <COMPANY></COMPANY>
  15485. <VERSION></VERSION>
  15486. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15487. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15488. </TEMPLATE>
  15489. <TEMPLATE>
  15490. <NAME>CreateAlterKey</NAME>
  15491. <ID>10</ID>
  15492. <GUID>{59BF607C-E55B-423F-93C5-8B29A806675F}</GUID>
  15493. <CAPTION></CAPTION>
  15494. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15495. <ENABLED>1</ENABLED>
  15496. <LEVEL>2</LEVEL>
  15497. <IDPARENT>0</IDPARENT>
  15498. <VALUE><![CDATA["'=== Create alter keys for table %TableName% ======"+cr+
  15499. cr+
  15500. "Set tdf = dbs.TableDefs( %c5+TableName+c5% )"+cr+
  15501. "Set idx = tdf.CreateIndex( %c5+AlterKeyConstraintName+c5% )"+cr+
  15502. cr+
  15503. "idx.Unique = True"+cr+
  15504. "idx.IgnoreNulls = "+iff( lIgnoreNullsAk, "True", "False" )+cr+
  15505. cr+
  15506. ForAlterKeyCol( "","","Call AddFieldToIndex( %c5+ColName+c5%, "+iff( AlterKeyColDesc, "True", "False" )+" )"+cr,"","" )+
  15507. cr+
  15508. "tdf.Indexes.Append idx"+cr+
  15509. cr
  15510. ]]></VALUE>
  15511. <LANGUAGE>0</LANGUAGE>
  15512. <LANGUAGEWIN>---</LANGUAGEWIN>
  15513. <CATEGORY>2</CATEGORY>
  15514. <MAINSCRIPT>0</MAINSCRIPT>
  15515. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15516. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15517. <AUTHOR></AUTHOR>
  15518. <COMPANY></COMPANY>
  15519. <VERSION></VERSION>
  15520. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15521. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15522. </TEMPLATE>
  15523. <TEMPLATE>
  15524. <NAME>CreateViews</NAME>
  15525. <ID>11</ID>
  15526. <GUID>{2093F53D-6A38-4ED9-A095-1B1A3DFD2808}</GUID>
  15527. <CAPTION></CAPTION>
  15528. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15529. <ENABLED>1</ENABLED>
  15530. <LEVEL>2</LEVEL>
  15531. <IDPARENT>0</IDPARENT>
  15532. <VALUE><![CDATA[' Create queries
  15533. '================
  15534.  
  15535. Sub CreateQueries()
  15536.  
  15537. Dim qdf As QueryDef
  15538.  
  15539. @ForView("", "", macro( CreateView ), "", "" )
  15540. End Sub
  15541. ]]></VALUE>
  15542. <LANGUAGE>0</LANGUAGE>
  15543. <LANGUAGEWIN>---</LANGUAGEWIN>
  15544. <CATEGORY>2</CATEGORY>
  15545. <MAINSCRIPT>0</MAINSCRIPT>
  15546. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15547. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15548. <AUTHOR></AUTHOR>
  15549. <COMPANY></COMPANY>
  15550. <VERSION></VERSION>
  15551. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15552. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15553. </TEMPLATE>
  15554. <TEMPLATE>
  15555. <NAME>RefIntegritys</NAME>
  15556. <ID>12</ID>
  15557. <GUID>{7A3B4B98-3E8C-4145-9196-493BC4B869A0}</GUID>
  15558. <CAPTION></CAPTION>
  15559. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15560. <ENABLED>1</ENABLED>
  15561. <LEVEL>2</LEVEL>
  15562. <IDPARENT>0</IDPARENT>
  15563. <VALUE><![CDATA[' Create relations
  15564. '==================
  15565.  
  15566. Sub CreateRelations()
  15567. @ForTable("", "", ForChild("", "", macro( RefIntegrity ), "", "" ), "", "" )
  15568. End Sub
  15569. ]]></VALUE>
  15570. <LANGUAGE>0</LANGUAGE>
  15571. <LANGUAGEWIN>---</LANGUAGEWIN>
  15572. <CATEGORY>2</CATEGORY>
  15573. <MAINSCRIPT>0</MAINSCRIPT>
  15574. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15575. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15576. <AUTHOR></AUTHOR>
  15577. <COMPANY></COMPANY>
  15578. <VERSION></VERSION>
  15579. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15580. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15581. </TEMPLATE>
  15582. <TEMPLATE>
  15583. <NAME>RefIntegrity</NAME>
  15584. <ID>13</ID>
  15585. <GUID>{2783CB51-1EBF-471C-872A-C60C2D2A78ED}</GUID>
  15586. <CAPTION></CAPTION>
  15587. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15588. <ENABLED>1</ENABLED>
  15589. <LEVEL>2</LEVEL>
  15590. <IDPARENT>0</IDPARENT>
  15591. <VALUE><![CDATA[ForRelPk( "'=== Create relations between parent table %ParentTableName% and child table %ChildTableName% ======"+cr+
  15592. cr+
  15593. "Set rel = dbs.CreateRelation("+c5+if(Empty(FRelName),ParentTableName+"_"+ChildTableName,FRelName)+c5+")"+cr+
  15594. cr+
  15595. "rel.Table            = "+c5+ParentTableName+c5+cr+
  15596. "rel.ForeignTable    = "+c5+ChildTableName+c5+cr+
  15597. "rel.Attributes    = "+
  15598. if((lRelParUpdRestDekl) or (lRelParUpdCascDekl) or (lRelParDelRestDekl) or (lRelParDelCascDekl),
  15599. if(lRelParUpdCascDekl,"dbRelationUpdateCascade+","")+
  15600. if(lRelParDelCascDekl,"dbRelationDeleteCascade","0"),"dbRelationDontEnforce")+
  15601. if(eJoin = "LEFT","+dbRelationLeft",if(eJoin = "RIGHT","+dbRelationRight",""))+cr+
  15602. cr,
  15603. "",
  15604. "Call AddFieldToRelation("+c5+PkParentName+c5+", "+c5+PkChildName+c5+")"+cr,
  15605. "",
  15606. cr+
  15607. "dbs.Relations.Append rel"+cr+
  15608. cr )+cr
  15609. ]]></VALUE>
  15610. <LANGUAGE>0</LANGUAGE>
  15611. <LANGUAGEWIN>---</LANGUAGEWIN>
  15612. <CATEGORY>2</CATEGORY>
  15613. <MAINSCRIPT>0</MAINSCRIPT>
  15614. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15615. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15616. <AUTHOR></AUTHOR>
  15617. <COMPANY></COMPANY>
  15618. <VERSION></VERSION>
  15619. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15620. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15621. </TEMPLATE>
  15622. <TEMPLATE>
  15623. <NAME>CreateSubRoutines</NAME>
  15624. <ID>14</ID>
  15625. <GUID>{2BD5B355-3DB5-4311-8A53-2A1278E14F73}</GUID>
  15626. <CAPTION></CAPTION>
  15627. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15628. <ENABLED>1</ENABLED>
  15629. <LEVEL>2</LEVEL>
  15630. <IDPARENT>0</IDPARENT>
  15631. <VALUE><![CDATA[{lDropViewsGener}
  15632. ' Drop queries
  15633. '==============
  15634.  
  15635. Sub DropQuery(QueryName As String)
  15636.  
  15637. Dim qdf As QueryDef
  15638.  
  15639. Set qdf = Nothing
  15640. On Error Resume Next
  15641. Set qdf = dbs.QueryDefs(QueryName)
  15642. On Error GoTo 0
  15643.  
  15644. If Not qdf Is Nothing Then dbs.QueryDefs.Delete ( QueryName )
  15645.  
  15646. End Sub
  15647.  
  15648. {lDropTableGener}
  15649. ' Drop relation
  15650. '===============
  15651.  
  15652. Sub DropRelation(RelName As String)
  15653.  
  15654. Set rel = Nothing
  15655. On Error Resume Next
  15656. Set rel = dbs.Relations(RelName)
  15657. On Error GoTo 0
  15658.  
  15659. If Not rel Is Nothing Then dbs.Relations.Delete ( RelName )
  15660.  
  15661. End Sub
  15662.  
  15663. ' Drop table
  15664. '============
  15665.  
  15666. Sub DropTable(TableName As String)
  15667.  
  15668. Set tdf = Nothing
  15669. On Error Resume Next
  15670. Set tdf = dbs.TableDefs(TableName)
  15671. On Error GoTo 0
  15672.  
  15673. If Not tdf Is Nothing Then dbs.TableDefs.Delete ( TableName )
  15674.  
  15675. End Sub
  15676.  
  15677. {lDropIndexGener}
  15678. ' Drop index
  15679. '============
  15680.  
  15681. Sub DropIndex(TableName As String, IndexName As String)
  15682.  
  15683. Set tdf = Nothing
  15684. Set idx = Nothing
  15685. On Error Resume Next
  15686. Set tdf = dbs.TableDefs(TableName)
  15687. Set idx = tdf.Indexes(IndexName)
  15688. On Error GoTo 0
  15689.  
  15690. If (Not tdf Is Nothing) And (Not idx Is Nothing) Then tdf.Indexes.Delete ( IndexName )
  15691.  
  15692. End Sub
  15693.  
  15694.  
  15695. {lTableGener}
  15696. ' Add fields to table
  15697. '=====================
  15698.  
  15699. Sub AddFieldToTable(FieldName As String, DataType As String, SizeCol As Integer, Attributes As Long, DefaultValue As Variant, ValText As String, ValRule As String, NotN As Boolean)
  15700.  
  15701. Dim fld As Field
  15702.  
  15703. Set fld = tdf.CreateField( FieldName, DataType )
  15704.  
  15705. If SizeCol         <> 0 Then fld.Size           = SizeCol
  15706. If Attributes    <> 0 Then fld.Attributes    = Attributes
  15707.  
  15708. fld.Required             = NotN
  15709. fld.DefaultValue         = DefaultValue
  15710. fld.ValidationRule     = ValRule
  15711. fld.ValidationText     = ValText
  15712.  
  15713. tdf.Fields.Append fld
  15714.  
  15715. End Sub
  15716.  
  15717.  
  15718. ' Add properties to table
  15719. '=========================
  15720.  
  15721. Sub AddPropertyToTable( PropertyName As String, Value As Variant, DataType As String)
  15722.  
  15723. Dim prp As Property
  15724.  
  15725. Set prp = tdf.CreateProperty(PropertyName, DataType, Value)
  15726.  
  15727. tdf.Properties.Append prp
  15728.  
  15729. End Sub
  15730.  
  15731.  
  15732. ' Add properties to field
  15733. '=========================
  15734.  
  15735. Sub AddPropertyToField( FieldName As String, PropertyName As String, Value As Variant, DataType As String)
  15736.  
  15737. Dim prp As Property
  15738. Dim fld As Field
  15739.  
  15740. Set fld = tdf.Fields( FieldName )
  15741. Set prp = fld.CreateProperty(PropertyName, DataType, Value)
  15742.  
  15743. fld.Properties.Append prp
  15744.  
  15745. End Sub
  15746.  
  15747.  
  15748. {lPKGener or lIndexGener or lAlterKeysGener}
  15749. ' Add fields to index
  15750. '=====================
  15751.  
  15752. Sub AddFieldToIndex( FieldName As String, Descending As Boolean )
  15753.  
  15754. Dim fld As Field
  15755.  
  15756. Set fld = idx.CreateField( FieldName )
  15757.  
  15758. If Descending = True Then fld.Attributes = dbDescending
  15759.  
  15760. idx.Fields.Append fld
  15761.  
  15762. End Sub
  15763.  
  15764.  
  15765. {lRefIntegGener}
  15766. ' Add fields to relation
  15767. '========================
  15768.  
  15769. Sub AddFieldToRelation( PKField As String, FKField As String )
  15770.  
  15771. Dim fld As Field
  15772.  
  15773. Set fld = rel.CreateField( PKField )
  15774.  
  15775. fld.ForeignName = FKField
  15776.  
  15777. rel.Fields.Append fld
  15778.  
  15779. End Sub
  15780. ]]></VALUE>
  15781. <LANGUAGE>0</LANGUAGE>
  15782. <LANGUAGEWIN>---</LANGUAGEWIN>
  15783. <CATEGORY>2</CATEGORY>
  15784. <MAINSCRIPT>0</MAINSCRIPT>
  15785. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15786. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15787. <AUTHOR></AUTHOR>
  15788. <COMPANY></COMPANY>
  15789. <VERSION></VERSION>
  15790. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15791. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15792. </TEMPLATE>
  15793. <TEMPLATE>
  15794. <NAME>DropTables</NAME>
  15795. <ID>15</ID>
  15796. <GUID>{DA063683-72B6-4C32-8AFB-200BA06644BC}</GUID>
  15797. <CAPTION></CAPTION>
  15798. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15799. <ENABLED>1</ENABLED>
  15800. <LEVEL>2</LEVEL>
  15801. <IDPARENT>0</IDPARENT>
  15802. <VALUE><![CDATA[' Drop tables
  15803. '===============
  15804.  
  15805. Sub DropTables()
  15806.  
  15807. 'Drop relations
  15808. @ForTableR("", "", ForChild("", "","Call DropRelation("+c5+if(Empty(FRelName),ParentTableName+"_"+ChildTableName,FRelName)+c5+")"+cr, "",""),"","")
  15809.  
  15810. 'Drop tables
  15811. @ForTableR("", "","Call DropTable( %c5+TableName+c5% )", cr, "" )
  15812.  
  15813. End Sub
  15814. ]]></VALUE>
  15815. <LANGUAGE>0</LANGUAGE>
  15816. <LANGUAGEWIN>---</LANGUAGEWIN>
  15817. <CATEGORY>2</CATEGORY>
  15818. <MAINSCRIPT>0</MAINSCRIPT>
  15819. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15820. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15821. <AUTHOR></AUTHOR>
  15822. <COMPANY></COMPANY>
  15823. <VERSION></VERSION>
  15824. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15825. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15826. </TEMPLATE>
  15827. <TEMPLATE>
  15828. <NAME>DropViews</NAME>
  15829. <ID>16</ID>
  15830. <GUID>{9EFECE7C-118B-40DD-9478-F8842DB4E3D1}</GUID>
  15831. <CAPTION></CAPTION>
  15832. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15833. <ENABLED>1</ENABLED>
  15834. <LEVEL>2</LEVEL>
  15835. <IDPARENT>0</IDPARENT>
  15836. <VALUE><![CDATA[' Drop queries
  15837. '===============
  15838.  
  15839. Sub DropQueries()
  15840.  
  15841. @ForViewR("", "","Call DropQuery( %c5+ViewName+c5% )", cr, "" )
  15842.  
  15843. End Sub
  15844. ]]></VALUE>
  15845. <LANGUAGE>0</LANGUAGE>
  15846. <LANGUAGEWIN>---</LANGUAGEWIN>
  15847. <CATEGORY>2</CATEGORY>
  15848. <MAINSCRIPT>0</MAINSCRIPT>
  15849. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15850. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15851. <AUTHOR></AUTHOR>
  15852. <COMPANY></COMPANY>
  15853. <VERSION></VERSION>
  15854. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15855. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15856. </TEMPLATE>
  15857. <TEMPLATE>
  15858. <NAME>DropIndexes</NAME>
  15859. <ID>17</ID>
  15860. <GUID>{21B7B538-22BE-4701-85F3-8BC8B47B0C7B}</GUID>
  15861. <CAPTION></CAPTION>
  15862. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15863. <ENABLED>1</ENABLED>
  15864. <LEVEL>2</LEVEL>
  15865. <IDPARENT>0</IDPARENT>
  15866. <VALUE><![CDATA[' Drop indexes 
  15867. '==============
  15868.  
  15869. Sub DropIndexes()
  15870.  
  15871. 'Drop all non unique indexes
  15872. @ForTableR("", "", ForIndex("", "",iff( Unique,"","Call DropIndex("+c5+tablename+c5+", "+c5+indexname+c5+")"+cr),"",""),"","")
  15873.  
  15874. End Sub
  15875. ]]></VALUE>
  15876. <LANGUAGE>0</LANGUAGE>
  15877. <LANGUAGEWIN>---</LANGUAGEWIN>
  15878. <CATEGORY>2</CATEGORY>
  15879. <MAINSCRIPT>0</MAINSCRIPT>
  15880. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15881. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15882. <AUTHOR></AUTHOR>
  15883. <COMPANY></COMPANY>
  15884. <VERSION></VERSION>
  15885. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15886. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  15887. </TEMPLATE>
  15888. <TEMPLATE>
  15889. <NAME>CreateAttribute</NAME>
  15890. <ID>18</ID>
  15891. <GUID>{89B00447-4064-49B4-A677-382988730340}</GUID>
  15892. <CAPTION></CAPTION>
  15893. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15894. <ENABLED>1</ENABLED>
  15895. <LEVEL>2</LEVEL>
  15896. <IDPARENT>0</IDPARENT>
  15897. <VALUE><![CDATA[function Main( AttrId )
  15898. {
  15899. var Attribute    = Model.GetAttribute( AttrId );
  15900. var cFldAttr      = '0';
  15901. var nId            = Attribute.Id;
  15902. var nLength        = 0;
  15903. var lFK            = Attribute.FK;
  15904.  
  15905. // Dictionary data type
  15906. if (Attribute.DataTypeId == 0)
  15907.     Attribute = Model.GetDictType( Attribute.DictTypeId );
  15908.  
  15909. // Length property supported for this data type
  15910. if (Model.GetDataType(Attribute.DataTypeId).IsLength)
  15911.     nLength = Attribute.Length;
  15912.  
  15913. // Auto increment field (not foreign keys)
  15914. if ((Attribute.DataTypeId == 140) && (! lFK))
  15915.     cFldAttr = 'dbAutoIncrField';
  15916.  
  15917. if ((Attribute.DataTypeId == 145) && (! lFK))
  15918.     cFldAttr = 'dbSystemField';
  15919.  
  15920. // Hyperlink field
  15921. if (Attribute.DataTypeId == 150)
  15922.     cFldAttr = 'dbHyperlinkField';    
  15923.  
  15924. return( Model.GetDataType( Attribute.DataTypeId ).DataTypeName+', '+nLength+', '+cFldAttr+', "'+Attribute.Default.replace( /"/g,'""' )+'"' );
  15925. };
  15926. ]]></VALUE>
  15927. <LANGUAGE>1</LANGUAGE>
  15928. <LANGUAGEWIN>---</LANGUAGEWIN>
  15929. <CATEGORY>2</CATEGORY>
  15930. <MAINSCRIPT>0</MAINSCRIPT>
  15931. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  15932. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  15933. <AUTHOR></AUTHOR>
  15934. <COMPANY></COMPANY>
  15935. <VERSION></VERSION>
  15936. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  15937. <MODIFIED><DATE>9/18/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  15938. </TEMPLATE>
  15939. <TEMPLATE>
  15940. <NAME>ParseView</NAME>
  15941. <ID>19</ID>
  15942. <GUID>{2F291B41-686A-4DD3-AC25-72761EB9F8FA}</GUID>
  15943. <CAPTION></CAPTION>
  15944. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  15945. <ENABLED>1</ENABLED>
  15946. <LEVEL>2</LEVEL>
  15947. <IDPARENT>0</IDPARENT>
  15948. <VALUE><![CDATA[function Main( cSQL )
  15949. {
  15950. var lFirst = true;
  15951. var lShorten;
  15952. var cPrev  = '';
  15953.  
  15954. cSQL = cSQL.replace( /"/g,'""' );
  15955.  
  15956. TextStream.Clear();
  15957.  
  15958. while ( (nPos = cSQL.search( /\r\n/i )) != -1 )
  15959.     {
  15960.     lShorten = (nPos > 300);
  15961.  
  15962.     if (lShorten) // make long lines shorter
  15963.         {
  15964.         nPos = 300;    
  15965.         while ((nPos > 100) && (cSQL.charAt(nPos)!=','))
  15966.             nPos--;
  15967.         cLine = cSQL.substr( 0,nPos+1 )+'"';
  15968.         }
  15969.     else
  15970.         {
  15971.         cLine = cSQL.substr( 0,nPos )+' "';
  15972.         nPos++; 
  15973.         }
  15974.             
  15975.     if (lFirst)
  15976.         {
  15977.         TextStream.Writeln( 'qdf.SQL\t=\t'+cPrev+'"'+cLine );
  15978.         lFirst = false;
  15979.         }
  15980.     else
  15981.         {
  15982.         TextStream.Write( ' _' );
  15983.         TextStream.Writeln( '\t\t\t+\t'+cPrev+'"'+cLine );
  15984.         };
  15985.  
  15986.     if (lShorten)
  15987.         cPrev = '      '    
  15988.     else
  15989.         cPrev = '';
  15990.  
  15991.     cSQL = cSQL.substr( nPos+1 );
  15992.     }
  15993.  
  15994. return( TextStream.Text );
  15995. };
  15996. ]]></VALUE>
  15997. <LANGUAGE>1</LANGUAGE>
  15998. <LANGUAGEWIN>---</LANGUAGEWIN>
  15999. <CATEGORY>2</CATEGORY>
  16000. <MAINSCRIPT>0</MAINSCRIPT>
  16001. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16002. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16003. <AUTHOR></AUTHOR>
  16004. <COMPANY></COMPANY>
  16005. <VERSION></VERSION>
  16006. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16007. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  16008. </TEMPLATE>
  16009. <TEMPLATE>
  16010. <NAME>CreateView</NAME>
  16011. <ID>20</ID>
  16012. <GUID>{0D4B2B86-4ACF-400F-8DB7-059026C97A2D}</GUID>
  16013. <CAPTION></CAPTION>
  16014. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16015. <ENABLED>1</ENABLED>
  16016. <LEVEL>2</LEVEL>
  16017. <IDPARENT>0</IDPARENT>
  16018. <VALUE><![CDATA["'=== Create view %ViewName% ======"+cr+
  16019. cr+
  16020. "Set qdf = dbs.CreateQueryDef( %c5+ViewName+c5% )"+cr+
  16021. cr+
  16022. ScriptProc( ParseView,Main,View )
  16023. ]]></VALUE>
  16024. <LANGUAGE>0</LANGUAGE>
  16025. <LANGUAGEWIN>---</LANGUAGEWIN>
  16026. <CATEGORY>2</CATEGORY>
  16027. <MAINSCRIPT>0</MAINSCRIPT>
  16028. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16029. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16030. <AUTHOR></AUTHOR>
  16031. <COMPANY></COMPANY>
  16032. <VERSION></VERSION>
  16033. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16034. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  16035. </TEMPLATE>
  16036. <TEMPLATE>
  16037. <NAME>AddTableProperties</NAME>
  16038. <ID>21</ID>
  16039. <GUID>{38D0935B-76AF-49EA-AFED-177B9FAED498}</GUID>
  16040. <CAPTION></CAPTION>
  16041. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16042. <ENABLED>1</ENABLED>
  16043. <LEVEL>2</LEVEL>
  16044. <IDPARENT>0</IDPARENT>
  16045. <VALUE><![CDATA[function Main( TableId, cComments )
  16046. {
  16047. Table = Model.GetEntity( TableId );
  16048.  
  16049. // Comments
  16050. if ( UserVarToBool( cComments ) )
  16051.     if ( Table.Description != '')
  16052.         AddProperty( 'Description',ParseDescription( Table.Description ), 'dbText' );
  16053.  
  16054. return( TextStream.Text );    
  16055. };
  16056.  
  16057. function AddProperty( PropertyName, Value, DataType )
  16058. {
  16059. TextStream.Writeln( 'Call AddPropertyToTable( "'+PropertyName+'","'+Value+'",'+DataType+')' );
  16060. };
  16061.  
  16062. function ParseDescription( cDescription )
  16063. {
  16064. var Result = '';
  16065. var lFirst = true;
  16066.  
  16067. cDescription = cDescription.replace( /"/g,'""' ) + '\r\n';
  16068.  
  16069. while ( (nPos = cDescription.search( /\r\n/i )) != -1 )
  16070.     {
  16071.     if (lFirst)
  16072.         {
  16073.         Result += cDescription.substr( 0,nPos );
  16074.         lFirst = false;
  16075.         }
  16076.     else
  16077.         {
  16078.         Result += '"+Chr(13)+Chr(10) _\r\n';
  16079.         Result += '\t+\t"'+cDescription.substr( 0,nPos );
  16080.         };
  16081.     cDescription = cDescription.substr( nPos+2 );
  16082.     };
  16083.  
  16084. return( Result );
  16085. };
  16086. ]]></VALUE>
  16087. <LANGUAGE>1</LANGUAGE>
  16088. <LANGUAGEWIN>---</LANGUAGEWIN>
  16089. <CATEGORY>2</CATEGORY>
  16090. <MAINSCRIPT>0</MAINSCRIPT>
  16091. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16092. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16093. <AUTHOR></AUTHOR>
  16094. <COMPANY></COMPANY>
  16095. <VERSION></VERSION>
  16096. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16097. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  16098. </TEMPLATE>
  16099. <TEMPLATE>
  16100. <NAME>AddFieldProperties</NAME>
  16101. <ID>22</ID>
  16102. <GUID>{B4D793BE-C672-4169-AB15-1BBC8FB95C23}</GUID>
  16103. <CAPTION>AddFieldProperties</CAPTION>
  16104. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16105. <ENABLED>1</ENABLED>
  16106. <LEVEL>2</LEVEL>
  16107. <IDPARENT>0</IDPARENT>
  16108. <VALUE><![CDATA[function Main( AttrId, cComments )
  16109. {
  16110. Attribute = Model.GetAttribute( AttrId );
  16111.  
  16112. var lComments = UserVarToBool( cComments );
  16113. var DataTypeId = Attribute.DataTypeId;
  16114.  
  16115. // Dictionary data type
  16116. if (DataTypeId == 0)
  16117.     DataTypeId = Model.GetDictType( Attribute.DictTypeId ).DataTypeId;
  16118.  
  16119. TextStream.Clear();
  16120.  
  16121. // Auto number type 
  16122. if (Attribute.DataTypeId == 140)
  16123.     if ( Attribute.eAutoNumberType != 'Increment' )
  16124.         {
  16125.         TextStream.Writeln( '' );
  16126.         TextStream.Writeln( 'tdf.Fields("'+Attribute.Name+'").DefaultValue = "GenUniqueID()"' );
  16127.         TextStream.Writeln( '' );
  16128.         }
  16129.         
  16130. // Decimal precission
  16131. if ( Attribute.nDecPre != '' )
  16132.     if (    (DataTypeId ==  30) || (DataTypeId ==  40) ||
  16133.             (DataTypeId ==  60) || (DataTypeId ==  80) ||
  16134.             (DataTypeId ==  90) || (DataTypeId == 120) )
  16135.  
  16136.         AddProperty( 'DecimalPlaces', Attribute.nDecPre, 'dbByte' );
  16137.  
  16138. // Auto number type
  16139. if ( Attribute.eAutoNumberType != 'Increment' )
  16140.     AddProperty( 'NewValues', 'Random', 'dbText' )
  16141.  
  16142. // Format
  16143. if ( Attribute.eFormat != 'None' )
  16144.     if ( Attribute.eFormat == 'Own' )
  16145.         {
  16146.         var re = /"/g;
  16147.         AddProperty( 'Format', Attribute.cOwnFormat.replace(re,'""'),    'dbText' )
  16148.         }
  16149.     else
  16150.         AddProperty( 'Format', Attribute.eFormat,        'dbText' );
  16151.  
  16152. // Caption
  16153. if ( Attribute.cCaption != '' )
  16154.     AddProperty( 'Caption', Attribute.cCaption, 'dbText' )
  16155. // Using Attribute name if caption not defined
  16156.     else
  16157.         if (Model.GetUserVariable('lGenEmptyCaption')==-1)
  16158.             AddProperty( 'Caption', Attribute.Name, 'dbText' );    
  16159.  
  16160. // Input mask
  16161. if ( Attribute.cInputMask != '' )
  16162.     {
  16163.     var re = /"/g;
  16164.     AddProperty( 'InputMask', Attribute.cInputMask.replace(re,'""'), 'dbText' );
  16165.     }
  16166.     
  16167. // Comments
  16168. if ( lComments )
  16169.     if ( Attribute.Description != '')
  16170.         AddProperty( 'Description',Scripting.AddTableProperties.ParseDescription( Attribute.Description ), 'dbText' );
  16171.  
  16172. return( TextStream.Text );    
  16173. };
  16174.  
  16175. function AddProperty( PropertyName, Value, DataType )
  16176. {
  16177. if (DataType == 'dbBoolean')
  16178.     TextStream.Writeln( 'Call AddPropertyToField( "'+Attribute.ColName+'","'+PropertyName+'",'+Value+','+DataType+')' )
  16179. else    
  16180.     TextStream.Writeln( 'Call AddPropertyToField( "'+Attribute.ColName+'","'+PropertyName+'","'+Value+'",'+DataType+')' );
  16181. };
  16182. ]]></VALUE>
  16183. <LANGUAGE>1</LANGUAGE>
  16184. <LANGUAGEWIN>---</LANGUAGEWIN>
  16185. <CATEGORY>2</CATEGORY>
  16186. <MAINSCRIPT>0</MAINSCRIPT>
  16187. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16188. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16189. <AUTHOR>E. Bar</AUTHOR>
  16190. <COMPANY>Sampath</COMPANY>
  16191. <VERSION>0.1</VERSION>
  16192. <CREATED><DATE>9/18/2002</DATE><TIME>17:52:56</TIME></CREATED>
  16193. <MODIFIED><DATE>10/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  16194. </TEMPLATE>
  16195. </TEMPLATES>
  16196. <VARIABLES><![CDATA[lAtrCheckConstraintSupp 0
  16197. lAlterKeyItDescendSupp 1
  16198. lAlterKeySupp 1
  16199. lProceduresSupp 0
  16200. lViewsSupp 1
  16201. lConstraintPkSupp 0
  16202. lConstraintFkSupp 0
  16203. lAtrUniqueConstraintSupp 0
  16204. lPermissUserToObjectSupp 0
  16205. lPermissRoleToObjectSupp 0
  16206. lDomainSupp  0
  16207. lDriParUpdRestrict 1
  16208. lDriParUpdCascade 1
  16209. lDriParUpdSetNull 0
  16210. lDriParUpdSetDefault 0
  16211. lDriParDelRestrict 1
  16212. lDriParDelCascade 1
  16213. lDriParDelSetNull 0
  16214. lDriParDelSetDefault 0
  16215. lDriChildInsRestrict 0
  16216. lDriChildUpdRestrict 0
  16217. lDriParUpdRestrictSupp 1
  16218. lDriParUpdCascadeSupp 1
  16219. lDriParUpdSetNullSupp 0
  16220. lDriParUpdSetDefaultSupp 0
  16221. lDriParDelRestrictSupp 1
  16222. lDriParDelCascadeSupp 1
  16223. lDriParDelSetNullSupp 0
  16224. lDriParDelSetDefaultSupp 0
  16225. lDriChildInsRestrictSupp 0
  16226. lDriChildUpdRestrictSupp 0
  16227. lIndexDescendSupp 0
  16228. lIndexItDescendSupp 1
  16229. lIndexUpperSupp 0
  16230. lIndexExprSupp 0
  16231. lIndexUniqueSupp 1
  16232. lIndexFilterSupp 0
  16233. lIndexStandSupp 1
  16234. lIndexClusterSupp 1
  16235. lIndexNameUnique 0
  16236. lPkSupp 1
  16237. lPkNotNull 0
  16238. lDRISupp 1
  16239. lTriggerSupp 0
  16240. lAtrUniqueSupp 1
  16241. lAtrNotNullSupp 1
  16242. lAtrCheckSupp 1
  16243. lAtrDefaultSupp 1
  16244. lAtrCheckConstraintSupp 0
  16245. lAlterKeyItDescendSupp 1
  16246. lAlterKeySupp 1
  16247. lProceduresSupp 0
  16248. lViewsSupp 1
  16249. lConstraintPkSupp 0
  16250. lConstraintFkSupp 0
  16251. lAtrUniqueConstraintSupp 0
  16252. lPermissUserToObjectSupp 0
  16253. lPermissRoleToObjectSupp 0
  16254. lDomainSupp  0
  16255. ]]></VARIABLES>
  16256. <USEREDITS>
  16257. <USEREDIT>
  16258. <NAME>nDecPre</NAME>
  16259. <ID>1</ID>
  16260. <GUID>{5F2B6921-ED61-4413-90ED-D7311A7BC1A3}</GUID>
  16261. <CAPTION>Decimal precision for numeric types</CAPTION>
  16262. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16263. <TYPE>0</TYPE>
  16264. <LEVEL>3</LEVEL>
  16265. <DEFAULT></DEFAULT>
  16266. <ORD>30</ORD>
  16267. <LENGTH>40</LENGTH>
  16268. <ENABLED>1</ENABLED>
  16269. <ITEMS></ITEMS>
  16270. </USEREDIT>
  16271. <USEREDIT>
  16272. <NAME>cValText</NAME>
  16273. <ID>2</ID>
  16274. <GUID>{29672B2B-0BA1-4285-82B0-EF8B5B433ADB}</GUID>
  16275. <CAPTION>Validation text</CAPTION>
  16276. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16277. <TYPE>0</TYPE>
  16278. <LEVEL>3</LEVEL>
  16279. <DEFAULT></DEFAULT>
  16280. <ORD>50</ORD>
  16281. <LENGTH>250</LENGTH>
  16282. <ENABLED>1</ENABLED>
  16283. <ITEMS></ITEMS>
  16284. </USEREDIT>
  16285. <USEREDIT>
  16286. <NAME>eFormat</NAME>
  16287. <ID>3</ID>
  16288. <GUID>{97D3FA86-0C71-4DF8-95CF-CB13C1642559}</GUID>
  16289. <CAPTION>Format</CAPTION>
  16290. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16291. <TYPE>2</TYPE>
  16292. <LEVEL>3</LEVEL>
  16293. <DEFAULT>None</DEFAULT>
  16294. <ORD>10</ORD>
  16295. <LENGTH>100</LENGTH>
  16296. <ENABLED>1</ENABLED>
  16297. <ITEMS>"None","Own","General Number","Currency","Fixed","Standard","Percent","Scientific","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Yes/No","True/False","On/Off"</ITEMS>
  16298. </USEREDIT>
  16299. <USEREDIT>
  16300. <NAME>cInputMask</NAME>
  16301. <ID>4</ID>
  16302. <GUID>{B3E0FDC5-09AD-4CE8-9EC3-0382EA7A6552}</GUID>
  16303. <CAPTION>Input Mask</CAPTION>
  16304. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16305. <TYPE>0</TYPE>
  16306. <LEVEL>3</LEVEL>
  16307. <DEFAULT></DEFAULT>
  16308. <ORD>20</ORD>
  16309. <LENGTH>0</LENGTH>
  16310. <ENABLED>1</ENABLED>
  16311. <ITEMS></ITEMS>
  16312. </USEREDIT>
  16313. <USEREDIT>
  16314. <NAME>cCaption</NAME>
  16315. <ID>5</ID>
  16316. <GUID>{51EA58CF-42D4-4CDE-AD6A-92D21C56F808}</GUID>
  16317. <CAPTION>Caption</CAPTION>
  16318. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16319. <TYPE>0</TYPE>
  16320. <LEVEL>3</LEVEL>
  16321. <DEFAULT></DEFAULT>
  16322. <ORD>40</ORD>
  16323. <LENGTH>0</LENGTH>
  16324. <ENABLED>1</ENABLED>
  16325. <ITEMS></ITEMS>
  16326. </USEREDIT>
  16327. <USEREDIT>
  16328. <NAME>lGenAttrComments</NAME>
  16329. <ID>6</ID>
  16330. <GUID>{EB1716A1-171A-47BD-A9D7-50A231ED0D94}</GUID>
  16331. <CAPTION>Generate attribute comments</CAPTION>
  16332. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16333. <TYPE>1</TYPE>
  16334. <LEVEL>1</LEVEL>
  16335. <DEFAULT>-1</DEFAULT>
  16336. <ORD>20</ORD>
  16337. <LENGTH>0</LENGTH>
  16338. <ENABLED>1</ENABLED>
  16339. <ITEMS></ITEMS>
  16340. </USEREDIT>
  16341. <USEREDIT>
  16342. <NAME>lIgnoreNullsIx</NAME>
  16343. <ID>7</ID>
  16344. <GUID>{3E5998B6-6E36-48D8-B65C-CABF22725E5A}</GUID>
  16345. <CAPTION>Ignore nulls</CAPTION>
  16346. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16347. <TYPE>1</TYPE>
  16348. <LEVEL>4</LEVEL>
  16349. <DEFAULT>0</DEFAULT>
  16350. <ORD>10</ORD>
  16351. <LENGTH>0</LENGTH>
  16352. <ENABLED>1</ENABLED>
  16353. <ITEMS></ITEMS>
  16354. </USEREDIT>
  16355. <USEREDIT>
  16356. <NAME>eJoin</NAME>
  16357. <ID>8</ID>
  16358. <GUID>{A39BE1EA-5026-4D96-8D78-674BFC92907B}</GUID>
  16359. <CAPTION>Join type</CAPTION>
  16360. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16361. <TYPE>2</TYPE>
  16362. <LEVEL>5</LEVEL>
  16363. <DEFAULT>FULL</DEFAULT>
  16364. <ORD>10</ORD>
  16365. <LENGTH>0</LENGTH>
  16366. <ENABLED>1</ENABLED>
  16367. <ITEMS>"FULL","LEFT","RIGHT"</ITEMS>
  16368. </USEREDIT>
  16369. <USEREDIT>
  16370. <NAME>lIgnoreNullsAk</NAME>
  16371. <ID>9</ID>
  16372. <GUID>{4AB8407A-6602-48C6-A8A9-CD49E441D5CF}</GUID>
  16373. <CAPTION>Ignore nulls</CAPTION>
  16374. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16375. <TYPE>1</TYPE>
  16376. <LEVEL>7</LEVEL>
  16377. <DEFAULT>0</DEFAULT>
  16378. <ORD>10</ORD>
  16379. <LENGTH>0</LENGTH>
  16380. <ENABLED>1</ENABLED>
  16381. <ITEMS></ITEMS>
  16382. </USEREDIT>
  16383. <USEREDIT>
  16384. <NAME>lZeroLength</NAME>
  16385. <ID>10</ID>
  16386. <GUID>{1711EF91-AA2F-40AF-92E7-45A8F6DB3B85}</GUID>
  16387. <CAPTION>Allow zero length (for text and memo data types)</CAPTION>
  16388. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16389. <TYPE>1</TYPE>
  16390. <LEVEL>3</LEVEL>
  16391. <DEFAULT>0</DEFAULT>
  16392. <ORD>60</ORD>
  16393. <LENGTH>0</LENGTH>
  16394. <ENABLED>1</ENABLED>
  16395. <ITEMS></ITEMS>
  16396. </USEREDIT>
  16397. <USEREDIT>
  16398. <NAME>cOwnFormat</NAME>
  16399. <ID>11</ID>
  16400. <GUID>{B7369C48-57B2-4BAD-812E-6A95854D98C9}</GUID>
  16401. <CAPTION>Own format</CAPTION>
  16402. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16403. <TYPE>0</TYPE>
  16404. <LEVEL>3</LEVEL>
  16405. <DEFAULT></DEFAULT>
  16406. <ORD>15</ORD>
  16407. <LENGTH>0</LENGTH>
  16408. <ENABLED>1</ENABLED>
  16409. <ITEMS></ITEMS>
  16410. </USEREDIT>
  16411. <USEREDIT>
  16412. <NAME>lDescPK</NAME>
  16413. <ID>12</ID>
  16414. <GUID>{C40A5893-409E-45E2-BEF2-B2975626B44B}</GUID>
  16415. <CAPTION>Descending primary key</CAPTION>
  16416. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16417. <TYPE>1</TYPE>
  16418. <LEVEL>3</LEVEL>
  16419. <DEFAULT>0</DEFAULT>
  16420. <ORD>70</ORD>
  16421. <LENGTH>0</LENGTH>
  16422. <ENABLED>1</ENABLED>
  16423. <ITEMS></ITEMS>
  16424. </USEREDIT>
  16425. <USEREDIT>
  16426. <NAME>eAutoNumberType</NAME>
  16427. <ID>13</ID>
  16428. <GUID>{ACC0F21A-8FDF-4307-918F-5BAC343D9300}</GUID>
  16429. <CAPTION>Auto nubmer type</CAPTION>
  16430. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16431. <TYPE>2</TYPE>
  16432. <LEVEL>3</LEVEL>
  16433. <DEFAULT>Increment</DEFAULT>
  16434. <ORD>80</ORD>
  16435. <LENGTH>0</LENGTH>
  16436. <ENABLED>1</ENABLED>
  16437. <ITEMS>"Increment","Random"</ITEMS>
  16438. </USEREDIT>
  16439. <USEREDIT>
  16440. <NAME>lGenTableComments</NAME>
  16441. <ID>14</ID>
  16442. <GUID>{669FFD9F-AA7A-4DD2-928D-FF773753FC6D}</GUID>
  16443. <CAPTION>Generate table comments</CAPTION>
  16444. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16445. <TYPE>1</TYPE>
  16446. <LEVEL>1</LEVEL>
  16447. <DEFAULT>-1</DEFAULT>
  16448. <ORD>10</ORD>
  16449. <LENGTH>0</LENGTH>
  16450. <ENABLED>1</ENABLED>
  16451. <ITEMS></ITEMS>
  16452. </USEREDIT>
  16453. <USEREDIT>
  16454. <NAME>lGenEmptyCaption</NAME>
  16455. <ID>15</ID>
  16456. <GUID>{A2884493-BEF1-4DA0-9BF2-A3EE595D8994}</GUID>
  16457. <CAPTION>Use attribute names for empty captions</CAPTION>
  16458. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  16459. <TYPE>1</TYPE>
  16460. <LEVEL>1</LEVEL>
  16461. <DEFAULT>0</DEFAULT>
  16462. <ORD>200</ORD>
  16463. <LENGTH>0</LENGTH>
  16464. <ENABLED>1</ENABLED>
  16465. <ITEMS></ITEMS>
  16466. </USEREDIT>
  16467. </USEREDITS>
  16468. <TYPELIST>
  16469. <TYPE>
  16470. <NAME>Yes/No</NAME>
  16471. <ID>20</ID>
  16472. <GUID>{5655B5A9-99FE-43D9-AA6C-49DF5F38418A}</GUID>
  16473. <PHNAME>dbBoolean</PHNAME>
  16474. <LLENGTH>0</LLENGTH>
  16475. <LDECIMAL>0</LDECIMAL>
  16476. <MAXLENGTH>0</MAXLENGTH>
  16477. <MINLENGTH>0</MINLENGTH>
  16478. <MAXDECIMAL>0</MAXDECIMAL>
  16479. <MINDECIMAL>0</MINDECIMAL>
  16480. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16481. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16482. <TRANSFORMCODE>BL</TRANSFORMCODE>
  16483. <TRANSFORMTO>BL;BIT;A;1,0</TRANSFORMTO>
  16484. <EXPORTTO>0</EXPORTTO>
  16485. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16486. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16487. </TYPE>
  16488. <TYPE>
  16489. <NAME>Byte</NAME>
  16490. <ID>30</ID>
  16491. <GUID>{809F8F19-DE63-464D-BC78-0DE3E00B7627}</GUID>
  16492. <PHNAME>dbByte</PHNAME>
  16493. <LLENGTH>0</LLENGTH>
  16494. <LDECIMAL>0</LDECIMAL>
  16495. <MAXLENGTH>0</MAXLENGTH>
  16496. <MINLENGTH>0</MINLENGTH>
  16497. <MAXDECIMAL>0</MAXDECIMAL>
  16498. <MINDECIMAL>0</MINDECIMAL>
  16499. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16500. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16501. <TRANSFORMCODE>TI</TRANSFORMCODE>
  16502. <TRANSFORMTO>TI;SI;MI;LI;I;N;</TRANSFORMTO>
  16503. <EXPORTTO>0</EXPORTTO>
  16504. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16505. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16506. </TYPE>
  16507. <TYPE>
  16508. <NAME>Currency</NAME>
  16509. <ID>40</ID>
  16510. <GUID>{CEB09629-9214-443D-B50C-5073FF080EBA}</GUID>
  16511. <PHNAME>dbCurrency</PHNAME>
  16512. <LLENGTH>0</LLENGTH>
  16513. <LDECIMAL>0</LDECIMAL>
  16514. <MAXLENGTH>0</MAXLENGTH>
  16515. <MINLENGTH>0</MINLENGTH>
  16516. <MAXDECIMAL>0</MAXDECIMAL>
  16517. <MINDECIMAL>0</MINDECIMAL>
  16518. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16519. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16520. <TRANSFORMCODE>MN</TRANSFORMCODE>
  16521. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  16522. <EXPORTTO>0</EXPORTTO>
  16523. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16524. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16525. </TYPE>
  16526. <TYPE>
  16527. <NAME>Date/Time</NAME>
  16528. <ID>50</ID>
  16529. <GUID>{282DDA30-F6B8-4017-B7A8-F1F29C921B05}</GUID>
  16530. <PHNAME>dbDate</PHNAME>
  16531. <LLENGTH>0</LLENGTH>
  16532. <LDECIMAL>0</LDECIMAL>
  16533. <MAXLENGTH>0</MAXLENGTH>
  16534. <MINLENGTH>0</MINLENGTH>
  16535. <MAXDECIMAL>0</MAXDECIMAL>
  16536. <MINDECIMAL>0</MINDECIMAL>
  16537. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16538. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16539. <TRANSFORMCODE>DT</TRANSFORMCODE>
  16540. <TRANSFORMTO>DT;D;A</TRANSFORMTO>
  16541. <EXPORTTO>0</EXPORTTO>
  16542. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16543. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16544. </TYPE>
  16545. <TYPE>
  16546. <NAME>Double</NAME>
  16547. <ID>60</ID>
  16548. <GUID>{B2CDE799-6C93-46A5-A5F9-943879DAB137}</GUID>
  16549. <PHNAME>dbDouble</PHNAME>
  16550. <LLENGTH>0</LLENGTH>
  16551. <LDECIMAL>0</LDECIMAL>
  16552. <MAXLENGTH>0</MAXLENGTH>
  16553. <MINLENGTH>0</MINLENGTH>
  16554. <MAXDECIMAL>0</MAXDECIMAL>
  16555. <MINDECIMAL>0</MINDECIMAL>
  16556. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16557. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16558. <TRANSFORMCODE>LF</TRANSFORMCODE>
  16559. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  16560. <EXPORTTO>0</EXPORTTO>
  16561. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16562. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16563. </TYPE>
  16564. <TYPE>
  16565. <NAME>Replication ID</NAME>
  16566. <ID>70</ID>
  16567. <GUID>{58B41A6C-F7CC-44B6-BD22-E2945EA17385}</GUID>
  16568. <PHNAME>dbGUID</PHNAME>
  16569. <LLENGTH>0</LLENGTH>
  16570. <LDECIMAL>0</LDECIMAL>
  16571. <MAXLENGTH>0</MAXLENGTH>
  16572. <MINLENGTH>0</MINLENGTH>
  16573. <MAXDECIMAL>0</MAXDECIMAL>
  16574. <MINDECIMAL>0</MINDECIMAL>
  16575. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16576. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16577. <TRANSFORMCODE>UI</TRANSFORMCODE>
  16578. <TRANSFORMTO>UI;DC;LF;F;</TRANSFORMTO>
  16579. <EXPORTTO>0</EXPORTTO>
  16580. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16581. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16582. </TYPE>
  16583. <TYPE>
  16584. <NAME>Integer</NAME>
  16585. <ID>80</ID>
  16586. <GUID>{67CE8A46-BB9A-4D7D-B3E8-25E8B9C49943}</GUID>
  16587. <PHNAME>dbInteger</PHNAME>
  16588. <LLENGTH>0</LLENGTH>
  16589. <LDECIMAL>0</LDECIMAL>
  16590. <MAXLENGTH>0</MAXLENGTH>
  16591. <MINLENGTH>0</MINLENGTH>
  16592. <MAXDECIMAL>0</MAXDECIMAL>
  16593. <MINDECIMAL>0</MINDECIMAL>
  16594. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16595. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16596. <TRANSFORMCODE>SI</TRANSFORMCODE>
  16597. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  16598. <EXPORTTO>0</EXPORTTO>
  16599. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16600. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16601. </TYPE>
  16602. <TYPE>
  16603. <NAME>Long Integer</NAME>
  16604. <ID>90</ID>
  16605. <GUID>{BA45AACF-E557-4AEF-9699-7388B568C92C}</GUID>
  16606. <PHNAME>dbLong</PHNAME>
  16607. <LLENGTH>0</LLENGTH>
  16608. <LDECIMAL>0</LDECIMAL>
  16609. <MAXLENGTH>0</MAXLENGTH>
  16610. <MINLENGTH>0</MINLENGTH>
  16611. <MAXDECIMAL>0</MAXDECIMAL>
  16612. <MINDECIMAL>0</MINDECIMAL>
  16613. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16614. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16615. <TRANSFORMCODE>I</TRANSFORMCODE>
  16616. <TRANSFORMTO>I;BI;N,10,0;lF;F;</TRANSFORMTO>
  16617. <EXPORTTO>0</EXPORTTO>
  16618. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16619. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16620. </TYPE>
  16621. <TYPE>
  16622. <NAME>OLE Object</NAME>
  16623. <ID>100</ID>
  16624. <GUID>{C7E8C2BE-406E-46DC-8545-B51E4A08857E}</GUID>
  16625. <PHNAME>dbLongBinary</PHNAME>
  16626. <LLENGTH>0</LLENGTH>
  16627. <LDECIMAL>0</LDECIMAL>
  16628. <MAXLENGTH>0</MAXLENGTH>
  16629. <MINLENGTH>0</MINLENGTH>
  16630. <MAXDECIMAL>0</MAXDECIMAL>
  16631. <MINDECIMAL>0</MINDECIMAL>
  16632. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16633. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16634. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  16635. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  16636. <EXPORTTO>0</EXPORTTO>
  16637. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16638. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16639. </TYPE>
  16640. <TYPE>
  16641. <NAME>Memo</NAME>
  16642. <ID>110</ID>
  16643. <GUID>{0D2544F9-319D-4C55-B0BA-61110AB2741D}</GUID>
  16644. <PHNAME>dbMemo</PHNAME>
  16645. <LLENGTH>0</LLENGTH>
  16646. <LDECIMAL>0</LDECIMAL>
  16647. <MAXLENGTH>0</MAXLENGTH>
  16648. <MINLENGTH>0</MINLENGTH>
  16649. <MAXDECIMAL>0</MAXDECIMAL>
  16650. <MINDECIMAL>0</MINDECIMAL>
  16651. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16652. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16653. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  16654. <TRANSFORMTO>TXT;CLOB;BIN;LBIN;TXT;BLOB</TRANSFORMTO>
  16655. <EXPORTTO>0</EXPORTTO>
  16656. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16657. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16658. </TYPE>
  16659. <TYPE>
  16660. <NAME>Single</NAME>
  16661. <ID>120</ID>
  16662. <GUID>{B5C85018-D2BF-460D-A16C-A865F55FF6D7}</GUID>
  16663. <PHNAME>dbSingle</PHNAME>
  16664. <LLENGTH>0</LLENGTH>
  16665. <LDECIMAL>0</LDECIMAL>
  16666. <MAXLENGTH>0</MAXLENGTH>
  16667. <MINLENGTH>0</MINLENGTH>
  16668. <MAXDECIMAL>0</MAXDECIMAL>
  16669. <MINDECIMAL>0</MINDECIMAL>
  16670. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16671. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16672. <TRANSFORMCODE>F</TRANSFORMCODE>
  16673. <TRANSFORMTO>F;LF;N;</TRANSFORMTO>
  16674. <EXPORTTO>0</EXPORTTO>
  16675. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16676. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16677. </TYPE>
  16678. <TYPE>
  16679. <NAME>Text</NAME>
  16680. <ID>130</ID>
  16681. <GUID>{2ABE5832-ABBF-49F5-AE17-F5839BBC0441}</GUID>
  16682. <PHNAME>dbText</PHNAME>
  16683. <LLENGTH>1</LLENGTH>
  16684. <LDECIMAL>0</LDECIMAL>
  16685. <MAXLENGTH>255</MAXLENGTH>
  16686. <MINLENGTH>0</MINLENGTH>
  16687. <MAXDECIMAL>0</MAXDECIMAL>
  16688. <MINDECIMAL>0</MINDECIMAL>
  16689. <DEFAULTLENGTH>50</DEFAULTLENGTH>
  16690. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16691. <TRANSFORMCODE>A</TRANSFORMCODE>
  16692. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  16693. <EXPORTTO>0</EXPORTTO>
  16694. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16695. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16696. </TYPE>
  16697. <TYPE>
  16698. <NAME>AutoNumber LI</NAME>
  16699. <ID>140</ID>
  16700. <GUID>{417E0251-D0B2-4FAA-922E-7BFD11813949}</GUID>
  16701. <PHNAME>dbLong</PHNAME>
  16702. <LLENGTH>0</LLENGTH>
  16703. <LDECIMAL>0</LDECIMAL>
  16704. <MAXLENGTH>0</MAXLENGTH>
  16705. <MINLENGTH>0</MINLENGTH>
  16706. <MAXDECIMAL>0</MAXDECIMAL>
  16707. <MINDECIMAL>0</MINDECIMAL>
  16708. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16709. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16710. <TRANSFORMCODE>AI</TRANSFORMCODE>
  16711. <TRANSFORMTO>AI;I;BI;N,10,0;IF;F;</TRANSFORMTO>
  16712. <EXPORTTO>90</EXPORTTO>
  16713. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16714. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16715. </TYPE>
  16716. <TYPE>
  16717. <NAME>AutoNumber RID</NAME>
  16718. <ID>145</ID>
  16719. <GUID>{AEFF7BC4-2123-45C9-A88B-791549A52E84}</GUID>
  16720. <PHNAME>dbGUID</PHNAME>
  16721. <LLENGTH>0</LLENGTH>
  16722. <LDECIMAL>0</LDECIMAL>
  16723. <MAXLENGTH>0</MAXLENGTH>
  16724. <MINLENGTH>0</MINLENGTH>
  16725. <MAXDECIMAL>0</MAXDECIMAL>
  16726. <MINDECIMAL>0</MINDECIMAL>
  16727. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16728. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16729. <TRANSFORMCODE>AUI</TRANSFORMCODE>
  16730. <TRANSFORMTO>AUI;UI;DC;LF;F;</TRANSFORMTO>
  16731. <EXPORTTO>70</EXPORTTO>
  16732. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16733. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16734. </TYPE>
  16735. <TYPE>
  16736. <NAME>Hyperlink</NAME>
  16737. <ID>150</ID>
  16738. <GUID>{D0A6DF52-A01A-4788-ABCE-F47C13B13537}</GUID>
  16739. <PHNAME>dbMemo</PHNAME>
  16740. <LLENGTH>0</LLENGTH>
  16741. <LDECIMAL>0</LDECIMAL>
  16742. <MAXLENGTH>0</MAXLENGTH>
  16743. <MINLENGTH>0</MINLENGTH>
  16744. <MAXDECIMAL>0</MAXDECIMAL>
  16745. <MINDECIMAL>0</MINDECIMAL>
  16746. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  16747. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  16748. <TRANSFORMCODE>HL</TRANSFORMCODE>
  16749. <TRANSFORMTO>HL;LVA;TXT;CLOB</TRANSFORMTO>
  16750. <EXPORTTO>0</EXPORTTO>
  16751. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  16752. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  16753. </TYPE>
  16754. </TYPELIST>
  16755. <TEXTOBJECTTYPES>
  16756. </TEXTOBJECTTYPES>
  16757. <DISABLED>0</DISABLED>
  16758. <MAXLENGTHTABLENAME>64</MAXLENGTHTABLENAME>
  16759. <MAXLENGTHCOLNAME>64</MAXLENGTHCOLNAME>
  16760. <MAXLENGTHINDEXNAME>64</MAXLENGTHINDEXNAME>
  16761. <DEFAULTCHAR>_</DEFAULTCHAR>
  16762. <INVALIDCHARACTERS>!"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  16763. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  16764. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  16765. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  16766. <DEFAULTTYPEID>130</DEFAULTTYPEID>
  16767. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16768. <KEYWORDS><![CDATA[]]></KEYWORDS>
  16769. </SERVER>
  16770. <SERVER>
  16771. <NAME>MS SQL 2000</NAME>
  16772. <ID>160</ID>
  16773. <GUID>{9CA22B0A-62EC-434A-8680-8297F7D38C10}</GUID>
  16774. <TEMPLATES>
  16775. <TEMPLATE>
  16776. <NAME>CreateDatabase</NAME>
  16777. <ID>1</ID>
  16778. <GUID>{2AFAB401-53FD-4FF0-8BD8-2FB15C2C4EAC}</GUID>
  16779. <CAPTION></CAPTION>
  16780. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16781. <ENABLED>1</ENABLED>
  16782. <LEVEL>2</LEVEL>
  16783. <IDPARENT>0</IDPARENT>
  16784. <VALUE><![CDATA[/*
  16785. Created        %createddate%
  16786. Modified        %modifieddate%
  16787. Project        %projectname%
  16788. Model        %modelname%
  16789. Company        %company%
  16790. Author        %authorname%
  16791. Version        %version%
  16792. Database        %databasetype% 
  16793. */
  16794.  
  16795. {lbeforescript}
  16796. %beforescript%
  16797. {ldroptriggerGener}
  16798. @showmessage("Drop triggers")
  16799. @template(droptriggers)
  16800. {lDropTriggersListGener}
  16801. @template(DropTriggersList)
  16802. {lDropProceduresGener}
  16803. @template(DropProcedures)
  16804. {lDropExtendedProceduresGener}
  16805. @template(DropExtendedProcedures)
  16806. {lDropFunctionsGener}
  16807. @template(DropFunctions)
  16808. {lDropViewsGener}
  16809. @template(DropViews)
  16810. {lDropIndexGener}
  16811. @template(DropIndexs)
  16812. {lDropTableGener}
  16813. @showmessage("Drop tables")
  16814. @template(DropRefIntegritys)
  16815. @template(DropTables)
  16816. {lDropDomainGener}
  16817. @showmessage("Drop domains")
  16818. @template(DropDomains)
  16819. {lDomainGener}
  16820. @showmessage("Create domains")
  16821. @template(CreateDomains)
  16822. {lTableGener}
  16823. @showmessage("Create tables")
  16824. @template(CreateTables)
  16825. {lTableGener and lGenerDescription}
  16826. @template(CreateDescriptionTab)
  16827. @template(CreateDescriptionCol)
  16828. {lEntityOthers}
  16829. @showmessage("Create tab 'Others' for selected tables")
  16830. @template(CreateTableOthers)
  16831. {lAlterKeysGener}
  16832. @template(CreateAlterKeys)
  16833. {lIndexGener}
  16834. @showmessage("Create indexes")
  16835. @template(CreateIndexs)
  16836. {lRefIntegGener}
  16837. @template(RefIntegritys)
  16838. {true}
  16839. Set quoted_identifier on
  16840. go
  16841.  
  16842. {lProceduresGener}
  16843. @template(CreateProcedures)
  16844. {lExtendedProceduresGener}
  16845. @template(CreateExtendedProcedures)
  16846. {lFunctionsGener}
  16847. @template(CreateFunctions)
  16848. {lViewsGener}
  16849. @template(CreateViews)
  16850. {lTriggersGener}
  16851. @template(CreateTriggers)
  16852. {lTriggersUserGener}
  16853. @template(CreateTriggersList)
  16854. {true}
  16855. Set quoted_identifier off
  16856. go
  16857.  
  16858. {lRoleGener}
  16859. @showmessage("Role")
  16860. @template(CreateRole)
  16861. {lUserToRoleGener}
  16862. @ShowMessage("Users permissions to roles")
  16863. @template(GrantUserToRole)
  16864. {lRolePermissGener}
  16865. @ShowMessage("Roles permissions")
  16866. @template(CreateRolePermiss)
  16867. {lUserPermissGener}
  16868. @ShowMessage("Users permissions")
  16869. @template(CreateUserPermiss)
  16870. {lafterscript}
  16871. %afterscript%
  16872. {true}
  16873. @template(UserTempl)
  16874. ]]></VALUE>
  16875. <LANGUAGE>0</LANGUAGE>
  16876. <LANGUAGEWIN>---</LANGUAGEWIN>
  16877. <CATEGORY>2</CATEGORY>
  16878. <MAINSCRIPT>0</MAINSCRIPT>
  16879. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16880. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16881. <AUTHOR></AUTHOR>
  16882. <COMPANY></COMPANY>
  16883. <VERSION></VERSION>
  16884. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16885. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  16886. </TEMPLATE>
  16887. <TEMPLATE>
  16888. <NAME>CreateTable</NAME>
  16889. <ID>2</ID>
  16890. <GUID>{D430FB0E-97C6-4D16-B845-967D80D18740}</GUID>
  16891. <CAPTION></CAPTION>
  16892. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16893. <ENABLED>1</ENABLED>
  16894. <LEVEL>2</LEVEL>
  16895. <IDPARENT>0</IDPARENT>
  16896. <VALUE><![CDATA[cr+
  16897. "Create table "+macro(GenerateOwner)+"[%tablename%] ("+
  16898. forcol("", "", cr+tb+  iff(AtrIsDict,macro(CreateAttrib2),macro(CreateAttrib)) , ",", "")+
  16899. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint [%ConstraintPkName%] ","")+"Primary Key "+if(lPkNonClustered,"nonclustered ","")+"("+forpkcol("", "", "["+ColName+"]", ",", ")")+if(not Empty(PkFillfactor)," WITH FILLFACTOR = "+PkFillfactor+cr,"%cr%") , cr )+
  16900. ") "+tablestorage+"%cr%go"+cr+showmessage("Table %tablename%")+
  16901. forcol("","",if(AtrIsDict,"",iff(Column.DataTypeId=0,macro(BindObjToUTypes),macro(BindObjToColumns))),"","")
  16902. ]]></VALUE>
  16903. <LANGUAGE>0</LANGUAGE>
  16904. <LANGUAGEWIN>---</LANGUAGEWIN>
  16905. <CATEGORY>2</CATEGORY>
  16906. <MAINSCRIPT>0</MAINSCRIPT>
  16907. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16908. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16909. <AUTHOR></AUTHOR>
  16910. <COMPANY></COMPANY>
  16911. <VERSION></VERSION>
  16912. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16913. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  16914. </TEMPLATE>
  16915. <TEMPLATE>
  16916. <NAME>CreateIndex</NAME>
  16917. <ID>3</ID>
  16918. <GUID>{3984C0F7-B0C8-4A64-AB6D-39773F4B191C}</GUID>
  16919. <CAPTION></CAPTION>
  16920. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16921. <ENABLED>1</ENABLED>
  16922. <LEVEL>2</LEVEL>
  16923. <IDPARENT>0</IDPARENT>
  16924. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  16925. +if(clustered,"CLUSTERED ","")
  16926. +"Index [%Indexname%]  ON "+macro(GenerateOwner)+"[%tablename%] ("+ForIndexCol("","","["+colname+"] "+if(IndexColDesc,"Desc",""),",",") "
  16927. +if(not Empty(IndexFillFactor),if(lIndexPadIndex,"WITH PAD_INDEX, ","WITH ")+"FILLFACTOR = "+IndexFillFactor+if(not Empty(indexstorage),",",""),"")+if(not Empty(indexstorage),cr+indexstorage,"")+"%cr%go")+cr
  16928. +ShowMessage("Index %Indexname% for table %tablename%")
  16929. ]]></VALUE>
  16930. <LANGUAGE>0</LANGUAGE>
  16931. <LANGUAGEWIN>---</LANGUAGEWIN>
  16932. <CATEGORY>2</CATEGORY>
  16933. <MAINSCRIPT>0</MAINSCRIPT>
  16934. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16935. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16936. <AUTHOR></AUTHOR>
  16937. <COMPANY></COMPANY>
  16938. <VERSION></VERSION>
  16939. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16940. <MODIFIED><DATE>10/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  16941. </TEMPLATE>
  16942. <TEMPLATE>
  16943. <NAME>RefIntegrity</NAME>
  16944. <ID>4</ID>
  16945. <GUID>{A0ABF06D-B976-4BA5-9116-A37080888931}</GUID>
  16946. <CAPTION></CAPTION>
  16947. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16948. <ENABLED>1</ENABLED>
  16949. <LEVEL>2</LEVEL>
  16950. <IDPARENT>0</IDPARENT>
  16951. <VALUE><![CDATA[{lRelAnyDekl} 
  16952. Alter table @macro(GenerateOwner)[%childtablename%] add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint [%frelname%]","") foreign key(@ForRelPk("","","["+PkChildName+"]",",","")) references [%parenttablename%] (@ForRelPk("","","["+PkParentName+"]",",","")) @macro(RefIntegrity2) @if(lNotForReplicationFk," NOT FOR REPLICATION","")%cr%go
  16953. ]]></VALUE>
  16954. <LANGUAGE>0</LANGUAGE>
  16955. <LANGUAGEWIN>---</LANGUAGEWIN>
  16956. <CATEGORY>2</CATEGORY>
  16957. <MAINSCRIPT>0</MAINSCRIPT>
  16958. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16959. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16960. <AUTHOR></AUTHOR>
  16961. <COMPANY></COMPANY>
  16962. <VERSION></VERSION>
  16963. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16964. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  16965. </TEMPLATE>
  16966. <TEMPLATE>
  16967. <NAME>DropIndexs</NAME>
  16968. <ID>5</ID>
  16969. <GUID>{3AA62434-C26D-4E1F-A784-DFD0851D844F}</GUID>
  16970. <CAPTION></CAPTION>
  16971. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16972. <ENABLED>1</ENABLED>
  16973. <LEVEL>2</LEVEL>
  16974. <IDPARENT>0</IDPARENT>
  16975. <VALUE><![CDATA[@ForTable("","",ForIndex("", "", "Drop index "+macro(GenerateOwner)+"[%tablename%].[%indexname%] %cr%go %cr%", "", "" ),"","")
  16976. ]]></VALUE>
  16977. <LANGUAGE>0</LANGUAGE>
  16978. <LANGUAGEWIN>---</LANGUAGEWIN>
  16979. <CATEGORY>2</CATEGORY>
  16980. <MAINSCRIPT>0</MAINSCRIPT>
  16981. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  16982. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  16983. <AUTHOR></AUTHOR>
  16984. <COMPANY></COMPANY>
  16985. <VERSION></VERSION>
  16986. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  16987. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  16988. </TEMPLATE>
  16989. <TEMPLATE>
  16990. <NAME>DropTables</NAME>
  16991. <ID>6</ID>
  16992. <GUID>{F3C0AEA3-1F8D-4A9E-97C9-9A27EC1749E3}</GUID>
  16993. <CAPTION></CAPTION>
  16994. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  16995. <ENABLED>1</ENABLED>
  16996. <LEVEL>2</LEVEL>
  16997. <IDPARENT>0</IDPARENT>
  16998. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table "+macro(GenerateOwner)+"[%tablename%] %cr%go%cr%", "", "" )
  16999. ]]></VALUE>
  17000. <LANGUAGE>0</LANGUAGE>
  17001. <LANGUAGEWIN>---</LANGUAGEWIN>
  17002. <CATEGORY>2</CATEGORY>
  17003. <MAINSCRIPT>0</MAINSCRIPT>
  17004. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17005. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17006. <AUTHOR></AUTHOR>
  17007. <COMPANY></COMPANY>
  17008. <VERSION></VERSION>
  17009. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17010. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17011. </TEMPLATE>
  17012. <TEMPLATE>
  17013. <NAME>CreateTriggerUpdate</NAME>
  17014. <ID>7</ID>
  17015. <GUID>{023FD869-0844-46AC-9162-A8D2A660EC5E}</GUID>
  17016. <CAPTION></CAPTION>
  17017. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17018. <ENABLED>1</ENABLED>
  17019. <LEVEL>2</LEVEL>
  17020. <IDPARENT>0</IDPARENT>
  17021. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  17022. @showmessage("Trigger for %tablename% ")
  17023. /* Update trigger for %tablename% */
  17024. Create trigger @macro(GenerateOwner)[tu_%tablename%] on @macro(GenerateOwner)[%tablename%] for update as
  17025. begin
  17026.     declare %c1%numrows integer
  17027.  
  17028.     select %c1%numrows = %c1%%c1%rowcount
  17029.     if %c1%numrows = 0
  17030.     return
  17031.  
  17032.     @forchild( "", "", template(triggerparentupdate), "", "" ) 
  17033.     @forparent("", "", template(triggerchildupdate), "", "" )
  17034. end
  17035. go
  17036. ]]></VALUE>
  17037. <LANGUAGE>0</LANGUAGE>
  17038. <LANGUAGEWIN>---</LANGUAGEWIN>
  17039. <CATEGORY>2</CATEGORY>
  17040. <MAINSCRIPT>0</MAINSCRIPT>
  17041. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17042. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17043. <AUTHOR></AUTHOR>
  17044. <COMPANY></COMPANY>
  17045. <VERSION></VERSION>
  17046. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17047. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17048. </TEMPLATE>
  17049. <TEMPLATE>
  17050. <NAME>CreateTriggerInsert</NAME>
  17051. <ID>8</ID>
  17052. <GUID>{1F958B24-3E39-473B-94F9-EFB55ADA174B}</GUID>
  17053. <CAPTION></CAPTION>
  17054. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17055. <ENABLED>1</ENABLED>
  17056. <LEVEL>2</LEVEL>
  17057. <IDPARENT>0</IDPARENT>
  17058. <VALUE><![CDATA[{lEntChildInsTrig  }
  17059. @showmessage("Trigger for %tablename% ")
  17060. /* Insert trigger for %tablename% */
  17061. Create trigger @macro(GenerateOwner)[ti_%tablename%] on @macro(GenerateOwner)[%tablename%] for insert as
  17062. begin
  17063.     declare %c1%numrows integer
  17064.  
  17065.     select %c1%numrows = %c1%%c1%rowcount
  17066.     if %c1%numrows = 0
  17067.     return
  17068.  
  17069.     @forparent("", "", template(TriggerParentInsert), "", "")
  17070. end
  17071. go
  17072. ]]></VALUE>
  17073. <LANGUAGE>0</LANGUAGE>
  17074. <LANGUAGEWIN>---</LANGUAGEWIN>
  17075. <CATEGORY>2</CATEGORY>
  17076. <MAINSCRIPT>0</MAINSCRIPT>
  17077. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17078. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17079. <AUTHOR></AUTHOR>
  17080. <COMPANY></COMPANY>
  17081. <VERSION></VERSION>
  17082. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17083. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17084. </TEMPLATE>
  17085. <TEMPLATE>
  17086. <NAME>CreateTriggerDelete</NAME>
  17087. <ID>9</ID>
  17088. <GUID>{2ECD7D76-9F03-49AE-8823-C989FC05C775}</GUID>
  17089. <CAPTION></CAPTION>
  17090. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17091. <ENABLED>1</ENABLED>
  17092. <LEVEL>2</LEVEL>
  17093. <IDPARENT>0</IDPARENT>
  17094. <VALUE><![CDATA[{lEntParDelTrig}
  17095. @showmessage("Trigger for %tablename% ")
  17096. /* Delete trigger for %tablename% */
  17097. Create trigger @macro(GenerateOwner)[td_%tablename%] on @macro(GenerateOwner)[%tablename%] for delete as
  17098. begin
  17099.     declare %c1%numrows integer
  17100.  
  17101.     select %c1%numrows = %c1%%c1%rowcount
  17102.     if %c1%numrows = 0
  17103.     return
  17104.  
  17105.     @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  17106. end
  17107. go
  17108. ]]></VALUE>
  17109. <LANGUAGE>0</LANGUAGE>
  17110. <LANGUAGEWIN>---</LANGUAGEWIN>
  17111. <CATEGORY>2</CATEGORY>
  17112. <MAINSCRIPT>0</MAINSCRIPT>
  17113. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17114. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17115. <AUTHOR></AUTHOR>
  17116. <COMPANY></COMPANY>
  17117. <VERSION></VERSION>
  17118. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17119. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17120. </TEMPLATE>
  17121. <TEMPLATE>
  17122. <NAME>TriggerParentUpdate</NAME>
  17123. <ID>10</ID>
  17124. <GUID>{A1775A64-7233-40E3-BD51-021F0B2B4266}</GUID>
  17125. <CAPTION></CAPTION>
  17126. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17127. <ENABLED>1</ENABLED>
  17128. <LEVEL>2</LEVEL>
  17129. <IDPARENT>0</IDPARENT>
  17130. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  17131. /* cascade child %childtablename% update when parent %parenttablename% changed */
  17132.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","")
  17133.     begin
  17134.         update @macro(ChildTableOwner)[%childtablename%]
  17135.         set @ForRelPk( tb , tb , "[%PkChildName%] = i.[%PkParentName%]" , ",%cr%" , "")
  17136.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  17137.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  17138.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr%%tb% ", ")" )
  17139.     end
  17140. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  17141. /* cascade setnull when parent changed */
  17142.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","") 
  17143.     begin
  17144.         update @macro(ChildTableOwner)[%childtablename%]
  17145.         set @ForRelPk( tb , tb , "[%PkChildName%] = NULL" , ",%cr%" , "")
  17146.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  17147.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  17148.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr% ", ")" ) 
  17149.     end
  17150. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  17151. /* cascade setdefault when parent changed */
  17152.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","") 
  17153.     begin
  17154.         update @macro(ChildTableOwner)[%childtablename%]
  17155.         set @ForRelPk( tb , tb , "[%PkChildName%] = [%PkChildDefaultValue%]" , ",%cr%" , "")
  17156.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  17157.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  17158.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr% ", ")" ) 
  17159.     end
  17160. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  17161. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  17162.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","")
  17163.     begin
  17164.         if ((select count( * ) 
  17165.         from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  17166.         where @forrelpk( "", "", "t.[%PkChildName%] = d.[%PkParentName%]", " AND "+cr+tb, "" ) ) != 0)
  17167.         begin
  17168.             raiserror 30001 'Children still exist in child table'
  17169.             rollback transaction
  17170.         end
  17171.     end
  17172. ]]></VALUE>
  17173. <LANGUAGE>0</LANGUAGE>
  17174. <LANGUAGEWIN>---</LANGUAGEWIN>
  17175. <CATEGORY>2</CATEGORY>
  17176. <MAINSCRIPT>0</MAINSCRIPT>
  17177. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17178. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17179. <AUTHOR></AUTHOR>
  17180. <COMPANY></COMPANY>
  17181. <VERSION></VERSION>
  17182. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17183. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17184. </TEMPLATE>
  17185. <TEMPLATE>
  17186. <NAME>TriggerChildUpdate</NAME>
  17187. <ID>11</ID>
  17188. <GUID>{FB0AF26A-0069-4AB6-9E8E-1387D7828D91}</GUID>
  17189. <CAPTION></CAPTION>
  17190. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17191. <ENABLED>1</ENABLED>
  17192. <LEVEL>2</LEVEL>
  17193. <IDPARENT>0</IDPARENT>
  17194. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  17195. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  17196.     if @forrelpk("", "", "Update([%PkChildName%])"," OR%cr% ","")
  17197.     begin
  17198.         if ((select count( * ) 
  17199.         from @macro(ParentTableOwner)[%ParentTableName%] t, inserted i
  17200.         where @forrelpk( "", "", "t.[%PkParentName%] = i.[%PkChildName%]", " AND "+cr, "" ) ) != %c1%numrows)
  17201.         begin
  17202.             raiserror  30002 'Parent does not exist. Cannot update child'
  17203.             rollback transaction
  17204.         end
  17205.     end
  17206. ]]></VALUE>
  17207. <LANGUAGE>0</LANGUAGE>
  17208. <LANGUAGEWIN>---</LANGUAGEWIN>
  17209. <CATEGORY>2</CATEGORY>
  17210. <MAINSCRIPT>0</MAINSCRIPT>
  17211. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17212. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17213. <AUTHOR></AUTHOR>
  17214. <COMPANY></COMPANY>
  17215. <VERSION></VERSION>
  17216. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17217. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17218. </TEMPLATE>
  17219. <TEMPLATE>
  17220. <NAME>TriggerParentDelete</NAME>
  17221. <ID>12</ID>
  17222. <GUID>{36C30161-E8FA-49EA-8508-F468D306C1A9}</GUID>
  17223. <CAPTION></CAPTION>
  17224. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17225. <ENABLED>1</ENABLED>
  17226. <LEVEL>2</LEVEL>
  17227. <IDPARENT>0</IDPARENT>
  17228. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  17229. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  17230.      delete @macro(ChildTableOwner)[%childtablename%] from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  17231.     where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "")
  17232. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  17233. /* cascade setnull when parent deleted */
  17234.      update @macro(ChildTableOwner)[%childtablename%]
  17235.     set @ForRelPk( tb , tb+tb , "[%PkChildName%] = NULL" , ",%cr%" , "")
  17236.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  17237.     where @ForRelPk( tb , tb+tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND "+cr, "")
  17238. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  17239. /* cascade setnull when parent deleted */
  17240.      update @macro(ChildTableOwner)[%childtablename%]
  17241.     set @ForRelPk( tb , tb+tb , "[%PkChildName%] = [%PkChildDefaultValue%]" , ",%cr%" , "")
  17242.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  17243.     where @ForRelPk( tb , tb+tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND "+cr, "")
  17244. {ParDelRestrict and (not lParDelRestDekl)} 
  17245. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  17246.     if ((select count( * ) 
  17247.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  17248.     where @forrelpk( "", "", "t.[%PkChildName%] = d.[%PkParentName%]", " AND "+cr+tb, "" ) ) != 0)
  17249.      begin
  17250.         raiserror  30003 'Children still exist in child table. Cannot delete parent'
  17251.         rollback transaction
  17252.     end
  17253. ]]></VALUE>
  17254. <LANGUAGE>0</LANGUAGE>
  17255. <LANGUAGEWIN>---</LANGUAGEWIN>
  17256. <CATEGORY>2</CATEGORY>
  17257. <MAINSCRIPT>0</MAINSCRIPT>
  17258. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17259. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17260. <AUTHOR></AUTHOR>
  17261. <COMPANY></COMPANY>
  17262. <VERSION></VERSION>
  17263. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17264. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17265. </TEMPLATE>
  17266. <TEMPLATE>
  17267. <NAME>TriggerParentInsert</NAME>
  17268. <ID>13</ID>
  17269. <GUID>{74B78FB2-A841-4AB5-9FEB-D56D47328420}</GUID>
  17270. <CAPTION></CAPTION>
  17271. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17272. <ENABLED>1</ENABLED>
  17273. <LEVEL>2</LEVEL>
  17274. <IDPARENT>0</IDPARENT>
  17275. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  17276. /* restrict child %childtablename% when parent %parenttablename% insert */
  17277.     if @forrelpk("", "", "Update([%PkChildName%])"," OR%cr% ","")
  17278.     begin
  17279.         if ((select count( * ) 
  17280.         from @macro(ParentTableOwner)[%ParentTableName%] t, inserted i
  17281.         where @forrelpk( "", "", "t.[%PkParentName%] = i.[%PkChildName%]", " AND "+cr, "" ) ) != %c1%numrows)
  17282.         begin
  17283.             raiserror  30004 'Parent does not exist. Cannot insert child'
  17284.             rollback transaction
  17285.         end
  17286.     end
  17287. ]]></VALUE>
  17288. <LANGUAGE>0</LANGUAGE>
  17289. <LANGUAGEWIN>---</LANGUAGEWIN>
  17290. <CATEGORY>2</CATEGORY>
  17291. <MAINSCRIPT>0</MAINSCRIPT>
  17292. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17293. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17294. <AUTHOR></AUTHOR>
  17295. <COMPANY></COMPANY>
  17296. <VERSION></VERSION>
  17297. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17298. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17299. </TEMPLATE>
  17300. <TEMPLATE>
  17301. <NAME>CreateAlterKey</NAME>
  17302. <ID>14</ID>
  17303. <GUID>{22E4E0FE-05E2-411B-BB3E-E877C1C7D028}</GUID>
  17304. <CAPTION></CAPTION>
  17305. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17306. <ENABLED>1</ENABLED>
  17307. <LEVEL>2</LEVEL>
  17308. <IDPARENT>0</IDPARENT>
  17309. <VALUE><![CDATA[@ForAlterKey("","","Alter table "+macro(GenerateOwner)+"[%TableName%] add constraint [%AlterKeyConstraintName%] unique"+if(lUniqueClustered," clustered","")+" ("+ForAlterKeyCol("","","["+ColName+"]",",","")+")"+if(not Empty(UniqueFillFactor)," WITH FILLFACTOR = "+UniqueFillFactor,"")+"%cr%go%cr%","","")
  17310. ]]></VALUE>
  17311. <LANGUAGE>0</LANGUAGE>
  17312. <LANGUAGEWIN>---</LANGUAGEWIN>
  17313. <CATEGORY>2</CATEGORY>
  17314. <MAINSCRIPT>0</MAINSCRIPT>
  17315. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17316. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17317. <AUTHOR></AUTHOR>
  17318. <COMPANY></COMPANY>
  17319. <VERSION></VERSION>
  17320. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17321. <MODIFIED><DATE>9/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17322. </TEMPLATE>
  17323. <TEMPLATE>
  17324. <NAME>DropTriggerUpdate</NAME>
  17325. <ID>15</ID>
  17326. <GUID>{D4E83449-34B8-427F-A0CE-20BA733C94A3}</GUID>
  17327. <CAPTION></CAPTION>
  17328. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17329. <ENABLED>1</ENABLED>
  17330. <LEVEL>2</LEVEL>
  17331. <IDPARENT>0</IDPARENT>
  17332. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  17333. drop trigger @macro(GenerateOwner)[tu_%tablename%]
  17334. go
  17335. ]]></VALUE>
  17336. <LANGUAGE>0</LANGUAGE>
  17337. <LANGUAGEWIN>---</LANGUAGEWIN>
  17338. <CATEGORY>2</CATEGORY>
  17339. <MAINSCRIPT>0</MAINSCRIPT>
  17340. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17341. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17342. <AUTHOR></AUTHOR>
  17343. <COMPANY></COMPANY>
  17344. <VERSION></VERSION>
  17345. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17346. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17347. </TEMPLATE>
  17348. <TEMPLATE>
  17349. <NAME>DropTriggerDelete</NAME>
  17350. <ID>16</ID>
  17351. <GUID>{39664D16-6FC3-49C8-9EB6-2388089310D0}</GUID>
  17352. <CAPTION></CAPTION>
  17353. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17354. <ENABLED>1</ENABLED>
  17355. <LEVEL>2</LEVEL>
  17356. <IDPARENT>0</IDPARENT>
  17357. <VALUE><![CDATA[{lEntParDelTrig}
  17358. Drop trigger @macro(GenerateOwner)[td_%tablename%]
  17359. go
  17360. ]]></VALUE>
  17361. <LANGUAGE>0</LANGUAGE>
  17362. <LANGUAGEWIN>---</LANGUAGEWIN>
  17363. <CATEGORY>2</CATEGORY>
  17364. <MAINSCRIPT>0</MAINSCRIPT>
  17365. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17366. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17367. <AUTHOR></AUTHOR>
  17368. <COMPANY></COMPANY>
  17369. <VERSION></VERSION>
  17370. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17371. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17372. </TEMPLATE>
  17373. <TEMPLATE>
  17374. <NAME>DropTriggerInsert</NAME>
  17375. <ID>17</ID>
  17376. <GUID>{FF5CDC65-5BFE-419D-A03A-1EBA29DCB537}</GUID>
  17377. <CAPTION></CAPTION>
  17378. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17379. <ENABLED>1</ENABLED>
  17380. <LEVEL>2</LEVEL>
  17381. <IDPARENT>0</IDPARENT>
  17382. <VALUE><![CDATA[{lEntChildInsTrig  }
  17383. Drop trigger @macro(GenerateOwner)[ti_%tablename%]
  17384. go
  17385. ]]></VALUE>
  17386. <LANGUAGE>0</LANGUAGE>
  17387. <LANGUAGEWIN>---</LANGUAGEWIN>
  17388. <CATEGORY>2</CATEGORY>
  17389. <MAINSCRIPT>0</MAINSCRIPT>
  17390. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17391. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17392. <AUTHOR></AUTHOR>
  17393. <COMPANY></COMPANY>
  17394. <VERSION></VERSION>
  17395. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17396. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17397. </TEMPLATE>
  17398. <TEMPLATE>
  17399. <NAME>DropRefIntegritys</NAME>
  17400. <ID>18</ID>
  17401. <GUID>{83E72447-CC4F-4D5F-9272-50D7325BC9F3}</GUID>
  17402. <CAPTION></CAPTION>
  17403. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17404. <ENABLED>1</ENABLED>
  17405. <LEVEL>2</LEVEL>
  17406. <IDPARENT>0</IDPARENT>
  17407. <VALUE><![CDATA[{lFkAsConstraint}
  17408. @ForTable("", "", ForChild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  17409. ]]></VALUE>
  17410. <LANGUAGE>0</LANGUAGE>
  17411. <LANGUAGEWIN>---</LANGUAGEWIN>
  17412. <CATEGORY>2</CATEGORY>
  17413. <MAINSCRIPT>0</MAINSCRIPT>
  17414. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17415. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17416. <AUTHOR></AUTHOR>
  17417. <COMPANY></COMPANY>
  17418. <VERSION></VERSION>
  17419. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17420. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17421. </TEMPLATE>
  17422. <TEMPLATE>
  17423. <NAME>DropRefIntegrity</NAME>
  17424. <ID>19</ID>
  17425. <GUID>{65DB47AC-EAE6-467A-9050-77E6A9091728}</GUID>
  17426. <CAPTION></CAPTION>
  17427. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17428. <ENABLED>1</ENABLED>
  17429. <LEVEL>2</LEVEL>
  17430. <IDPARENT>0</IDPARENT>
  17431. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  17432. Alter table @macro(GenerateOwner)[%childtablename%] drop constraint @macro(GenerateOwner)[%frelname%]
  17433. go
  17434. ]]></VALUE>
  17435. <LANGUAGE>0</LANGUAGE>
  17436. <LANGUAGEWIN>---</LANGUAGEWIN>
  17437. <CATEGORY>2</CATEGORY>
  17438. <MAINSCRIPT>0</MAINSCRIPT>
  17439. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17440. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17441. <AUTHOR></AUTHOR>
  17442. <COMPANY></COMPANY>
  17443. <VERSION></VERSION>
  17444. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17445. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17446. </TEMPLATE>
  17447. <TEMPLATE>
  17448. <NAME>CreateRole</NAME>
  17449. <ID>20</ID>
  17450. <GUID>{0D42F671-D4D1-4AA1-82C1-FA7FFAE76DCF}</GUID>
  17451. <CAPTION></CAPTION>
  17452. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17453. <ENABLED>1</ENABLED>
  17454. <LEVEL>2</LEVEL>
  17455. <IDPARENT>0</IDPARENT>
  17456. <VALUE><![CDATA[@ForRole("","",if(lRole,"sp_AddRole [%RoleName%]%cr%go%cr%",""),"","")
  17457. ]]></VALUE>
  17458. <LANGUAGE>0</LANGUAGE>
  17459. <LANGUAGEWIN>---</LANGUAGEWIN>
  17460. <CATEGORY>2</CATEGORY>
  17461. <MAINSCRIPT>0</MAINSCRIPT>
  17462. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17463. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17464. <AUTHOR></AUTHOR>
  17465. <COMPANY></COMPANY>
  17466. <VERSION></VERSION>
  17467. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17468. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17469. </TEMPLATE>
  17470. <TEMPLATE>
  17471. <NAME>GrantUserToRole</NAME>
  17472. <ID>21</ID>
  17473. <GUID>{31C044F0-3D1B-418E-8877-50042A474FE4}</GUID>
  17474. <CAPTION></CAPTION>
  17475. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17476. <ENABLED>1</ENABLED>
  17477. <LEVEL>2</LEVEL>
  17478. <IDPARENT>0</IDPARENT>
  17479. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("sp_AddRoleMember [%rolename%] [%username%]%cr%go%cr%"),"",""),"","")
  17480. ]]></VALUE>
  17481. <LANGUAGE>0</LANGUAGE>
  17482. <LANGUAGEWIN>---</LANGUAGEWIN>
  17483. <CATEGORY>2</CATEGORY>
  17484. <MAINSCRIPT>0</MAINSCRIPT>
  17485. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17486. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17487. <AUTHOR></AUTHOR>
  17488. <COMPANY></COMPANY>
  17489. <VERSION></VERSION>
  17490. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17491. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17492. </TEMPLATE>
  17493. <TEMPLATE>
  17494. <NAME>CreateTablePermiss</NAME>
  17495. <ID>22</ID>
  17496. <GUID>{811484D0-5397-4B57-87AB-1DD0CFD2EC78}</GUID>
  17497. <CAPTION></CAPTION>
  17498. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17499. <ENABLED>1</ENABLED>
  17500. <LEVEL>2</LEVEL>
  17501. <IDPARENT>0</IDPARENT>
  17502. <VALUE><![CDATA[if(lPermissSelect,"Grant select on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17503. if(lPermissUpdate,"Grant update on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17504. if(lPermissDelete,"Grant delete on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17505. if(lPermissInsert,"Grant insert on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17506. if(lPermissDRI,"Grant references on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")
  17507. ]]></VALUE>
  17508. <LANGUAGE>0</LANGUAGE>
  17509. <LANGUAGEWIN>---</LANGUAGEWIN>
  17510. <CATEGORY>2</CATEGORY>
  17511. <MAINSCRIPT>0</MAINSCRIPT>
  17512. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17513. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17514. <AUTHOR></AUTHOR>
  17515. <COMPANY></COMPANY>
  17516. <VERSION></VERSION>
  17517. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17518. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17519. </TEMPLATE>
  17520. <TEMPLATE>
  17521. <NAME>CreateViewPermiss</NAME>
  17522. <ID>23</ID>
  17523. <GUID>{11B6FD4C-FDCE-48DC-A719-97355661A1BC}</GUID>
  17524. <CAPTION></CAPTION>
  17525. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17526. <ENABLED>1</ENABLED>
  17527. <LEVEL>2</LEVEL>
  17528. <IDPARENT>0</IDPARENT>
  17529. <VALUE><![CDATA[if(lPermissSelect,"Grant select on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17530. if(lPermissUpdate,"Grant update on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17531. if(lPermissDelete,"Grant delete on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  17532. if(lPermissInsert,"Grant insert on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")
  17533. ]]></VALUE>
  17534. <LANGUAGE>0</LANGUAGE>
  17535. <LANGUAGEWIN>---</LANGUAGEWIN>
  17536. <CATEGORY>2</CATEGORY>
  17537. <MAINSCRIPT>0</MAINSCRIPT>
  17538. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17539. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17540. <AUTHOR></AUTHOR>
  17541. <COMPANY></COMPANY>
  17542. <VERSION></VERSION>
  17543. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17544. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17545. </TEMPLATE>
  17546. <TEMPLATE>
  17547. <NAME>CreateProcedurePermiss</NAME>
  17548. <ID>24</ID>
  17549. <GUID>{BD354953-F8E4-4F9A-AE77-1AA9E2F31761}</GUID>
  17550. <CAPTION></CAPTION>
  17551. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17552. <ENABLED>1</ENABLED>
  17553. <LEVEL>2</LEVEL>
  17554. <IDPARENT>0</IDPARENT>
  17555. <VALUE><![CDATA[if(lPermissExec,"Grant exec on [%ProcedureName%] to [%UserOrRoleName%]%cr%go%cr%","")
  17556. ]]></VALUE>
  17557. <LANGUAGE>0</LANGUAGE>
  17558. <LANGUAGEWIN>---</LANGUAGEWIN>
  17559. <CATEGORY>2</CATEGORY>
  17560. <MAINSCRIPT>0</MAINSCRIPT>
  17561. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17562. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17563. <AUTHOR></AUTHOR>
  17564. <COMPANY></COMPANY>
  17565. <VERSION></VERSION>
  17566. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17567. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17568. </TEMPLATE>
  17569. <TEMPLATE>
  17570. <NAME>DropProcedures</NAME>
  17571. <ID>25</ID>
  17572. <GUID>{9D0EB567-C6FA-4D75-814F-88FEB544B6B3}</GUID>
  17573. <CAPTION></CAPTION>
  17574. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17575. <ENABLED>1</ENABLED>
  17576. <LEVEL>2</LEVEL>
  17577. <IDPARENT>0</IDPARENT>
  17578. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure "+ScriptProc(TextObjectOwner,Main,ProcedureName)+"%cr%go%cr%","","")
  17579. ]]></VALUE>
  17580. <LANGUAGE>0</LANGUAGE>
  17581. <LANGUAGEWIN>---</LANGUAGEWIN>
  17582. <CATEGORY>2</CATEGORY>
  17583. <MAINSCRIPT>0</MAINSCRIPT>
  17584. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17585. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17586. <AUTHOR></AUTHOR>
  17587. <COMPANY></COMPANY>
  17588. <VERSION></VERSION>
  17589. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17590. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17591. </TEMPLATE>
  17592. <TEMPLATE>
  17593. <NAME>DropViews</NAME>
  17594. <ID>26</ID>
  17595. <GUID>{811405C8-226F-4892-AB47-2735D8B3A27E}</GUID>
  17596. <CAPTION></CAPTION>
  17597. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17598. <ENABLED>1</ENABLED>
  17599. <LEVEL>2</LEVEL>
  17600. <IDPARENT>0</IDPARENT>
  17601. <VALUE><![CDATA[@ForViewR("","","Drop view "+ScriptProc(TextObjectOwner,Main,ViewName)+"%cr%go%cr%","","")
  17602. ]]></VALUE>
  17603. <LANGUAGE>0</LANGUAGE>
  17604. <LANGUAGEWIN>---</LANGUAGEWIN>
  17605. <CATEGORY>2</CATEGORY>
  17606. <MAINSCRIPT>0</MAINSCRIPT>
  17607. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17608. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17609. <AUTHOR></AUTHOR>
  17610. <COMPANY></COMPANY>
  17611. <VERSION></VERSION>
  17612. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17613. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17614. </TEMPLATE>
  17615. <TEMPLATE>
  17616. <NAME>DropTriggersList</NAME>
  17617. <ID>27</ID>
  17618. <GUID>{F2A9A622-CAD1-4674-9AA6-E7C068AF6A3F}</GUID>
  17619. <CAPTION></CAPTION>
  17620. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17621. <ENABLED>1</ENABLED>
  17622. <LEVEL>2</LEVEL>
  17623. <IDPARENT>0</IDPARENT>
  17624. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger "+ScriptProc(TextObjectOwner,Main,TriggerName)+"%cr%go%cr%","",""),"","")
  17625. @ForTriggerR("","","Drop trigger "+ScriptProc(TextObjectOwner,Main,TriggerName)+"%cr%go%cr%","","")
  17626. ]]></VALUE>
  17627. <LANGUAGE>0</LANGUAGE>
  17628. <LANGUAGEWIN>---</LANGUAGEWIN>
  17629. <CATEGORY>2</CATEGORY>
  17630. <MAINSCRIPT>0</MAINSCRIPT>
  17631. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17632. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17633. <AUTHOR></AUTHOR>
  17634. <COMPANY></COMPANY>
  17635. <VERSION></VERSION>
  17636. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17637. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17638. </TEMPLATE>
  17639. <TEMPLATE>
  17640. <NAME>RefIntegrity2</NAME>
  17641. <ID>28</ID>
  17642. <GUID>{8FB72638-13A8-434B-A2C2-3615419F9C18}</GUID>
  17643. <CAPTION></CAPTION>
  17644. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17645. <ENABLED>1</ENABLED>
  17646. <LEVEL>2</LEVEL>
  17647. <IDPARENT>0</IDPARENT>
  17648. <VALUE><![CDATA[if(lRelUpdDekl," on update "+if(lRelParUpdRestDekl,"no action",if(lRelParUpdCascDekl,"cascade","" )), "" )+
  17649. if(lRelDelDekl, " on delete " +if(lRelParDelRestDekl,  "no action",if(lRelParDelCascDekl, "cascade","" )), "" )
  17650. ]]></VALUE>
  17651. <LANGUAGE>0</LANGUAGE>
  17652. <LANGUAGEWIN>---</LANGUAGEWIN>
  17653. <CATEGORY>2</CATEGORY>
  17654. <MAINSCRIPT>0</MAINSCRIPT>
  17655. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17656. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17657. <AUTHOR></AUTHOR>
  17658. <COMPANY></COMPANY>
  17659. <VERSION></VERSION>
  17660. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17661. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17662. </TEMPLATE>
  17663. <TEMPLATE>
  17664. <NAME>GenerateOwner</NAME>
  17665. <ID>29</ID>
  17666. <GUID>{E24D0180-D0EE-4CFC-AF26-CA3E95DB1BE7}</GUID>
  17667. <CAPTION></CAPTION>
  17668. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17669. <ENABLED>1</ENABLED>
  17670. <LEVEL>2</LEVEL>
  17671. <IDPARENT>0</IDPARENT>
  17672. <VALUE><![CDATA[if(lGenerOwner,if(empty(Owner),"","["+Owner+"]."),"")
  17673. ]]></VALUE>
  17674. <LANGUAGE>0</LANGUAGE>
  17675. <LANGUAGEWIN>---</LANGUAGEWIN>
  17676. <CATEGORY>2</CATEGORY>
  17677. <MAINSCRIPT>0</MAINSCRIPT>
  17678. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17679. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17680. <AUTHOR></AUTHOR>
  17681. <COMPANY></COMPANY>
  17682. <VERSION></VERSION>
  17683. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17684. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17685. </TEMPLATE>
  17686. <TEMPLATE>
  17687. <NAME>CreateAttrib</NAME>
  17688. <ID>30</ID>
  17689. <GUID>{B60114FD-884B-4F61-806F-849F39F437A0}</GUID>
  17690. <CAPTION></CAPTION>
  17691. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17692. <ENABLED>1</ENABLED>
  17693. <LEVEL>2</LEVEL>
  17694. <IDPARENT>0</IDPARENT>
  17695. <VALUE><![CDATA["[%ColName%] %TypSql%"+
  17696. if(DefExist," %DefValue%", "")+
  17697. if(not Empty(ConstraintDefault) and DefaultExist, " Constraint [%ConstraintDefault%]","")+
  17698. if(DefaultExist," Default "+DefaultValue  ,"")+
  17699. if(Identity," Identity"+if(Empty(IdentitySeed) or Empty(IdentityIncrement),"","(%IdentitySeed%,%IdentityIncrement%)"+if(lNotForReplicationId," NOT FOR REPLICATION","")),"")+
  17700. if(lRowGuidCol," rowguidcol","")+
  17701. if(Column.DataTypeID<>200, if(NotNull," NOT NULL"," NULL"),"")+
  17702. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint [%ConstraintAtrUnique%]","")+" UNIQUE"+if(lUniqueClustered," clustered","")+if(not Empty(UniqueFillFactor)," WITH FILLFACTOR = "+UniqueFillFactor,""), "")+
  17703. if(ConstraintExist and CheckExist, " Constraint [%Constraint%]","")+
  17704. if(CheckExist," Check"+if(lNotForReplicationCh," NOT FOR REPLICATION","")+" ("+ EvalCheck+" )","")+
  17705. if(Def2Exist," %Def2Value%", "")
  17706. ]]></VALUE>
  17707. <LANGUAGE>0</LANGUAGE>
  17708. <LANGUAGEWIN>---</LANGUAGEWIN>
  17709. <CATEGORY>2</CATEGORY>
  17710. <MAINSCRIPT>0</MAINSCRIPT>
  17711. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17712. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17713. <AUTHOR></AUTHOR>
  17714. <COMPANY></COMPANY>
  17715. <VERSION></VERSION>
  17716. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17717. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17718. </TEMPLATE>
  17719. <TEMPLATE>
  17720. <NAME>CreateAttrib2</NAME>
  17721. <ID>31</ID>
  17722. <GUID>{6918689B-DE6A-475D-A834-FF46C238177D}</GUID>
  17723. <CAPTION></CAPTION>
  17724. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17725. <ENABLED>1</ENABLED>
  17726. <LEVEL>2</LEVEL>
  17727. <IDPARENT>0</IDPARENT>
  17728. <VALUE><![CDATA["[%ColName%] [%DictName%]"+
  17729. if(DefExist," %DefValue%", "")+
  17730. if(not Empty(ConstraintDefault) and DefaultExist, " Constraint [%ConstraintDefault%]","")+
  17731. if(DefaultExist," Default "+DefaultValue  ,"")+
  17732. if(Identity," Identity"+if(Empty(IdentitySeed) or Empty(IdentityIncrement),"","(%IdentitySeed%,%IdentityIncrement%)"+if(lNotForReplicationId," NOT FOR REPLICATION","")),"")+
  17733. if(lRowGuidCol," rowguidcol","")+
  17734. if(Column.DataTypeID<>200, if(NotNull," NOT NULL"," NULL"),"")+
  17735. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint [%ConstraintAtrUnique%]","")+" UNIQUE"+if(lUniqueClustered," clustered","")+if(not Empty(UniqueFillFactor)," WITH FILLFACTOR = "+UniqueFillFactor,""), "")+
  17736. if(ConstraintExist and CheckExist, " Constraint [%Constraint%]","")+
  17737. if(CheckExist," Check"+if(lNotForReplicationCh," NOT FOR REPLICATION","")+" ("+ EvalCheck+" )","")+
  17738. if(Def2Exist," %Def2Value%", "")
  17739. ]]></VALUE>
  17740. <LANGUAGE>0</LANGUAGE>
  17741. <LANGUAGEWIN>---</LANGUAGEWIN>
  17742. <CATEGORY>2</CATEGORY>
  17743. <MAINSCRIPT>0</MAINSCRIPT>
  17744. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17745. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17746. <AUTHOR></AUTHOR>
  17747. <COMPANY></COMPANY>
  17748. <VERSION></VERSION>
  17749. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17750. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17751. </TEMPLATE>
  17752. <TEMPLATE>
  17753. <NAME>CreateDomains</NAME>
  17754. <ID>32</ID>
  17755. <GUID>{568A5DD9-6D20-4C80-B003-F8DD08CBBB17}</GUID>
  17756. <CAPTION></CAPTION>
  17757. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17758. <ENABLED>1</ENABLED>
  17759. <LEVEL>2</LEVEL>
  17760. <IDPARENT>0</IDPARENT>
  17761. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  17762. ]]></VALUE>
  17763. <LANGUAGE>0</LANGUAGE>
  17764. <LANGUAGEWIN>---</LANGUAGEWIN>
  17765. <CATEGORY>2</CATEGORY>
  17766. <MAINSCRIPT>0</MAINSCRIPT>
  17767. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17768. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17769. <AUTHOR></AUTHOR>
  17770. <COMPANY></COMPANY>
  17771. <VERSION></VERSION>
  17772. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17773. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17774. </TEMPLATE>
  17775. <TEMPLATE>
  17776. <NAME>CreateDomain</NAME>
  17777. <ID>33</ID>
  17778. <GUID>{33F3A3BA-8358-427E-880D-41D3E32B1CE3}</GUID>
  17779. <CAPTION></CAPTION>
  17780. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17781. <ENABLED>1</ENABLED>
  17782. <LEVEL>2</LEVEL>
  17783. <IDPARENT>0</IDPARENT>
  17784. <VALUE><![CDATA[if(lGenerOwner and (not empty(UTypeOwner)),"Setuser '%UTypeOwner%'%cr%go%cr%","")+
  17785. "Exec sp_addtype '%DictName%', '%typsql%', '"+if(lNullType,"NULL","NOT NULL")+"'%cr%go%cr%"+
  17786. if(empty(Default)and(not(empty(UTypeDefObject))),"Exec sp_bindefault '%UTypeDefObject%', '%DictName%'%cr%go%cr%","")+
  17787. if(empty(UTypeRuleObject),"","Exec sp_bindrule '%UTypeRuleObject%', '%DictName%'%cr%go%cr%")+
  17788. if(lGenerOwner and (not empty(UTypeOwner)),"Setuser%cr%go%cr%","")
  17789. ]]></VALUE>
  17790. <LANGUAGE>0</LANGUAGE>
  17791. <LANGUAGEWIN>---</LANGUAGEWIN>
  17792. <CATEGORY>2</CATEGORY>
  17793. <MAINSCRIPT>0</MAINSCRIPT>
  17794. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17795. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17796. <AUTHOR></AUTHOR>
  17797. <COMPANY></COMPANY>
  17798. <VERSION></VERSION>
  17799. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17800. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17801. </TEMPLATE>
  17802. <TEMPLATE>
  17803. <NAME>DropDomains</NAME>
  17804. <ID>34</ID>
  17805. <GUID>{D4900EF3-7626-448D-BBA6-5729FFEDF7EF}</GUID>
  17806. <CAPTION></CAPTION>
  17807. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17808. <ENABLED>1</ENABLED>
  17809. <LEVEL>2</LEVEL>
  17810. <IDPARENT>0</IDPARENT>
  17811. <VALUE><![CDATA[@ForDict("", "", "Exec sp_droptype [%DictName%]%cr%go%cr%", "", "" )
  17812. ]]></VALUE>
  17813. <LANGUAGE>0</LANGUAGE>
  17814. <LANGUAGEWIN>---</LANGUAGEWIN>
  17815. <CATEGORY>2</CATEGORY>
  17816. <MAINSCRIPT>0</MAINSCRIPT>
  17817. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17818. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17819. <AUTHOR></AUTHOR>
  17820. <COMPANY></COMPANY>
  17821. <VERSION></VERSION>
  17822. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17823. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17824. </TEMPLATE>
  17825. <TEMPLATE>
  17826. <NAME>ChildTableOwner</NAME>
  17827. <ID>35</ID>
  17828. <GUID>{1274B0D7-D69F-4F89-AA05-88E4E83EFD1A}</GUID>
  17829. <CAPTION></CAPTION>
  17830. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17831. <ENABLED>1</ENABLED>
  17832. <LEVEL>2</LEVEL>
  17833. <IDPARENT>0</IDPARENT>
  17834. <VALUE><![CDATA[if(lGenerOwner,if(empty(ChildTable.Owner),"","["+ChildTable.Owner+"]."),"")
  17835. ]]></VALUE>
  17836. <LANGUAGE>0</LANGUAGE>
  17837. <LANGUAGEWIN>---</LANGUAGEWIN>
  17838. <CATEGORY>2</CATEGORY>
  17839. <MAINSCRIPT>0</MAINSCRIPT>
  17840. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17841. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17842. <AUTHOR></AUTHOR>
  17843. <COMPANY></COMPANY>
  17844. <VERSION></VERSION>
  17845. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17846. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17847. </TEMPLATE>
  17848. <TEMPLATE>
  17849. <NAME>ParentTableOwner</NAME>
  17850. <ID>36</ID>
  17851. <GUID>{FEB1E7EF-27D7-46B4-ACC4-11D587FC0481}</GUID>
  17852. <CAPTION></CAPTION>
  17853. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17854. <ENABLED>1</ENABLED>
  17855. <LEVEL>2</LEVEL>
  17856. <IDPARENT>0</IDPARENT>
  17857. <VALUE><![CDATA[if(lGenerOwner,if(empty(ParentTable.Owner),"","["+ParentTable.Owner+"]."),"")
  17858. ]]></VALUE>
  17859. <LANGUAGE>0</LANGUAGE>
  17860. <LANGUAGEWIN>---</LANGUAGEWIN>
  17861. <CATEGORY>2</CATEGORY>
  17862. <MAINSCRIPT>0</MAINSCRIPT>
  17863. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17864. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17865. <AUTHOR></AUTHOR>
  17866. <COMPANY></COMPANY>
  17867. <VERSION></VERSION>
  17868. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17869. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17870. </TEMPLATE>
  17871. <TEMPLATE>
  17872. <NAME>CreateDaR</NAME>
  17873. <ID>37</ID>
  17874. <GUID>{34F772E3-2BC1-4685-813D-1A1C7BA5DE7D}</GUID>
  17875. <CAPTION></CAPTION>
  17876. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17877. <ENABLED>1</ENABLED>
  17878. <LEVEL>2</LEVEL>
  17879. <IDPARENT>0</IDPARENT>
  17880. <VALUE><![CDATA[@ForDict("","",if((empty(Default))or(empty(UTypeDefName)),"","Create default [%UTypeDefName%] as '%Default%'%cr%go%cr%")+if((empty(Check))or(empty(UTypeRuleName)),"","Create rule [%UTypeRuleName%] as %Check%%cr%go%cr%"),"","")
  17881. @ForTable("","",ForCol("","",if(Column.DataTypeId=0,"",if((empty(ConstraintDefault))or(empty(Default)),"","Create default "+macro(GenerateOwner)+"[%ConstraintDefault%] as '%Default%'%cr%go%cr%")+if((empty(ConstraintCheck))or(empty(Check)),"","Create rule "+macro(GenerateOwner)+"[%ConstraintCheck%] as %Check%%cr%go%cr%")),"",""),"","")
  17882. ]]></VALUE>
  17883. <LANGUAGE>0</LANGUAGE>
  17884. <LANGUAGEWIN>---</LANGUAGEWIN>
  17885. <CATEGORY>2</CATEGORY>
  17886. <MAINSCRIPT>0</MAINSCRIPT>
  17887. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17888. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17889. <AUTHOR></AUTHOR>
  17890. <COMPANY></COMPANY>
  17891. <VERSION></VERSION>
  17892. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17893. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17894. </TEMPLATE>
  17895. <TEMPLATE>
  17896. <NAME>BindObjToUTypes</NAME>
  17897. <ID>38</ID>
  17898. <GUID>{865472B3-AFA2-4608-8C73-391EB6C327CA}</GUID>
  17899. <CAPTION></CAPTION>
  17900. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17901. <ENABLED>1</ENABLED>
  17902. <LEVEL>2</LEVEL>
  17903. <IDPARENT>0</IDPARENT>
  17904. <VALUE><![CDATA[if((empty(DictType.UTypeDefObject))or(not(empty(DictType.Default))),"","Exec sp_bindefault '%DictType.UTypeDefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  17905. if(empty(DictType.UTypeRuleObject),"","Exec sp_bindrule '%DictType.UTypeRuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  17906. ]]></VALUE>
  17907. <LANGUAGE>0</LANGUAGE>
  17908. <LANGUAGEWIN>---</LANGUAGEWIN>
  17909. <CATEGORY>2</CATEGORY>
  17910. <MAINSCRIPT>0</MAINSCRIPT>
  17911. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17912. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17913. <AUTHOR></AUTHOR>
  17914. <COMPANY></COMPANY>
  17915. <VERSION></VERSION>
  17916. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17917. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17918. </TEMPLATE>
  17919. <TEMPLATE>
  17920. <NAME>BindObjToColumns</NAME>
  17921. <ID>39</ID>
  17922. <GUID>{7B92D7BD-20A2-4F34-990B-D90550C0CB8A}</GUID>
  17923. <CAPTION></CAPTION>
  17924. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17925. <ENABLED>1</ENABLED>
  17926. <LEVEL>2</LEVEL>
  17927. <IDPARENT>0</IDPARENT>
  17928. <VALUE><![CDATA[if((empty(DefObject))or(not(empty(Default))),"","Exec sp_bindefault '%DefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  17929. if(empty(RuleObject),"","Exec sp_bindrule '%RuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  17930. ]]></VALUE>
  17931. <LANGUAGE>0</LANGUAGE>
  17932. <LANGUAGEWIN>---</LANGUAGEWIN>
  17933. <CATEGORY>2</CATEGORY>
  17934. <MAINSCRIPT>0</MAINSCRIPT>
  17935. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17936. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17937. <AUTHOR></AUTHOR>
  17938. <COMPANY></COMPANY>
  17939. <VERSION></VERSION>
  17940. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  17941. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  17942. </TEMPLATE>
  17943. <TEMPLATE>
  17944. <NAME>CreateDescriptionCol</NAME>
  17945. <ID>40</ID>
  17946. <GUID>{A2FDDFDC-1216-4E97-9CE3-B26A54226E9C}</GUID>
  17947. <CAPTION></CAPTION>
  17948. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17949. <ENABLED>1</ENABLED>
  17950. <LEVEL>2</LEVEL>
  17951. <IDPARENT>0</IDPARENT>
  17952. <VALUE><![CDATA[@ForTable("", "", ForCol("", "", if(lGenerOwner and not empty(Owner) and not Empty(AttrDescription),"Exec sp_addextendedproperty 'MS_Description', '"+ScriptProc(DescriptionCRLFRemove,Main,AttrDescription)+"', 'user', '%Owner%', 'table', '%tablename%', 'column', '%ColName%'%cr%go%cr%",""), "", ""), "", "")
  17953. ]]></VALUE>
  17954. <LANGUAGE>0</LANGUAGE>
  17955. <LANGUAGEWIN>---</LANGUAGEWIN>
  17956. <CATEGORY>2</CATEGORY>
  17957. <MAINSCRIPT>0</MAINSCRIPT>
  17958. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17959. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17960. <AUTHOR></AUTHOR>
  17961. <COMPANY></COMPANY>
  17962. <VERSION></VERSION>
  17963. <CREATED><DATE>9/4/2002</DATE><TIME>15:02:19</TIME></CREATED>
  17964. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17965. </TEMPLATE>
  17966. <TEMPLATE>
  17967. <NAME>DescriptionCRLFRemove</NAME>
  17968. <ID>41</ID>
  17969. <GUID>{99E12FE5-EBA0-4086-97CD-149B9857A91C}</GUID>
  17970. <CAPTION>DescriptionCRLFRemove</CAPTION>
  17971. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17972. <ENABLED>1</ENABLED>
  17973. <LEVEL>2</LEVEL>
  17974. <IDPARENT>0</IDPARENT>
  17975. <VALUE><![CDATA[function Main(description)
  17976. {
  17977.     return RemoveCRLF(description);
  17978. }
  17979. ]]></VALUE>
  17980. <LANGUAGE>1</LANGUAGE>
  17981. <LANGUAGEWIN>---</LANGUAGEWIN>
  17982. <CATEGORY>2</CATEGORY>
  17983. <MAINSCRIPT>0</MAINSCRIPT>
  17984. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  17985. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  17986. <AUTHOR></AUTHOR>
  17987. <COMPANY></COMPANY>
  17988. <VERSION></VERSION>
  17989. <CREATED><DATE>9/5/2002</DATE><TIME>11:47:42</TIME></CREATED>
  17990. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  17991. </TEMPLATE>
  17992. <TEMPLATE>
  17993. <NAME>CreateDescriptionTab</NAME>
  17994. <ID>42</ID>
  17995. <GUID>{58B61C9C-5772-4EED-8956-54AEF0D781E3}</GUID>
  17996. <CAPTION></CAPTION>
  17997. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  17998. <ENABLED>1</ENABLED>
  17999. <LEVEL>2</LEVEL>
  18000. <IDPARENT>0</IDPARENT>
  18001. <VALUE><![CDATA[@ForTable("", "", if(lGenerOwner and not empty(Owner) and not Empty(EntDescription),"Exec sp_addextendedproperty 'MS_Description', '"+ScriptProc(DescriptionCRLFRemove,Main,EntDescription)+"', 'user', '%Owner%', 'table', '%tablename%', NULL, NULL%cr%go%cr%",""), "", "")
  18002. ]]></VALUE>
  18003. <LANGUAGE>0</LANGUAGE>
  18004. <LANGUAGEWIN>---</LANGUAGEWIN>
  18005. <CATEGORY>2</CATEGORY>
  18006. <MAINSCRIPT>0</MAINSCRIPT>
  18007. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18008. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18009. <AUTHOR></AUTHOR>
  18010. <COMPANY></COMPANY>
  18011. <VERSION></VERSION>
  18012. <CREATED><DATE>9/5/2002</DATE><TIME>12:04:47</TIME></CREATED>
  18013. <MODIFIED><DATE>9/5/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18014. </TEMPLATE>
  18015. <TEMPLATE>
  18016. <NAME>CreateFunctions</NAME>
  18017. <ID>43</ID>
  18018. <GUID>{D3C782C0-7337-4E28-B2B4-270C40189484}</GUID>
  18019. <CAPTION></CAPTION>
  18020. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18021. <ENABLED>1</ENABLED>
  18022. <LEVEL>2</LEVEL>
  18023. <IDPARENT>0</IDPARENT>
  18024. <VALUE><![CDATA[@ForTextObject(10, "", "", TextObject+cr, "", "")
  18025. ]]></VALUE>
  18026. <LANGUAGE>0</LANGUAGE>
  18027. <LANGUAGEWIN>---</LANGUAGEWIN>
  18028. <CATEGORY>2</CATEGORY>
  18029. <MAINSCRIPT>0</MAINSCRIPT>
  18030. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18031. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18032. <AUTHOR></AUTHOR>
  18033. <COMPANY></COMPANY>
  18034. <VERSION></VERSION>
  18035. <CREATED><DATE>10/14/2002</DATE><TIME>17:02:47</TIME></CREATED>
  18036. <MODIFIED><DATE>10/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18037. </TEMPLATE>
  18038. <TEMPLATE>
  18039. <NAME>DropFunctions</NAME>
  18040. <ID>44</ID>
  18041. <GUID>{2A5FE37F-7F17-4BBE-9ABD-15E34A2313E8}</GUID>
  18042. <CAPTION></CAPTION>
  18043. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18044. <ENABLED>1</ENABLED>
  18045. <LEVEL>2</LEVEL>
  18046. <IDPARENT>0</IDPARENT>
  18047. <VALUE><![CDATA[@ForTextObject(10, "", "", "Drop function "+ScriptProc(TextObjectOwner,Main,TextObjectName)+"%cr%go%cr%", "", "")
  18048.  
  18049. ]]></VALUE>
  18050. <LANGUAGE>0</LANGUAGE>
  18051. <LANGUAGEWIN>---</LANGUAGEWIN>
  18052. <CATEGORY>2</CATEGORY>
  18053. <MAINSCRIPT>0</MAINSCRIPT>
  18054. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18055. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18056. <AUTHOR></AUTHOR>
  18057. <COMPANY></COMPANY>
  18058. <VERSION></VERSION>
  18059. <CREATED><DATE>10/14/2002</DATE><TIME>17:02:59</TIME></CREATED>
  18060. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18061. </TEMPLATE>
  18062. <TEMPLATE>
  18063. <NAME>CreateExtendedProcedures</NAME>
  18064. <ID>45</ID>
  18065. <GUID>{9590884B-A054-4094-9ED1-D4B3B809A3A2}</GUID>
  18066. <CAPTION></CAPTION>
  18067. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18068. <ENABLED>1</ENABLED>
  18069. <LEVEL>2</LEVEL>
  18070. <IDPARENT>0</IDPARENT>
  18071. <VALUE><![CDATA[@ForTextObject(20, "", "", TextObject+cr, "", "")
  18072. ]]></VALUE>
  18073. <LANGUAGE>0</LANGUAGE>
  18074. <LANGUAGEWIN>---</LANGUAGEWIN>
  18075. <CATEGORY>2</CATEGORY>
  18076. <MAINSCRIPT>0</MAINSCRIPT>
  18077. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18078. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18079. <AUTHOR></AUTHOR>
  18080. <COMPANY></COMPANY>
  18081. <VERSION></VERSION>
  18082. <CREATED><DATE>10/15/2002</DATE><TIME>15:24:36</TIME></CREATED>
  18083. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18084. </TEMPLATE>
  18085. <TEMPLATE>
  18086. <NAME>DropExtendedProcedures</NAME>
  18087. <ID>46</ID>
  18088. <GUID>{C628A797-CFC1-453D-8ADA-2A4AA9C04759}</GUID>
  18089. <CAPTION></CAPTION>
  18090. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18091. <ENABLED>1</ENABLED>
  18092. <LEVEL>2</LEVEL>
  18093. <IDPARENT>0</IDPARENT>
  18094. <VALUE><![CDATA[@ForTextObject(20, "", "", "sp_dropextendedproc '%TextObjectName%'%cr%go%cr%", "", "")
  18095. ]]></VALUE>
  18096. <LANGUAGE>0</LANGUAGE>
  18097. <LANGUAGEWIN>---</LANGUAGEWIN>
  18098. <CATEGORY>2</CATEGORY>
  18099. <MAINSCRIPT>0</MAINSCRIPT>
  18100. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18101. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18102. <AUTHOR></AUTHOR>
  18103. <COMPANY></COMPANY>
  18104. <VERSION></VERSION>
  18105. <CREATED><DATE>10/15/2002</DATE><TIME>15:24:51</TIME></CREATED>
  18106. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18107. </TEMPLATE>
  18108. <TEMPLATE>
  18109. <NAME>TextObjectOwner</NAME>
  18110. <ID>47</ID>
  18111. <GUID>{8FFFD6C8-0E11-4C33-AB74-C3F63CCEE509}</GUID>
  18112. <CAPTION>TextObjectOwner</CAPTION>
  18113. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18114. <ENABLED>1</ENABLED>
  18115. <LEVEL>2</LEVEL>
  18116. <IDPARENT>0</IDPARENT>
  18117. <VALUE><![CDATA[function Main(name)
  18118. {
  18119.     ord = name.search( /\./ );
  18120.     if (ord != -1)
  18121.     {
  18122.         temp = "["+name.substr(0,ord)+"].";
  18123.         temp += "["+name.substr(ord+1)+"]";
  18124.     }
  18125.     else
  18126.         temp = "["+name+"]";
  18127.  
  18128.     return temp;
  18129. }
  18130. ]]></VALUE>
  18131. <LANGUAGE>1</LANGUAGE>
  18132. <LANGUAGEWIN>---</LANGUAGEWIN>
  18133. <CATEGORY>2</CATEGORY>
  18134. <MAINSCRIPT>0</MAINSCRIPT>
  18135. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18136. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18137. <AUTHOR></AUTHOR>
  18138. <COMPANY></COMPANY>
  18139. <VERSION></VERSION>
  18140. <CREATED><DATE>10/15/2002</DATE><TIME>16:06:19</TIME></CREATED>
  18141. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18142. </TEMPLATE>
  18143. <TEMPLATE>
  18144. <NAME>Ver_Main</NAME>
  18145. <ID>48</ID>
  18146. <GUID>{26BF5445-1677-47D0-925F-CA3C206A7E32}</GUID>
  18147. <CAPTION>Ver_Main</CAPTION>
  18148. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18149. <ENABLED>1</ENABLED>
  18150. <LEVEL>2</LEVEL>
  18151. <IDPARENT>0</IDPARENT>
  18152. <VALUE><![CDATA[function Main()
  18153. {
  18154. Variables.DefineVariable( 'lCheckSysObjName','', 1 );
  18155. Variables.lCheckSysObjName = true;
  18156.  
  18157. Variables.DefineVariable( 'lCheckSysIndName','', 1 );
  18158. Variables.lCheckSysIndName = true;
  18159.  
  18160. VerifyMain();
  18161. }
  18162.  
  18163. function VerifyMain()
  18164. {
  18165. Scripting.Ver_MSSQL_Dictionary.ReadVocabulary();
  18166. Scripting.Ver_Dictionary.ReadVocabulary();
  18167.  
  18168. Verify.Clear();
  18169.  
  18170. if (Verify.BasicVerification)
  18171.     {
  18172.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  18173.     Verify.Writeln( ' ' );
  18174.     Verify.VerifyBasic();
  18175.     };
  18176.  
  18177. if ( Variables.lCheckSysObjName )
  18178.     Scripting.Ver_MSSQL_Constraints.CheckSysObjectsName(false);
  18179.     
  18180. if ( Variables.lCheckSysIndName )
  18181.     Scripting.Ver_MSSQL_Constraints.CheckSysIndexesName(false);
  18182.  
  18183. Scripting.Ver_Summary.Main();
  18184. }
  18185. ]]></VALUE>
  18186. <LANGUAGE>1</LANGUAGE>
  18187. <LANGUAGEWIN>---</LANGUAGEWIN>
  18188. <CATEGORY>7</CATEGORY>
  18189. <MAINSCRIPT>0</MAINSCRIPT>
  18190. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18191. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18192. <AUTHOR></AUTHOR>
  18193. <COMPANY></COMPANY>
  18194. <VERSION></VERSION>
  18195. <CREATED><DATE>10/17/2002</DATE><TIME>16:39:02</TIME></CREATED>
  18196. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18197. </TEMPLATE>
  18198. <TEMPLATE>
  18199. <NAME>Ver_MSSQL_Constraints</NAME>
  18200. <ID>49</ID>
  18201. <GUID>{EE84D0A8-99B8-460D-8A97-4E70A1FC06E9}</GUID>
  18202. <CAPTION>Ver_MSSQL_Constraints</CAPTION>
  18203. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18204. <ENABLED>1</ENABLED>
  18205. <LEVEL>2</LEVEL>
  18206. <IDPARENT>0</IDPARENT>
  18207. <VALUE><![CDATA[function CheckSysObjectsName( lCaseSensitive )  //check sysobjects
  18208. {
  18209. var i,j;
  18210. var cName = '';
  18211. var NameList = DefineInterfaceList();
  18212. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  18213.     
  18214. Verify.Writeln( ' ' );
  18215. Verify.Writeln( '---------------------------------------------------' );
  18216. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_SO',0 ) );
  18217.  
  18218. for (i=0; i<Model.CountAttributes; i++)
  18219. {
  18220.     Attribute = Model.Attributes( i );
  18221.     cName = Attribute.CheckConstraint;
  18222.     if ( cName != '' )
  18223.     {
  18224.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  18225.         AddName( NameList, cName, lCaseSensitive, Attribute );
  18226.     }
  18227.  
  18228.     cName = Attribute.DefaultConstraint;
  18229.     if ( cName != '' )
  18230.     {
  18231.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  18232.         AddName( NameList, cName, lCaseSensitive, Attribute );
  18233.     }
  18234.  
  18235.     cName = Attribute.GetUserVariable('RuleObject');
  18236.     if (cName != '' )
  18237.     {
  18238.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  18239.         AddName( NameList, cName, lCaseSensitive, Attribute );
  18240.     }
  18241.     
  18242.     cName = Attribute.GetUserVariable('DefObject');
  18243.     if (cName != '' )
  18244.     {
  18245.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  18246.         AddName( NameList, cName, lCaseSensitive, Attribute );
  18247.     }
  18248. }
  18249.  
  18250. for (i=0; i<Model.CountEntities; i++)
  18251. {
  18252.     Entity = Model.Entities(i);
  18253.     cName = Entity.TableName;
  18254.     if ( cName != '' )
  18255.     {
  18256.         cName = Entity.GetUserVariable('Owner')+'.'+cName;
  18257.         AddName( NameList, cName, lCaseSensitive, Entity );
  18258.     }
  18259. }
  18260.  
  18261. for (i=0; i<Model.CountRelations; i++)
  18262. {
  18263.     Relation = Model.Relations(i);
  18264.     cName = Relation.FKConstraint;
  18265.     if ( cName != '' )
  18266.     {
  18267.         cName = Model.GetEntity( Relation.ChildEntityId ).GetUserVariable('Owner')+'.'+cName;
  18268.         AddName( NameList, cName, lCaseSensitive, Relation );
  18269.     }
  18270. }
  18271.  
  18272. VerifyName( NameList, 'E_NAME_DUPL' );
  18273.  
  18274. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  18275.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  18276. }
  18277.  
  18278. //======================================================================
  18279.  
  18280. function CheckSysIndexesName( lCaseSensitive ) //check sysindexes
  18281. {
  18282. var i,j;
  18283. var cName = '';
  18284. var NameList = DefineInterfaceList();
  18285. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  18286.     
  18287. Verify.Writeln( ' ' );
  18288. Verify.Writeln( '---------------------------------------------------' );
  18289. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_SI',0 ) );
  18290.  
  18291. for (i=0; i<Model.CountAttributes; i++)
  18292. {
  18293.     Attribute = Model.Attributes( i );
  18294.     cName = Attribute.UniqueConstraint;
  18295.     if ( cName != '' )
  18296.     {
  18297.         cName = Model.GetEntity( Attribute.EntityId ).TableName+'.'+cName;
  18298.         AddName( NameList, cName, lCaseSensitive, Attribute );
  18299.     }
  18300. }
  18301.  
  18302. for (i=0; i<Model.CountEntities; i++)
  18303. {
  18304.     Entity = Model.Entities( i );
  18305.     cName = Entity.PKConstraint;
  18306.     if ( cName != '' )
  18307.     {
  18308.         cName = Entity.TableName+'.'+cName;
  18309.         AddName( NameList, cName, lCaseSensitive, Entity );
  18310.     }
  18311. }
  18312.  
  18313. for (i=0; i<Model.CountAlterKeys; i++)
  18314. {
  18315.     AlterKey = Model.AlterKeys( i );
  18316.     cName = AlterKey.AlterKeyName;
  18317.     if ( cName != '' )
  18318.     {
  18319.         cName = Model.GetEntity( AlterKey.EntityId ).TableName+'.'+cName;
  18320.         AddName( NameList, cName, lCaseSensitive, AlterKey );
  18321.     }
  18322. }
  18323.  
  18324. for (i=0; i<Model.CountIndexes; i++)
  18325. {
  18326.     Index = Model.Indexes( i );
  18327.     cName = Index.Name;
  18328.     if ( cName != '' )
  18329.     {
  18330.         cName = Model.GetEntity( Index.EntityId ).TableName+'.'+cName;
  18331.         AddName( NameList, cName, lCaseSensitive, Index );
  18332.     }
  18333. }
  18334.  
  18335. VerifyName( NameList, 'E_NAME_DUPL' )
  18336.  
  18337. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  18338.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  18339. }
  18340.  
  18341. //======================================================================
  18342.     
  18343. function VerifyName( NameList, cErrMessage )
  18344. {
  18345. var cErrName = '';
  18346. var cName = '';
  18347.  
  18348. NameList.Sorted = true;
  18349.  
  18350. for (i=0; i<NameList.Count; i++)
  18351.     if (cName == NameList.GetInterfaceId( i ))
  18352.     {
  18353.         cName    = NameList.GetInterfaceId( i );
  18354.         por = cName.search( /\./ );
  18355.         cName_parse = cName;
  18356.         if (por != -1)
  18357.         {
  18358.             cName_parse = cName.substr(por+1);
  18359.         }
  18360.         if (cErrName != cName)
  18361.         {
  18362.             Verify.Writeln( '' );
  18363.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cName_parse ));
  18364.             AddError( NameList.GetInterface( i-1 ), NameList.GetInterfaceId( i-1 ) );
  18365.             cErrName = cName;
  18366.         };
  18367.  
  18368.         AddError( NameList.GetInterface( i ), NameList.GetInterfaceId( i ) );
  18369.     }
  18370.     else
  18371.         cName = NameList.GetInterfaceId( i );         
  18372. };
  18373.  
  18374. //======================================================================
  18375.  
  18376. function AddName( NameList, cName, lCaseSensitive, Object )
  18377. {    
  18378. switch ( Object.InterfaceName )
  18379. {
  18380.     case 'IAttribute':
  18381.         cName = cName.replace(/%colname%/gi, Object.ColName ); // replace %colname% macros
  18382.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName ); // replace %tablename% macros
  18383.         break;
  18384.         
  18385.     case 'IEntity':
  18386.         cName = cName.replace(/%tablename%/gi, Object.TableName );
  18387.         break;
  18388.  
  18389.     case 'IRelation':
  18390.         cName = cName.replace(/%parenttablename%/gi, Model.GetEntity( Object.ParentEntityId ).TableName );
  18391.         cName = cName.replace(/%childtablename%/gi, Model.GetEntity( Object.ChildEntityId ).TableName );
  18392.         cName = cName.replace(/%relname%/gi, Object.FKConstraint );
  18393.         break;
  18394.  
  18395.     case 'IAlterKey':
  18396.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  18397.         cName = cName.replace(/%AlterKeyConstraintName%/gi, Object.AlterKeyName );
  18398.         break;
  18399.             
  18400.     case 'IIndex':
  18401.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  18402.         cName = cName.replace(/%indexname%/gi, Object.Name );
  18403.         break;
  18404. }
  18405.  
  18406. if ( !lCaseSensitive )
  18407.     cName = cName.toUpperCase();
  18408.  
  18409. NameList.AddInterface( cName, Object );
  18410. };
  18411.  
  18412. //======================================================================
  18413.  
  18414. function AddError( Object, cName )
  18415. {
  18416.     por = cName.search( /\./ );
  18417.     if (por != -1)
  18418.     {
  18419.         cName = cName.substr(por+1);
  18420.     }
  18421.  
  18422. switch ( Object.InterfaceName )
  18423. {
  18424.     case 'IAttribute':  //CheckConstraint (sysobjects), DefaultConstraint (sysobjects), DefObject (sysobjects), RuleObject (sysobjects), UniqueConstraint (sysindexes)
  18425.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  18426.         break;
  18427.  
  18428.     case 'IEntity':  //PKConstraint (sysindexes), TableName (sysobjects)
  18429.         if (Object.PKConstraint==cName)
  18430.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT',0 ), Object.Name ) );
  18431.         else
  18432.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_TABLENAME_ENT',0 ), Object.Name ) );
  18433.         break;
  18434.  
  18435.     case 'IRelation': //FKConstraint (sysobjects)
  18436.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_REL_ENT',0 ), Object.Name, Model.GetEntity( Object.ParentEntityId ).Name, Model.GetEntity( Object.ChildEntityId ).Name ) );
  18437.         break;
  18438.             
  18439.     case 'IAlterKey':
  18440.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  18441.         break;
  18442.             
  18443.     case 'IIndex':
  18444.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_INDEX_ENT',0 ), Model.GetEntity( Object.EntityId ).Name ) );
  18445.         break;
  18446. }
  18447. };
  18448. ]]></VALUE>
  18449. <LANGUAGE>1</LANGUAGE>
  18450. <LANGUAGEWIN>---</LANGUAGEWIN>
  18451. <CATEGORY>7</CATEGORY>
  18452. <MAINSCRIPT>0</MAINSCRIPT>
  18453. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18454. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18455. <AUTHOR></AUTHOR>
  18456. <COMPANY></COMPANY>
  18457. <VERSION></VERSION>
  18458. <CREATED><DATE>10/17/2002</DATE><TIME>16:40:47</TIME></CREATED>
  18459. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18460. </TEMPLATE>
  18461. <TEMPLATE>
  18462. <NAME>Verification</NAME>
  18463. <ID>50</ID>
  18464. <GUID>{BB9A4DAB-936F-4030-8A9A-ED588BD31514}</GUID>
  18465. <CAPTION>Verifikace modelu</CAPTION>
  18466. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18467. <ENABLED>1</ENABLED>
  18468. <LEVEL>2</LEVEL>
  18469. <IDPARENT>0</IDPARENT>
  18470. <VALUE><![CDATA[function Main()
  18471. {
  18472. Translator.DefaultLng = 'csy';
  18473. ReadVocabulary();
  18474. Scripting.Ver_Main.VerifyMain();
  18475. }
  18476.  
  18477. //======================================================================
  18478.  
  18479. function DefineVariables()
  18480. {
  18481. Variables.DefineVariable( 'lCheckSysObjName',    'Verifikace stejn²ch nßzvu objekt∙ v tabulce sysobject',1 );
  18482. Variables.lCheckSysObjName = true;
  18483.  
  18484. Variables.DefineVariable( 'lCheckSysIndName',    'Verifikace stejn²ch nßzvu objekt∙ v tabulce sysindexes', 1 );
  18485. Variables.lCheckSysIndName = true;
  18486. };
  18487.  
  18488. //======================================================================
  18489.  
  18490. function ReadVocabulary()
  18491. {
  18492. };
  18493. ]]></VALUE>
  18494. <LANGUAGE>1</LANGUAGE>
  18495. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  18496. <CATEGORY>7</CATEGORY>
  18497. <MAINSCRIPT>1</MAINSCRIPT>
  18498. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18499. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18500. <AUTHOR></AUTHOR>
  18501. <COMPANY></COMPANY>
  18502. <VERSION></VERSION>
  18503. <CREATED><DATE>10/17/2002</DATE><TIME>16:41:59</TIME></CREATED>
  18504. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18505. </TEMPLATE>
  18506. <TEMPLATE>
  18507. <NAME>Ver_MSSQL_Dictionary</NAME>
  18508. <ID>51</ID>
  18509. <GUID>{CD04D6C6-6FAE-436B-B960-8ACDD40CCDD1}</GUID>
  18510. <CAPTION>Ver_MSSQL_Dictionary</CAPTION>
  18511. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18512. <ENABLED>1</ENABLED>
  18513. <LEVEL>2</LEVEL>
  18514. <IDPARENT>0</IDPARENT>
  18515. <VALUE><![CDATA[function ReadVocabulary()
  18516. {
  18517. // Chyby
  18518. Translator.Add( 'E_NAME_DUPL',                'Duplicita nßzvu \'%s\' v' );
  18519.  
  18520. Translator.Add( 'E_CN_ATTR_ENT',                '- nßzvu constraintu v atributu \'%s\' v entit∞ \'%s\'.' );
  18521. Translator.Add( 'E_PK_ENT',                    '- nßzvu primßrnφho klφΦe v entit∞ \'%s\'.' );
  18522. Translator.Add( 'E_TABLENAME_ENT',            '- nßzvu tabulky v entit∞ \'%s\'.' );
  18523. Translator.Add( 'E_CN_REL_ENT',                '- nßzvu constraintu v relaci \'%s\' mezi entitami \'%s\' a \'%s\'.' );
  18524. Translator.Add( 'E_ALTERKEY_ENT',            '- nßzvu alternativnφho klφΦe \'%s\' v entit∞ \'%s\'.' );
  18525. Translator.Add( 'E_INDEX_ENT',                '- nßzvu indexu v entit∞ \'%s\'.' );
  18526.  
  18527. // Ostatnφ
  18528. Translator.Add( 'V_CHECK_NAME_DUPL_SO',    'Kontrola stejn²ch nßzv∙ objekt∙ v tabulce sysobjects' );
  18529. Translator.Add( 'V_CHECK_NAME_DUPL_SI',    'Kontrola stejn²ch nßzv∙ objekt∙ v tabulce sysindexes' );
  18530. };
  18531. ]]></VALUE>
  18532. <LANGUAGE>1</LANGUAGE>
  18533. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  18534. <CATEGORY>7</CATEGORY>
  18535. <MAINSCRIPT>0</MAINSCRIPT>
  18536. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  18537. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  18538. <AUTHOR></AUTHOR>
  18539. <COMPANY></COMPANY>
  18540. <VERSION></VERSION>
  18541. <CREATED><DATE>10/17/2002</DATE><TIME>16:43:01</TIME></CREATED>
  18542. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  18543. </TEMPLATE>
  18544. </TEMPLATES>
  18545. <VARIABLES><![CDATA[lDomainSupp  1
  18546. lAtrCheckConstraintSupp 1
  18547. lAtrDefaultConstraintSupp 1
  18548. lAlterKeySupp 1
  18549. lProceduresSupp 1
  18550. lViewsSupp 1
  18551. lConstraintPkSupp 1
  18552. lConstraintFkSupp 1
  18553. lAtrUniqueConstraintSupp 1
  18554. lPermissUserToRoleSupp 1
  18555. lPermissUserToObjectSupp 1
  18556. lPermissRoleToObjectSupp 1
  18557. lRoleSupp 1
  18558. lDriParUpdRestrict 1
  18559. lDriParUpdCascade 1
  18560. lDriParUpdSetNull 0
  18561. lDriParUpdSetDefault 0
  18562. lDriParDelRestrict 1
  18563. lDriParDelCascade 1
  18564. lDriParDelSetNull 0
  18565. lDriParDelSetDefault 0
  18566. lDriChildInsRestrict 0
  18567. lDriChildUpdRestrict 0
  18568. lDriParUpdRestrictSupp 1
  18569. lDriParUpdCascadeSupp 1
  18570. lDriParUpdSetNullSupp 0
  18571. lDriParUpdSetDefaultSupp 0
  18572. lDriParDelRestrictSupp 1
  18573. lDriParDelCascadeSupp 1
  18574. lDriParDelSetNullSupp 0
  18575. lDriParDelSetDefaultSupp 0
  18576. lDriChildInsRestrictSupp 0
  18577. lDriChildUpdRestrictSupp 0
  18578. lIndexDescendSupp 0
  18579. lIndexItDescendSupp 1
  18580. lIndexUpperSupp 0
  18581. lIndexExprSupp 0
  18582. lIndexUniqueSupp 1
  18583. lIndexFilterSupp 0
  18584. lIndexStandSupp 1
  18585. lIndexClusterSupp 1
  18586. lIndexNameUnique 0
  18587. lPkSupp 1
  18588. lPkNotNull 1
  18589. lDRISupp 1
  18590. lTriggerSupp 1
  18591. lAtrUniqueSupp 1
  18592. lAtrNotNullSupp 1
  18593. lAtrCheckSupp 1
  18594. lAtrDefaultSupp 1
  18595. lDomainSupp  1
  18596. lAtrCheckConstraintSupp 1
  18597. lAtrDefaultConstraintSupp 1
  18598. lAlterKeySupp 1
  18599. lProceduresSupp 1
  18600. lViewsSupp 1
  18601. lConstraintPkSupp 1
  18602. lConstraintFkSupp 1
  18603. lAtrUniqueConstraintSupp 1
  18604. lPermissUserToRoleSupp 1
  18605. lPermissUserToObjectSupp 1
  18606. lPermissRoleToObjectSupp 1
  18607. lRoleSupp 1
  18608. ]]></VARIABLES>
  18609. <USEREDITS>
  18610. <USEREDIT>
  18611. <NAME>IndexFillFactor</NAME>
  18612. <ID>1</ID>
  18613. <GUID>{117B5935-0FC9-498E-A971-8AEF4DCEDBA9}</GUID>
  18614. <CAPTION>Fill Factor</CAPTION>
  18615. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18616. <TYPE>0</TYPE>
  18617. <LEVEL>4</LEVEL>
  18618. <DEFAULT></DEFAULT>
  18619. <ORD>10</ORD>
  18620. <LENGTH>0</LENGTH>
  18621. <ENABLED>1</ENABLED>
  18622. <ITEMS></ITEMS>
  18623. </USEREDIT>
  18624. <USEREDIT>
  18625. <NAME>lIndexPadIndex</NAME>
  18626. <ID>2</ID>
  18627. <GUID>{A8583B33-420F-4868-8248-97D5DFEBB0CB}</GUID>
  18628. <CAPTION>Pad Index</CAPTION>
  18629. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18630. <TYPE>1</TYPE>
  18631. <LEVEL>4</LEVEL>
  18632. <DEFAULT>0</DEFAULT>
  18633. <ORD>20</ORD>
  18634. <LENGTH>0</LENGTH>
  18635. <ENABLED>1</ENABLED>
  18636. <ITEMS></ITEMS>
  18637. </USEREDIT>
  18638. <USEREDIT>
  18639. <NAME>UniqueFillFactor</NAME>
  18640. <ID>3</ID>
  18641. <GUID>{474596F8-FCA0-4DE9-AEA5-9BFFCFF4FB4E}</GUID>
  18642. <CAPTION>Unique Fill factor</CAPTION>
  18643. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18644. <TYPE>0</TYPE>
  18645. <LEVEL>3</LEVEL>
  18646. <DEFAULT></DEFAULT>
  18647. <ORD>10</ORD>
  18648. <LENGTH>0</LENGTH>
  18649. <ENABLED>1</ENABLED>
  18650. <ITEMS></ITEMS>
  18651. </USEREDIT>
  18652. <USEREDIT>
  18653. <NAME>Identity</NAME>
  18654. <ID>4</ID>
  18655. <GUID>{9069E66B-74FC-4E3A-96EE-47E885CB4FDB}</GUID>
  18656. <CAPTION>Identity</CAPTION>
  18657. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18658. <TYPE>1</TYPE>
  18659. <LEVEL>3</LEVEL>
  18660. <DEFAULT></DEFAULT>
  18661. <ORD>4</ORD>
  18662. <LENGTH>0</LENGTH>
  18663. <ENABLED>1</ENABLED>
  18664. <ITEMS></ITEMS>
  18665. </USEREDIT>
  18666. <USEREDIT>
  18667. <NAME>IdentitySeed</NAME>
  18668. <ID>5</ID>
  18669. <GUID>{9D2E10A7-9645-4A9E-87B8-110A41576A6C}</GUID>
  18670. <CAPTION>Identity Seed</CAPTION>
  18671. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18672. <TYPE>0</TYPE>
  18673. <LEVEL>3</LEVEL>
  18674. <DEFAULT></DEFAULT>
  18675. <ORD>5</ORD>
  18676. <LENGTH>0</LENGTH>
  18677. <ENABLED>1</ENABLED>
  18678. <ITEMS></ITEMS>
  18679. </USEREDIT>
  18680. <USEREDIT>
  18681. <NAME>IdentityIncrement</NAME>
  18682. <ID>6</ID>
  18683. <GUID>{8A00EB36-01FD-4E0F-BF26-BA430B154186}</GUID>
  18684. <CAPTION>Identity Increment</CAPTION>
  18685. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18686. <TYPE>0</TYPE>
  18687. <LEVEL>3</LEVEL>
  18688. <DEFAULT></DEFAULT>
  18689. <ORD>6</ORD>
  18690. <LENGTH>0</LENGTH>
  18691. <ENABLED>1</ENABLED>
  18692. <ITEMS></ITEMS>
  18693. </USEREDIT>
  18694. <USEREDIT>
  18695. <NAME>Owner</NAME>
  18696. <ID>7</ID>
  18697. <GUID>{FD825AEA-8D18-488E-956C-DC91E8813E6B}</GUID>
  18698. <CAPTION>Owner</CAPTION>
  18699. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18700. <TYPE>0</TYPE>
  18701. <LEVEL>2</LEVEL>
  18702. <DEFAULT></DEFAULT>
  18703. <ORD>5</ORD>
  18704. <LENGTH>0</LENGTH>
  18705. <ENABLED>1</ENABLED>
  18706. <ITEMS></ITEMS>
  18707. </USEREDIT>
  18708. <USEREDIT>
  18709. <NAME>lGenerOwner</NAME>
  18710. <ID>8</ID>
  18711. <GUID>{98A15BC6-2FC3-498A-BCE9-0C2E8A274437}</GUID>
  18712. <CAPTION>Generate owner in tablenames</CAPTION>
  18713. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18714. <TYPE>1</TYPE>
  18715. <LEVEL>1</LEVEL>
  18716. <DEFAULT>1</DEFAULT>
  18717. <ORD>0</ORD>
  18718. <LENGTH>0</LENGTH>
  18719. <ENABLED>1</ENABLED>
  18720. <ITEMS></ITEMS>
  18721. </USEREDIT>
  18722. <USEREDIT>
  18723. <NAME>lNullType</NAME>
  18724. <ID>9</ID>
  18725. <GUID>{65E4441B-C29F-44B3-8CAE-FD1077FA60FF}</GUID>
  18726. <CAPTION>Null type 'NULL'</CAPTION>
  18727. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18728. <TYPE>1</TYPE>
  18729. <LEVEL>6</LEVEL>
  18730. <DEFAULT></DEFAULT>
  18731. <ORD>2</ORD>
  18732. <LENGTH>0</LENGTH>
  18733. <ENABLED>1</ENABLED>
  18734. <ITEMS></ITEMS>
  18735. </USEREDIT>
  18736. <USEREDIT>
  18737. <NAME>UTypeOwner</NAME>
  18738. <ID>10</ID>
  18739. <GUID>{EA24D51C-67A7-4EE4-A3B3-39C3D754EA15}</GUID>
  18740. <CAPTION>Owner</CAPTION>
  18741. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18742. <TYPE>0</TYPE>
  18743. <LEVEL>6</LEVEL>
  18744. <DEFAULT></DEFAULT>
  18745. <ORD>1</ORD>
  18746. <LENGTH>0</LENGTH>
  18747. <ENABLED>1</ENABLED>
  18748. <ITEMS></ITEMS>
  18749. </USEREDIT>
  18750. <USEREDIT>
  18751. <NAME>UTypeDefObject</NAME>
  18752. <ID>11</ID>
  18753. <GUID>{90418703-4DFA-4064-8A83-897456BE12CC}</GUID>
  18754. <CAPTION>Default object</CAPTION>
  18755. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18756. <TYPE>0</TYPE>
  18757. <LEVEL>6</LEVEL>
  18758. <DEFAULT></DEFAULT>
  18759. <ORD>3</ORD>
  18760. <LENGTH>0</LENGTH>
  18761. <ENABLED>1</ENABLED>
  18762. <ITEMS></ITEMS>
  18763. </USEREDIT>
  18764. <USEREDIT>
  18765. <NAME>UTypeRuleObject</NAME>
  18766. <ID>12</ID>
  18767. <GUID>{CDF8495F-35EE-46E5-B286-A359042020C5}</GUID>
  18768. <CAPTION>Rule object</CAPTION>
  18769. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18770. <TYPE>0</TYPE>
  18771. <LEVEL>6</LEVEL>
  18772. <DEFAULT></DEFAULT>
  18773. <ORD>4</ORD>
  18774. <LENGTH>0</LENGTH>
  18775. <ENABLED>1</ENABLED>
  18776. <ITEMS></ITEMS>
  18777. </USEREDIT>
  18778. <USEREDIT>
  18779. <NAME>DefObject</NAME>
  18780. <ID>13</ID>
  18781. <GUID>{F38F0EFA-F52D-4D4B-97F1-928FEFC1F05F}</GUID>
  18782. <CAPTION>Default object</CAPTION>
  18783. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18784. <TYPE>0</TYPE>
  18785. <LEVEL>3</LEVEL>
  18786. <DEFAULT></DEFAULT>
  18787. <ORD>1</ORD>
  18788. <LENGTH>0</LENGTH>
  18789. <ENABLED>1</ENABLED>
  18790. <ITEMS></ITEMS>
  18791. </USEREDIT>
  18792. <USEREDIT>
  18793. <NAME>RuleObject</NAME>
  18794. <ID>14</ID>
  18795. <GUID>{93AAF55F-22ED-43A3-A5B5-8A981B3A5CF2}</GUID>
  18796. <CAPTION>Rule object</CAPTION>
  18797. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18798. <TYPE>0</TYPE>
  18799. <LEVEL>3</LEVEL>
  18800. <DEFAULT></DEFAULT>
  18801. <ORD>2</ORD>
  18802. <LENGTH>0</LENGTH>
  18803. <ENABLED>1</ENABLED>
  18804. <ITEMS></ITEMS>
  18805. </USEREDIT>
  18806. <USEREDIT>
  18807. <NAME>lPkNonClustered</NAME>
  18808. <ID>15</ID>
  18809. <GUID>{08E24444-A94A-4AC0-B5FD-609633AEF164}</GUID>
  18810. <CAPTION>Non clustered primary key</CAPTION>
  18811. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18812. <TYPE>1</TYPE>
  18813. <LEVEL>2</LEVEL>
  18814. <DEFAULT></DEFAULT>
  18815. <ORD>0</ORD>
  18816. <LENGTH>0</LENGTH>
  18817. <ENABLED>1</ENABLED>
  18818. <ITEMS></ITEMS>
  18819. </USEREDIT>
  18820. <USEREDIT>
  18821. <NAME>lRowGuidCol</NAME>
  18822. <ID>16</ID>
  18823. <GUID>{9088BA8A-54C3-4E58-9D5C-590AB184DE58}</GUID>
  18824. <CAPTION>RowGuidCol</CAPTION>
  18825. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18826. <TYPE>1</TYPE>
  18827. <LEVEL>3</LEVEL>
  18828. <DEFAULT></DEFAULT>
  18829. <ORD>8</ORD>
  18830. <LENGTH>0</LENGTH>
  18831. <ENABLED>1</ENABLED>
  18832. <ITEMS></ITEMS>
  18833. </USEREDIT>
  18834. <USEREDIT>
  18835. <NAME>PkFillFactor</NAME>
  18836. <ID>17</ID>
  18837. <GUID>{665A4FF0-7872-496B-8021-D9F399E8C5C2}</GUID>
  18838. <CAPTION>Primary key fill factor</CAPTION>
  18839. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18840. <TYPE>0</TYPE>
  18841. <LEVEL>2</LEVEL>
  18842. <DEFAULT></DEFAULT>
  18843. <ORD>3</ORD>
  18844. <LENGTH>0</LENGTH>
  18845. <ENABLED>1</ENABLED>
  18846. <ITEMS></ITEMS>
  18847. </USEREDIT>
  18848. <USEREDIT>
  18849. <NAME>lUniqueClustered</NAME>
  18850. <ID>18</ID>
  18851. <GUID>{E98C0E6A-2B67-4B61-9097-FDB020D9B764}</GUID>
  18852. <CAPTION>Clustered unique</CAPTION>
  18853. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18854. <TYPE>1</TYPE>
  18855. <LEVEL>3</LEVEL>
  18856. <DEFAULT>0</DEFAULT>
  18857. <ORD>9</ORD>
  18858. <LENGTH>0</LENGTH>
  18859. <ENABLED>1</ENABLED>
  18860. <ITEMS></ITEMS>
  18861. </USEREDIT>
  18862. <USEREDIT>
  18863. <NAME>lGenerDescription</NAME>
  18864. <ID>19</ID>
  18865. <GUID>{D0753BCD-0CBF-49AD-AD3F-E02CB46DF053}</GUID>
  18866. <CAPTION>Generate description on columns and tables</CAPTION>
  18867. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18868. <TYPE>1</TYPE>
  18869. <LEVEL>1</LEVEL>
  18870. <DEFAULT>0</DEFAULT>
  18871. <ORD>5</ORD>
  18872. <LENGTH>0</LENGTH>
  18873. <ENABLED>1</ENABLED>
  18874. <ITEMS></ITEMS>
  18875. </USEREDIT>
  18876. <USEREDIT>
  18877. <NAME>lNotForReplicationId</NAME>
  18878. <ID>20</ID>
  18879. <GUID>{70C51C4F-F606-447B-B3DC-FE86A6F24774}</GUID>
  18880. <CAPTION>Not for replication (Identity)</CAPTION>
  18881. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18882. <TYPE>1</TYPE>
  18883. <LEVEL>3</LEVEL>
  18884. <DEFAULT>0</DEFAULT>
  18885. <ORD>7</ORD>
  18886. <LENGTH>0</LENGTH>
  18887. <ENABLED>1</ENABLED>
  18888. <ITEMS></ITEMS>
  18889. </USEREDIT>
  18890. <USEREDIT>
  18891. <NAME>lNotForReplicationCh</NAME>
  18892. <ID>21</ID>
  18893. <GUID>{809893D7-58AE-45FF-B2C9-C0D81A77211E}</GUID>
  18894. <CAPTION>Not for replication (Check)</CAPTION>
  18895. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18896. <TYPE>1</TYPE>
  18897. <LEVEL>3</LEVEL>
  18898. <DEFAULT>0</DEFAULT>
  18899. <ORD>20</ORD>
  18900. <LENGTH>0</LENGTH>
  18901. <ENABLED>1</ENABLED>
  18902. <ITEMS></ITEMS>
  18903. </USEREDIT>
  18904. <USEREDIT>
  18905. <NAME>lNotForReplicationFk</NAME>
  18906. <ID>22</ID>
  18907. <GUID>{DB6206A2-3BB2-4C7F-8862-6015D98A0D62}</GUID>
  18908. <CAPTION>Not for replication</CAPTION>
  18909. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18910. <TYPE>1</TYPE>
  18911. <LEVEL>5</LEVEL>
  18912. <DEFAULT>0</DEFAULT>
  18913. <ORD>10</ORD>
  18914. <LENGTH>0</LENGTH>
  18915. <ENABLED>1</ENABLED>
  18916. <ITEMS></ITEMS>
  18917. </USEREDIT>
  18918. <USEREDIT>
  18919. <NAME>lUniqueClustered</NAME>
  18920. <ID>23</ID>
  18921. <GUID>{5AC0D595-50AC-48E4-8754-A7A054741F77}</GUID>
  18922. <CAPTION>Clustered Alternate key</CAPTION>
  18923. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18924. <TYPE>1</TYPE>
  18925. <LEVEL>7</LEVEL>
  18926. <DEFAULT>0</DEFAULT>
  18927. <ORD>9</ORD>
  18928. <LENGTH>0</LENGTH>
  18929. <ENABLED>1</ENABLED>
  18930. <ITEMS></ITEMS>
  18931. </USEREDIT>
  18932. <USEREDIT>
  18933. <NAME>UniqueFillFactor</NAME>
  18934. <ID>24</ID>
  18935. <GUID>{2BE1CB49-FDC8-4E2F-A5B6-AF92C2F4D29A}</GUID>
  18936. <CAPTION>Alternate key Fill factor</CAPTION>
  18937. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18938. <TYPE>0</TYPE>
  18939. <LEVEL>7</LEVEL>
  18940. <DEFAULT></DEFAULT>
  18941. <ORD>10</ORD>
  18942. <LENGTH>0</LENGTH>
  18943. <ENABLED>1</ENABLED>
  18944. <ITEMS></ITEMS>
  18945. </USEREDIT>
  18946. <USEREDIT>
  18947. <NAME>lFunctionsGener</NAME>
  18948. <ID>25</ID>
  18949. <GUID>{0D66991E-A8FB-4A5E-93FA-E77AC10049D0}</GUID>
  18950. <CAPTION>Generate Functions</CAPTION>
  18951. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18952. <TYPE>1</TYPE>
  18953. <LEVEL>1</LEVEL>
  18954. <DEFAULT>1</DEFAULT>
  18955. <ORD>20</ORD>
  18956. <LENGTH>0</LENGTH>
  18957. <ENABLED>1</ENABLED>
  18958. <ITEMS></ITEMS>
  18959. </USEREDIT>
  18960. <USEREDIT>
  18961. <NAME>lDropFunctionsGener</NAME>
  18962. <ID>26</ID>
  18963. <GUID>{68C79088-C0CF-4E09-BBA9-AEB0E118BB12}</GUID>
  18964. <CAPTION>Drop Functions</CAPTION>
  18965. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18966. <TYPE>1</TYPE>
  18967. <LEVEL>1</LEVEL>
  18968. <DEFAULT>1</DEFAULT>
  18969. <ORD>120</ORD>
  18970. <LENGTH>0</LENGTH>
  18971. <ENABLED>1</ENABLED>
  18972. <ITEMS></ITEMS>
  18973. </USEREDIT>
  18974. <USEREDIT>
  18975. <NAME>lExtendedProceduresGener</NAME>
  18976. <ID>27</ID>
  18977. <GUID>{EE385249-D4A3-43C5-8DCF-D46A17D2D375}</GUID>
  18978. <CAPTION>Generate Extended stored procedures</CAPTION>
  18979. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18980. <TYPE>1</TYPE>
  18981. <LEVEL>1</LEVEL>
  18982. <DEFAULT>1</DEFAULT>
  18983. <ORD>30</ORD>
  18984. <LENGTH>0</LENGTH>
  18985. <ENABLED>1</ENABLED>
  18986. <ITEMS></ITEMS>
  18987. </USEREDIT>
  18988. <USEREDIT>
  18989. <NAME>lDropExtendedProceduresGener</NAME>
  18990. <ID>28</ID>
  18991. <GUID>{E75E24BE-8BC3-49D4-9CCB-A872BA571ED8}</GUID>
  18992. <CAPTION>Drop Extended stored procedures</CAPTION>
  18993. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  18994. <TYPE>1</TYPE>
  18995. <LEVEL>1</LEVEL>
  18996. <DEFAULT>1</DEFAULT>
  18997. <ORD>130</ORD>
  18998. <LENGTH>0</LENGTH>
  18999. <ENABLED>1</ENABLED>
  19000. <ITEMS></ITEMS>
  19001. </USEREDIT>
  19002. </USEREDITS>
  19003. <TYPELIST>
  19004. <TYPE>
  19005. <NAME>Char</NAME>
  19006. <ID>10</ID>
  19007. <GUID>{E76E6E8B-6003-4D44-B35E-6ABCB212B62C}</GUID>
  19008. <PHNAME>Char</PHNAME>
  19009. <LLENGTH>1</LLENGTH>
  19010. <LDECIMAL>0</LDECIMAL>
  19011. <MAXLENGTH>35000</MAXLENGTH>
  19012. <MINLENGTH>1</MINLENGTH>
  19013. <MAXDECIMAL>0</MAXDECIMAL>
  19014. <MINDECIMAL>0</MINDECIMAL>
  19015. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19016. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19017. <TRANSFORMCODE>A</TRANSFORMCODE>
  19018. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  19019. <EXPORTTO>0</EXPORTTO>
  19020. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19021. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19022. </TYPE>
  19023. <TYPE>
  19024. <NAME>NChar</NAME>
  19025. <ID>15</ID>
  19026. <GUID>{D2846A26-2446-414F-B7DF-11616FEE8C74}</GUID>
  19027. <PHNAME>Nchar</PHNAME>
  19028. <LLENGTH>1</LLENGTH>
  19029. <LDECIMAL>0</LDECIMAL>
  19030. <MAXLENGTH>35000</MAXLENGTH>
  19031. <MINLENGTH>1</MINLENGTH>
  19032. <MAXDECIMAL>0</MAXDECIMAL>
  19033. <MINDECIMAL>0</MINDECIMAL>
  19034. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19035. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19036. <TRANSFORMCODE>NA</TRANSFORMCODE>
  19037. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  19038. <EXPORTTO>0</EXPORTTO>
  19039. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19040. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19041. </TYPE>
  19042. <TYPE>
  19043. <NAME>VarChar</NAME>
  19044. <ID>20</ID>
  19045. <GUID>{EC816625-452B-4286-AF15-C96895C5D031}</GUID>
  19046. <PHNAME>Varchar</PHNAME>
  19047. <LLENGTH>1</LLENGTH>
  19048. <LDECIMAL>0</LDECIMAL>
  19049. <MAXLENGTH>35000</MAXLENGTH>
  19050. <MINLENGTH>1</MINLENGTH>
  19051. <MAXDECIMAL>0</MAXDECIMAL>
  19052. <MINDECIMAL>0</MINDECIMAL>
  19053. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19054. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19055. <TRANSFORMCODE>VA</TRANSFORMCODE>
  19056. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  19057. <EXPORTTO>0</EXPORTTO>
  19058. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19059. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19060. </TYPE>
  19061. <TYPE>
  19062. <NAME>NVarChar</NAME>
  19063. <ID>25</ID>
  19064. <GUID>{AE603E0C-AE3B-4A41-A011-C5E0FC171DBC}</GUID>
  19065. <PHNAME>Nvarchar</PHNAME>
  19066. <LLENGTH>1</LLENGTH>
  19067. <LDECIMAL>0</LDECIMAL>
  19068. <MAXLENGTH>35000</MAXLENGTH>
  19069. <MINLENGTH>4</MINLENGTH>
  19070. <MAXDECIMAL>0</MAXDECIMAL>
  19071. <MINDECIMAL>0</MINDECIMAL>
  19072. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19073. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19074. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  19075. <TRANSFORMTO>NVA;LVA;NA;A;LA;</TRANSFORMTO>
  19076. <EXPORTTO>0</EXPORTTO>
  19077. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19078. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19079. </TYPE>
  19080. <TYPE>
  19081. <NAME>Integer</NAME>
  19082. <ID>30</ID>
  19083. <GUID>{FDAC4C0E-4508-45D2-9584-871722CE0940}</GUID>
  19084. <PHNAME>Integer</PHNAME>
  19085. <LLENGTH>0</LLENGTH>
  19086. <LDECIMAL>0</LDECIMAL>
  19087. <MAXLENGTH>0</MAXLENGTH>
  19088. <MINLENGTH>0</MINLENGTH>
  19089. <MAXDECIMAL>0</MAXDECIMAL>
  19090. <MINDECIMAL>0</MINDECIMAL>
  19091. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19092. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19093. <TRANSFORMCODE>I</TRANSFORMCODE>
  19094. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  19095. <EXPORTTO>0</EXPORTTO>
  19096. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19097. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19098. </TYPE>
  19099. <TYPE>
  19100. <NAME>SmallInt</NAME>
  19101. <ID>40</ID>
  19102. <GUID>{3EC9CE17-C3CD-4865-949B-F841767F12C2}</GUID>
  19103. <PHNAME>Smallint</PHNAME>
  19104. <LLENGTH>0</LLENGTH>
  19105. <LDECIMAL>0</LDECIMAL>
  19106. <MAXLENGTH>0</MAXLENGTH>
  19107. <MINLENGTH>0</MINLENGTH>
  19108. <MAXDECIMAL>0</MAXDECIMAL>
  19109. <MINDECIMAL>0</MINDECIMAL>
  19110. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19111. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19112. <TRANSFORMCODE>SI</TRANSFORMCODE>
  19113. <TRANSFORMTO>SI;TO;I;LI;N,3,0;</TRANSFORMTO>
  19114. <EXPORTTO>0</EXPORTTO>
  19115. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19116. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19117. </TYPE>
  19118. <TYPE>
  19119. <NAME>TinyInt</NAME>
  19120. <ID>45</ID>
  19121. <GUID>{0899FA2F-36D1-472F-93A0-C464F9573237}</GUID>
  19122. <PHNAME>Tinyint</PHNAME>
  19123. <LLENGTH>0</LLENGTH>
  19124. <LDECIMAL>0</LDECIMAL>
  19125. <MAXLENGTH>0</MAXLENGTH>
  19126. <MINLENGTH>0</MINLENGTH>
  19127. <MAXDECIMAL>0</MAXDECIMAL>
  19128. <MINDECIMAL>0</MINDECIMAL>
  19129. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19130. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19131. <TRANSFORMCODE>TI</TRANSFORMCODE>
  19132. <TRANSFORMTO>TI;I;LI;N,3,0;</TRANSFORMTO>
  19133. <EXPORTTO>0</EXPORTTO>
  19134. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19135. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19136. </TYPE>
  19137. <TYPE>
  19138. <NAME>BigInt</NAME>
  19139. <ID>47</ID>
  19140. <GUID>{2CF4AB84-4E75-44D2-93BF-B4451903606E}</GUID>
  19141. <PHNAME>Bigint</PHNAME>
  19142. <LLENGTH>0</LLENGTH>
  19143. <LDECIMAL>0</LDECIMAL>
  19144. <MAXLENGTH>0</MAXLENGTH>
  19145. <MINLENGTH>0</MINLENGTH>
  19146. <MAXDECIMAL>0</MAXDECIMAL>
  19147. <MINDECIMAL>0</MINDECIMAL>
  19148. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19149. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19150. <TRANSFORMCODE>BI</TRANSFORMCODE>
  19151. <TRANSFORMTO>BI;LF;F;I;</TRANSFORMTO>
  19152. <EXPORTTO>0</EXPORTTO>
  19153. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19154. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19155. </TYPE>
  19156. <TYPE>
  19157. <NAME>Float</NAME>
  19158. <ID>50</ID>
  19159. <GUID>{2CDBAAF3-9F00-412F-8741-B011753077EC}</GUID>
  19160. <PHNAME>Float</PHNAME>
  19161. <LLENGTH>0</LLENGTH>
  19162. <LDECIMAL>0</LDECIMAL>
  19163. <MAXLENGTH>0</MAXLENGTH>
  19164. <MINLENGTH>0</MINLENGTH>
  19165. <MAXDECIMAL>0</MAXDECIMAL>
  19166. <MINDECIMAL>0</MINDECIMAL>
  19167. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19168. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19169. <TRANSFORMCODE>F</TRANSFORMCODE>
  19170. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  19171. <EXPORTTO>0</EXPORTTO>
  19172. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19173. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19174. </TYPE>
  19175. <TYPE>
  19176. <NAME>Real</NAME>
  19177. <ID>60</ID>
  19178. <GUID>{3C1F62B8-9E36-4AD0-A18F-0D0FF3479BE3}</GUID>
  19179. <PHNAME>Real</PHNAME>
  19180. <LLENGTH>0</LLENGTH>
  19181. <LDECIMAL>0</LDECIMAL>
  19182. <MAXLENGTH>0</MAXLENGTH>
  19183. <MINLENGTH>0</MINLENGTH>
  19184. <MAXDECIMAL>0</MAXDECIMAL>
  19185. <MINDECIMAL>0</MINDECIMAL>
  19186. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19187. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19188. <TRANSFORMCODE>R</TRANSFORMCODE>
  19189. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  19190. <EXPORTTO>0</EXPORTTO>
  19191. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19192. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19193. </TYPE>
  19194. <TYPE>
  19195. <NAME>Money</NAME>
  19196. <ID>70</ID>
  19197. <GUID>{56057836-2174-48C1-BF94-22AC1C519291}</GUID>
  19198. <PHNAME>Money</PHNAME>
  19199. <LLENGTH>0</LLENGTH>
  19200. <LDECIMAL>0</LDECIMAL>
  19201. <MAXLENGTH>0</MAXLENGTH>
  19202. <MINLENGTH>0</MINLENGTH>
  19203. <MAXDECIMAL>0</MAXDECIMAL>
  19204. <MINDECIMAL>0</MINDECIMAL>
  19205. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19206. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19207. <TRANSFORMCODE>MN</TRANSFORMCODE>
  19208. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  19209. <EXPORTTO>0</EXPORTTO>
  19210. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19211. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19212. </TYPE>
  19213. <TYPE>
  19214. <NAME>SmallMoney</NAME>
  19215. <ID>80</ID>
  19216. <GUID>{69A9D40F-EF0A-46C4-923E-A277E467D47A}</GUID>
  19217. <PHNAME>Smallmoney</PHNAME>
  19218. <LLENGTH>0</LLENGTH>
  19219. <LDECIMAL>0</LDECIMAL>
  19220. <MAXLENGTH>0</MAXLENGTH>
  19221. <MINLENGTH>0</MINLENGTH>
  19222. <MAXDECIMAL>0</MAXDECIMAL>
  19223. <MINDECIMAL>0</MINDECIMAL>
  19224. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19225. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19226. <TRANSFORMCODE>SMN</TRANSFORMCODE>
  19227. <TRANSFORMTO>SMN;MN;F;N,10,2;</TRANSFORMTO>
  19228. <EXPORTTO>0</EXPORTTO>
  19229. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19230. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19231. </TYPE>
  19232. <TYPE>
  19233. <NAME>Numeric</NAME>
  19234. <ID>90</ID>
  19235. <GUID>{F68C0B44-1EA5-44E6-8D63-22C325F8D1A0}</GUID>
  19236. <PHNAME>Numeric</PHNAME>
  19237. <LLENGTH>1</LLENGTH>
  19238. <LDECIMAL>1</LDECIMAL>
  19239. <MAXLENGTH>38</MAXLENGTH>
  19240. <MINLENGTH>1</MINLENGTH>
  19241. <MAXDECIMAL>38</MAXDECIMAL>
  19242. <MINDECIMAL>0</MINDECIMAL>
  19243. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  19244. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19245. <TRANSFORMCODE>N</TRANSFORMCODE>
  19246. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  19247. <EXPORTTO>0</EXPORTTO>
  19248. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19249. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19250. </TYPE>
  19251. <TYPE>
  19252. <NAME>Decimal</NAME>
  19253. <ID>100</ID>
  19254. <GUID>{4F684D91-2B72-4AF3-AF12-628AFD824B5B}</GUID>
  19255. <PHNAME>Decimal</PHNAME>
  19256. <LLENGTH>1</LLENGTH>
  19257. <LDECIMAL>1</LDECIMAL>
  19258. <MAXLENGTH>38</MAXLENGTH>
  19259. <MINLENGTH>1</MINLENGTH>
  19260. <MAXDECIMAL>38</MAXDECIMAL>
  19261. <MINDECIMAL>0</MINDECIMAL>
  19262. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  19263. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19264. <TRANSFORMCODE>DC</TRANSFORMCODE>
  19265. <TRANSFORMTO>DC;N;F;</TRANSFORMTO>
  19266. <EXPORTTO>0</EXPORTTO>
  19267. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19268. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19269. </TYPE>
  19270. <TYPE>
  19271. <NAME>Text</NAME>
  19272. <ID>110</ID>
  19273. <GUID>{1048FF55-7FB3-4BA1-AED6-15A28B52E031}</GUID>
  19274. <PHNAME>Text</PHNAME>
  19275. <LLENGTH>0</LLENGTH>
  19276. <LDECIMAL>0</LDECIMAL>
  19277. <MAXLENGTH>0</MAXLENGTH>
  19278. <MINLENGTH>0</MINLENGTH>
  19279. <MAXDECIMAL>0</MAXDECIMAL>
  19280. <MINDECIMAL>0</MINDECIMAL>
  19281. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19282. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19283. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  19284. <TRANSFORMTO>TXT;CLOB;BIN;LBIN;BLOB;</TRANSFORMTO>
  19285. <EXPORTTO>0</EXPORTTO>
  19286. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19287. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19288. </TYPE>
  19289. <TYPE>
  19290. <NAME>NText</NAME>
  19291. <ID>115</ID>
  19292. <GUID>{67D05DB2-3435-4A2F-948C-F711141C9D25}</GUID>
  19293. <PHNAME>Ntext</PHNAME>
  19294. <LLENGTH>0</LLENGTH>
  19295. <LDECIMAL>0</LDECIMAL>
  19296. <MAXLENGTH>0</MAXLENGTH>
  19297. <MINLENGTH>0</MINLENGTH>
  19298. <MAXDECIMAL>0</MAXDECIMAL>
  19299. <MINDECIMAL>0</MINDECIMAL>
  19300. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19301. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19302. <TRANSFORMCODE>NTXT</TRANSFORMCODE>
  19303. <TRANSFORMTO>NTXT;TXT;CLOB;BIN;LBIN;BLOB;</TRANSFORMTO>
  19304. <EXPORTTO>0</EXPORTTO>
  19305. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19306. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19307. </TYPE>
  19308. <TYPE>
  19309. <NAME>Image</NAME>
  19310. <ID>120</ID>
  19311. <GUID>{A279054B-4882-43C5-8672-7D0925526A20}</GUID>
  19312. <PHNAME>Image</PHNAME>
  19313. <LLENGTH>0</LLENGTH>
  19314. <LDECIMAL>0</LDECIMAL>
  19315. <MAXLENGTH>0</MAXLENGTH>
  19316. <MINLENGTH>0</MINLENGTH>
  19317. <MAXDECIMAL>0</MAXDECIMAL>
  19318. <MINDECIMAL>0</MINDECIMAL>
  19319. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19320. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19321. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  19322. <TRANSFORMTO>PIC;LBIN;BIN;BLOB;</TRANSFORMTO>
  19323. <EXPORTTO>0</EXPORTTO>
  19324. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19325. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19326. </TYPE>
  19327. <TYPE>
  19328. <NAME>Binary</NAME>
  19329. <ID>130</ID>
  19330. <GUID>{4090453C-6ADC-4CE6-A031-F9B7ADEAFEF6}</GUID>
  19331. <PHNAME>Binary</PHNAME>
  19332. <LLENGTH>1</LLENGTH>
  19333. <LDECIMAL>0</LDECIMAL>
  19334. <MAXLENGTH>35000</MAXLENGTH>
  19335. <MINLENGTH>1</MINLENGTH>
  19336. <MAXDECIMAL>0</MAXDECIMAL>
  19337. <MINDECIMAL>0</MINDECIMAL>
  19338. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19339. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19340. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  19341. <TRANSFORMTO>BIN;LBIN;BLOB;</TRANSFORMTO>
  19342. <EXPORTTO>0</EXPORTTO>
  19343. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19344. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19345. </TYPE>
  19346. <TYPE>
  19347. <NAME>VarBinary</NAME>
  19348. <ID>140</ID>
  19349. <GUID>{DA69022D-90E7-44BE-9397-F0CD650DDD6F}</GUID>
  19350. <PHNAME>Varbinary</PHNAME>
  19351. <LLENGTH>1</LLENGTH>
  19352. <LDECIMAL>0</LDECIMAL>
  19353. <MAXLENGTH>35000</MAXLENGTH>
  19354. <MINLENGTH>1</MINLENGTH>
  19355. <MAXDECIMAL>0</MAXDECIMAL>
  19356. <MINDECIMAL>0</MINDECIMAL>
  19357. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  19358. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19359. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  19360. <TRANSFORMTO>LBIN;BIN;BLOB;</TRANSFORMTO>
  19361. <EXPORTTO>0</EXPORTTO>
  19362. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19363. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19364. </TYPE>
  19365. <TYPE>
  19366. <NAME>Bit</NAME>
  19367. <ID>150</ID>
  19368. <GUID>{3044A9F1-56B3-415E-BC33-585E49631A73}</GUID>
  19369. <PHNAME>Bit</PHNAME>
  19370. <LLENGTH>0</LLENGTH>
  19371. <LDECIMAL>0</LDECIMAL>
  19372. <MAXLENGTH>0</MAXLENGTH>
  19373. <MINLENGTH>0</MINLENGTH>
  19374. <MAXDECIMAL>0</MAXDECIMAL>
  19375. <MINDECIMAL>0</MINDECIMAL>
  19376. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19377. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19378. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  19379. <TRANSFORMTO>BIT;BL;A,1,0;</TRANSFORMTO>
  19380. <EXPORTTO>0</EXPORTTO>
  19381. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19382. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19383. </TYPE>
  19384. <TYPE>
  19385. <NAME>DateTime</NAME>
  19386. <ID>160</ID>
  19387. <GUID>{8054C8F0-7D94-4EE7-8AA6-1CA96E863C96}</GUID>
  19388. <PHNAME>Datetime</PHNAME>
  19389. <LLENGTH>0</LLENGTH>
  19390. <LDECIMAL>0</LDECIMAL>
  19391. <MAXLENGTH>0</MAXLENGTH>
  19392. <MINLENGTH>0</MINLENGTH>
  19393. <MAXDECIMAL>0</MAXDECIMAL>
  19394. <MINDECIMAL>0</MINDECIMAL>
  19395. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19396. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19397. <TRANSFORMCODE>DT</TRANSFORMCODE>
  19398. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  19399. <EXPORTTO>0</EXPORTTO>
  19400. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19401. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19402. </TYPE>
  19403. <TYPE>
  19404. <NAME>SmallDateTime</NAME>
  19405. <ID>170</ID>
  19406. <GUID>{9869B3D9-3059-47D2-985C-8B0B74772E8A}</GUID>
  19407. <PHNAME>Smalldatetime</PHNAME>
  19408. <LLENGTH>0</LLENGTH>
  19409. <LDECIMAL>0</LDECIMAL>
  19410. <MAXLENGTH>0</MAXLENGTH>
  19411. <MINLENGTH>0</MINLENGTH>
  19412. <MAXDECIMAL>0</MAXDECIMAL>
  19413. <MINDECIMAL>0</MINDECIMAL>
  19414. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19415. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19416. <TRANSFORMCODE>SDT</TRANSFORMCODE>
  19417. <TRANSFORMTO>SDT;DT;D;</TRANSFORMTO>
  19418. <EXPORTTO>0</EXPORTTO>
  19419. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19420. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19421. </TYPE>
  19422. <TYPE>
  19423. <NAME>TimeStamp</NAME>
  19424. <ID>180</ID>
  19425. <GUID>{02D41D4C-8B10-4760-8F2B-FB213A9BF40B}</GUID>
  19426. <PHNAME>Timestamp</PHNAME>
  19427. <LLENGTH>0</LLENGTH>
  19428. <LDECIMAL>0</LDECIMAL>
  19429. <MAXLENGTH>0</MAXLENGTH>
  19430. <MINLENGTH>0</MINLENGTH>
  19431. <MAXDECIMAL>0</MAXDECIMAL>
  19432. <MINDECIMAL>0</MINDECIMAL>
  19433. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19434. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19435. <TRANSFORMCODE>TS</TRANSFORMCODE>
  19436. <TRANSFORMTO>TS;DT;</TRANSFORMTO>
  19437. <EXPORTTO>0</EXPORTTO>
  19438. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19439. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19440. </TYPE>
  19441. <TYPE>
  19442. <NAME>UniqueIdentifier</NAME>
  19443. <ID>185</ID>
  19444. <GUID>{4FC86D5B-1973-4BEE-98DF-B3E62167276F}</GUID>
  19445. <PHNAME>Uniqueidentifier</PHNAME>
  19446. <LLENGTH>0</LLENGTH>
  19447. <LDECIMAL>0</LDECIMAL>
  19448. <MAXLENGTH>0</MAXLENGTH>
  19449. <MINLENGTH>0</MINLENGTH>
  19450. <MAXDECIMAL>0</MAXDECIMAL>
  19451. <MINDECIMAL>0</MINDECIMAL>
  19452. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19453. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19454. <TRANSFORMCODE>UI</TRANSFORMCODE>
  19455. <TRANSFORMTO>UI;DC;LF;F;</TRANSFORMTO>
  19456. <EXPORTTO>0</EXPORTTO>
  19457. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19458. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19459. </TYPE>
  19460. <TYPE>
  19461. <NAME>Sql_Variant</NAME>
  19462. <ID>190</ID>
  19463. <GUID>{E3A7B640-83A0-463A-8A3A-9F907FF4495B}</GUID>
  19464. <PHNAME>Sql_variant</PHNAME>
  19465. <LLENGTH>0</LLENGTH>
  19466. <LDECIMAL>0</LDECIMAL>
  19467. <MAXLENGTH>0</MAXLENGTH>
  19468. <MINLENGTH>0</MINLENGTH>
  19469. <MAXDECIMAL>0</MAXDECIMAL>
  19470. <MINDECIMAL>0</MINDECIMAL>
  19471. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19472. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19473. <TRANSFORMCODE>VAR</TRANSFORMCODE>
  19474. <TRANSFORMTO>VAR;C;</TRANSFORMTO>
  19475. <EXPORTTO>0</EXPORTTO>
  19476. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19477. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19478. </TYPE>
  19479. <TYPE>
  19480. <NAME>Empty</NAME>
  19481. <ID>200</ID>
  19482. <GUID>{8A5DE037-5E1A-4C0F-86A3-577A887DEA97}</GUID>
  19483. <PHNAME></PHNAME>
  19484. <LLENGTH>0</LLENGTH>
  19485. <LDECIMAL>0</LDECIMAL>
  19486. <MAXLENGTH>0</MAXLENGTH>
  19487. <MINLENGTH>0</MINLENGTH>
  19488. <MAXDECIMAL>0</MAXDECIMAL>
  19489. <MINDECIMAL>0</MINDECIMAL>
  19490. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  19491. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  19492. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  19493. <TRANSFORMTO>EMP;</TRANSFORMTO>
  19494. <EXPORTTO>0</EXPORTTO>
  19495. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  19496. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  19497. </TYPE>
  19498. </TYPELIST>
  19499. <TEXTOBJECTTYPES>
  19500. <TEXTOBJECTTYPE>
  19501. <NAME>Functions</NAME>
  19502. <ID>1</ID>
  19503. <GUID>{2F547BF8-4067-4C97-85AB-7C021EF351C5}</GUID>
  19504. <TEXTOBJECTTYPE>10</TEXTOBJECTTYPE>
  19505. <DEFAULTNAME>Function%d"</DEFAULTNAME>
  19506. </TEXTOBJECTTYPE>
  19507. <TEXTOBJECTTYPE>
  19508. <NAME>Extended stored procedure</NAME>
  19509. <ID>2</ID>
  19510. <GUID>{3135BA20-4F05-4DFA-9FC0-1A411D24A0EC}</GUID>
  19511. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  19512. <DEFAULTNAME>Extended_stored_procedure%d"</DEFAULTNAME>
  19513. </TEXTOBJECTTYPE>
  19514. </TEXTOBJECTTYPES>
  19515. <DISABLED>0</DISABLED>
  19516. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  19517. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  19518. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  19519. <DEFAULTCHAR>_</DEFAULTCHAR>
  19520. <INVALIDCHARACTERS>!"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  19521. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  19522. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  19523. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  19524. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  19525. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19526. <KEYWORDS><![CDATA[]]></KEYWORDS>
  19527. </SERVER>
  19528. <SERVER>
  19529. <NAME>MS SQL 6.5</NAME>
  19530. <ID>170</ID>
  19531. <GUID>{825A7F45-1A45-437F-8221-C1E975C9C8CE}</GUID>
  19532. <TEMPLATES>
  19533. <TEMPLATE>
  19534. <NAME>CreateTable</NAME>
  19535. <ID>1</ID>
  19536. <GUID>{6BBC9CED-7807-41F0-A976-86CA4779EA67}</GUID>
  19537. <CAPTION></CAPTION>
  19538. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19539. <ENABLED>1</ENABLED>
  19540. <LEVEL>2</LEVEL>
  19541. <IDPARENT>0</IDPARENT>
  19542. <VALUE><![CDATA[cr+
  19543. "Create table %tablename% ("+
  19544. forcol("", "", cr+tb+"%ColName% %typsql%"+ if(defexist," %defvalue%", "")+
  19545. if(defaultexist," Default "+defaultvalue  ,"")+
  19546. if(Identity," Identity"+if(Empty(IdentitySeed),"","(%IdentitySeed%,%IdentityIncrement%)"),"")+
  19547. if( notnull," NOT NULL"," NULL")+
  19548. if( UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  19549. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  19550. if(checkexist," Check ("+ evalcheck+" )","")+
  19551. if(def2exist," %def2value%", "") , ",", "")+
  19552. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  19553. ") "+tablestorage+"%cr%go"+cr+showmessage("Table %tablename%")
  19554. ]]></VALUE>
  19555. <LANGUAGE>0</LANGUAGE>
  19556. <LANGUAGEWIN>---</LANGUAGEWIN>
  19557. <CATEGORY>2</CATEGORY>
  19558. <MAINSCRIPT>0</MAINSCRIPT>
  19559. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19560. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19561. <AUTHOR></AUTHOR>
  19562. <COMPANY></COMPANY>
  19563. <VERSION></VERSION>
  19564. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19565. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19566. </TEMPLATE>
  19567. <TEMPLATE>
  19568. <NAME>CreateIndex</NAME>
  19569. <ID>2</ID>
  19570. <GUID>{9737C155-973D-4C39-AA5C-266C43DCF611}</GUID>
  19571. <CAPTION></CAPTION>
  19572. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19573. <ENABLED>1</ENABLED>
  19574. <LEVEL>2</LEVEL>
  19575. <IDPARENT>0</IDPARENT>
  19576. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  19577. +if(clustered,"CLUSTERED ","")
  19578. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+"%cr%go")+cr
  19579. +ShowMessage("Index %Indexname% for table %tablename%")
  19580. ]]></VALUE>
  19581. <LANGUAGE>0</LANGUAGE>
  19582. <LANGUAGEWIN>---</LANGUAGEWIN>
  19583. <CATEGORY>2</CATEGORY>
  19584. <MAINSCRIPT>0</MAINSCRIPT>
  19585. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19586. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19587. <AUTHOR></AUTHOR>
  19588. <COMPANY></COMPANY>
  19589. <VERSION></VERSION>
  19590. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19591. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19592. </TEMPLATE>
  19593. <TEMPLATE>
  19594. <NAME>RefIntegrity</NAME>
  19595. <ID>3</ID>
  19596. <GUID>{0F4DB4B7-07BC-43BB-8FF0-BB14E7804611}</GUID>
  19597. <CAPTION></CAPTION>
  19598. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19599. <ENABLED>1</ENABLED>
  19600. <LEVEL>2</LEVEL>
  19601. <IDPARENT>0</IDPARENT>
  19602. <VALUE><![CDATA[{lRelAnyDekl} 
  19603. alter table %childtablename% add @if(lFkAsConstraint,"Constraint %frelname%","")  foreign key(%childkeys%) references %parenttablename% (%parentkeys%) %cr%go
  19604. ]]></VALUE>
  19605. <LANGUAGE>0</LANGUAGE>
  19606. <LANGUAGEWIN>---</LANGUAGEWIN>
  19607. <CATEGORY>2</CATEGORY>
  19608. <MAINSCRIPT>0</MAINSCRIPT>
  19609. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19610. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19611. <AUTHOR></AUTHOR>
  19612. <COMPANY></COMPANY>
  19613. <VERSION></VERSION>
  19614. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19615. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19616. </TEMPLATE>
  19617. <TEMPLATE>
  19618. <NAME>DropIndexs</NAME>
  19619. <ID>4</ID>
  19620. <GUID>{92C4172A-D71A-42AB-98FD-811A5C31DFBA}</GUID>
  19621. <CAPTION></CAPTION>
  19622. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19623. <ENABLED>1</ENABLED>
  19624. <LEVEL>2</LEVEL>
  19625. <IDPARENT>0</IDPARENT>
  19626. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %tablename%.%indexname% %cr%go %cr%", "", "" ),"","")
  19627. ]]></VALUE>
  19628. <LANGUAGE>0</LANGUAGE>
  19629. <LANGUAGEWIN>---</LANGUAGEWIN>
  19630. <CATEGORY>2</CATEGORY>
  19631. <MAINSCRIPT>0</MAINSCRIPT>
  19632. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19633. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19634. <AUTHOR></AUTHOR>
  19635. <COMPANY></COMPANY>
  19636. <VERSION></VERSION>
  19637. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19638. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19639. </TEMPLATE>
  19640. <TEMPLATE>
  19641. <NAME>DropTables</NAME>
  19642. <ID>5</ID>
  19643. <GUID>{7B93CD40-09BA-4323-B4AA-1EB65B84E266}</GUID>
  19644. <CAPTION></CAPTION>
  19645. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19646. <ENABLED>1</ENABLED>
  19647. <LEVEL>2</LEVEL>
  19648. <IDPARENT>0</IDPARENT>
  19649. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename% %cr%go%cr%", "", "" )
  19650. ]]></VALUE>
  19651. <LANGUAGE>0</LANGUAGE>
  19652. <LANGUAGEWIN>---</LANGUAGEWIN>
  19653. <CATEGORY>2</CATEGORY>
  19654. <MAINSCRIPT>0</MAINSCRIPT>
  19655. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19656. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19657. <AUTHOR></AUTHOR>
  19658. <COMPANY></COMPANY>
  19659. <VERSION></VERSION>
  19660. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19661. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19662. </TEMPLATE>
  19663. <TEMPLATE>
  19664. <NAME>CREATETRIGGERUPDATE</NAME>
  19665. <ID>6</ID>
  19666. <GUID>{8EC0699F-F255-406C-8D2D-6DF7F11523A3}</GUID>
  19667. <CAPTION></CAPTION>
  19668. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19669. <ENABLED>1</ENABLED>
  19670. <LEVEL>2</LEVEL>
  19671. <IDPARENT>0</IDPARENT>
  19672. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  19673. /* Update trigger for %tablename% */
  19674.  
  19675. CREATE Trigger tu_%tablename% on %tablename% for update as
  19676. @showmessage("Trigger for %tablename% ")
  19677. begin
  19678. declare
  19679. %c1%numrows integer
  19680.  
  19681. select %c1%numrows = %c1%%c1%rowcount
  19682.     if %c1%numrows = 0
  19683.     Return
  19684.  
  19685.     @forchild( "", "", template(triggerparentupdate), "", "" ) 
  19686.     @forparent("", "", template(triggerchildupdate), "", "" )
  19687. end
  19688. go
  19689. ]]></VALUE>
  19690. <LANGUAGE>0</LANGUAGE>
  19691. <LANGUAGEWIN>---</LANGUAGEWIN>
  19692. <CATEGORY>2</CATEGORY>
  19693. <MAINSCRIPT>0</MAINSCRIPT>
  19694. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19695. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19696. <AUTHOR></AUTHOR>
  19697. <COMPANY></COMPANY>
  19698. <VERSION></VERSION>
  19699. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19700. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19701. </TEMPLATE>
  19702. <TEMPLATE>
  19703. <NAME>CREATETRIGGERINSERT</NAME>
  19704. <ID>7</ID>
  19705. <GUID>{35344608-91B5-4A38-B6A7-7579A9DF6779}</GUID>
  19706. <CAPTION></CAPTION>
  19707. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19708. <ENABLED>1</ENABLED>
  19709. <LEVEL>2</LEVEL>
  19710. <IDPARENT>0</IDPARENT>
  19711. <VALUE><![CDATA[{lEntChildInsTrig  }
  19712. /* Insert trigger for %tablename% */
  19713.  
  19714. CREATE Trigger ti_%tablename% on %tablename% for insert as
  19715. @showmessage("Trigger for %tablename% ")
  19716. begin
  19717. declare
  19718. %c1%numrows integer
  19719.  
  19720. select %c1%numrows = %c1%%c1%rowcount
  19721.     if %c1%numrows = 0
  19722.     Return
  19723.  
  19724. @forparent("", "", template(TriggerParentInsert), "", "")
  19725. end
  19726. go
  19727. ]]></VALUE>
  19728. <LANGUAGE>0</LANGUAGE>
  19729. <LANGUAGEWIN>---</LANGUAGEWIN>
  19730. <CATEGORY>2</CATEGORY>
  19731. <MAINSCRIPT>0</MAINSCRIPT>
  19732. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19733. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19734. <AUTHOR></AUTHOR>
  19735. <COMPANY></COMPANY>
  19736. <VERSION></VERSION>
  19737. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19738. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19739. </TEMPLATE>
  19740. <TEMPLATE>
  19741. <NAME>CREATETRIGGERDELETE</NAME>
  19742. <ID>8</ID>
  19743. <GUID>{9D1C7464-4B0E-4392-B697-9BE74C539946}</GUID>
  19744. <CAPTION></CAPTION>
  19745. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19746. <ENABLED>1</ENABLED>
  19747. <LEVEL>2</LEVEL>
  19748. <IDPARENT>0</IDPARENT>
  19749. <VALUE><![CDATA[{lEntParDelTrig}
  19750. /* Delete trigger for %tablename% */
  19751.  
  19752. CREATE Trigger td_%tablename% on %tablename% for delete as
  19753. @showmessage("Trigger for %tablename% ")
  19754. begin
  19755. declare
  19756. %c1%numrows integer
  19757.  
  19758. select %c1%numrows = %c1%%c1%rowcount
  19759.     if %c1%numrows = 0
  19760.     Return
  19761.  
  19762. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  19763. end
  19764. go
  19765. ]]></VALUE>
  19766. <LANGUAGE>0</LANGUAGE>
  19767. <LANGUAGEWIN>---</LANGUAGEWIN>
  19768. <CATEGORY>2</CATEGORY>
  19769. <MAINSCRIPT>0</MAINSCRIPT>
  19770. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19771. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19772. <AUTHOR></AUTHOR>
  19773. <COMPANY></COMPANY>
  19774. <VERSION></VERSION>
  19775. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19776. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19777. </TEMPLATE>
  19778. <TEMPLATE>
  19779. <NAME>TRIGGERPARENTUPDATE</NAME>
  19780. <ID>9</ID>
  19781. <GUID>{11A2E1AC-832A-4321-879F-679442BD83A1}</GUID>
  19782. <CAPTION></CAPTION>
  19783. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19784. <ENABLED>1</ENABLED>
  19785. <LEVEL>2</LEVEL>
  19786. <IDPARENT>0</IDPARENT>
  19787. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  19788. /* cascade child %childtablename% update when parent %parenttablename% changed */
  19789. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  19790.     begin
  19791.     update %childtablename%
  19792.     set @ForRelPk( tb , tb , "%PkChildName% = i.%PkParentName%" , ",%cr%" , "")
  19793.     from %childtablename% t, inserted i, deleted d
  19794.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  19795.     AND
  19796.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr%%tb% ", ")" )
  19797.     end
  19798.  
  19799. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  19800. /* cascade setnull when parent changed */
  19801. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  19802.     begin
  19803.     update %childtablename%
  19804.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  19805.     from %childtablename% t, inserted i, deleted d
  19806.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  19807.     AND
  19808.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  19809.     end
  19810.  
  19811. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  19812. /* cascade setdefault when parent changed */
  19813. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  19814.     begin
  19815.     update %childtablename%
  19816.     set @ForRelPk( tb , tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  19817.     from %childtablename% t, inserted i, deleted d
  19818.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  19819.     AND
  19820.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  19821.     end
  19822.  
  19823. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  19824. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  19825. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  19826.     begin
  19827.     if ((select count( * ) 
  19828.     from %childtablename% t, deleted d
  19829.     where     @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  19830.         begin
  19831.         raiserror  30001 'Children still exist in child table'
  19832.         rollback transaction
  19833.         end
  19834.     end
  19835. ]]></VALUE>
  19836. <LANGUAGE>0</LANGUAGE>
  19837. <LANGUAGEWIN>---</LANGUAGEWIN>
  19838. <CATEGORY>2</CATEGORY>
  19839. <MAINSCRIPT>0</MAINSCRIPT>
  19840. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19841. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19842. <AUTHOR></AUTHOR>
  19843. <COMPANY></COMPANY>
  19844. <VERSION></VERSION>
  19845. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19846. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19847. </TEMPLATE>
  19848. <TEMPLATE>
  19849. <NAME>TRIGGERCHILDUPDATE</NAME>
  19850. <ID>10</ID>
  19851. <GUID>{78EC4796-BA64-4B51-A786-2948630DC1AE}</GUID>
  19852. <CAPTION></CAPTION>
  19853. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19854. <ENABLED>1</ENABLED>
  19855. <LEVEL>2</LEVEL>
  19856. <IDPARENT>0</IDPARENT>
  19857. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  19858. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  19859. if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  19860.     begin
  19861.     if ((select count( * ) 
  19862.     from %ParentTableName% t, inserted i
  19863.     where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  19864.         begin
  19865.         raiserror  30002 'Parent does not exist. Cannot update child'
  19866.         rollback transaction
  19867.         end
  19868.     end
  19869. ]]></VALUE>
  19870. <LANGUAGE>0</LANGUAGE>
  19871. <LANGUAGEWIN>---</LANGUAGEWIN>
  19872. <CATEGORY>2</CATEGORY>
  19873. <MAINSCRIPT>0</MAINSCRIPT>
  19874. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19875. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19876. <AUTHOR></AUTHOR>
  19877. <COMPANY></COMPANY>
  19878. <VERSION></VERSION>
  19879. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19880. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19881. </TEMPLATE>
  19882. <TEMPLATE>
  19883. <NAME>TRIGGERPARENTDELETE</NAME>
  19884. <ID>11</ID>
  19885. <GUID>{846A7DDA-2C0C-4AAE-AA59-58ACB6E41152}</GUID>
  19886. <CAPTION></CAPTION>
  19887. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19888. <ENABLED>1</ENABLED>
  19889. <LEVEL>2</LEVEL>
  19890. <IDPARENT>0</IDPARENT>
  19891. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  19892. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  19893.  
  19894.     delete %childtablename% from %childtablename% t, deleted d
  19895.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "")
  19896.  
  19897. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  19898. /* cascade setnull when parent deleted */
  19899.  
  19900.     update %childtablename%
  19901.     set @ForRelPk( tb , tb+tb , "%PkChildName% = NULL" , ",%cr%" , "")
  19902.     from %childtablename% t, deleted d
  19903.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  19904.  
  19905. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  19906. /* cascade setnull when parent deleted */
  19907.  
  19908.     update %childtablename%
  19909.     set @ForRelPk( tb , tb+tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  19910.     from %childtablename% t, deleted d
  19911.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  19912.  
  19913.  
  19914. {ParDelRestrict and (not lParDelRestDekl)} 
  19915. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  19916.      
  19917.     if ((select count( * ) 
  19918.     from %childtablename% t, deleted d
  19919.     where     @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  19920.      begin
  19921.         raiserror  30003 'Children still exist in child table. Cannot delete parent'
  19922.         rollback transaction
  19923.     end
  19924. ]]></VALUE>
  19925. <LANGUAGE>0</LANGUAGE>
  19926. <LANGUAGEWIN>---</LANGUAGEWIN>
  19927. <CATEGORY>2</CATEGORY>
  19928. <MAINSCRIPT>0</MAINSCRIPT>
  19929. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19930. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19931. <AUTHOR></AUTHOR>
  19932. <COMPANY></COMPANY>
  19933. <VERSION></VERSION>
  19934. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19935. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19936. </TEMPLATE>
  19937. <TEMPLATE>
  19938. <NAME>TRIGGERPARENTINSERT</NAME>
  19939. <ID>12</ID>
  19940. <GUID>{E2B2861A-9DAB-43AF-8CA5-E9729B7917E1}</GUID>
  19941. <CAPTION></CAPTION>
  19942. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19943. <ENABLED>1</ENABLED>
  19944. <LEVEL>2</LEVEL>
  19945. <IDPARENT>0</IDPARENT>
  19946. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  19947. /* restrict child %childtablename% when parent %parenttablename% insert */
  19948.  
  19949. if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  19950.     begin
  19951.     if ((select count( * ) 
  19952.     from %ParentTableName% t, inserted i
  19953.     where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  19954.         begin
  19955.         raiserror  30004 'Parent does not exist. Cannot insert child'
  19956.         rollback transaction
  19957.         end
  19958.     end
  19959. ]]></VALUE>
  19960. <LANGUAGE>0</LANGUAGE>
  19961. <LANGUAGEWIN>---</LANGUAGEWIN>
  19962. <CATEGORY>2</CATEGORY>
  19963. <MAINSCRIPT>0</MAINSCRIPT>
  19964. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19965. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19966. <AUTHOR></AUTHOR>
  19967. <COMPANY></COMPANY>
  19968. <VERSION></VERSION>
  19969. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19970. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19971. </TEMPLATE>
  19972. <TEMPLATE>
  19973. <NAME>CREATEALTERKEY</NAME>
  19974. <ID>13</ID>
  19975. <GUID>{D8783E77-96F7-4569-9995-000BA177BBF0}</GUID>
  19976. <CAPTION></CAPTION>
  19977. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  19978. <ENABLED>1</ENABLED>
  19979. <LEVEL>2</LEVEL>
  19980. <IDPARENT>0</IDPARENT>
  19981. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%)%cr%go%cr%","","")
  19982. ]]></VALUE>
  19983. <LANGUAGE>0</LANGUAGE>
  19984. <LANGUAGEWIN>---</LANGUAGEWIN>
  19985. <CATEGORY>2</CATEGORY>
  19986. <MAINSCRIPT>0</MAINSCRIPT>
  19987. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  19988. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  19989. <AUTHOR></AUTHOR>
  19990. <COMPANY></COMPANY>
  19991. <VERSION></VERSION>
  19992. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  19993. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  19994. </TEMPLATE>
  19995. <TEMPLATE>
  19996. <NAME>DropTriggerUpdate</NAME>
  19997. <ID>14</ID>
  19998. <GUID>{7CFC8C31-4FBD-41AD-ACAC-6BEDE0DE9022}</GUID>
  19999. <CAPTION></CAPTION>
  20000. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20001. <ENABLED>1</ENABLED>
  20002. <LEVEL>2</LEVEL>
  20003. <IDPARENT>0</IDPARENT>
  20004. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  20005. drop trigger tu_%tablename%
  20006. go
  20007. ]]></VALUE>
  20008. <LANGUAGE>0</LANGUAGE>
  20009. <LANGUAGEWIN>---</LANGUAGEWIN>
  20010. <CATEGORY>2</CATEGORY>
  20011. <MAINSCRIPT>0</MAINSCRIPT>
  20012. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20013. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20014. <AUTHOR></AUTHOR>
  20015. <COMPANY></COMPANY>
  20016. <VERSION></VERSION>
  20017. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20018. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20019. </TEMPLATE>
  20020. <TEMPLATE>
  20021. <NAME>DropTriggerDelete</NAME>
  20022. <ID>15</ID>
  20023. <GUID>{55516FA2-D714-4290-A63F-5211F21BF9AC}</GUID>
  20024. <CAPTION></CAPTION>
  20025. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20026. <ENABLED>1</ENABLED>
  20027. <LEVEL>2</LEVEL>
  20028. <IDPARENT>0</IDPARENT>
  20029. <VALUE><![CDATA[{lEntParDelTrig}
  20030. drop trigger td_%tablename%
  20031. go
  20032. ]]></VALUE>
  20033. <LANGUAGE>0</LANGUAGE>
  20034. <LANGUAGEWIN>---</LANGUAGEWIN>
  20035. <CATEGORY>2</CATEGORY>
  20036. <MAINSCRIPT>0</MAINSCRIPT>
  20037. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20038. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20039. <AUTHOR></AUTHOR>
  20040. <COMPANY></COMPANY>
  20041. <VERSION></VERSION>
  20042. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20043. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20044. </TEMPLATE>
  20045. <TEMPLATE>
  20046. <NAME>DropTriggerInsert</NAME>
  20047. <ID>16</ID>
  20048. <GUID>{2C16645B-5883-4D84-8CC4-9E8DC98B50D2}</GUID>
  20049. <CAPTION></CAPTION>
  20050. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20051. <ENABLED>1</ENABLED>
  20052. <LEVEL>2</LEVEL>
  20053. <IDPARENT>0</IDPARENT>
  20054. <VALUE><![CDATA[{lEntChildInsTrig  }
  20055. drop trigger ti_%tablename%
  20056. go
  20057. ]]></VALUE>
  20058. <LANGUAGE>0</LANGUAGE>
  20059. <LANGUAGEWIN>---</LANGUAGEWIN>
  20060. <CATEGORY>2</CATEGORY>
  20061. <MAINSCRIPT>0</MAINSCRIPT>
  20062. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20063. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20064. <AUTHOR></AUTHOR>
  20065. <COMPANY></COMPANY>
  20066. <VERSION></VERSION>
  20067. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20068. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20069. </TEMPLATE>
  20070. <TEMPLATE>
  20071. <NAME>DropRefIntegritys</NAME>
  20072. <ID>17</ID>
  20073. <GUID>{42CDEB88-92A9-4B68-BC6E-AB61D24DB30D}</GUID>
  20074. <CAPTION></CAPTION>
  20075. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20076. <ENABLED>1</ENABLED>
  20077. <LEVEL>2</LEVEL>
  20078. <IDPARENT>0</IDPARENT>
  20079. <VALUE><![CDATA[{lFkAsConstraint}
  20080. @fortable("", "", forchild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  20081. ]]></VALUE>
  20082. <LANGUAGE>0</LANGUAGE>
  20083. <LANGUAGEWIN>---</LANGUAGEWIN>
  20084. <CATEGORY>2</CATEGORY>
  20085. <MAINSCRIPT>0</MAINSCRIPT>
  20086. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20087. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20088. <AUTHOR></AUTHOR>
  20089. <COMPANY></COMPANY>
  20090. <VERSION></VERSION>
  20091. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20092. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20093. </TEMPLATE>
  20094. <TEMPLATE>
  20095. <NAME>DropRefIntegrity</NAME>
  20096. <ID>18</ID>
  20097. <GUID>{4F646DA1-1AA9-421B-A39B-94896C790460}</GUID>
  20098. <CAPTION></CAPTION>
  20099. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20100. <ENABLED>1</ENABLED>
  20101. <LEVEL>2</LEVEL>
  20102. <IDPARENT>0</IDPARENT>
  20103. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  20104. alter table %childtablename% drop constraint %frelname%
  20105. go
  20106. ]]></VALUE>
  20107. <LANGUAGE>0</LANGUAGE>
  20108. <LANGUAGEWIN>---</LANGUAGEWIN>
  20109. <CATEGORY>2</CATEGORY>
  20110. <MAINSCRIPT>0</MAINSCRIPT>
  20111. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20112. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20113. <AUTHOR></AUTHOR>
  20114. <COMPANY></COMPANY>
  20115. <VERSION></VERSION>
  20116. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20117. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20118. </TEMPLATE>
  20119. <TEMPLATE>
  20120. <NAME>CreateRole</NAME>
  20121. <ID>19</ID>
  20122. <GUID>{1265AF4D-6A9E-480B-B079-EE3B36EC0D87}</GUID>
  20123. <CAPTION></CAPTION>
  20124. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20125. <ENABLED>1</ENABLED>
  20126. <LEVEL>2</LEVEL>
  20127. <IDPARENT>0</IDPARENT>
  20128. <VALUE><![CDATA[@ForRole("","",if(lRole,"sp_AddRole %RoleName%%cr%go%cr%",""),"","")
  20129. ]]></VALUE>
  20130. <LANGUAGE>0</LANGUAGE>
  20131. <LANGUAGEWIN>---</LANGUAGEWIN>
  20132. <CATEGORY>2</CATEGORY>
  20133. <MAINSCRIPT>0</MAINSCRIPT>
  20134. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20135. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20136. <AUTHOR></AUTHOR>
  20137. <COMPANY></COMPANY>
  20138. <VERSION></VERSION>
  20139. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20140. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20141. </TEMPLATE>
  20142. <TEMPLATE>
  20143. <NAME>GrantUserToRole</NAME>
  20144. <ID>20</ID>
  20145. <GUID>{058BE0BA-2363-4612-A0AA-7DB0F65EDB12}</GUID>
  20146. <CAPTION></CAPTION>
  20147. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20148. <ENABLED>1</ENABLED>
  20149. <LEVEL>2</LEVEL>
  20150. <IDPARENT>0</IDPARENT>
  20151. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("sp_AddRoleMember %rolename% %username%%cr%go%cr%"),"",""),"","")
  20152. ]]></VALUE>
  20153. <LANGUAGE>0</LANGUAGE>
  20154. <LANGUAGEWIN>---</LANGUAGEWIN>
  20155. <CATEGORY>2</CATEGORY>
  20156. <MAINSCRIPT>0</MAINSCRIPT>
  20157. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20158. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20159. <AUTHOR></AUTHOR>
  20160. <COMPANY></COMPANY>
  20161. <VERSION></VERSION>
  20162. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20163. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20164. </TEMPLATE>
  20165. <TEMPLATE>
  20166. <NAME>CreateTablePermiss</NAME>
  20167. <ID>21</ID>
  20168. <GUID>{32F31BBF-A941-4501-A826-120BDB956EEA}</GUID>
  20169. <CAPTION></CAPTION>
  20170. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20171. <ENABLED>1</ENABLED>
  20172. <LEVEL>2</LEVEL>
  20173. <IDPARENT>0</IDPARENT>
  20174. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  20175. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  20176. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  20177. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  20178. if(lPermissDRI,"Grant references on %TableName% to %UserOrRoleName%%cr%go%cr%","")
  20179. ]]></VALUE>
  20180. <LANGUAGE>0</LANGUAGE>
  20181. <LANGUAGEWIN>---</LANGUAGEWIN>
  20182. <CATEGORY>2</CATEGORY>
  20183. <MAINSCRIPT>0</MAINSCRIPT>
  20184. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20185. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20186. <AUTHOR></AUTHOR>
  20187. <COMPANY></COMPANY>
  20188. <VERSION></VERSION>
  20189. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20190. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20191. </TEMPLATE>
  20192. <TEMPLATE>
  20193. <NAME>CreateViewPermiss</NAME>
  20194. <ID>22</ID>
  20195. <GUID>{985B1522-E799-4C11-86D8-28E3DD0DF3DF}</GUID>
  20196. <CAPTION></CAPTION>
  20197. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20198. <ENABLED>1</ENABLED>
  20199. <LEVEL>2</LEVEL>
  20200. <IDPARENT>0</IDPARENT>
  20201. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  20202. if(lPermissUpdate,"Grant update on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  20203. if(lPermissDelete,"Grant delete on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  20204. if(lPermissInsert,"Grant insert on %ViewName% to %UserOrRoleName%%cr%go%cr%","")
  20205. ]]></VALUE>
  20206. <LANGUAGE>0</LANGUAGE>
  20207. <LANGUAGEWIN>---</LANGUAGEWIN>
  20208. <CATEGORY>2</CATEGORY>
  20209. <MAINSCRIPT>0</MAINSCRIPT>
  20210. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20211. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20212. <AUTHOR></AUTHOR>
  20213. <COMPANY></COMPANY>
  20214. <VERSION></VERSION>
  20215. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20216. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20217. </TEMPLATE>
  20218. <TEMPLATE>
  20219. <NAME>CreateProcedurePermiss</NAME>
  20220. <ID>23</ID>
  20221. <GUID>{D8DE36D1-E7CB-4277-BBE6-CC16966AF81B}</GUID>
  20222. <CAPTION></CAPTION>
  20223. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20224. <ENABLED>1</ENABLED>
  20225. <LEVEL>2</LEVEL>
  20226. <IDPARENT>0</IDPARENT>
  20227. <VALUE><![CDATA[if(lPermissExec,"Grant exec on %ProcedureName% to %UserOrRoleName%%cr%go%cr%","")
  20228. ]]></VALUE>
  20229. <LANGUAGE>0</LANGUAGE>
  20230. <LANGUAGEWIN>---</LANGUAGEWIN>
  20231. <CATEGORY>2</CATEGORY>
  20232. <MAINSCRIPT>0</MAINSCRIPT>
  20233. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20234. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20235. <AUTHOR></AUTHOR>
  20236. <COMPANY></COMPANY>
  20237. <VERSION></VERSION>
  20238. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20239. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20240. </TEMPLATE>
  20241. <TEMPLATE>
  20242. <NAME>DropProcedures</NAME>
  20243. <ID>24</ID>
  20244. <GUID>{251A8C69-E879-44DA-8A50-EA48CFC9AA25}</GUID>
  20245. <CAPTION></CAPTION>
  20246. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20247. <ENABLED>1</ENABLED>
  20248. <LEVEL>2</LEVEL>
  20249. <IDPARENT>0</IDPARENT>
  20250. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%%cr%go%cr%","","")
  20251. ]]></VALUE>
  20252. <LANGUAGE>0</LANGUAGE>
  20253. <LANGUAGEWIN>---</LANGUAGEWIN>
  20254. <CATEGORY>2</CATEGORY>
  20255. <MAINSCRIPT>0</MAINSCRIPT>
  20256. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20257. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20258. <AUTHOR></AUTHOR>
  20259. <COMPANY></COMPANY>
  20260. <VERSION></VERSION>
  20261. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20262. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20263. </TEMPLATE>
  20264. <TEMPLATE>
  20265. <NAME>DropViews</NAME>
  20266. <ID>25</ID>
  20267. <GUID>{783DF48D-4810-4EBD-93ED-46567DF642E4}</GUID>
  20268. <CAPTION></CAPTION>
  20269. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20270. <ENABLED>1</ENABLED>
  20271. <LEVEL>2</LEVEL>
  20272. <IDPARENT>0</IDPARENT>
  20273. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%%cr%go%cr%","","")
  20274. ]]></VALUE>
  20275. <LANGUAGE>0</LANGUAGE>
  20276. <LANGUAGEWIN>---</LANGUAGEWIN>
  20277. <CATEGORY>2</CATEGORY>
  20278. <MAINSCRIPT>0</MAINSCRIPT>
  20279. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20280. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20281. <AUTHOR></AUTHOR>
  20282. <COMPANY></COMPANY>
  20283. <VERSION></VERSION>
  20284. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20285. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20286. </TEMPLATE>
  20287. <TEMPLATE>
  20288. <NAME>DropTriggersList</NAME>
  20289. <ID>26</ID>
  20290. <GUID>{BB37E489-3E16-4B9C-90B5-69F892E45CC8}</GUID>
  20291. <CAPTION></CAPTION>
  20292. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20293. <ENABLED>1</ENABLED>
  20294. <LEVEL>2</LEVEL>
  20295. <IDPARENT>0</IDPARENT>
  20296. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName%%cr%go%cr%","",""),"","")
  20297. @ForTriggerR("","","Drop trigger %TriggerName%%cr%go%cr%","","")
  20298. ]]></VALUE>
  20299. <LANGUAGE>0</LANGUAGE>
  20300. <LANGUAGEWIN>---</LANGUAGEWIN>
  20301. <CATEGORY>2</CATEGORY>
  20302. <MAINSCRIPT>0</MAINSCRIPT>
  20303. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20304. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20305. <AUTHOR></AUTHOR>
  20306. <COMPANY></COMPANY>
  20307. <VERSION></VERSION>
  20308. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  20309. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  20310. </TEMPLATE>
  20311. </TEMPLATES>
  20312. <VARIABLES><![CDATA[ldomains  0
  20313. lAtrCheckConstraintSupp 1
  20314. lAlterKeySupp 1
  20315. lProceduresSupp 1
  20316. lViewsSupp 1
  20317. lConstraintPkSupp 1
  20318. lConstraintFkSupp 1
  20319. lAtrUniqueConstraintSupp 1
  20320. lPermissUserToRoleSupp 1
  20321. lPermissUserToObjectSupp 1
  20322. lPermissRoleToObjectSupp 1
  20323. lRoleSupp 1
  20324. lDriParUpdRestrict 1
  20325. lDriParUpdCascade 0
  20326. lDriParUpdSetNull 0
  20327. lDriParUpdSetDefault 0
  20328. lDriParDelRestrict 1
  20329. lDriParDelCascade 0
  20330. lDriParDelSetNull 0
  20331. lDriParDelSetDefault 0
  20332. lDriChildInsRestrict 0
  20333. lDriChildUpdRestrict 0
  20334. lDriParUpdRestrictSupp 1
  20335. lDriParUpdCascadeSupp 0
  20336. lDriParUpdSetNullSupp 0
  20337. lDriParUpdSetDefaultSupp 0
  20338. lDriParDelRestrictSupp 1
  20339. lDriParDelCascadeSupp 0
  20340. lDriParDelSetNullSupp 0
  20341. lDriParDelSetDefaultSupp 0
  20342. lDriChildInsRestrictSupp 0
  20343. lDriChildUpdRestrictSupp 0
  20344. lIndexDescendSupp 0
  20345. lIndexItDescendSupp 0
  20346. lIndexUpperSupp 0
  20347. lIndexExprSupp 0
  20348. lIndexUniqueSupp 1
  20349. lIndexFilterSupp 0
  20350. lIndexStandSupp 1
  20351. lIndexClusterSupp 1
  20352. lIndexNameUnique 0
  20353. lPkSupp 1
  20354. lPkNotNull 1
  20355. lDRISupp 1
  20356. lTriggerSupp 1
  20357. lAtrUniqueSupp 1
  20358. lAtrNotNullSupp 1
  20359. lAtrCheckSupp 1
  20360. lAtrDefaultSupp 1
  20361. ldomains  0
  20362. lAtrCheckConstraintSupp 1
  20363. lAlterKeySupp 1
  20364. lProceduresSupp 1
  20365. lViewsSupp 1
  20366. lConstraintPkSupp 1
  20367. lConstraintFkSupp 1
  20368. lAtrUniqueConstraintSupp 1
  20369. lPermissUserToRoleSupp 1
  20370. lPermissUserToObjectSupp 1
  20371. lPermissRoleToObjectSupp 1
  20372. lRoleSupp 1
  20373. ]]></VARIABLES>
  20374. <USEREDITS>
  20375. <USEREDIT>
  20376. <NAME>Identity</NAME>
  20377. <ID>1</ID>
  20378. <GUID>{53E83C57-CD49-4D3B-B7FB-679F8E9A1338}</GUID>
  20379. <CAPTION>Identity</CAPTION>
  20380. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20381. <TYPE>1</TYPE>
  20382. <LEVEL>3</LEVEL>
  20383. <DEFAULT></DEFAULT>
  20384. <ORD>1</ORD>
  20385. <LENGTH>0</LENGTH>
  20386. <ENABLED>1</ENABLED>
  20387. <ITEMS></ITEMS>
  20388. </USEREDIT>
  20389. <USEREDIT>
  20390. <NAME>IdentitySeed</NAME>
  20391. <ID>2</ID>
  20392. <GUID>{6A2C3DB6-77D5-4878-9CB9-C12AA3F1B587}</GUID>
  20393. <CAPTION>Identitty Seed</CAPTION>
  20394. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20395. <TYPE>0</TYPE>
  20396. <LEVEL>3</LEVEL>
  20397. <DEFAULT></DEFAULT>
  20398. <ORD>2</ORD>
  20399. <LENGTH>0</LENGTH>
  20400. <ENABLED>1</ENABLED>
  20401. <ITEMS></ITEMS>
  20402. </USEREDIT>
  20403. <USEREDIT>
  20404. <NAME>IdentityIncrement</NAME>
  20405. <ID>3</ID>
  20406. <GUID>{AF3F1D73-A685-44D8-9CFD-0A0DCEF11ADB}</GUID>
  20407. <CAPTION>Identity Increment</CAPTION>
  20408. <PACKAGEGUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</PACKAGEGUID>
  20409. <TYPE>0</TYPE>
  20410. <LEVEL>3</LEVEL>
  20411. <DEFAULT></DEFAULT>
  20412. <ORD>3</ORD>
  20413. <LENGTH>0</LENGTH>
  20414. <ENABLED>1</ENABLED>
  20415. <ITEMS></ITEMS>
  20416. </USEREDIT>
  20417. </USEREDITS>
  20418. <TYPELIST>
  20419. <TYPE>
  20420. <NAME>Char</NAME>
  20421. <ID>10</ID>
  20422. <GUID>{4BDC8758-3104-4B67-A83F-4C5D8F0FB166}</GUID>
  20423. <PHNAME>Char</PHNAME>
  20424. <LLENGTH>1</LLENGTH>
  20425. <LDECIMAL>0</LDECIMAL>
  20426. <MAXLENGTH>35000</MAXLENGTH>
  20427. <MINLENGTH>1</MINLENGTH>
  20428. <MAXDECIMAL>0</MAXDECIMAL>
  20429. <MINDECIMAL>0</MINDECIMAL>
  20430. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  20431. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20432. <TRANSFORMCODE>A</TRANSFORMCODE>
  20433. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  20434. <EXPORTTO>0</EXPORTTO>
  20435. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20436. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20437. </TYPE>
  20438. <TYPE>
  20439. <NAME>VarChar</NAME>
  20440. <ID>20</ID>
  20441. <GUID>{E2B9D899-6699-40F8-AAB1-224EFF3642B8}</GUID>
  20442. <PHNAME>Varchar</PHNAME>
  20443. <LLENGTH>1</LLENGTH>
  20444. <LDECIMAL>0</LDECIMAL>
  20445. <MAXLENGTH>35000</MAXLENGTH>
  20446. <MINLENGTH>1</MINLENGTH>
  20447. <MAXDECIMAL>0</MAXDECIMAL>
  20448. <MINDECIMAL>0</MINDECIMAL>
  20449. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  20450. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20451. <TRANSFORMCODE>VA</TRANSFORMCODE>
  20452. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  20453. <EXPORTTO>0</EXPORTTO>
  20454. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20455. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20456. </TYPE>
  20457. <TYPE>
  20458. <NAME>Integer</NAME>
  20459. <ID>30</ID>
  20460. <GUID>{26B92309-D207-41CC-9835-2E80F6AC2B5C}</GUID>
  20461. <PHNAME>Integer</PHNAME>
  20462. <LLENGTH>0</LLENGTH>
  20463. <LDECIMAL>0</LDECIMAL>
  20464. <MAXLENGTH>0</MAXLENGTH>
  20465. <MINLENGTH>0</MINLENGTH>
  20466. <MAXDECIMAL>0</MAXDECIMAL>
  20467. <MINDECIMAL>0</MINDECIMAL>
  20468. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20469. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20470. <TRANSFORMCODE>I</TRANSFORMCODE>
  20471. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  20472. <EXPORTTO>0</EXPORTTO>
  20473. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20474. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20475. </TYPE>
  20476. <TYPE>
  20477. <NAME>SmallInt</NAME>
  20478. <ID>40</ID>
  20479. <GUID>{D0E7D823-5A4E-463D-A17B-BAB32A42C6F2}</GUID>
  20480. <PHNAME>Smallint</PHNAME>
  20481. <LLENGTH>0</LLENGTH>
  20482. <LDECIMAL>0</LDECIMAL>
  20483. <MAXLENGTH>0</MAXLENGTH>
  20484. <MINLENGTH>0</MINLENGTH>
  20485. <MAXDECIMAL>0</MAXDECIMAL>
  20486. <MINDECIMAL>0</MINDECIMAL>
  20487. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20488. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20489. <TRANSFORMCODE>SI</TRANSFORMCODE>
  20490. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  20491. <EXPORTTO>0</EXPORTTO>
  20492. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20493. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20494. </TYPE>
  20495. <TYPE>
  20496. <NAME>TinyInt</NAME>
  20497. <ID>45</ID>
  20498. <GUID>{0A115E89-DA7D-4E9F-9EDC-D5EA889F7E2A}</GUID>
  20499. <PHNAME>Tinyint</PHNAME>
  20500. <LLENGTH>0</LLENGTH>
  20501. <LDECIMAL>0</LDECIMAL>
  20502. <MAXLENGTH>0</MAXLENGTH>
  20503. <MINLENGTH>0</MINLENGTH>
  20504. <MAXDECIMAL>0</MAXDECIMAL>
  20505. <MINDECIMAL>0</MINDECIMAL>
  20506. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20507. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20508. <TRANSFORMCODE>TI</TRANSFORMCODE>
  20509. <TRANSFORMTO>TI;SI;I;LI;N,3,0;</TRANSFORMTO>
  20510. <EXPORTTO>0</EXPORTTO>
  20511. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20512. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20513. </TYPE>
  20514. <TYPE>
  20515. <NAME>Float</NAME>
  20516. <ID>50</ID>
  20517. <GUID>{BA114F88-06E3-42F6-AF78-4A64E52ED57A}</GUID>
  20518. <PHNAME>Float</PHNAME>
  20519. <LLENGTH>0</LLENGTH>
  20520. <LDECIMAL>0</LDECIMAL>
  20521. <MAXLENGTH>0</MAXLENGTH>
  20522. <MINLENGTH>0</MINLENGTH>
  20523. <MAXDECIMAL>0</MAXDECIMAL>
  20524. <MINDECIMAL>0</MINDECIMAL>
  20525. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20526. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20527. <TRANSFORMCODE>F</TRANSFORMCODE>
  20528. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  20529. <EXPORTTO>0</EXPORTTO>
  20530. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20531. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20532. </TYPE>
  20533. <TYPE>
  20534. <NAME>Real</NAME>
  20535. <ID>60</ID>
  20536. <GUID>{FB0EFB83-0B69-4C0D-A6A4-E3E60E692005}</GUID>
  20537. <PHNAME>Real</PHNAME>
  20538. <LLENGTH>0</LLENGTH>
  20539. <LDECIMAL>0</LDECIMAL>
  20540. <MAXLENGTH>0</MAXLENGTH>
  20541. <MINLENGTH>0</MINLENGTH>
  20542. <MAXDECIMAL>0</MAXDECIMAL>
  20543. <MINDECIMAL>0</MINDECIMAL>
  20544. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20545. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20546. <TRANSFORMCODE>R</TRANSFORMCODE>
  20547. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  20548. <EXPORTTO>0</EXPORTTO>
  20549. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20550. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20551. </TYPE>
  20552. <TYPE>
  20553. <NAME>Money</NAME>
  20554. <ID>70</ID>
  20555. <GUID>{A64C7906-AEFA-410C-B7C3-2822CFCD1868}</GUID>
  20556. <PHNAME>Money</PHNAME>
  20557. <LLENGTH>0</LLENGTH>
  20558. <LDECIMAL>0</LDECIMAL>
  20559. <MAXLENGTH>0</MAXLENGTH>
  20560. <MINLENGTH>0</MINLENGTH>
  20561. <MAXDECIMAL>0</MAXDECIMAL>
  20562. <MINDECIMAL>0</MINDECIMAL>
  20563. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20564. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20565. <TRANSFORMCODE>MN</TRANSFORMCODE>
  20566. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  20567. <EXPORTTO>0</EXPORTTO>
  20568. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20569. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20570. </TYPE>
  20571. <TYPE>
  20572. <NAME>SmallMoney</NAME>
  20573. <ID>80</ID>
  20574. <GUID>{0DC64799-DC4E-4A0E-A6B9-7501DCBFD7FA}</GUID>
  20575. <PHNAME>Smallmoney</PHNAME>
  20576. <LLENGTH>0</LLENGTH>
  20577. <LDECIMAL>0</LDECIMAL>
  20578. <MAXLENGTH>0</MAXLENGTH>
  20579. <MINLENGTH>0</MINLENGTH>
  20580. <MAXDECIMAL>0</MAXDECIMAL>
  20581. <MINDECIMAL>0</MINDECIMAL>
  20582. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20583. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20584. <TRANSFORMCODE>SMN</TRANSFORMCODE>
  20585. <TRANSFORMTO>SMN;MN;F;N,10,2;</TRANSFORMTO>
  20586. <EXPORTTO>0</EXPORTTO>
  20587. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20588. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20589. </TYPE>
  20590. <TYPE>
  20591. <NAME>Numeric</NAME>
  20592. <ID>90</ID>
  20593. <GUID>{273F7C03-7EA6-4EC7-AD01-7BD59DA45F51}</GUID>
  20594. <PHNAME>Numeric</PHNAME>
  20595. <LLENGTH>1</LLENGTH>
  20596. <LDECIMAL>1</LDECIMAL>
  20597. <MAXLENGTH>38</MAXLENGTH>
  20598. <MINLENGTH>1</MINLENGTH>
  20599. <MAXDECIMAL>38</MAXDECIMAL>
  20600. <MINDECIMAL>0</MINDECIMAL>
  20601. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  20602. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20603. <TRANSFORMCODE>N</TRANSFORMCODE>
  20604. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  20605. <EXPORTTO>0</EXPORTTO>
  20606. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20607. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20608. </TYPE>
  20609. <TYPE>
  20610. <NAME>Decimal</NAME>
  20611. <ID>100</ID>
  20612. <GUID>{ECAEDBC9-EC29-421E-9200-9CC9B9F5E66F}</GUID>
  20613. <PHNAME>Decimal</PHNAME>
  20614. <LLENGTH>1</LLENGTH>
  20615. <LDECIMAL>1</LDECIMAL>
  20616. <MAXLENGTH>38</MAXLENGTH>
  20617. <MINLENGTH>1</MINLENGTH>
  20618. <MAXDECIMAL>38</MAXDECIMAL>
  20619. <MINDECIMAL>0</MINDECIMAL>
  20620. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  20621. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20622. <TRANSFORMCODE>DC</TRANSFORMCODE>
  20623. <TRANSFORMTO>DC;N;F;</TRANSFORMTO>
  20624. <EXPORTTO>0</EXPORTTO>
  20625. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20626. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20627. </TYPE>
  20628. <TYPE>
  20629. <NAME>Text</NAME>
  20630. <ID>110</ID>
  20631. <GUID>{2BCC7C4C-AD5E-4CC1-A0A0-D89B97EC9563}</GUID>
  20632. <PHNAME>Text</PHNAME>
  20633. <LLENGTH>0</LLENGTH>
  20634. <LDECIMAL>0</LDECIMAL>
  20635. <MAXLENGTH>0</MAXLENGTH>
  20636. <MINLENGTH>0</MINLENGTH>
  20637. <MAXDECIMAL>0</MAXDECIMAL>
  20638. <MINDECIMAL>0</MINDECIMAL>
  20639. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20640. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20641. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  20642. <TRANSFORMTO>TXT;CLOB;BIN;LBIN;BLOB;</TRANSFORMTO>
  20643. <EXPORTTO>0</EXPORTTO>
  20644. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20645. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20646. </TYPE>
  20647. <TYPE>
  20648. <NAME>Image</NAME>
  20649. <ID>120</ID>
  20650. <GUID>{1C1D09BC-2B66-4AC7-A212-0E3E93A8A38B}</GUID>
  20651. <PHNAME>Image</PHNAME>
  20652. <LLENGTH>0</LLENGTH>
  20653. <LDECIMAL>0</LDECIMAL>
  20654. <MAXLENGTH>0</MAXLENGTH>
  20655. <MINLENGTH>0</MINLENGTH>
  20656. <MAXDECIMAL>0</MAXDECIMAL>
  20657. <MINDECIMAL>0</MINDECIMAL>
  20658. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20659. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20660. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  20661. <TRANSFORMTO>PIC;LBIN;BIN;BLOB;</TRANSFORMTO>
  20662. <EXPORTTO>0</EXPORTTO>
  20663. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20664. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20665. </TYPE>
  20666. <TYPE>
  20667. <NAME>Binary</NAME>
  20668. <ID>130</ID>
  20669. <GUID>{E1B9F04C-25E5-4FD0-A1F8-0371FA4BFE60}</GUID>
  20670. <PHNAME>Binary</PHNAME>
  20671. <LLENGTH>1</LLENGTH>
  20672. <LDECIMAL>0</LDECIMAL>
  20673. <MAXLENGTH>35000</MAXLENGTH>
  20674. <MINLENGTH>1</MINLENGTH>
  20675. <MAXDECIMAL>0</MAXDECIMAL>
  20676. <MINDECIMAL>0</MINDECIMAL>
  20677. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  20678. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20679. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  20680. <TRANSFORMTO>BIN;LBIN;BLOB;</TRANSFORMTO>
  20681. <EXPORTTO>0</EXPORTTO>
  20682. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20683. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20684. </TYPE>
  20685. <TYPE>
  20686. <NAME>VarBinary</NAME>
  20687. <ID>140</ID>
  20688. <GUID>{4C98DD45-C150-42F8-9D08-6BD2C5283855}</GUID>
  20689. <PHNAME>Varbinary</PHNAME>
  20690. <LLENGTH>1</LLENGTH>
  20691. <LDECIMAL>0</LDECIMAL>
  20692. <MAXLENGTH>35000</MAXLENGTH>
  20693. <MINLENGTH>1</MINLENGTH>
  20694. <MAXDECIMAL>0</MAXDECIMAL>
  20695. <MINDECIMAL>0</MINDECIMAL>
  20696. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  20697. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20698. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  20699. <TRANSFORMTO>LBIN;BIN;BLOB;</TRANSFORMTO>
  20700. <EXPORTTO>0</EXPORTTO>
  20701. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20702. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20703. </TYPE>
  20704. <TYPE>
  20705. <NAME>Bit</NAME>
  20706. <ID>150</ID>
  20707. <GUID>{3A9E04A3-CC84-41CB-8886-BEA832048CB5}</GUID>
  20708. <PHNAME>Bit</PHNAME>
  20709. <LLENGTH>0</LLENGTH>
  20710. <LDECIMAL>0</LDECIMAL>
  20711. <MAXLENGTH>0</MAXLENGTH>
  20712. <MINLENGTH>0</MINLENGTH>
  20713. <MAXDECIMAL>0</MAXDECIMAL>
  20714. <MINDECIMAL>0</MINDECIMAL>
  20715. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20716. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20717. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  20718. <TRANSFORMTO>BIT;BL;A,1,0;</TRANSFORMTO>
  20719. <EXPORTTO>0</EXPORTTO>
  20720. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20721. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20722. </TYPE>
  20723. <TYPE>
  20724. <NAME>DateTime</NAME>
  20725. <ID>160</ID>
  20726. <GUID>{164738E1-7C4D-4BBA-9489-87FF54995A55}</GUID>
  20727. <PHNAME>Datetime</PHNAME>
  20728. <LLENGTH>0</LLENGTH>
  20729. <LDECIMAL>0</LDECIMAL>
  20730. <MAXLENGTH>0</MAXLENGTH>
  20731. <MINLENGTH>0</MINLENGTH>
  20732. <MAXDECIMAL>0</MAXDECIMAL>
  20733. <MINDECIMAL>0</MINDECIMAL>
  20734. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20735. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20736. <TRANSFORMCODE>DT</TRANSFORMCODE>
  20737. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  20738. <EXPORTTO>0</EXPORTTO>
  20739. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20740. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20741. </TYPE>
  20742. <TYPE>
  20743. <NAME>SmallDateTime</NAME>
  20744. <ID>170</ID>
  20745. <GUID>{D6CF0078-C37C-4D28-AB67-42DD01009548}</GUID>
  20746. <PHNAME>Smalldatetime</PHNAME>
  20747. <LLENGTH>0</LLENGTH>
  20748. <LDECIMAL>0</LDECIMAL>
  20749. <MAXLENGTH>0</MAXLENGTH>
  20750. <MINLENGTH>0</MINLENGTH>
  20751. <MAXDECIMAL>0</MAXDECIMAL>
  20752. <MINDECIMAL>0</MINDECIMAL>
  20753. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20754. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20755. <TRANSFORMCODE>SDT</TRANSFORMCODE>
  20756. <TRANSFORMTO>SDT;DT;D;</TRANSFORMTO>
  20757. <EXPORTTO>0</EXPORTTO>
  20758. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20759. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20760. </TYPE>
  20761. <TYPE>
  20762. <NAME>TimeStamp</NAME>
  20763. <ID>180</ID>
  20764. <GUID>{09326645-BBC0-4520-9BCA-8F00BC848AD7}</GUID>
  20765. <PHNAME>Timestamp</PHNAME>
  20766. <LLENGTH>0</LLENGTH>
  20767. <LDECIMAL>0</LDECIMAL>
  20768. <MAXLENGTH>0</MAXLENGTH>
  20769. <MINLENGTH>0</MINLENGTH>
  20770. <MAXDECIMAL>0</MAXDECIMAL>
  20771. <MINDECIMAL>0</MINDECIMAL>
  20772. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20773. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20774. <TRANSFORMCODE>TS</TRANSFORMCODE>
  20775. <TRANSFORMTO>TS;DT;</TRANSFORMTO>
  20776. <EXPORTTO>0</EXPORTTO>
  20777. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20778. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20779. </TYPE>
  20780. <TYPE>
  20781. <NAME>Empty</NAME>
  20782. <ID>200</ID>
  20783. <GUID>{66918106-3FEA-471F-944C-8E3C6E79EB29}</GUID>
  20784. <PHNAME></PHNAME>
  20785. <LLENGTH>0</LLENGTH>
  20786. <LDECIMAL>0</LDECIMAL>
  20787. <MAXLENGTH>0</MAXLENGTH>
  20788. <MINLENGTH>0</MINLENGTH>
  20789. <MAXDECIMAL>0</MAXDECIMAL>
  20790. <MINDECIMAL>0</MINDECIMAL>
  20791. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  20792. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  20793. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  20794. <TRANSFORMTO>EMP;</TRANSFORMTO>
  20795. <EXPORTTO>0</EXPORTTO>
  20796. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  20797. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  20798. </TYPE>
  20799. </TYPELIST>
  20800. <TEXTOBJECTTYPES>
  20801. </TEXTOBJECTTYPES>
  20802. <DISABLED>0</DISABLED>
  20803. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  20804. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  20805. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  20806. <DEFAULTCHAR>_</DEFAULTCHAR>
  20807. <INVALIDCHARACTERS>!"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  20808. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  20809. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  20810. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  20811. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  20812. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20813. <KEYWORDS><![CDATA[]]></KEYWORDS>
  20814. </SERVER>
  20815. <SERVER>
  20816. <NAME>MS SQL 7</NAME>
  20817. <ID>60</ID>
  20818. <GUID>{0F5EB4DF-E7EA-4407-8441-5DC03EC9B7C5}</GUID>
  20819. <TEMPLATES>
  20820. <TEMPLATE>
  20821. <NAME>CreateDatabase</NAME>
  20822. <ID>1</ID>
  20823. <GUID>{4FE5A9EC-29E8-4A8B-811B-7D645B60E823}</GUID>
  20824. <CAPTION></CAPTION>
  20825. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  20826. <ENABLED>1</ENABLED>
  20827. <LEVEL>2</LEVEL>
  20828. <IDPARENT>0</IDPARENT>
  20829. <VALUE><![CDATA[/*
  20830. Created        %createddate%
  20831. Modified        %modifieddate%
  20832. Project        %projectname%
  20833. Model        %modelname%
  20834. Company        %company%
  20835. Author        %authorname%
  20836. Version        %version%
  20837. Database        %databasetype% 
  20838. */
  20839.  
  20840. {lbeforescript}
  20841. %beforescript%
  20842. {ldroptriggerGener}
  20843. @showmessage("Drop triggers")
  20844. @template(droptriggers)
  20845. {lDropTriggersListGener}
  20846. @template(DropTriggersList)
  20847. {lDropProceduresGener}
  20848. @template(DropProcedures)
  20849. {lDropViewsGener}
  20850. @template(DropViews)
  20851. {lDropIndexGener}
  20852. @template(DropIndexs)
  20853. {lDropTableGener}
  20854. @showmessage("Drop tables")
  20855. @template(DropRefIntegritys)
  20856. @template(DropTables)
  20857. {lDropDomainGener}
  20858. @showmessage("Drop domains")
  20859. @template(DropDomains)
  20860. {lDomainGener}
  20861. @showmessage("Create domains")
  20862. @template(CreateDomains)
  20863. {lTableGener}
  20864. @showmessage("Create tables")
  20865. @template(CreateTables)
  20866. {lEntityOthers}
  20867. @showmessage("Create tab 'Others' for selected tables")
  20868. @template(CreateTableOthers)
  20869. {lAlterKeysGener}
  20870. @template(CreateAlterKeys)
  20871. {lIndexGener}
  20872. @showmessage("Create indexes")
  20873. @template(CreateIndexs)
  20874. {lRefIntegGener}
  20875. @template(RefIntegritys)
  20876. {true}
  20877. Set quoted_identifier on
  20878. go
  20879.  
  20880. {lProceduresGener}
  20881. @template(CreateProcedures)
  20882. {lViewsGener}
  20883. @template(CreateViews)
  20884. {lTriggersGener}
  20885. @template(CreateTriggers)
  20886. {lTriggersUserGener}
  20887. @template(CreateTriggersList)
  20888. {true}
  20889. Set quoted_identifier off
  20890. go
  20891.  
  20892. {lRoleGener}
  20893. @showmessage("Role")
  20894. @template(CreateRole)
  20895. {lUserToRoleGener}
  20896. @ShowMessage("Users permissions to roles")
  20897. @template(GrantUserToRole)
  20898. {lRolePermissGener}
  20899. @ShowMessage("Roles permissions")
  20900. @template(CreateRolePermiss)
  20901. {lUserPermissGener}
  20902. @ShowMessage("Users permissions")
  20903. @template(CreateUserPermiss)
  20904. {lafterscript}
  20905. %afterscript%
  20906. {true}
  20907. @template(UserTempl)
  20908. ]]></VALUE>
  20909. <LANGUAGE>0</LANGUAGE>
  20910. <LANGUAGEWIN>---</LANGUAGEWIN>
  20911. <CATEGORY>2</CATEGORY>
  20912. <MAINSCRIPT>0</MAINSCRIPT>
  20913. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20914. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20915. <AUTHOR></AUTHOR>
  20916. <COMPANY></COMPANY>
  20917. <VERSION></VERSION>
  20918. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  20919. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  20920. </TEMPLATE>
  20921. <TEMPLATE>
  20922. <NAME>CreateTable</NAME>
  20923. <ID>2</ID>
  20924. <GUID>{CD469DF4-C5B5-4ED6-A193-47086A0DD447}</GUID>
  20925. <CAPTION></CAPTION>
  20926. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  20927. <ENABLED>1</ENABLED>
  20928. <LEVEL>2</LEVEL>
  20929. <IDPARENT>0</IDPARENT>
  20930. <VALUE><![CDATA[cr+
  20931. "Create table "+macro(GenerateOwner)+"[%tablename%] ("+
  20932. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAttrib2),macro(CreateAttrib)) , ",", "")+
  20933. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint [%ConstraintPkName%] ","")+"Primary Key "+if(lPkNonClustered,"nonclustered ","")+" ("+forpkcol("", "", "["+ColName+"]", ",", ")"+cr) , cr )+
  20934. ") "+tablestorage+"%cr%go"+cr+showmessage("Table %tablename%")+
  20935. forcol("","",if(AtrIsDict,"",iff(Column.DataTypeId=0,macro(BindObjToUTypes),macro(BindObjToColumns))),"","")
  20936. ]]></VALUE>
  20937. <LANGUAGE>0</LANGUAGE>
  20938. <LANGUAGEWIN>---</LANGUAGEWIN>
  20939. <CATEGORY>2</CATEGORY>
  20940. <MAINSCRIPT>0</MAINSCRIPT>
  20941. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20942. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20943. <AUTHOR></AUTHOR>
  20944. <COMPANY></COMPANY>
  20945. <VERSION></VERSION>
  20946. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  20947. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  20948. </TEMPLATE>
  20949. <TEMPLATE>
  20950. <NAME>CreateIndex</NAME>
  20951. <ID>3</ID>
  20952. <GUID>{AA46AA86-4922-4A25-B50E-C56CF7BA6C68}</GUID>
  20953. <CAPTION></CAPTION>
  20954. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  20955. <ENABLED>1</ENABLED>
  20956. <LEVEL>2</LEVEL>
  20957. <IDPARENT>0</IDPARENT>
  20958. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  20959. +if(clustered,"CLUSTERED ","")
  20960. +"Index [%Indexname%]  ON "+macro(GenerateOwner)+"[%tablename%] ("+ForIndexCol("","","["+colname+"] "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+"%cr%go")+cr
  20961. +ShowMessage("Index %Indexname% for table %tablename%")
  20962. ]]></VALUE>
  20963. <LANGUAGE>0</LANGUAGE>
  20964. <LANGUAGEWIN>---</LANGUAGEWIN>
  20965. <CATEGORY>2</CATEGORY>
  20966. <MAINSCRIPT>0</MAINSCRIPT>
  20967. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20968. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20969. <AUTHOR></AUTHOR>
  20970. <COMPANY></COMPANY>
  20971. <VERSION></VERSION>
  20972. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  20973. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  20974. </TEMPLATE>
  20975. <TEMPLATE>
  20976. <NAME>RefIntegrity</NAME>
  20977. <ID>4</ID>
  20978. <GUID>{A14A04B1-8FCD-47E5-8678-EF7089349B47}</GUID>
  20979. <CAPTION></CAPTION>
  20980. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  20981. <ENABLED>1</ENABLED>
  20982. <LEVEL>2</LEVEL>
  20983. <IDPARENT>0</IDPARENT>
  20984. <VALUE><![CDATA[{lRelAnyDekl} 
  20985. Alter table @macro(GenerateOwner)[%childtablename%] add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint [%frelname%]","") foreign key(@ForRelPk("","","["+PkChildName+"]",",","")) references [%parenttablename%] (@ForRelPk("","","["+PkParentName+"]",",","")) %cr%go
  20986. ]]></VALUE>
  20987. <LANGUAGE>0</LANGUAGE>
  20988. <LANGUAGEWIN>---</LANGUAGEWIN>
  20989. <CATEGORY>2</CATEGORY>
  20990. <MAINSCRIPT>0</MAINSCRIPT>
  20991. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  20992. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  20993. <AUTHOR></AUTHOR>
  20994. <COMPANY></COMPANY>
  20995. <VERSION></VERSION>
  20996. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  20997. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  20998. </TEMPLATE>
  20999. <TEMPLATE>
  21000. <NAME>DropIndexs</NAME>
  21001. <ID>5</ID>
  21002. <GUID>{F30C6618-ACA9-4707-AFE4-26D2064B8612}</GUID>
  21003. <CAPTION></CAPTION>
  21004. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21005. <ENABLED>1</ENABLED>
  21006. <LEVEL>2</LEVEL>
  21007. <IDPARENT>0</IDPARENT>
  21008. <VALUE><![CDATA[@ForTable("","",ForIndex("", "", "Drop index "+macro(GenerateOwner)+"[%tablename%].[%indexname%] %cr%go %cr%", "", "" ),"","")
  21009. ]]></VALUE>
  21010. <LANGUAGE>0</LANGUAGE>
  21011. <LANGUAGEWIN>---</LANGUAGEWIN>
  21012. <CATEGORY>2</CATEGORY>
  21013. <MAINSCRIPT>0</MAINSCRIPT>
  21014. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21015. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21016. <AUTHOR></AUTHOR>
  21017. <COMPANY></COMPANY>
  21018. <VERSION></VERSION>
  21019. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21020. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21021. </TEMPLATE>
  21022. <TEMPLATE>
  21023. <NAME>DropTables</NAME>
  21024. <ID>6</ID>
  21025. <GUID>{1FE510E9-089F-4BC6-B195-DDAB5F3D20B4}</GUID>
  21026. <CAPTION></CAPTION>
  21027. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21028. <ENABLED>1</ENABLED>
  21029. <LEVEL>2</LEVEL>
  21030. <IDPARENT>0</IDPARENT>
  21031. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table "+macro(GenerateOwner)+"[%tablename%] %cr%go%cr%", "", "" )
  21032. ]]></VALUE>
  21033. <LANGUAGE>0</LANGUAGE>
  21034. <LANGUAGEWIN>---</LANGUAGEWIN>
  21035. <CATEGORY>2</CATEGORY>
  21036. <MAINSCRIPT>0</MAINSCRIPT>
  21037. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21038. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21039. <AUTHOR></AUTHOR>
  21040. <COMPANY></COMPANY>
  21041. <VERSION></VERSION>
  21042. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21043. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21044. </TEMPLATE>
  21045. <TEMPLATE>
  21046. <NAME>CreateTriggerUpdate</NAME>
  21047. <ID>7</ID>
  21048. <GUID>{8A1F6B36-B719-4F68-8679-B9338D48DCA1}</GUID>
  21049. <CAPTION></CAPTION>
  21050. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21051. <ENABLED>1</ENABLED>
  21052. <LEVEL>2</LEVEL>
  21053. <IDPARENT>0</IDPARENT>
  21054. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  21055. @showmessage("Trigger for %tablename% ")
  21056. /* Update trigger for %tablename% */
  21057. Create trigger @macro(GenerateOwner)[tu_%tablename%] on @macro(GenerateOwner)[%tablename%] for update as
  21058. begin
  21059.     declare %c1%numrows integer
  21060.  
  21061.     select %c1%numrows = %c1%%c1%rowcount
  21062.     if %c1%numrows = 0
  21063.     return
  21064.  
  21065.     @forchild( "", "", template(triggerparentupdate), "", "" ) 
  21066.     @forparent("", "", template(triggerchildupdate), "", "" )
  21067. end
  21068. go
  21069. ]]></VALUE>
  21070. <LANGUAGE>0</LANGUAGE>
  21071. <LANGUAGEWIN>---</LANGUAGEWIN>
  21072. <CATEGORY>2</CATEGORY>
  21073. <MAINSCRIPT>0</MAINSCRIPT>
  21074. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21075. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21076. <AUTHOR></AUTHOR>
  21077. <COMPANY></COMPANY>
  21078. <VERSION></VERSION>
  21079. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21080. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21081. </TEMPLATE>
  21082. <TEMPLATE>
  21083. <NAME>CreateTriggerInsert</NAME>
  21084. <ID>8</ID>
  21085. <GUID>{16CEAF2D-F12E-4EBA-A922-3939287A0CDA}</GUID>
  21086. <CAPTION></CAPTION>
  21087. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21088. <ENABLED>1</ENABLED>
  21089. <LEVEL>2</LEVEL>
  21090. <IDPARENT>0</IDPARENT>
  21091. <VALUE><![CDATA[{lEntChildInsTrig  }
  21092. @showmessage("Trigger for %tablename% ")
  21093. /* Insert trigger for %tablename% */
  21094. Create trigger @macro(GenerateOwner)[ti_%tablename%] on @macro(GenerateOwner)[%tablename%] for insert as
  21095. begin
  21096.     declare %c1%numrows integer
  21097.  
  21098.     select %c1%numrows = %c1%%c1%rowcount
  21099.     if %c1%numrows = 0
  21100.     return
  21101.  
  21102.     @forparent("", "", template(TriggerParentInsert), "", "")
  21103. end
  21104. go
  21105. ]]></VALUE>
  21106. <LANGUAGE>0</LANGUAGE>
  21107. <LANGUAGEWIN>---</LANGUAGEWIN>
  21108. <CATEGORY>2</CATEGORY>
  21109. <MAINSCRIPT>0</MAINSCRIPT>
  21110. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21111. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21112. <AUTHOR></AUTHOR>
  21113. <COMPANY></COMPANY>
  21114. <VERSION></VERSION>
  21115. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21116. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21117. </TEMPLATE>
  21118. <TEMPLATE>
  21119. <NAME>CreateTriggerDelete</NAME>
  21120. <ID>9</ID>
  21121. <GUID>{13E0E9C7-C56F-4270-BC8A-97B257ABADD6}</GUID>
  21122. <CAPTION></CAPTION>
  21123. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21124. <ENABLED>1</ENABLED>
  21125. <LEVEL>2</LEVEL>
  21126. <IDPARENT>0</IDPARENT>
  21127. <VALUE><![CDATA[{lEntParDelTrig}
  21128. @showmessage("Trigger for %tablename% ")
  21129. /* Delete trigger for %tablename% */
  21130. Create trigger @macro(GenerateOwner)[td_%tablename%] on @macro(GenerateOwner)[%tablename%] for delete as
  21131. begin
  21132.     declare %c1%numrows integer
  21133.  
  21134.     select %c1%numrows = %c1%%c1%rowcount
  21135.     if %c1%numrows = 0
  21136.     return
  21137.  
  21138.     @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  21139. end
  21140. go
  21141. ]]></VALUE>
  21142. <LANGUAGE>0</LANGUAGE>
  21143. <LANGUAGEWIN>---</LANGUAGEWIN>
  21144. <CATEGORY>2</CATEGORY>
  21145. <MAINSCRIPT>0</MAINSCRIPT>
  21146. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21147. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21148. <AUTHOR></AUTHOR>
  21149. <COMPANY></COMPANY>
  21150. <VERSION></VERSION>
  21151. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21152. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21153. </TEMPLATE>
  21154. <TEMPLATE>
  21155. <NAME>TriggerParentUpdate</NAME>
  21156. <ID>10</ID>
  21157. <GUID>{AE3D74CA-66A8-4881-9102-FBE83E631DB6}</GUID>
  21158. <CAPTION></CAPTION>
  21159. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21160. <ENABLED>1</ENABLED>
  21161. <LEVEL>2</LEVEL>
  21162. <IDPARENT>0</IDPARENT>
  21163. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  21164. /* cascade child %childtablename% update when parent %parenttablename% changed */
  21165.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","")
  21166.     begin
  21167.         update @macro(ChildTableOwner)[%childtablename%]
  21168.         set @ForRelPk( tb , tb , "[%PkChildName%] = i.[%PkParentName%]" , ",%cr%" , "")
  21169.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  21170.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  21171.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr%%tb% ", ")" )
  21172.     end
  21173. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  21174. /* cascade setnull when parent changed */
  21175.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","") 
  21176.     begin
  21177.         update @macro(ChildTableOwner)[%childtablename%]
  21178.         set @ForRelPk( tb , tb , "[%PkChildName%] = NULL" , ",%cr%" , "")
  21179.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  21180.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  21181.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr% ", ")" ) 
  21182.     end
  21183. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  21184. /* cascade setdefault when parent changed */
  21185.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","") 
  21186.     begin
  21187.         update @macro(ChildTableOwner)[%childtablename%]
  21188.         set @ForRelPk( tb , tb , "[%PkChildName%] = [%PkChildDefaultValue%]" , ",%cr%" , "")
  21189.         from @macro(ChildTableOwner)[%childtablename%] t, inserted i, deleted d
  21190.         where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "") 
  21191.         and    @ForRelPk("(", "", "i.[%PkParentName%] != d.[%PkParentName%]", " OR%cr% ", ")" ) 
  21192.     end
  21193. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  21194. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  21195.     if @forrelpk("", "", "Update([%PkParentName%])"," OR%cr% ","")
  21196.     begin
  21197.         if ((select count( * ) 
  21198.         from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  21199.         where @forrelpk( "", "", "t.[%PkChildName%] = d.[%PkParentName%]", " AND "+cr+tb, "" ) ) != 0)
  21200.         begin
  21201.             raiserror 30001 'Children still exist in child table'
  21202.             rollback transaction
  21203.         end
  21204.     end
  21205. ]]></VALUE>
  21206. <LANGUAGE>0</LANGUAGE>
  21207. <LANGUAGEWIN>---</LANGUAGEWIN>
  21208. <CATEGORY>2</CATEGORY>
  21209. <MAINSCRIPT>0</MAINSCRIPT>
  21210. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21211. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21212. <AUTHOR></AUTHOR>
  21213. <COMPANY></COMPANY>
  21214. <VERSION></VERSION>
  21215. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21216. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21217. </TEMPLATE>
  21218. <TEMPLATE>
  21219. <NAME>TriggerChildUpdate</NAME>
  21220. <ID>11</ID>
  21221. <GUID>{5F843130-4F8B-4271-96CC-95363C0EE39D}</GUID>
  21222. <CAPTION></CAPTION>
  21223. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21224. <ENABLED>1</ENABLED>
  21225. <LEVEL>2</LEVEL>
  21226. <IDPARENT>0</IDPARENT>
  21227. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  21228. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  21229.     if @forrelpk("", "", "Update([%PkChildName%])"," OR%cr% ","")
  21230.     begin
  21231.         if ((select count( * ) 
  21232.         from @macro(ParentTableOwner)[%ParentTableName%] t, inserted i
  21233.         where @forrelpk( "", "", "t.[%PkParentName%] = i.[%PkChildName%]", " AND "+cr, "" ) ) != %c1%numrows)
  21234.         begin
  21235.             raiserror  30002 'Parent does not exist. Cannot update child'
  21236.             rollback transaction
  21237.         end
  21238.     end
  21239. ]]></VALUE>
  21240. <LANGUAGE>0</LANGUAGE>
  21241. <LANGUAGEWIN>---</LANGUAGEWIN>
  21242. <CATEGORY>2</CATEGORY>
  21243. <MAINSCRIPT>0</MAINSCRIPT>
  21244. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21245. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21246. <AUTHOR></AUTHOR>
  21247. <COMPANY></COMPANY>
  21248. <VERSION></VERSION>
  21249. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21250. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21251. </TEMPLATE>
  21252. <TEMPLATE>
  21253. <NAME>TriggerParentDelete</NAME>
  21254. <ID>12</ID>
  21255. <GUID>{2CA7CAEF-9C09-4D12-BE7F-74763250747A}</GUID>
  21256. <CAPTION></CAPTION>
  21257. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21258. <ENABLED>1</ENABLED>
  21259. <LEVEL>2</LEVEL>
  21260. <IDPARENT>0</IDPARENT>
  21261. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  21262. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  21263.      delete @macro(ChildTableOwner)[%childtablename%] from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  21264.     where @ForRelPk( tb , tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND %cr%", "")
  21265. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  21266. /* cascade setnull when parent deleted */
  21267.      update @macro(ChildTableOwner)[%childtablename%]
  21268.     set @ForRelPk( tb , tb+tb , "[%PkChildName%] = NULL" , ",%cr%" , "")
  21269.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  21270.     where @ForRelPk( tb , tb+tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND "+cr, "")
  21271. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  21272. /* cascade setnull when parent deleted */
  21273.      update @macro(ChildTableOwner)[%childtablename%]
  21274.     set @ForRelPk( tb , tb+tb , "[%PkChildName%] = [%PkChildDefaultValue%]" , ",%cr%" , "")
  21275.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  21276.     where @ForRelPk( tb , tb+tb , "t.[%PkChildName%] = d.[%PkParentName%]" , " AND "+cr, "")
  21277. {ParDelRestrict and (not lParDelRestDekl)} 
  21278. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  21279.     if ((select count( * ) 
  21280.     from @macro(ChildTableOwner)[%childtablename%] t, deleted d
  21281.     where @forrelpk( "", "", "t.[%PkChildName%] = d.[%PkParentName%]", " AND "+cr+tb, "" ) ) != 0)
  21282.      begin
  21283.         raiserror  30003 'Children still exist in child table. Cannot delete parent'
  21284.         rollback transaction
  21285.     end
  21286. ]]></VALUE>
  21287. <LANGUAGE>0</LANGUAGE>
  21288. <LANGUAGEWIN>---</LANGUAGEWIN>
  21289. <CATEGORY>2</CATEGORY>
  21290. <MAINSCRIPT>0</MAINSCRIPT>
  21291. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21292. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21293. <AUTHOR></AUTHOR>
  21294. <COMPANY></COMPANY>
  21295. <VERSION></VERSION>
  21296. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21297. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21298. </TEMPLATE>
  21299. <TEMPLATE>
  21300. <NAME>TriggerParentInsert</NAME>
  21301. <ID>13</ID>
  21302. <GUID>{41AEA337-6953-418E-AB1E-3E2E8026CE7C}</GUID>
  21303. <CAPTION></CAPTION>
  21304. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21305. <ENABLED>1</ENABLED>
  21306. <LEVEL>2</LEVEL>
  21307. <IDPARENT>0</IDPARENT>
  21308. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  21309. /* restrict child %childtablename% when parent %parenttablename% insert */
  21310.     if @forrelpk("", "", "Update([%PkChildName%])"," OR%cr% ","")
  21311.     begin
  21312.         if ((select count( * ) 
  21313.         from @macro(ParentTableOwner)[%ParentTableName%] t, inserted i
  21314.         where @forrelpk( "", "", "t.[%PkParentName%] = i.[%PkChildName%]", " AND "+cr, "" ) ) != %c1%numrows)
  21315.         begin
  21316.             raiserror  30004 'Parent does not exist. Cannot insert child'
  21317.             rollback transaction
  21318.         end
  21319.     end
  21320. ]]></VALUE>
  21321. <LANGUAGE>0</LANGUAGE>
  21322. <LANGUAGEWIN>---</LANGUAGEWIN>
  21323. <CATEGORY>2</CATEGORY>
  21324. <MAINSCRIPT>0</MAINSCRIPT>
  21325. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21326. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21327. <AUTHOR></AUTHOR>
  21328. <COMPANY></COMPANY>
  21329. <VERSION></VERSION>
  21330. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21331. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21332. </TEMPLATE>
  21333. <TEMPLATE>
  21334. <NAME>CreateAlterKey</NAME>
  21335. <ID>14</ID>
  21336. <GUID>{03D71629-4819-4AC4-9210-CC47877EB3B5}</GUID>
  21337. <CAPTION></CAPTION>
  21338. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21339. <ENABLED>1</ENABLED>
  21340. <LEVEL>2</LEVEL>
  21341. <IDPARENT>0</IDPARENT>
  21342. <VALUE><![CDATA[@ForAlterKey("","","Alter table "+macro(GenerateOwner)+"[%TableName%] add constraint "+macro(GenerateOwner)+"[%AlterKeyConstraintName%] unique ("+ForAlterKeyCol("","","["+ColName+"]",",","")+")%cr%go%cr%","","")
  21343. ]]></VALUE>
  21344. <LANGUAGE>0</LANGUAGE>
  21345. <LANGUAGEWIN>---</LANGUAGEWIN>
  21346. <CATEGORY>2</CATEGORY>
  21347. <MAINSCRIPT>0</MAINSCRIPT>
  21348. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21349. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21350. <AUTHOR></AUTHOR>
  21351. <COMPANY></COMPANY>
  21352. <VERSION></VERSION>
  21353. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21354. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21355. </TEMPLATE>
  21356. <TEMPLATE>
  21357. <NAME>DropTriggerUpdate</NAME>
  21358. <ID>15</ID>
  21359. <GUID>{B29EA392-FA67-4219-9785-A25E56776539}</GUID>
  21360. <CAPTION></CAPTION>
  21361. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21362. <ENABLED>1</ENABLED>
  21363. <LEVEL>2</LEVEL>
  21364. <IDPARENT>0</IDPARENT>
  21365. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  21366. drop trigger @macro(GenerateOwner)[tu_%tablename%]
  21367. go
  21368. ]]></VALUE>
  21369. <LANGUAGE>0</LANGUAGE>
  21370. <LANGUAGEWIN>---</LANGUAGEWIN>
  21371. <CATEGORY>2</CATEGORY>
  21372. <MAINSCRIPT>0</MAINSCRIPT>
  21373. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21374. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21375. <AUTHOR></AUTHOR>
  21376. <COMPANY></COMPANY>
  21377. <VERSION></VERSION>
  21378. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21379. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21380. </TEMPLATE>
  21381. <TEMPLATE>
  21382. <NAME>DropTriggerDelete</NAME>
  21383. <ID>16</ID>
  21384. <GUID>{C623543A-0BC4-44A4-85B1-FADD7C316300}</GUID>
  21385. <CAPTION></CAPTION>
  21386. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21387. <ENABLED>1</ENABLED>
  21388. <LEVEL>2</LEVEL>
  21389. <IDPARENT>0</IDPARENT>
  21390. <VALUE><![CDATA[{lEntParDelTrig}
  21391. Drop trigger @macro(GenerateOwner)[td_%tablename%]
  21392. go
  21393. ]]></VALUE>
  21394. <LANGUAGE>0</LANGUAGE>
  21395. <LANGUAGEWIN>---</LANGUAGEWIN>
  21396. <CATEGORY>2</CATEGORY>
  21397. <MAINSCRIPT>0</MAINSCRIPT>
  21398. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21399. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21400. <AUTHOR></AUTHOR>
  21401. <COMPANY></COMPANY>
  21402. <VERSION></VERSION>
  21403. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21404. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21405. </TEMPLATE>
  21406. <TEMPLATE>
  21407. <NAME>DropTriggerInsert</NAME>
  21408. <ID>17</ID>
  21409. <GUID>{29E52D51-B2F2-47B2-BF9C-BFAB132B4B1D}</GUID>
  21410. <CAPTION></CAPTION>
  21411. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21412. <ENABLED>1</ENABLED>
  21413. <LEVEL>2</LEVEL>
  21414. <IDPARENT>0</IDPARENT>
  21415. <VALUE><![CDATA[{lEntChildInsTrig  }
  21416. Drop trigger @macro(GenerateOwner)[ti_%tablename%]
  21417. go
  21418. ]]></VALUE>
  21419. <LANGUAGE>0</LANGUAGE>
  21420. <LANGUAGEWIN>---</LANGUAGEWIN>
  21421. <CATEGORY>2</CATEGORY>
  21422. <MAINSCRIPT>0</MAINSCRIPT>
  21423. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21424. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21425. <AUTHOR></AUTHOR>
  21426. <COMPANY></COMPANY>
  21427. <VERSION></VERSION>
  21428. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21429. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21430. </TEMPLATE>
  21431. <TEMPLATE>
  21432. <NAME>DropRefIntegritys</NAME>
  21433. <ID>18</ID>
  21434. <GUID>{0E3311D2-48EA-40F3-B9A9-6C8B7803A80C}</GUID>
  21435. <CAPTION></CAPTION>
  21436. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21437. <ENABLED>1</ENABLED>
  21438. <LEVEL>2</LEVEL>
  21439. <IDPARENT>0</IDPARENT>
  21440. <VALUE><![CDATA[{lFkAsConstraint}
  21441. @ForTable("", "", ForChild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  21442. ]]></VALUE>
  21443. <LANGUAGE>0</LANGUAGE>
  21444. <LANGUAGEWIN>---</LANGUAGEWIN>
  21445. <CATEGORY>2</CATEGORY>
  21446. <MAINSCRIPT>0</MAINSCRIPT>
  21447. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21448. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21449. <AUTHOR></AUTHOR>
  21450. <COMPANY></COMPANY>
  21451. <VERSION></VERSION>
  21452. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21453. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21454. </TEMPLATE>
  21455. <TEMPLATE>
  21456. <NAME>DropRefIntegrity</NAME>
  21457. <ID>19</ID>
  21458. <GUID>{A44F911F-A5CC-4712-BD8D-7C987C5DE60A}</GUID>
  21459. <CAPTION></CAPTION>
  21460. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21461. <ENABLED>1</ENABLED>
  21462. <LEVEL>2</LEVEL>
  21463. <IDPARENT>0</IDPARENT>
  21464. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  21465. Alter table @macro(GenerateOwner)[%childtablename%] drop constraint @macro(GenerateOwner)[%frelname%]
  21466. go
  21467. ]]></VALUE>
  21468. <LANGUAGE>0</LANGUAGE>
  21469. <LANGUAGEWIN>---</LANGUAGEWIN>
  21470. <CATEGORY>2</CATEGORY>
  21471. <MAINSCRIPT>0</MAINSCRIPT>
  21472. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21473. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21474. <AUTHOR></AUTHOR>
  21475. <COMPANY></COMPANY>
  21476. <VERSION></VERSION>
  21477. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21478. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21479. </TEMPLATE>
  21480. <TEMPLATE>
  21481. <NAME>CreateRole</NAME>
  21482. <ID>20</ID>
  21483. <GUID>{7029B703-6243-472B-BAC6-F3D7FA82F516}</GUID>
  21484. <CAPTION></CAPTION>
  21485. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21486. <ENABLED>1</ENABLED>
  21487. <LEVEL>2</LEVEL>
  21488. <IDPARENT>0</IDPARENT>
  21489. <VALUE><![CDATA[@ForRole("","",if(lRole,"sp_AddRole [%RoleName%]%cr%go%cr%",""),"","")
  21490. ]]></VALUE>
  21491. <LANGUAGE>0</LANGUAGE>
  21492. <LANGUAGEWIN>---</LANGUAGEWIN>
  21493. <CATEGORY>2</CATEGORY>
  21494. <MAINSCRIPT>0</MAINSCRIPT>
  21495. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21496. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21497. <AUTHOR></AUTHOR>
  21498. <COMPANY></COMPANY>
  21499. <VERSION></VERSION>
  21500. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21501. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21502. </TEMPLATE>
  21503. <TEMPLATE>
  21504. <NAME>GrantUserToRole</NAME>
  21505. <ID>21</ID>
  21506. <GUID>{B14C7B96-27F2-4B2A-AB94-299273442D03}</GUID>
  21507. <CAPTION></CAPTION>
  21508. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21509. <ENABLED>1</ENABLED>
  21510. <LEVEL>2</LEVEL>
  21511. <IDPARENT>0</IDPARENT>
  21512. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("sp_AddRoleMember [%rolename%] [%username%]%cr%go%cr%"),"",""),"","")
  21513. ]]></VALUE>
  21514. <LANGUAGE>0</LANGUAGE>
  21515. <LANGUAGEWIN>---</LANGUAGEWIN>
  21516. <CATEGORY>2</CATEGORY>
  21517. <MAINSCRIPT>0</MAINSCRIPT>
  21518. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21519. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21520. <AUTHOR></AUTHOR>
  21521. <COMPANY></COMPANY>
  21522. <VERSION></VERSION>
  21523. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21524. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21525. </TEMPLATE>
  21526. <TEMPLATE>
  21527. <NAME>CreateTablePermiss</NAME>
  21528. <ID>22</ID>
  21529. <GUID>{464D8086-20E0-44C9-8541-73C5ABDA0C6C}</GUID>
  21530. <CAPTION></CAPTION>
  21531. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21532. <ENABLED>1</ENABLED>
  21533. <LEVEL>2</LEVEL>
  21534. <IDPARENT>0</IDPARENT>
  21535. <VALUE><![CDATA[if(lPermissSelect,"Grant select on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21536. if(lPermissUpdate,"Grant update on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21537. if(lPermissDelete,"Grant delete on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21538. if(lPermissInsert,"Grant insert on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21539. if(lPermissDRI,"Grant references on "+macro(GenerateOwner)+"[%TableName%] to [%UserOrRoleName%]%cr%go%cr%","")
  21540. ]]></VALUE>
  21541. <LANGUAGE>0</LANGUAGE>
  21542. <LANGUAGEWIN>---</LANGUAGEWIN>
  21543. <CATEGORY>2</CATEGORY>
  21544. <MAINSCRIPT>0</MAINSCRIPT>
  21545. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21546. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21547. <AUTHOR></AUTHOR>
  21548. <COMPANY></COMPANY>
  21549. <VERSION></VERSION>
  21550. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21551. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21552. </TEMPLATE>
  21553. <TEMPLATE>
  21554. <NAME>CreateViewPermiss</NAME>
  21555. <ID>23</ID>
  21556. <GUID>{8FCA5C5E-5641-4D9F-B32B-BE2790FD1526}</GUID>
  21557. <CAPTION></CAPTION>
  21558. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21559. <ENABLED>1</ENABLED>
  21560. <LEVEL>2</LEVEL>
  21561. <IDPARENT>0</IDPARENT>
  21562. <VALUE><![CDATA[if(lPermissSelect,"Grant select on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21563. if(lPermissUpdate,"Grant update on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21564. if(lPermissDelete,"Grant delete on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")+
  21565. if(lPermissInsert,"Grant insert on [%ViewName%] to [%UserOrRoleName%]%cr%go%cr%","")
  21566. ]]></VALUE>
  21567. <LANGUAGE>0</LANGUAGE>
  21568. <LANGUAGEWIN>---</LANGUAGEWIN>
  21569. <CATEGORY>2</CATEGORY>
  21570. <MAINSCRIPT>0</MAINSCRIPT>
  21571. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21572. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21573. <AUTHOR></AUTHOR>
  21574. <COMPANY></COMPANY>
  21575. <VERSION></VERSION>
  21576. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21577. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21578. </TEMPLATE>
  21579. <TEMPLATE>
  21580. <NAME>CreateProcedurePermiss</NAME>
  21581. <ID>24</ID>
  21582. <GUID>{37767FE1-ACA7-4A0E-BD0E-664B756E281A}</GUID>
  21583. <CAPTION></CAPTION>
  21584. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21585. <ENABLED>1</ENABLED>
  21586. <LEVEL>2</LEVEL>
  21587. <IDPARENT>0</IDPARENT>
  21588. <VALUE><![CDATA[if(lPermissExec,"Grant exec on [%ProcedureName%] to [%UserOrRoleName%]%cr%go%cr%","")
  21589. ]]></VALUE>
  21590. <LANGUAGE>0</LANGUAGE>
  21591. <LANGUAGEWIN>---</LANGUAGEWIN>
  21592. <CATEGORY>2</CATEGORY>
  21593. <MAINSCRIPT>0</MAINSCRIPT>
  21594. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21595. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21596. <AUTHOR></AUTHOR>
  21597. <COMPANY></COMPANY>
  21598. <VERSION></VERSION>
  21599. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21600. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21601. </TEMPLATE>
  21602. <TEMPLATE>
  21603. <NAME>DropProcedures</NAME>
  21604. <ID>25</ID>
  21605. <GUID>{753F060D-EB87-4225-9C26-EC2FC83F367C}</GUID>
  21606. <CAPTION></CAPTION>
  21607. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21608. <ENABLED>1</ENABLED>
  21609. <LEVEL>2</LEVEL>
  21610. <IDPARENT>0</IDPARENT>
  21611. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure [%ProcedureName%]%cr%go%cr%","","")
  21612. ]]></VALUE>
  21613. <LANGUAGE>0</LANGUAGE>
  21614. <LANGUAGEWIN>---</LANGUAGEWIN>
  21615. <CATEGORY>2</CATEGORY>
  21616. <MAINSCRIPT>0</MAINSCRIPT>
  21617. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21618. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21619. <AUTHOR></AUTHOR>
  21620. <COMPANY></COMPANY>
  21621. <VERSION></VERSION>
  21622. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21623. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21624. </TEMPLATE>
  21625. <TEMPLATE>
  21626. <NAME>DropViews</NAME>
  21627. <ID>26</ID>
  21628. <GUID>{7A032D87-7D2E-4F45-8AF9-453EDBB8C8E1}</GUID>
  21629. <CAPTION></CAPTION>
  21630. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21631. <ENABLED>1</ENABLED>
  21632. <LEVEL>2</LEVEL>
  21633. <IDPARENT>0</IDPARENT>
  21634. <VALUE><![CDATA[@ForViewR("","","Drop view [%ViewName%]%cr%go%cr%","","")
  21635. ]]></VALUE>
  21636. <LANGUAGE>0</LANGUAGE>
  21637. <LANGUAGEWIN>---</LANGUAGEWIN>
  21638. <CATEGORY>2</CATEGORY>
  21639. <MAINSCRIPT>0</MAINSCRIPT>
  21640. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21641. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21642. <AUTHOR></AUTHOR>
  21643. <COMPANY></COMPANY>
  21644. <VERSION></VERSION>
  21645. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21646. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21647. </TEMPLATE>
  21648. <TEMPLATE>
  21649. <NAME>DropTriggersList</NAME>
  21650. <ID>27</ID>
  21651. <GUID>{2E9CAF46-153E-4B4B-BC20-9C3574FC588E}</GUID>
  21652. <CAPTION></CAPTION>
  21653. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21654. <ENABLED>1</ENABLED>
  21655. <LEVEL>2</LEVEL>
  21656. <IDPARENT>0</IDPARENT>
  21657. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger [%TriggerName%]%cr%go%cr%","",""),"","")
  21658. @ForTriggerR("","","Drop trigger [%TriggerName%]%cr%go%cr%","","")
  21659. ]]></VALUE>
  21660. <LANGUAGE>0</LANGUAGE>
  21661. <LANGUAGEWIN>---</LANGUAGEWIN>
  21662. <CATEGORY>2</CATEGORY>
  21663. <MAINSCRIPT>0</MAINSCRIPT>
  21664. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21665. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21666. <AUTHOR></AUTHOR>
  21667. <COMPANY></COMPANY>
  21668. <VERSION></VERSION>
  21669. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21670. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21671. </TEMPLATE>
  21672. <TEMPLATE>
  21673. <NAME>GenerateOwner</NAME>
  21674. <ID>28</ID>
  21675. <GUID>{52CE41F5-5127-4ED9-B7D4-EA9C1E7B9215}</GUID>
  21676. <CAPTION></CAPTION>
  21677. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21678. <ENABLED>1</ENABLED>
  21679. <LEVEL>2</LEVEL>
  21680. <IDPARENT>0</IDPARENT>
  21681. <VALUE><![CDATA[if(lGenerOwner,if(empty(Owner),"","["+Owner+"]."),"")
  21682. ]]></VALUE>
  21683. <LANGUAGE>0</LANGUAGE>
  21684. <LANGUAGEWIN>---</LANGUAGEWIN>
  21685. <CATEGORY>2</CATEGORY>
  21686. <MAINSCRIPT>0</MAINSCRIPT>
  21687. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21688. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21689. <AUTHOR></AUTHOR>
  21690. <COMPANY></COMPANY>
  21691. <VERSION></VERSION>
  21692. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21693. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21694. </TEMPLATE>
  21695. <TEMPLATE>
  21696. <NAME>CreateAttrib</NAME>
  21697. <ID>29</ID>
  21698. <GUID>{1D30D1F3-7BBA-4170-9D0A-03C5BF3711F2}</GUID>
  21699. <CAPTION></CAPTION>
  21700. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21701. <ENABLED>1</ENABLED>
  21702. <LEVEL>2</LEVEL>
  21703. <IDPARENT>0</IDPARENT>
  21704. <VALUE><![CDATA["[%ColName%] %TypSql%"+
  21705. if(DefExist," %DefValue%", "")+
  21706. if(DefaultExist," Default "+DefaultValue  ,"")+
  21707. if(Identity," Identity"+if(Empty(IdentitySeed),"","(%IdentitySeed%,%IdentityIncrement%)"),"")+
  21708. if(Column.DataTypeID<>200, if(NotNull," NOT NULL"," NULL"),"")+
  21709. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint [%ConstraintAtrUnique%]","")+" UNIQUE", "")+
  21710. if(ConstraintExist and CheckExist, " Constraint [%Constraint%]","")+
  21711. if(CheckExist," Check ("+ EvalCheck+" )","")+
  21712. if(Def2Exist," %Def2Value%", "")
  21713. ]]></VALUE>
  21714. <LANGUAGE>0</LANGUAGE>
  21715. <LANGUAGEWIN>---</LANGUAGEWIN>
  21716. <CATEGORY>2</CATEGORY>
  21717. <MAINSCRIPT>0</MAINSCRIPT>
  21718. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21719. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21720. <AUTHOR></AUTHOR>
  21721. <COMPANY></COMPANY>
  21722. <VERSION></VERSION>
  21723. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21724. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21725. </TEMPLATE>
  21726. <TEMPLATE>
  21727. <NAME>CreateAttrib2</NAME>
  21728. <ID>30</ID>
  21729. <GUID>{9CBB21F3-FDF8-458E-B767-F91840683ED8}</GUID>
  21730. <CAPTION></CAPTION>
  21731. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21732. <ENABLED>1</ENABLED>
  21733. <LEVEL>2</LEVEL>
  21734. <IDPARENT>0</IDPARENT>
  21735. <VALUE><![CDATA["[%ColName%] [%DictName%]"+
  21736. if(DefExist," %DefValue%", "")+
  21737. if(DefaultExist," Default "+DefaultValue  ,"")+
  21738. if(Identity," Identity"+if(Empty(IdentitySeed),"","(%IdentitySeed%,%IdentityIncrement%)"),"")+
  21739. if(NotNull," NOT NULL"," NULL")+
  21740. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint [%ConstraintAtrUnique%]","")+" UNIQUE", "")+
  21741. if(ConstraintExist and CheckExist, " Constraint [%Constraint%]","")+
  21742. if(CheckExist," Check ("+ EvalCheck+" )","")+
  21743. if(Def2Exist," %Def2Value%", "")
  21744. ]]></VALUE>
  21745. <LANGUAGE>0</LANGUAGE>
  21746. <LANGUAGEWIN>---</LANGUAGEWIN>
  21747. <CATEGORY>2</CATEGORY>
  21748. <MAINSCRIPT>0</MAINSCRIPT>
  21749. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21750. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21751. <AUTHOR></AUTHOR>
  21752. <COMPANY></COMPANY>
  21753. <VERSION></VERSION>
  21754. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21755. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21756. </TEMPLATE>
  21757. <TEMPLATE>
  21758. <NAME>CreateDomains</NAME>
  21759. <ID>31</ID>
  21760. <GUID>{24BAA079-A670-42FA-9057-EA97B1FE9972}</GUID>
  21761. <CAPTION></CAPTION>
  21762. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21763. <ENABLED>1</ENABLED>
  21764. <LEVEL>2</LEVEL>
  21765. <IDPARENT>0</IDPARENT>
  21766. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  21767. ]]></VALUE>
  21768. <LANGUAGE>0</LANGUAGE>
  21769. <LANGUAGEWIN>---</LANGUAGEWIN>
  21770. <CATEGORY>2</CATEGORY>
  21771. <MAINSCRIPT>0</MAINSCRIPT>
  21772. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21773. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21774. <AUTHOR></AUTHOR>
  21775. <COMPANY></COMPANY>
  21776. <VERSION></VERSION>
  21777. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21778. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21779. </TEMPLATE>
  21780. <TEMPLATE>
  21781. <NAME>CreateDomain</NAME>
  21782. <ID>32</ID>
  21783. <GUID>{8E3616EB-B0B6-4B40-8477-11C2043E4E0B}</GUID>
  21784. <CAPTION></CAPTION>
  21785. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21786. <ENABLED>1</ENABLED>
  21787. <LEVEL>2</LEVEL>
  21788. <IDPARENT>0</IDPARENT>
  21789. <VALUE><![CDATA[if(lGenerOwner and (not empty(UTypeOwner)),"Setuser '%UTypeOwner%'%cr%go%cr%","")+
  21790. "Exec sp_addtype '%DictName%', '%typsql%', '"+if(lNullType,"NULL","NOT NULL")+"'%cr%go%cr%"+
  21791. if(empty(Default)and(not(empty(UTypeDefObject))),"Exec sp_bindefault '%UTypeDefObject%', '%DictName%'%cr%go%cr%","")+
  21792. if(empty(UTypeRuleObject),"","Exec sp_bindrule '%UTypeRuleObject%', '%DictName%'%cr%go%cr%")+
  21793. if(lGenerOwner and (not empty(UTypeOwner)),"Setuser%cr%go%cr%","")
  21794. ]]></VALUE>
  21795. <LANGUAGE>0</LANGUAGE>
  21796. <LANGUAGEWIN>---</LANGUAGEWIN>
  21797. <CATEGORY>2</CATEGORY>
  21798. <MAINSCRIPT>0</MAINSCRIPT>
  21799. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21800. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21801. <AUTHOR></AUTHOR>
  21802. <COMPANY></COMPANY>
  21803. <VERSION></VERSION>
  21804. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21805. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21806. </TEMPLATE>
  21807. <TEMPLATE>
  21808. <NAME>DropDomains</NAME>
  21809. <ID>33</ID>
  21810. <GUID>{06FEE9AD-234E-4CB7-8621-B80FDC977C91}</GUID>
  21811. <CAPTION></CAPTION>
  21812. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21813. <ENABLED>1</ENABLED>
  21814. <LEVEL>2</LEVEL>
  21815. <IDPARENT>0</IDPARENT>
  21816. <VALUE><![CDATA[@ForDict("", "", "Exec sp_droptype [%DictName%]%cr%go%cr%", "", "" )
  21817. ]]></VALUE>
  21818. <LANGUAGE>0</LANGUAGE>
  21819. <LANGUAGEWIN>---</LANGUAGEWIN>
  21820. <CATEGORY>2</CATEGORY>
  21821. <MAINSCRIPT>0</MAINSCRIPT>
  21822. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21823. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21824. <AUTHOR></AUTHOR>
  21825. <COMPANY></COMPANY>
  21826. <VERSION></VERSION>
  21827. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21828. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21829. </TEMPLATE>
  21830. <TEMPLATE>
  21831. <NAME>ChildTableOwner</NAME>
  21832. <ID>34</ID>
  21833. <GUID>{F35A158A-EFF7-4262-8AC4-1204AF73A942}</GUID>
  21834. <CAPTION></CAPTION>
  21835. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21836. <ENABLED>1</ENABLED>
  21837. <LEVEL>2</LEVEL>
  21838. <IDPARENT>0</IDPARENT>
  21839. <VALUE><![CDATA[if(lGenerOwner,if(empty(ChildTable.Owner),"","["+ChildTable.Owner+"]."),"")
  21840. ]]></VALUE>
  21841. <LANGUAGE>0</LANGUAGE>
  21842. <LANGUAGEWIN>---</LANGUAGEWIN>
  21843. <CATEGORY>2</CATEGORY>
  21844. <MAINSCRIPT>0</MAINSCRIPT>
  21845. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21846. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21847. <AUTHOR></AUTHOR>
  21848. <COMPANY></COMPANY>
  21849. <VERSION></VERSION>
  21850. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21851. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21852. </TEMPLATE>
  21853. <TEMPLATE>
  21854. <NAME>ParentTableOwner</NAME>
  21855. <ID>35</ID>
  21856. <GUID>{244BB9B9-ED2C-4C8F-9417-7E686F7B7E08}</GUID>
  21857. <CAPTION></CAPTION>
  21858. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21859. <ENABLED>1</ENABLED>
  21860. <LEVEL>2</LEVEL>
  21861. <IDPARENT>0</IDPARENT>
  21862. <VALUE><![CDATA[if(lGenerOwner,if(empty(ParentTable.Owner),"","["+ParentTable.Owner+"]."),"")
  21863. ]]></VALUE>
  21864. <LANGUAGE>0</LANGUAGE>
  21865. <LANGUAGEWIN>---</LANGUAGEWIN>
  21866. <CATEGORY>2</CATEGORY>
  21867. <MAINSCRIPT>0</MAINSCRIPT>
  21868. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21869. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21870. <AUTHOR></AUTHOR>
  21871. <COMPANY></COMPANY>
  21872. <VERSION></VERSION>
  21873. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21874. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21875. </TEMPLATE>
  21876. <TEMPLATE>
  21877. <NAME>CreateDaR</NAME>
  21878. <ID>36</ID>
  21879. <GUID>{12880C4C-0E7D-4BCB-9733-B79CCEC51EFF}</GUID>
  21880. <CAPTION></CAPTION>
  21881. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21882. <ENABLED>1</ENABLED>
  21883. <LEVEL>2</LEVEL>
  21884. <IDPARENT>0</IDPARENT>
  21885. <VALUE><![CDATA[@ForDict("","",if((empty(Default))or(empty(UTypeDefName)),"","Create default [%UTypeDefName%] as '%Default%'%cr%go%cr%")+if((empty(Check))or(empty(UTypeRuleName)),"","Create rule [%UTypeRuleName%] as %Check%%cr%go%cr%"),"","")
  21886. @ForTable("","",ForCol("","",if(Column.DataTypeId=0,"",if((empty(ConstraintDefault))or(empty(Default)),"","Create default "+macro(GenerateOwner)+"[%ConstraintDefault%] as '%Default%'%cr%go%cr%")+if((empty(ConstraintCheck))or(empty(Check)),"","Create rule "+macro(GenerateOwner)+"[%ConstraintCheck%] as %Check%%cr%go%cr%")),"",""),"","")
  21887. ]]></VALUE>
  21888. <LANGUAGE>0</LANGUAGE>
  21889. <LANGUAGEWIN>---</LANGUAGEWIN>
  21890. <CATEGORY>2</CATEGORY>
  21891. <MAINSCRIPT>0</MAINSCRIPT>
  21892. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21893. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21894. <AUTHOR></AUTHOR>
  21895. <COMPANY></COMPANY>
  21896. <VERSION></VERSION>
  21897. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21898. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21899. </TEMPLATE>
  21900. <TEMPLATE>
  21901. <NAME>BindObjToUTypes</NAME>
  21902. <ID>37</ID>
  21903. <GUID>{FC497524-3AEF-493B-9641-23003A792E0B}</GUID>
  21904. <CAPTION></CAPTION>
  21905. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21906. <ENABLED>1</ENABLED>
  21907. <LEVEL>2</LEVEL>
  21908. <IDPARENT>0</IDPARENT>
  21909. <VALUE><![CDATA[if((empty(DictType.UTypeDefObject))or(not(empty(DictType.Default))),"","Exec sp_bindefault '%DictType.UTypeDefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  21910. if(empty(DictType.UTypeRuleObject),"","Exec sp_bindrule '%DictType.UTypeRuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  21911. ]]></VALUE>
  21912. <LANGUAGE>0</LANGUAGE>
  21913. <LANGUAGEWIN>---</LANGUAGEWIN>
  21914. <CATEGORY>2</CATEGORY>
  21915. <MAINSCRIPT>0</MAINSCRIPT>
  21916. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21917. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21918. <AUTHOR></AUTHOR>
  21919. <COMPANY></COMPANY>
  21920. <VERSION></VERSION>
  21921. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21922. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21923. </TEMPLATE>
  21924. <TEMPLATE>
  21925. <NAME>BindObjToColumns</NAME>
  21926. <ID>38</ID>
  21927. <GUID>{7EA27EEC-EDC4-427D-AE32-203B5A2D0D1C}</GUID>
  21928. <CAPTION></CAPTION>
  21929. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  21930. <ENABLED>1</ENABLED>
  21931. <LEVEL>2</LEVEL>
  21932. <IDPARENT>0</IDPARENT>
  21933. <VALUE><![CDATA[if((empty(DefObject))or(not(empty(Default))),"","Exec sp_bindefault '%DefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  21934. if(empty(RuleObject),"","Exec sp_bindrule '%RuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  21935. ]]></VALUE>
  21936. <LANGUAGE>0</LANGUAGE>
  21937. <LANGUAGEWIN>---</LANGUAGEWIN>
  21938. <CATEGORY>2</CATEGORY>
  21939. <MAINSCRIPT>0</MAINSCRIPT>
  21940. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  21941. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  21942. <AUTHOR></AUTHOR>
  21943. <COMPANY></COMPANY>
  21944. <VERSION></VERSION>
  21945. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  21946. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  21947. </TEMPLATE>
  21948. </TEMPLATES>
  21949. <VARIABLES><![CDATA[lDomainSupp  1
  21950. lAtrDefaultConstraintSupp 0
  21951. lAtrCheckConstraintSupp 1
  21952. lAlterKeySupp 1
  21953. lProceduresSupp 1
  21954. lViewsSupp 1
  21955. lConstraintPkSupp 1
  21956. lConstraintFkSupp 1
  21957. lAtrUniqueConstraintSupp 1
  21958. lPermissUserToRoleSupp 1
  21959. lPermissUserToObjectSupp 1
  21960. lPermissRoleToObjectSupp 1
  21961. lRoleSupp 1
  21962. lDriParUpdRestrict 1
  21963. lDriParUpdCascade 0
  21964. lDriParUpdSetNull 0
  21965. lDriParUpdSetDefault 0
  21966. lDriParDelRestrict 1
  21967. lDriParDelCascade 0
  21968. lDriParDelSetNull 0
  21969. lDriParDelSetDefault 0
  21970. lDriChildInsRestrict 0
  21971. lDriChildUpdRestrict 0
  21972. lDriParUpdRestrictSupp 1
  21973. lDriParUpdCascadeSupp 0
  21974. lDriParUpdSetNullSupp 0
  21975. lDriParUpdSetDefaultSupp 0
  21976. lDriParDelRestrictSupp 1
  21977. lDriParDelCascadeSupp 0
  21978. lDriParDelSetNullSupp 0
  21979. lDriParDelSetDefaultSupp 0
  21980. lDriChildInsRestrictSupp 0
  21981. lDriChildUpdRestrictSupp 0
  21982. lIndexDescendSupp 0
  21983. lIndexItDescendSupp 0
  21984. lIndexUpperSupp 0
  21985. lIndexExprSupp 0
  21986. lIndexUniqueSupp 1
  21987. lIndexFilterSupp 0
  21988. lIndexStandSupp 1
  21989. lIndexClusterSupp 1
  21990. lIndexNameUnique 0
  21991. lPkSupp 1
  21992. lPkNotNull 1
  21993. lDRISupp 1
  21994. lTriggerSupp 1
  21995. lAtrUniqueSupp 1
  21996. lAtrNotNullSupp 1
  21997. lAtrCheckSupp 1
  21998. lAtrDefaultSupp 1
  21999. lDomainSupp  1
  22000. lAtrDefaultConstraintSupp 0
  22001. lAtrCheckConstraintSupp 1
  22002. lAlterKeySupp 1
  22003. lProceduresSupp 1
  22004. lViewsSupp 1
  22005. lConstraintPkSupp 1
  22006. lConstraintFkSupp 1
  22007. lAtrUniqueConstraintSupp 1
  22008. lPermissUserToRoleSupp 1
  22009. lPermissUserToObjectSupp 1
  22010. lPermissRoleToObjectSupp 1
  22011. lRoleSupp 1
  22012. ]]></VARIABLES>
  22013. <USEREDITS>
  22014. <USEREDIT>
  22015. <NAME>Identity</NAME>
  22016. <ID>1</ID>
  22017. <GUID>{566E2F65-F60C-4145-B903-D39ECCD86443}</GUID>
  22018. <CAPTION>Identity</CAPTION>
  22019. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22020. <TYPE>1</TYPE>
  22021. <LEVEL>3</LEVEL>
  22022. <DEFAULT></DEFAULT>
  22023. <ORD>4</ORD>
  22024. <LENGTH>0</LENGTH>
  22025. <ENABLED>1</ENABLED>
  22026. <ITEMS></ITEMS>
  22027. </USEREDIT>
  22028. <USEREDIT>
  22029. <NAME>IdentitySeed</NAME>
  22030. <ID>2</ID>
  22031. <GUID>{7424FE13-5AA7-4977-9E72-64AF00607513}</GUID>
  22032. <CAPTION>Identity Seed</CAPTION>
  22033. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22034. <TYPE>0</TYPE>
  22035. <LEVEL>3</LEVEL>
  22036. <DEFAULT></DEFAULT>
  22037. <ORD>5</ORD>
  22038. <LENGTH>0</LENGTH>
  22039. <ENABLED>1</ENABLED>
  22040. <ITEMS></ITEMS>
  22041. </USEREDIT>
  22042. <USEREDIT>
  22043. <NAME>IdentityIncrement</NAME>
  22044. <ID>3</ID>
  22045. <GUID>{50BF089E-5F7F-4F91-A7F4-21CE04A713AA}</GUID>
  22046. <CAPTION>Identity Increment</CAPTION>
  22047. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22048. <TYPE>0</TYPE>
  22049. <LEVEL>3</LEVEL>
  22050. <DEFAULT></DEFAULT>
  22051. <ORD>6</ORD>
  22052. <LENGTH>0</LENGTH>
  22053. <ENABLED>1</ENABLED>
  22054. <ITEMS></ITEMS>
  22055. </USEREDIT>
  22056. <USEREDIT>
  22057. <NAME>Owner</NAME>
  22058. <ID>4</ID>
  22059. <GUID>{15F38195-1322-4FDB-B3B3-23215E6E0457}</GUID>
  22060. <CAPTION>Owner</CAPTION>
  22061. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22062. <TYPE>0</TYPE>
  22063. <LEVEL>2</LEVEL>
  22064. <DEFAULT></DEFAULT>
  22065. <ORD>1</ORD>
  22066. <LENGTH>0</LENGTH>
  22067. <ENABLED>1</ENABLED>
  22068. <ITEMS></ITEMS>
  22069. </USEREDIT>
  22070. <USEREDIT>
  22071. <NAME>lGenerOwner</NAME>
  22072. <ID>5</ID>
  22073. <GUID>{39C0A2F4-9DC8-4B71-9BB2-DEAAC909CD25}</GUID>
  22074. <CAPTION>Generate owner in tablenames</CAPTION>
  22075. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22076. <TYPE>1</TYPE>
  22077. <LEVEL>1</LEVEL>
  22078. <DEFAULT>1</DEFAULT>
  22079. <ORD>0</ORD>
  22080. <LENGTH>0</LENGTH>
  22081. <ENABLED>1</ENABLED>
  22082. <ITEMS></ITEMS>
  22083. </USEREDIT>
  22084. <USEREDIT>
  22085. <NAME>lNullType</NAME>
  22086. <ID>6</ID>
  22087. <GUID>{5CA47296-5A5C-43BA-B37F-9BFB376F0FC5}</GUID>
  22088. <CAPTION>Null type 'NULL'</CAPTION>
  22089. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22090. <TYPE>1</TYPE>
  22091. <LEVEL>6</LEVEL>
  22092. <DEFAULT></DEFAULT>
  22093. <ORD>2</ORD>
  22094. <LENGTH>0</LENGTH>
  22095. <ENABLED>1</ENABLED>
  22096. <ITEMS></ITEMS>
  22097. </USEREDIT>
  22098. <USEREDIT>
  22099. <NAME>UTypeOwner</NAME>
  22100. <ID>7</ID>
  22101. <GUID>{0ABFCD9C-DD85-4CF5-A0A6-26ACEE4981A1}</GUID>
  22102. <CAPTION>Owner</CAPTION>
  22103. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22104. <TYPE>0</TYPE>
  22105. <LEVEL>6</LEVEL>
  22106. <DEFAULT></DEFAULT>
  22107. <ORD>1</ORD>
  22108. <LENGTH>0</LENGTH>
  22109. <ENABLED>1</ENABLED>
  22110. <ITEMS></ITEMS>
  22111. </USEREDIT>
  22112. <USEREDIT>
  22113. <NAME>UTypeDefObject</NAME>
  22114. <ID>8</ID>
  22115. <GUID>{3DC46ECA-F867-472E-B8BE-4602C0420FD0}</GUID>
  22116. <CAPTION>Default object</CAPTION>
  22117. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22118. <TYPE>0</TYPE>
  22119. <LEVEL>6</LEVEL>
  22120. <DEFAULT></DEFAULT>
  22121. <ORD>3</ORD>
  22122. <LENGTH>0</LENGTH>
  22123. <ENABLED>1</ENABLED>
  22124. <ITEMS></ITEMS>
  22125. </USEREDIT>
  22126. <USEREDIT>
  22127. <NAME>UTypeRuleObject</NAME>
  22128. <ID>9</ID>
  22129. <GUID>{25745CED-4916-42CF-AD9F-7EE62AF7027E}</GUID>
  22130. <CAPTION>Rule object</CAPTION>
  22131. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22132. <TYPE>0</TYPE>
  22133. <LEVEL>6</LEVEL>
  22134. <DEFAULT></DEFAULT>
  22135. <ORD>4</ORD>
  22136. <LENGTH>0</LENGTH>
  22137. <ENABLED>1</ENABLED>
  22138. <ITEMS></ITEMS>
  22139. </USEREDIT>
  22140. <USEREDIT>
  22141. <NAME>DefObject</NAME>
  22142. <ID>10</ID>
  22143. <GUID>{5044F669-9C05-4F53-B43B-CC1E176F5D8A}</GUID>
  22144. <CAPTION>Default object</CAPTION>
  22145. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22146. <TYPE>0</TYPE>
  22147. <LEVEL>3</LEVEL>
  22148. <DEFAULT></DEFAULT>
  22149. <ORD>1</ORD>
  22150. <LENGTH>0</LENGTH>
  22151. <ENABLED>1</ENABLED>
  22152. <ITEMS></ITEMS>
  22153. </USEREDIT>
  22154. <USEREDIT>
  22155. <NAME>RuleObject</NAME>
  22156. <ID>11</ID>
  22157. <GUID>{663047C6-AAE2-45E9-89C1-9D9889EC7E54}</GUID>
  22158. <CAPTION>Rule object</CAPTION>
  22159. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22160. <TYPE>0</TYPE>
  22161. <LEVEL>3</LEVEL>
  22162. <DEFAULT></DEFAULT>
  22163. <ORD>2</ORD>
  22164. <LENGTH>0</LENGTH>
  22165. <ENABLED>1</ENABLED>
  22166. <ITEMS></ITEMS>
  22167. </USEREDIT>
  22168. <USEREDIT>
  22169. <NAME>lPkNonClustered</NAME>
  22170. <ID>12</ID>
  22171. <GUID>{B8578018-8C89-4A6F-AC6F-8D02E0AB6390}</GUID>
  22172. <CAPTION>Primary key nonclustered</CAPTION>
  22173. <PACKAGEGUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</PACKAGEGUID>
  22174. <TYPE>1</TYPE>
  22175. <LEVEL>2</LEVEL>
  22176. <DEFAULT>0</DEFAULT>
  22177. <ORD>0</ORD>
  22178. <LENGTH>0</LENGTH>
  22179. <ENABLED>1</ENABLED>
  22180. <ITEMS></ITEMS>
  22181. </USEREDIT>
  22182. </USEREDITS>
  22183. <TYPELIST>
  22184. <TYPE>
  22185. <NAME>Char</NAME>
  22186. <ID>10</ID>
  22187. <GUID>{6E566B33-ABE2-438A-9891-3D9370C1E6B3}</GUID>
  22188. <PHNAME>Char</PHNAME>
  22189. <LLENGTH>1</LLENGTH>
  22190. <LDECIMAL>0</LDECIMAL>
  22191. <MAXLENGTH>35000</MAXLENGTH>
  22192. <MINLENGTH>1</MINLENGTH>
  22193. <MAXDECIMAL>0</MAXDECIMAL>
  22194. <MINDECIMAL>0</MINDECIMAL>
  22195. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22196. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22197. <TRANSFORMCODE>A</TRANSFORMCODE>
  22198. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  22199. <EXPORTTO>0</EXPORTTO>
  22200. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22201. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22202. </TYPE>
  22203. <TYPE>
  22204. <NAME>NChar</NAME>
  22205. <ID>15</ID>
  22206. <GUID>{309C59F1-82A6-4E33-9E8A-EF71498878F8}</GUID>
  22207. <PHNAME>Nchar</PHNAME>
  22208. <LLENGTH>1</LLENGTH>
  22209. <LDECIMAL>0</LDECIMAL>
  22210. <MAXLENGTH>35000</MAXLENGTH>
  22211. <MINLENGTH>1</MINLENGTH>
  22212. <MAXDECIMAL>0</MAXDECIMAL>
  22213. <MINDECIMAL>0</MINDECIMAL>
  22214. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22215. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22216. <TRANSFORMCODE>NA</TRANSFORMCODE>
  22217. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  22218. <EXPORTTO>0</EXPORTTO>
  22219. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22220. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22221. </TYPE>
  22222. <TYPE>
  22223. <NAME>VarChar</NAME>
  22224. <ID>20</ID>
  22225. <GUID>{383F4072-E814-441D-8509-6B79FF71CEB1}</GUID>
  22226. <PHNAME>Varchar</PHNAME>
  22227. <LLENGTH>1</LLENGTH>
  22228. <LDECIMAL>0</LDECIMAL>
  22229. <MAXLENGTH>35000</MAXLENGTH>
  22230. <MINLENGTH>1</MINLENGTH>
  22231. <MAXDECIMAL>0</MAXDECIMAL>
  22232. <MINDECIMAL>0</MINDECIMAL>
  22233. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22234. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22235. <TRANSFORMCODE>VA</TRANSFORMCODE>
  22236. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  22237. <EXPORTTO>0</EXPORTTO>
  22238. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22239. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22240. </TYPE>
  22241. <TYPE>
  22242. <NAME>NVarChar</NAME>
  22243. <ID>25</ID>
  22244. <GUID>{51AFBAA5-496E-4CD5-88CB-6C0051FB79D9}</GUID>
  22245. <PHNAME>Nvarchar</PHNAME>
  22246. <LLENGTH>1</LLENGTH>
  22247. <LDECIMAL>0</LDECIMAL>
  22248. <MAXLENGTH>35000</MAXLENGTH>
  22249. <MINLENGTH>4</MINLENGTH>
  22250. <MAXDECIMAL>0</MAXDECIMAL>
  22251. <MINDECIMAL>0</MINDECIMAL>
  22252. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22253. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22254. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  22255. <TRANSFORMTO>NVA;LVA;NA;A;LA;</TRANSFORMTO>
  22256. <EXPORTTO>0</EXPORTTO>
  22257. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22258. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22259. </TYPE>
  22260. <TYPE>
  22261. <NAME>Integer</NAME>
  22262. <ID>30</ID>
  22263. <GUID>{5861273F-42AD-4726-A496-CE368D4B6E3F}</GUID>
  22264. <PHNAME>Integer</PHNAME>
  22265. <LLENGTH>0</LLENGTH>
  22266. <LDECIMAL>0</LDECIMAL>
  22267. <MAXLENGTH>0</MAXLENGTH>
  22268. <MINLENGTH>0</MINLENGTH>
  22269. <MAXDECIMAL>0</MAXDECIMAL>
  22270. <MINDECIMAL>0</MINDECIMAL>
  22271. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22272. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22273. <TRANSFORMCODE>I</TRANSFORMCODE>
  22274. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  22275. <EXPORTTO>0</EXPORTTO>
  22276. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22277. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22278. </TYPE>
  22279. <TYPE>
  22280. <NAME>SmallInt</NAME>
  22281. <ID>40</ID>
  22282. <GUID>{653953BF-001A-4DE7-8AE3-C03DAE50D66C}</GUID>
  22283. <PHNAME>Smallint</PHNAME>
  22284. <LLENGTH>0</LLENGTH>
  22285. <LDECIMAL>0</LDECIMAL>
  22286. <MAXLENGTH>0</MAXLENGTH>
  22287. <MINLENGTH>0</MINLENGTH>
  22288. <MAXDECIMAL>0</MAXDECIMAL>
  22289. <MINDECIMAL>0</MINDECIMAL>
  22290. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22291. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22292. <TRANSFORMCODE>SI</TRANSFORMCODE>
  22293. <TRANSFORMTO>SI;I;LI;N,3,0;</TRANSFORMTO>
  22294. <EXPORTTO>0</EXPORTTO>
  22295. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22296. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22297. </TYPE>
  22298. <TYPE>
  22299. <NAME>TinyInt</NAME>
  22300. <ID>45</ID>
  22301. <GUID>{035246C1-4F52-4A28-BAA7-D327389B0AF7}</GUID>
  22302. <PHNAME>Tinyint</PHNAME>
  22303. <LLENGTH>0</LLENGTH>
  22304. <LDECIMAL>0</LDECIMAL>
  22305. <MAXLENGTH>0</MAXLENGTH>
  22306. <MINLENGTH>0</MINLENGTH>
  22307. <MAXDECIMAL>0</MAXDECIMAL>
  22308. <MINDECIMAL>0</MINDECIMAL>
  22309. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22310. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22311. <TRANSFORMCODE>TI</TRANSFORMCODE>
  22312. <TRANSFORMTO>TI;SI;I;LI;N,3,0;</TRANSFORMTO>
  22313. <EXPORTTO>0</EXPORTTO>
  22314. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22315. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22316. </TYPE>
  22317. <TYPE>
  22318. <NAME>Float</NAME>
  22319. <ID>50</ID>
  22320. <GUID>{B7B785B1-7E8F-4FD3-AC2E-601EABFEDFCA}</GUID>
  22321. <PHNAME>Float</PHNAME>
  22322. <LLENGTH>0</LLENGTH>
  22323. <LDECIMAL>0</LDECIMAL>
  22324. <MAXLENGTH>0</MAXLENGTH>
  22325. <MINLENGTH>0</MINLENGTH>
  22326. <MAXDECIMAL>0</MAXDECIMAL>
  22327. <MINDECIMAL>0</MINDECIMAL>
  22328. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22329. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22330. <TRANSFORMCODE>F</TRANSFORMCODE>
  22331. <TRANSFORMTO>F;LF;N,15,5</TRANSFORMTO>
  22332. <EXPORTTO>0</EXPORTTO>
  22333. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22334. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22335. </TYPE>
  22336. <TYPE>
  22337. <NAME>Real</NAME>
  22338. <ID>60</ID>
  22339. <GUID>{2AFF9EB2-DFD5-45EC-92DA-EF5C72F4D6F9}</GUID>
  22340. <PHNAME>Real</PHNAME>
  22341. <LLENGTH>0</LLENGTH>
  22342. <LDECIMAL>0</LDECIMAL>
  22343. <MAXLENGTH>0</MAXLENGTH>
  22344. <MINLENGTH>0</MINLENGTH>
  22345. <MAXDECIMAL>0</MAXDECIMAL>
  22346. <MINDECIMAL>0</MINDECIMAL>
  22347. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22348. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22349. <TRANSFORMCODE>R</TRANSFORMCODE>
  22350. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  22351. <EXPORTTO>0</EXPORTTO>
  22352. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22353. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22354. </TYPE>
  22355. <TYPE>
  22356. <NAME>Money</NAME>
  22357. <ID>70</ID>
  22358. <GUID>{A43349F9-A56E-4049-8CC4-A3F242F70038}</GUID>
  22359. <PHNAME>Money</PHNAME>
  22360. <LLENGTH>0</LLENGTH>
  22361. <LDECIMAL>0</LDECIMAL>
  22362. <MAXLENGTH>0</MAXLENGTH>
  22363. <MINLENGTH>0</MINLENGTH>
  22364. <MAXDECIMAL>0</MAXDECIMAL>
  22365. <MINDECIMAL>0</MINDECIMAL>
  22366. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22367. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22368. <TRANSFORMCODE>MN</TRANSFORMCODE>
  22369. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  22370. <EXPORTTO>0</EXPORTTO>
  22371. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22372. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22373. </TYPE>
  22374. <TYPE>
  22375. <NAME>SmallMoney</NAME>
  22376. <ID>80</ID>
  22377. <GUID>{565EB3F5-0824-4BBB-BA91-A5D7E615FBDA}</GUID>
  22378. <PHNAME>Smallmoney</PHNAME>
  22379. <LLENGTH>0</LLENGTH>
  22380. <LDECIMAL>0</LDECIMAL>
  22381. <MAXLENGTH>0</MAXLENGTH>
  22382. <MINLENGTH>0</MINLENGTH>
  22383. <MAXDECIMAL>0</MAXDECIMAL>
  22384. <MINDECIMAL>0</MINDECIMAL>
  22385. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22386. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22387. <TRANSFORMCODE>SMN</TRANSFORMCODE>
  22388. <TRANSFORMTO>SMN;MN;F;N,10,2;</TRANSFORMTO>
  22389. <EXPORTTO>0</EXPORTTO>
  22390. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22391. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22392. </TYPE>
  22393. <TYPE>
  22394. <NAME>Numeric</NAME>
  22395. <ID>90</ID>
  22396. <GUID>{39B502E3-5A5A-4838-AC16-6047E0B6BA90}</GUID>
  22397. <PHNAME>Numeric</PHNAME>
  22398. <LLENGTH>1</LLENGTH>
  22399. <LDECIMAL>1</LDECIMAL>
  22400. <MAXLENGTH>38</MAXLENGTH>
  22401. <MINLENGTH>1</MINLENGTH>
  22402. <MAXDECIMAL>38</MAXDECIMAL>
  22403. <MINDECIMAL>0</MINDECIMAL>
  22404. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  22405. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22406. <TRANSFORMCODE>N</TRANSFORMCODE>
  22407. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  22408. <EXPORTTO>0</EXPORTTO>
  22409. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22410. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22411. </TYPE>
  22412. <TYPE>
  22413. <NAME>Decimal</NAME>
  22414. <ID>100</ID>
  22415. <GUID>{875DE527-C98E-45CF-B732-795818C427CB}</GUID>
  22416. <PHNAME>Decimal</PHNAME>
  22417. <LLENGTH>1</LLENGTH>
  22418. <LDECIMAL>1</LDECIMAL>
  22419. <MAXLENGTH>38</MAXLENGTH>
  22420. <MINLENGTH>1</MINLENGTH>
  22421. <MAXDECIMAL>38</MAXDECIMAL>
  22422. <MINDECIMAL>0</MINDECIMAL>
  22423. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  22424. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22425. <TRANSFORMCODE>DC</TRANSFORMCODE>
  22426. <TRANSFORMTO>DC;N;F;</TRANSFORMTO>
  22427. <EXPORTTO>0</EXPORTTO>
  22428. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22429. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22430. </TYPE>
  22431. <TYPE>
  22432. <NAME>Text</NAME>
  22433. <ID>110</ID>
  22434. <GUID>{D2957AE0-470A-416B-A10A-8EF214D1EC9C}</GUID>
  22435. <PHNAME>Text</PHNAME>
  22436. <LLENGTH>0</LLENGTH>
  22437. <LDECIMAL>0</LDECIMAL>
  22438. <MAXLENGTH>0</MAXLENGTH>
  22439. <MINLENGTH>0</MINLENGTH>
  22440. <MAXDECIMAL>0</MAXDECIMAL>
  22441. <MINDECIMAL>0</MINDECIMAL>
  22442. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22443. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22444. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  22445. <TRANSFORMTO>TXT;CLOB;BIN;LBIN;BLOB;</TRANSFORMTO>
  22446. <EXPORTTO>0</EXPORTTO>
  22447. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22448. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22449. </TYPE>
  22450. <TYPE>
  22451. <NAME>NText</NAME>
  22452. <ID>115</ID>
  22453. <GUID>{57982E4C-3CE6-4B4F-B13D-32F6F3FFC713}</GUID>
  22454. <PHNAME>Ntext</PHNAME>
  22455. <LLENGTH>0</LLENGTH>
  22456. <LDECIMAL>0</LDECIMAL>
  22457. <MAXLENGTH>0</MAXLENGTH>
  22458. <MINLENGTH>0</MINLENGTH>
  22459. <MAXDECIMAL>0</MAXDECIMAL>
  22460. <MINDECIMAL>0</MINDECIMAL>
  22461. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22462. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22463. <TRANSFORMCODE>NTXT</TRANSFORMCODE>
  22464. <TRANSFORMTO>NTXT;TXT;CLOB;BIN;LBIN;BLOB;</TRANSFORMTO>
  22465. <EXPORTTO>0</EXPORTTO>
  22466. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22467. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22468. </TYPE>
  22469. <TYPE>
  22470. <NAME>Image</NAME>
  22471. <ID>120</ID>
  22472. <GUID>{16B3C2E9-010D-4A55-8745-FCC30ECC594C}</GUID>
  22473. <PHNAME>Image</PHNAME>
  22474. <LLENGTH>0</LLENGTH>
  22475. <LDECIMAL>0</LDECIMAL>
  22476. <MAXLENGTH>0</MAXLENGTH>
  22477. <MINLENGTH>0</MINLENGTH>
  22478. <MAXDECIMAL>0</MAXDECIMAL>
  22479. <MINDECIMAL>0</MINDECIMAL>
  22480. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22481. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22482. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  22483. <TRANSFORMTO>PIC;LBIN;BIN;BLOB;</TRANSFORMTO>
  22484. <EXPORTTO>0</EXPORTTO>
  22485. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22486. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22487. </TYPE>
  22488. <TYPE>
  22489. <NAME>Binary</NAME>
  22490. <ID>130</ID>
  22491. <GUID>{1EBC17B9-32E8-49C6-B3AD-374ACDA5AA3A}</GUID>
  22492. <PHNAME>Binary</PHNAME>
  22493. <LLENGTH>1</LLENGTH>
  22494. <LDECIMAL>0</LDECIMAL>
  22495. <MAXLENGTH>35000</MAXLENGTH>
  22496. <MINLENGTH>1</MINLENGTH>
  22497. <MAXDECIMAL>0</MAXDECIMAL>
  22498. <MINDECIMAL>0</MINDECIMAL>
  22499. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22500. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22501. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  22502. <TRANSFORMTO>BIN;LBIN;BLOB;</TRANSFORMTO>
  22503. <EXPORTTO>0</EXPORTTO>
  22504. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22505. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22506. </TYPE>
  22507. <TYPE>
  22508. <NAME>VarBinary</NAME>
  22509. <ID>140</ID>
  22510. <GUID>{74733245-F2F1-4FFB-BB61-EFDB09E7823A}</GUID>
  22511. <PHNAME>Varbinary</PHNAME>
  22512. <LLENGTH>1</LLENGTH>
  22513. <LDECIMAL>0</LDECIMAL>
  22514. <MAXLENGTH>35000</MAXLENGTH>
  22515. <MINLENGTH>1</MINLENGTH>
  22516. <MAXDECIMAL>0</MAXDECIMAL>
  22517. <MINDECIMAL>0</MINDECIMAL>
  22518. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  22519. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22520. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  22521. <TRANSFORMTO>LBIN;BIN;BLOB;</TRANSFORMTO>
  22522. <EXPORTTO>0</EXPORTTO>
  22523. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22524. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22525. </TYPE>
  22526. <TYPE>
  22527. <NAME>Bit</NAME>
  22528. <ID>150</ID>
  22529. <GUID>{F684BEAE-5DE6-445C-A300-71D41030A49D}</GUID>
  22530. <PHNAME>Bit</PHNAME>
  22531. <LLENGTH>0</LLENGTH>
  22532. <LDECIMAL>0</LDECIMAL>
  22533. <MAXLENGTH>0</MAXLENGTH>
  22534. <MINLENGTH>0</MINLENGTH>
  22535. <MAXDECIMAL>0</MAXDECIMAL>
  22536. <MINDECIMAL>0</MINDECIMAL>
  22537. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22538. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22539. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  22540. <TRANSFORMTO>BIT;BL;A,1,0;</TRANSFORMTO>
  22541. <EXPORTTO>0</EXPORTTO>
  22542. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22543. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22544. </TYPE>
  22545. <TYPE>
  22546. <NAME>DateTime</NAME>
  22547. <ID>160</ID>
  22548. <GUID>{B586E14E-E307-42E7-97C3-C2B46F2DC9D0}</GUID>
  22549. <PHNAME>Datetime</PHNAME>
  22550. <LLENGTH>0</LLENGTH>
  22551. <LDECIMAL>0</LDECIMAL>
  22552. <MAXLENGTH>0</MAXLENGTH>
  22553. <MINLENGTH>0</MINLENGTH>
  22554. <MAXDECIMAL>0</MAXDECIMAL>
  22555. <MINDECIMAL>0</MINDECIMAL>
  22556. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22557. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22558. <TRANSFORMCODE>DT</TRANSFORMCODE>
  22559. <TRANSFORMTO>DT;D;</TRANSFORMTO>
  22560. <EXPORTTO>0</EXPORTTO>
  22561. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22562. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22563. </TYPE>
  22564. <TYPE>
  22565. <NAME>SmallDateTime</NAME>
  22566. <ID>170</ID>
  22567. <GUID>{87A0DC88-05EE-4EFE-94AF-DB11120C084C}</GUID>
  22568. <PHNAME>Smalldatetime</PHNAME>
  22569. <LLENGTH>0</LLENGTH>
  22570. <LDECIMAL>0</LDECIMAL>
  22571. <MAXLENGTH>0</MAXLENGTH>
  22572. <MINLENGTH>0</MINLENGTH>
  22573. <MAXDECIMAL>0</MAXDECIMAL>
  22574. <MINDECIMAL>0</MINDECIMAL>
  22575. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22576. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22577. <TRANSFORMCODE>SDT</TRANSFORMCODE>
  22578. <TRANSFORMTO>SDT;DT;D;</TRANSFORMTO>
  22579. <EXPORTTO>0</EXPORTTO>
  22580. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22581. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22582. </TYPE>
  22583. <TYPE>
  22584. <NAME>TimeStamp</NAME>
  22585. <ID>180</ID>
  22586. <GUID>{DC7D2969-6D4B-4EE4-AED0-3EB1971214BC}</GUID>
  22587. <PHNAME>Timestamp</PHNAME>
  22588. <LLENGTH>0</LLENGTH>
  22589. <LDECIMAL>0</LDECIMAL>
  22590. <MAXLENGTH>0</MAXLENGTH>
  22591. <MINLENGTH>0</MINLENGTH>
  22592. <MAXDECIMAL>0</MAXDECIMAL>
  22593. <MINDECIMAL>0</MINDECIMAL>
  22594. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22595. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22596. <TRANSFORMCODE>TS</TRANSFORMCODE>
  22597. <TRANSFORMTO>TS;DT;</TRANSFORMTO>
  22598. <EXPORTTO>0</EXPORTTO>
  22599. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22600. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22601. </TYPE>
  22602. <TYPE>
  22603. <NAME>UniqueIdentifier</NAME>
  22604. <ID>185</ID>
  22605. <GUID>{61E847EF-D616-41F5-AD0B-9492BB761523}</GUID>
  22606. <PHNAME>Uniqueidentifier</PHNAME>
  22607. <LLENGTH>0</LLENGTH>
  22608. <LDECIMAL>0</LDECIMAL>
  22609. <MAXLENGTH>0</MAXLENGTH>
  22610. <MINLENGTH>0</MINLENGTH>
  22611. <MAXDECIMAL>0</MAXDECIMAL>
  22612. <MINDECIMAL>0</MINDECIMAL>
  22613. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22614. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22615. <TRANSFORMCODE>UI</TRANSFORMCODE>
  22616. <TRANSFORMTO>UI;DC;LF;F;</TRANSFORMTO>
  22617. <EXPORTTO>0</EXPORTTO>
  22618. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22619. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22620. </TYPE>
  22621. <TYPE>
  22622. <NAME>Empty</NAME>
  22623. <ID>200</ID>
  22624. <GUID>{708CC5C3-912F-45F1-8575-27703DD664D1}</GUID>
  22625. <PHNAME></PHNAME>
  22626. <LLENGTH>0</LLENGTH>
  22627. <LDECIMAL>0</LDECIMAL>
  22628. <MAXLENGTH>0</MAXLENGTH>
  22629. <MINLENGTH>0</MINLENGTH>
  22630. <MAXDECIMAL>0</MAXDECIMAL>
  22631. <MINDECIMAL>0</MINDECIMAL>
  22632. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  22633. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  22634. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  22635. <TRANSFORMTO>EMP;</TRANSFORMTO>
  22636. <EXPORTTO>0</EXPORTTO>
  22637. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  22638. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  22639. </TYPE>
  22640. </TYPELIST>
  22641. <TEXTOBJECTTYPES>
  22642. </TEXTOBJECTTYPES>
  22643. <DISABLED>0</DISABLED>
  22644. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  22645. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  22646. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  22647. <DEFAULTCHAR>_</DEFAULTCHAR>
  22648. <INVALIDCHARACTERS>!"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  22649. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  22650. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  22651. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  22652. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  22653. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22654. <KEYWORDS><![CDATA[ADD 
  22655. EXIT 
  22656. PRIMARY 
  22657. ALL 
  22658. FETCH 
  22659. PRINT 
  22660. ALTER 
  22661. FILE 
  22662. PRIVILEGES 
  22663. AND 
  22664. FILLFACTOR 
  22665. PROC 
  22666. ANY 
  22667. FLOPPY 
  22668. PROCEDURE 
  22669. AS 
  22670. FOR 
  22671. PROCESSEXIT 
  22672. ASC 
  22673. FOREIGN 
  22674. PUBLIC 
  22675. AUTHORIZATION 
  22676. FREETEXT 
  22677. RAISERROR 
  22678. AVG 
  22679. FREETEXTTABLE 
  22680. READ 
  22681. BACKUP 
  22682. FROM 
  22683. READTEXT 
  22684. BEGIN 
  22685. FULL 
  22686. RECONFIGURE 
  22687. BETWEEN 
  22688. GOTO 
  22689. REFERENCES 
  22690. BREAK 
  22691. GRANT 
  22692. REPEATABLE 
  22693. BROWSE 
  22694. GROUP 
  22695. REPLICATION 
  22696. BULK 
  22697. HAVING 
  22698. RESTORE 
  22699. BY 
  22700. HOLDLOCK 
  22701. RESTRICT 
  22702. CASCADE 
  22703. IDENTITY 
  22704. RETURN 
  22705. CASE 
  22706. IDENTITY_INSERT 
  22707. REVOKE 
  22708. CHECK 
  22709. IDENTITYCOL 
  22710. RIGHT 
  22711. CHECKPOINT 
  22712. IF 
  22713. ROLLBACK 
  22714. CLOSE 
  22715. IN 
  22716. ROWCOUNT 
  22717. CLUSTERED 
  22718. INDEX 
  22719. ROWGUIDCOL 
  22720. COALESCE 
  22721. INNER 
  22722. RULE 
  22723. COLUMN 
  22724. INSERT 
  22725. SAVE 
  22726. COMMIT 
  22727. INTERSECT 
  22728. SCHEMA 
  22729. COMMITTED 
  22730. INTO 
  22731. SELECT 
  22732. COMPUTE 
  22733. IS 
  22734. SERIALIZABLE 
  22735. CONFIRM 
  22736. ISOLATION 
  22737. SESSION_USER 
  22738. CONSTRAINT 
  22739. JOIN 
  22740. SET 
  22741. CONTAINS 
  22742. KEY 
  22743. SETUSER 
  22744. CONTAINSTABLE 
  22745. KILL 
  22746. SHUTDOWN 
  22747. CONTINUE 
  22748. LEFT 
  22749. SOME 
  22750. CONTROLROW 
  22751. LEVEL 
  22752. STATISTICS 
  22753. CONVERT 
  22754. LIKE 
  22755. SUM 
  22756. COUNT 
  22757. LINENO 
  22758. SYSTEM_USER 
  22759. CREATE 
  22760. LOAD 
  22761. TABLE 
  22762. CROSS 
  22763. MAX 
  22764. TAPE 
  22765. CURRENT 
  22766. MIN 
  22767. TEMP 
  22768. CURRENT_DATE 
  22769. MIRROREXIT 
  22770. TEMPORARY 
  22771. CURRENT_TIME 
  22772. NATIONAL  
  22773. TEXTSIZE 
  22774. CURRENT_TIMESTAMP 
  22775. NOCHECK 
  22776. THEN 
  22777. CURRENT_USER 
  22778. NONCLUSTERED 
  22779. TO 
  22780. CURSOR 
  22781. NOT 
  22782. TOP 
  22783. DATABASE 
  22784. NULL 
  22785. TRAN 
  22786. DBCC 
  22787. NULLIF 
  22788. TRANSACTION 
  22789. DEALLOCATE 
  22790. OF 
  22791. TRIGGER 
  22792. DECLARE 
  22793. OFF 
  22794. TRUNCATE 
  22795. DEFAULT 
  22796. OFFSETS 
  22797. TSEQUAL 
  22798. DELETE 
  22799. ON 
  22800. UNCOMMITTED 
  22801. DENY 
  22802. ONCE 
  22803. UNION 
  22804. DESC 
  22805. ONLY 
  22806. UNIQUE 
  22807. DISK 
  22808. OPEN 
  22809. UPDATE 
  22810. DISTINCT 
  22811. OPENDATASOURCE 
  22812. UPDATETEXT 
  22813. DISTRIBUTED 
  22814. OPENQUERY 
  22815. USE 
  22816. DOUBLE 
  22817. OPENROWSET 
  22818. USER 
  22819. DROP 
  22820. OPTION 
  22821. VALUES 
  22822. DUMMY 
  22823. OR 
  22824. VARYING 
  22825. DUMP 
  22826. ORDER 
  22827. VIEW 
  22828. ELSE 
  22829. OUTER 
  22830. WAITFOR 
  22831. END 
  22832. OVER 
  22833. WHEN 
  22834. ERRLVL 
  22835. PERCENT 
  22836. WHERE 
  22837. ERROREXIT 
  22838. PERM 
  22839. WHILE 
  22840. ESCAPE 
  22841. PERMANENT 
  22842. WITH 
  22843. EXCEPT 
  22844. PIPE 
  22845. WORK 
  22846. EXEC 
  22847. PLAN 
  22848. WRITETEXT 
  22849. EXECUTE 
  22850. PRECISION   
  22851. EXISTS 
  22852. PREPARE 
  22853. ]]></KEYWORDS>
  22854. </SERVER>
  22855. <SERVER>
  22856. <NAME>mySQL 3.23</NAME>
  22857. <ID>140</ID>
  22858. <GUID>{3AE49571-F39C-487E-9619-16BDCA3847C2}</GUID>
  22859. <TEMPLATES>
  22860. <TEMPLATE>
  22861. <NAME>CreateTable</NAME>
  22862. <ID>1</ID>
  22863. <GUID>{BC144D7D-F43A-48A9-89BC-22A6B4C87DE9}</GUID>
  22864. <CAPTION></CAPTION>
  22865. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  22866. <ENABLED>1</ENABLED>
  22867. <LEVEL>2</LEVEL>
  22868. <IDPARENT>0</IDPARENT>
  22869. <VALUE><![CDATA[cr+
  22870. "Create "+if(lTempTable,"temporary ","")+
  22871. "table "+if(lIfNotExists,"if not exists ","")+
  22872. "%tablename% %tablestorage% ("+
  22873. forcol("", "", cr+tb+macro(CreateAtrib), ",", "")+
  22874. if(ExistPK and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+
  22875. " Primary Key ("+forpkcol("", "", ColName+if(Empty(Column.nSubPart),"","("+Column.nSubPart+")" ) , ",", ")"+cr) , cr )+
  22876. ")"+
  22877. if(lComments and (EntDescription<>""),"%cr%Comment = %c5%%EntDescription%%c5%","")+
  22878. ";"+cr+
  22879. ShowMessage("Table %tablename%")
  22880. ]]></VALUE>
  22881. <LANGUAGE>0</LANGUAGE>
  22882. <LANGUAGEWIN>---</LANGUAGEWIN>
  22883. <CATEGORY>2</CATEGORY>
  22884. <MAINSCRIPT>0</MAINSCRIPT>
  22885. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  22886. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22887. <AUTHOR></AUTHOR>
  22888. <COMPANY></COMPANY>
  22889. <VERSION></VERSION>
  22890. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  22891. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  22892. </TEMPLATE>
  22893. <TEMPLATE>
  22894. <NAME>CreateIndex</NAME>
  22895. <ID>2</ID>
  22896. <GUID>{765E4CCC-C626-41A8-AF4D-9C1E2779BB04}</GUID>
  22897. <CAPTION></CAPTION>
  22898. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  22899. <ENABLED>1</ENABLED>
  22900. <LEVEL>2</LEVEL>
  22901. <IDPARENT>0</IDPARENT>
  22902. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+
  22903. "Index %Indexname%  ON %tablename% ("+
  22904. if(NOT(Index.ExprType),ForIndexCol("","",colname,",",""),IndexExpr)+");"+cr+
  22905. ShowMessage("Index %Indexname% for table %tablename%")
  22906. ]]></VALUE>
  22907. <LANGUAGE>0</LANGUAGE>
  22908. <LANGUAGEWIN>---</LANGUAGEWIN>
  22909. <CATEGORY>2</CATEGORY>
  22910. <MAINSCRIPT>0</MAINSCRIPT>
  22911. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  22912. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22913. <AUTHOR></AUTHOR>
  22914. <COMPANY></COMPANY>
  22915. <VERSION></VERSION>
  22916. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  22917. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  22918. </TEMPLATE>
  22919. <TEMPLATE>
  22920. <NAME>DropIndexs</NAME>
  22921. <ID>3</ID>
  22922. <GUID>{7BD0C33C-280F-488E-8E25-84711A97B6BD}</GUID>
  22923. <CAPTION></CAPTION>
  22924. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  22925. <ENABLED>1</ENABLED>
  22926. <LEVEL>2</LEVEL>
  22927. <IDPARENT>0</IDPARENT>
  22928. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname% on %tablename%;%cr%", "", "" ),"","")
  22929. ]]></VALUE>
  22930. <LANGUAGE>0</LANGUAGE>
  22931. <LANGUAGEWIN>---</LANGUAGEWIN>
  22932. <CATEGORY>2</CATEGORY>
  22933. <MAINSCRIPT>0</MAINSCRIPT>
  22934. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  22935. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22936. <AUTHOR></AUTHOR>
  22937. <COMPANY></COMPANY>
  22938. <VERSION></VERSION>
  22939. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  22940. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  22941. </TEMPLATE>
  22942. <TEMPLATE>
  22943. <NAME>DropTables</NAME>
  22944. <ID>4</ID>
  22945. <GUID>{1A2AEFA8-FCD8-4143-8E17-C1F8A34D4A14}</GUID>
  22946. <CAPTION></CAPTION>
  22947. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  22948. <ENABLED>1</ENABLED>
  22949. <LEVEL>2</LEVEL>
  22950. <IDPARENT>0</IDPARENT>
  22951. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  22952. ]]></VALUE>
  22953. <LANGUAGE>0</LANGUAGE>
  22954. <LANGUAGEWIN>---</LANGUAGEWIN>
  22955. <CATEGORY>2</CATEGORY>
  22956. <MAINSCRIPT>0</MAINSCRIPT>
  22957. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  22958. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22959. <AUTHOR></AUTHOR>
  22960. <COMPANY></COMPANY>
  22961. <VERSION></VERSION>
  22962. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  22963. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  22964. </TEMPLATE>
  22965. <TEMPLATE>
  22966. <NAME>CreateAtrib</NAME>
  22967. <ID>5</ID>
  22968. <GUID>{921E0481-B911-4591-B846-9B84D335E434}</GUID>
  22969. <CAPTION></CAPTION>
  22970. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  22971. <ENABLED>1</ENABLED>
  22972. <LEVEL>2</LEVEL>
  22973. <IDPARENT>0</IDPARENT>
  22974. <VALUE><![CDATA[ScriptProc( CreateAtrib2,Main,Column.Id )+
  22975. if(notnull," NOT NULL "," ")+
  22976. if(defaultexist," DEFAULT %defaultvalue% "  ,"")+
  22977. if(Column.lAutoIncrement,"AUTO_INCREMENT","")+
  22978. if(UniqueAtr,if(not Empty(ConstraintAtrUnique),"CONSTRAINT %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  22979. if(constraintExist and CheckExist, " CONSTRAINT %constraint%","")+
  22980. if(def2exist," %def2value%", "")
  22981. ]]></VALUE>
  22982. <LANGUAGE>0</LANGUAGE>
  22983. <LANGUAGEWIN>---</LANGUAGEWIN>
  22984. <CATEGORY>2</CATEGORY>
  22985. <MAINSCRIPT>0</MAINSCRIPT>
  22986. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  22987. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  22988. <AUTHOR></AUTHOR>
  22989. <COMPANY></COMPANY>
  22990. <VERSION></VERSION>
  22991. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  22992. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  22993. </TEMPLATE>
  22994. <TEMPLATE>
  22995. <NAME>CreateAtrib2</NAME>
  22996. <ID>6</ID>
  22997. <GUID>{26A9EF72-EFF8-4C78-802B-FDFB3DD41A5E}</GUID>
  22998. <CAPTION></CAPTION>
  22999. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23000. <ENABLED>1</ENABLED>
  23001. <LEVEL>2</LEVEL>
  23002. <IDPARENT>0</IDPARENT>
  23003. <VALUE><![CDATA[function Main( AttrId )
  23004. {
  23005. var DictType, DataType;
  23006. var Attribute = Model.GetAttribute( AttrId );
  23007. var Def          = Attribute.Def;
  23008. var Result    = '';
  23009.  
  23010. if (Attribute.DataTypeId == 0)
  23011.     {
  23012.     DictType = Model.GetDictType( Attribute.DictTypeId );
  23013.     DataType = Model.GetDatatype( DictType.DataTypeId );
  23014.     if (Def == '')
  23015.         Def = DictType.Def;
  23016.     }
  23017. else
  23018.     DataType = Model.GetDatatype( Attribute.DataTypeId );
  23019.  
  23020. switch (DataType.Id)
  23021.     {
  23022.     case 50: //Float
  23023.         if ( Attribute.Decimal == 0 )    
  23024.             if ( Attribute.Length > 24 )
  23025.                 Result = 'Double'
  23026.             else
  23027.                 Result = 'Float';
  23028.         break;
  23029.  
  23030.     case 72: //Timestamp
  23031.         Result = 'Timestamp('
  23032.         if ((Attribute.Length % 2) == 1)
  23033.             Result += (Attribute.Length+1).toString()+')'
  23034.         else    
  23035.             Result += Attribute.Length.toString()+')';
  23036.         break;
  23037.  
  23038.     case 74: //Year
  23039.         Result = 'Year('
  23040.         if (Attribute.Length == 2)
  23041.             Result += '2)'
  23042.         else    
  23043.             Result += '4)';
  23044.         break;    
  23045.  
  23046.     case 150:  //Enum
  23047.         Result = 'Enum('+Def+')';
  23048.         break;
  23049.  
  23050.     case 160:  //Set
  23051.         Result = 'Set('+Def+')';
  23052.         break;
  23053.     };
  23054.  
  23055. if (Result == '')
  23056.     Result = Attribute.SQLDataType; //DataType.DataTypeName;
  23057.  
  23058. if (SysUtils.UserVarToBool( Attribute.lUnsigned ) )
  23059.     Result +=  ' UNSIGNED';
  23060.  
  23061. if (SysUtils.UserVarToBool( Attribute.lZerofill ) )
  23062.     Result +=  ' ZEROFILL';
  23063.  
  23064. if (SysUtils.UserVarToBool( Attribute.lBinary ) )
  23065.     Result +=  ' BINARY';
  23066.  
  23067. if (!((Attribute.Def == '') || (DataType.Id == 150) || (DataType.Id == 160)))
  23068.     Result += ' '+Attribute.Def;
  23069.     
  23070. return ( Attribute.ColName+' '+Result );
  23071. };
  23072. ]]></VALUE>
  23073. <LANGUAGE>1</LANGUAGE>
  23074. <LANGUAGEWIN>---</LANGUAGEWIN>
  23075. <CATEGORY>2</CATEGORY>
  23076. <MAINSCRIPT>0</MAINSCRIPT>
  23077. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23078. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23079. <AUTHOR></AUTHOR>
  23080. <COMPANY></COMPANY>
  23081. <VERSION></VERSION>
  23082. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  23083. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  23084. </TEMPLATE>
  23085. <TEMPLATE>
  23086. <NAME>CreateAlterKey</NAME>
  23087. <ID>7</ID>
  23088. <GUID>{663A5912-6E43-4842-9A01-1404410830BC}</GUID>
  23089. <CAPTION></CAPTION>
  23090. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23091. <ENABLED>1</ENABLED>
  23092. <LEVEL>2</LEVEL>
  23093. <IDPARENT>0</IDPARENT>
  23094. <VALUE><![CDATA[@ForAlterKey("","","Alter table %TableName% add unique %AlterKeyConstraintName% ("+ForAlterKeyCol("","",ColName,",","")+");%cr%","","")
  23095. ]]></VALUE>
  23096. <LANGUAGE>0</LANGUAGE>
  23097. <LANGUAGEWIN>---</LANGUAGEWIN>
  23098. <CATEGORY>2</CATEGORY>
  23099. <MAINSCRIPT>0</MAINSCRIPT>
  23100. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23101. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23102. <AUTHOR></AUTHOR>
  23103. <COMPANY></COMPANY>
  23104. <VERSION></VERSION>
  23105. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></CREATED>
  23106. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:08</TIME></MODIFIED>
  23107. </TEMPLATE>
  23108. </TEMPLATES>
  23109. <VARIABLES><![CDATA[lDomainSupp  0
  23110. lAtrCheckConstraintSupp 0
  23111. lAlterKeySupp 1
  23112. lProceduresSupp 0
  23113. lViewsSupp 0
  23114. lConstraintPkSupp 0
  23115. lConstraintFkSupp 0
  23116. lAtrUniqueConstraintSupp 0
  23117. lPermissUserToRoleSupp 0
  23118. lPermissUserToObjectSupp 1
  23119. lPermissRoleToObjectSupp 0
  23120. lRoleSupp 0
  23121. lDriParUpdRestrict 1
  23122. lDriParUpdCascade 1
  23123. lDriParUpdSetNull 1
  23124. lDriParUpdSetDefault 1
  23125. lDriParDelRestrict 1
  23126. lDriParDelCascade 1
  23127. lDriParDelSetNull 1
  23128. lDriParDelSetDefault 1
  23129. lDriChildInsRestrict 0
  23130. lDriChildUpdRestrict 0
  23131. lDriParUpdRestrictSupp 0
  23132. lDriParUpdCascadeSupp 0
  23133. lDriParUpdSetNullSupp 0
  23134. lDriParUpdSetDefaultSupp 0
  23135. lDriParDelRestrictSupp 0
  23136. lDriParDelCascadeSupp 0
  23137. lDriParDelSetNullSupp 0
  23138. lDriParDelSetDefaultSupp 0
  23139. lDriChildInsRestrictSupp 0
  23140. lDriChildUpdRestrictSupp 0
  23141. lIndexDescendSupp 0
  23142. lIndexItDescendSupp 1
  23143. lIndexUpperSupp 0
  23144. lIndexExprSupp 1
  23145. lIndexUniqueSupp 1
  23146. lIndexFilterSupp 0
  23147. lIndexStandSupp 1
  23148. lIndexClusterSupp 0
  23149. lIndexNameUnique 1
  23150. lPkSupp 1
  23151. lPkNotNull 1
  23152. lDRISupp 0
  23153. lTriggerSupp 0
  23154. lAtrUniqueSupp 1
  23155. lAtrNotNullSupp 1
  23156. lAtrCheckSupp 0
  23157. lAtrDefaultSupp 1
  23158. lDomainSupp  0
  23159. lAtrCheckConstraintSupp 0
  23160. lAlterKeySupp 1
  23161. lProceduresSupp 0
  23162. lViewsSupp 0
  23163. lConstraintPkSupp 0
  23164. lConstraintFkSupp 0
  23165. lAtrUniqueConstraintSupp 0
  23166. lPermissUserToRoleSupp 0
  23167. lPermissUserToObjectSupp 1
  23168. lPermissRoleToObjectSupp 0
  23169. lRoleSupp 0
  23170. ]]></VARIABLES>
  23171. <USEREDITS>
  23172. <USEREDIT>
  23173. <NAME>lTempTable</NAME>
  23174. <ID>1</ID>
  23175. <GUID>{5F1D461B-2F16-40C3-919E-A96A67B831BD}</GUID>
  23176. <CAPTION>Temporary table</CAPTION>
  23177. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23178. <TYPE>1</TYPE>
  23179. <LEVEL>2</LEVEL>
  23180. <DEFAULT>0</DEFAULT>
  23181. <ORD>10</ORD>
  23182. <LENGTH>0</LENGTH>
  23183. <ENABLED>1</ENABLED>
  23184. <ITEMS></ITEMS>
  23185. </USEREDIT>
  23186. <USEREDIT>
  23187. <NAME>lIfNotExists</NAME>
  23188. <ID>2</ID>
  23189. <GUID>{893E4A68-84A8-417A-9B86-30429B5F4188}</GUID>
  23190. <CAPTION>If not exists</CAPTION>
  23191. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23192. <TYPE>1</TYPE>
  23193. <LEVEL>2</LEVEL>
  23194. <DEFAULT>0</DEFAULT>
  23195. <ORD>20</ORD>
  23196. <LENGTH>0</LENGTH>
  23197. <ENABLED>1</ENABLED>
  23198. <ITEMS></ITEMS>
  23199. </USEREDIT>
  23200. <USEREDIT>
  23201. <NAME>lComments</NAME>
  23202. <ID>3</ID>
  23203. <GUID>{AD97F610-1048-4C15-95E4-3893A9E0B56E}</GUID>
  23204. <CAPTION>Generate table comments</CAPTION>
  23205. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23206. <TYPE>1</TYPE>
  23207. <LEVEL>1</LEVEL>
  23208. <DEFAULT>1</DEFAULT>
  23209. <ORD>30</ORD>
  23210. <LENGTH>0</LENGTH>
  23211. <ENABLED>1</ENABLED>
  23212. <ITEMS></ITEMS>
  23213. </USEREDIT>
  23214. <USEREDIT>
  23215. <NAME>nSubPart</NAME>
  23216. <ID>4</ID>
  23217. <GUID>{15A032F7-B51C-433B-B71B-151D52DBEEDE}</GUID>
  23218. <CAPTION>Number of indexed characters</CAPTION>
  23219. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23220. <TYPE>0</TYPE>
  23221. <LEVEL>3</LEVEL>
  23222. <DEFAULT></DEFAULT>
  23223. <ORD>50</ORD>
  23224. <LENGTH>20</LENGTH>
  23225. <ENABLED>1</ENABLED>
  23226. <ITEMS></ITEMS>
  23227. </USEREDIT>
  23228. <USEREDIT>
  23229. <NAME>lZerofill</NAME>
  23230. <ID>5</ID>
  23231. <GUID>{0166403F-D2D6-42EA-9E92-353F7327DB91}</GUID>
  23232. <CAPTION>Zerofill</CAPTION>
  23233. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23234. <TYPE>1</TYPE>
  23235. <LEVEL>3</LEVEL>
  23236. <DEFAULT>0</DEFAULT>
  23237. <ORD>20</ORD>
  23238. <LENGTH>0</LENGTH>
  23239. <ENABLED>1</ENABLED>
  23240. <ITEMS></ITEMS>
  23241. </USEREDIT>
  23242. <USEREDIT>
  23243. <NAME>lUnsigned</NAME>
  23244. <ID>6</ID>
  23245. <GUID>{9EBE7031-C677-4E80-8707-9FDE26D7AD32}</GUID>
  23246. <CAPTION>Unsigned</CAPTION>
  23247. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23248. <TYPE>1</TYPE>
  23249. <LEVEL>3</LEVEL>
  23250. <DEFAULT>0</DEFAULT>
  23251. <ORD>10</ORD>
  23252. <LENGTH>0</LENGTH>
  23253. <ENABLED>1</ENABLED>
  23254. <ITEMS></ITEMS>
  23255. </USEREDIT>
  23256. <USEREDIT>
  23257. <NAME>lBinary</NAME>
  23258. <ID>7</ID>
  23259. <GUID>{28AD9D0D-6367-4293-BDC2-07CE51CBEFF8}</GUID>
  23260. <CAPTION>Binary</CAPTION>
  23261. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23262. <TYPE>1</TYPE>
  23263. <LEVEL>3</LEVEL>
  23264. <DEFAULT>0</DEFAULT>
  23265. <ORD>30</ORD>
  23266. <LENGTH>0</LENGTH>
  23267. <ENABLED>1</ENABLED>
  23268. <ITEMS></ITEMS>
  23269. </USEREDIT>
  23270. <USEREDIT>
  23271. <NAME>lAutoincrement</NAME>
  23272. <ID>8</ID>
  23273. <GUID>{97A7593F-63E9-4BD1-8594-91E2ABA72504}</GUID>
  23274. <CAPTION>Autoincrement</CAPTION>
  23275. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  23276. <TYPE>1</TYPE>
  23277. <LEVEL>3</LEVEL>
  23278. <DEFAULT></DEFAULT>
  23279. <ORD>5</ORD>
  23280. <LENGTH>0</LENGTH>
  23281. <ENABLED>1</ENABLED>
  23282. <ITEMS></ITEMS>
  23283. </USEREDIT>
  23284. </USEREDITS>
  23285. <TYPELIST>
  23286. <TYPE>
  23287. <NAME>Char</NAME>
  23288. <ID>10</ID>
  23289. <GUID>{8C01C805-7528-4157-B185-1C46480FDB86}</GUID>
  23290. <PHNAME>Char</PHNAME>
  23291. <LLENGTH>1</LLENGTH>
  23292. <LDECIMAL>0</LDECIMAL>
  23293. <MAXLENGTH>255</MAXLENGTH>
  23294. <MINLENGTH>0</MINLENGTH>
  23295. <MAXDECIMAL>0</MAXDECIMAL>
  23296. <MINDECIMAL>0</MINDECIMAL>
  23297. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  23298. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23299. <TRANSFORMCODE>A</TRANSFORMCODE>
  23300. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  23301. <EXPORTTO>0</EXPORTTO>
  23302. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23303. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23304. </TYPE>
  23305. <TYPE>
  23306. <NAME>Varchar</NAME>
  23307. <ID>20</ID>
  23308. <GUID>{5ADA7F6D-9784-4472-B870-41E91CF917C3}</GUID>
  23309. <PHNAME>Varchar</PHNAME>
  23310. <LLENGTH>1</LLENGTH>
  23311. <LDECIMAL>0</LDECIMAL>
  23312. <MAXLENGTH>255</MAXLENGTH>
  23313. <MINLENGTH>1</MINLENGTH>
  23314. <MAXDECIMAL>0</MAXDECIMAL>
  23315. <MINDECIMAL>0</MINDECIMAL>
  23316. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  23317. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23318. <TRANSFORMCODE>VA</TRANSFORMCODE>
  23319. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  23320. <EXPORTTO>0</EXPORTTO>
  23321. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23322. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23323. </TYPE>
  23324. <TYPE>
  23325. <NAME>Tinyint</NAME>
  23326. <ID>25</ID>
  23327. <GUID>{330F9191-6C30-4F33-99AE-F860F33C7D40}</GUID>
  23328. <PHNAME>Tinyint</PHNAME>
  23329. <LLENGTH>1</LLENGTH>
  23330. <LDECIMAL>0</LDECIMAL>
  23331. <MAXLENGTH>255</MAXLENGTH>
  23332. <MINLENGTH>0</MINLENGTH>
  23333. <MAXDECIMAL>0</MAXDECIMAL>
  23334. <MINDECIMAL>0</MINDECIMAL>
  23335. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23336. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23337. <TRANSFORMCODE>TI</TRANSFORMCODE>
  23338. <TRANSFORMTO>TI;SI;MI;I;LI;N,3,0;</TRANSFORMTO>
  23339. <EXPORTTO>0</EXPORTTO>
  23340. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23341. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23342. </TYPE>
  23343. <TYPE>
  23344. <NAME>Smallint</NAME>
  23345. <ID>30</ID>
  23346. <GUID>{C3A64819-B6C5-4A0F-8EB8-A1D6ED2FB8CE}</GUID>
  23347. <PHNAME>Smallint</PHNAME>
  23348. <LLENGTH>1</LLENGTH>
  23349. <LDECIMAL>0</LDECIMAL>
  23350. <MAXLENGTH>255</MAXLENGTH>
  23351. <MINLENGTH>0</MINLENGTH>
  23352. <MAXDECIMAL>0</MAXDECIMAL>
  23353. <MINDECIMAL>0</MINDECIMAL>
  23354. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23355. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23356. <TRANSFORMCODE>SI</TRANSFORMCODE>
  23357. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  23358. <EXPORTTO>0</EXPORTTO>
  23359. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23360. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23361. </TYPE>
  23362. <TYPE>
  23363. <NAME>Mediumint</NAME>
  23364. <ID>35</ID>
  23365. <GUID>{B0EE8FF4-7E8F-4BEC-A681-6D949DE3BC75}</GUID>
  23366. <PHNAME>Mediumint</PHNAME>
  23367. <LLENGTH>1</LLENGTH>
  23368. <LDECIMAL>0</LDECIMAL>
  23369. <MAXLENGTH>255</MAXLENGTH>
  23370. <MINLENGTH>0</MINLENGTH>
  23371. <MAXDECIMAL>0</MAXDECIMAL>
  23372. <MINDECIMAL>0</MINDECIMAL>
  23373. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23374. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23375. <TRANSFORMCODE>MI</TRANSFORMCODE>
  23376. <TRANSFORMTO>MI;I;N,8,0;</TRANSFORMTO>
  23377. <EXPORTTO>0</EXPORTTO>
  23378. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23379. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23380. </TYPE>
  23381. <TYPE>
  23382. <NAME>Integer</NAME>
  23383. <ID>40</ID>
  23384. <GUID>{51E8A984-7A92-4BF7-8AD2-B7A18DA41D64}</GUID>
  23385. <PHNAME>Integer</PHNAME>
  23386. <LLENGTH>1</LLENGTH>
  23387. <LDECIMAL>0</LDECIMAL>
  23388. <MAXLENGTH>255</MAXLENGTH>
  23389. <MINLENGTH>0</MINLENGTH>
  23390. <MAXDECIMAL>0</MAXDECIMAL>
  23391. <MINDECIMAL>0</MINDECIMAL>
  23392. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23393. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23394. <TRANSFORMCODE>I</TRANSFORMCODE>
  23395. <TRANSFORMTO>I;LI;BI;N,10,0;LF;F;</TRANSFORMTO>
  23396. <EXPORTTO>0</EXPORTTO>
  23397. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23398. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23399. </TYPE>
  23400. <TYPE>
  23401. <NAME>Bigint</NAME>
  23402. <ID>45</ID>
  23403. <GUID>{961D96F4-4F95-45F3-BD6D-E0C4EE69835F}</GUID>
  23404. <PHNAME>Bigint</PHNAME>
  23405. <LLENGTH>1</LLENGTH>
  23406. <LDECIMAL>0</LDECIMAL>
  23407. <MAXLENGTH>255</MAXLENGTH>
  23408. <MINLENGTH>0</MINLENGTH>
  23409. <MAXDECIMAL>0</MAXDECIMAL>
  23410. <MINDECIMAL>0</MINDECIMAL>
  23411. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23412. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23413. <TRANSFORMCODE>BI</TRANSFORMCODE>
  23414. <TRANSFORMTO>BI;LF;F;I;</TRANSFORMTO>
  23415. <EXPORTTO>0</EXPORTTO>
  23416. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23417. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23418. </TYPE>
  23419. <TYPE>
  23420. <NAME>Float</NAME>
  23421. <ID>50</ID>
  23422. <GUID>{13C1A8FD-33D3-49DE-A60D-E5381E3764BB}</GUID>
  23423. <PHNAME>Float</PHNAME>
  23424. <LLENGTH>1</LLENGTH>
  23425. <LDECIMAL>1</LDECIMAL>
  23426. <MAXLENGTH>255</MAXLENGTH>
  23427. <MINLENGTH>0</MINLENGTH>
  23428. <MAXDECIMAL>30</MAXDECIMAL>
  23429. <MINDECIMAL>0</MINDECIMAL>
  23430. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23431. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23432. <TRANSFORMCODE>F</TRANSFORMCODE>
  23433. <TRANSFORMTO>FXY;F;LF;N,15,5;</TRANSFORMTO>
  23434. <EXPORTTO>0</EXPORTTO>
  23435. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23436. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23437. </TYPE>
  23438. <TYPE>
  23439. <NAME>Double</NAME>
  23440. <ID>55</ID>
  23441. <GUID>{26FA1BDB-3860-42D5-B8AF-3B8231620800}</GUID>
  23442. <PHNAME>Double</PHNAME>
  23443. <LLENGTH>1</LLENGTH>
  23444. <LDECIMAL>1</LDECIMAL>
  23445. <MAXLENGTH>255</MAXLENGTH>
  23446. <MINLENGTH>0</MINLENGTH>
  23447. <MAXDECIMAL>30</MAXDECIMAL>
  23448. <MINDECIMAL>0</MINDECIMAL>
  23449. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23450. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23451. <TRANSFORMCODE>LF</TRANSFORMCODE>
  23452. <TRANSFORMTO>LFXY;LF;F;N,15,5;</TRANSFORMTO>
  23453. <EXPORTTO>0</EXPORTTO>
  23454. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23455. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23456. </TYPE>
  23457. <TYPE>
  23458. <NAME>Decimal</NAME>
  23459. <ID>60</ID>
  23460. <GUID>{CA82C2DF-D7B3-458E-BAA9-093146D3275A}</GUID>
  23461. <PHNAME>Decimal</PHNAME>
  23462. <LLENGTH>1</LLENGTH>
  23463. <LDECIMAL>1</LDECIMAL>
  23464. <MAXLENGTH>253</MAXLENGTH>
  23465. <MINLENGTH>1</MINLENGTH>
  23466. <MAXDECIMAL>30</MAXDECIMAL>
  23467. <MINDECIMAL>0</MINDECIMAL>
  23468. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  23469. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23470. <TRANSFORMCODE>DC</TRANSFORMCODE>
  23471. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  23472. <EXPORTTO>0</EXPORTTO>
  23473. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23474. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23475. </TYPE>
  23476. <TYPE>
  23477. <NAME>Date</NAME>
  23478. <ID>70</ID>
  23479. <GUID>{666DF7D1-48ED-488E-AFC3-8BD568B4B40F}</GUID>
  23480. <PHNAME>Date</PHNAME>
  23481. <LLENGTH>0</LLENGTH>
  23482. <LDECIMAL>0</LDECIMAL>
  23483. <MAXLENGTH>0</MAXLENGTH>
  23484. <MINLENGTH>0</MINLENGTH>
  23485. <MAXDECIMAL>0</MAXDECIMAL>
  23486. <MINDECIMAL>0</MINDECIMAL>
  23487. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23488. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23489. <TRANSFORMCODE>D</TRANSFORMCODE>
  23490. <TRANSFORMTO>D;DT;A;</TRANSFORMTO>
  23491. <EXPORTTO>0</EXPORTTO>
  23492. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23493. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23494. </TYPE>
  23495. <TYPE>
  23496. <NAME>Datetime</NAME>
  23497. <ID>71</ID>
  23498. <GUID>{5D52918F-D1EA-4186-A506-2ABBE7F2FD19}</GUID>
  23499. <PHNAME>Datetime</PHNAME>
  23500. <LLENGTH>0</LLENGTH>
  23501. <LDECIMAL>0</LDECIMAL>
  23502. <MAXLENGTH>0</MAXLENGTH>
  23503. <MINLENGTH>0</MINLENGTH>
  23504. <MAXDECIMAL>0</MAXDECIMAL>
  23505. <MINDECIMAL>0</MINDECIMAL>
  23506. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23507. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23508. <TRANSFORMCODE>DT</TRANSFORMCODE>
  23509. <TRANSFORMTO>DT;D;A;</TRANSFORMTO>
  23510. <EXPORTTO>0</EXPORTTO>
  23511. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23512. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23513. </TYPE>
  23514. <TYPE>
  23515. <NAME>Timestamp</NAME>
  23516. <ID>72</ID>
  23517. <GUID>{C79A5BA7-5B64-4788-A21F-3DBE4E7F284F}</GUID>
  23518. <PHNAME>Timestamp</PHNAME>
  23519. <LLENGTH>1</LLENGTH>
  23520. <LDECIMAL>0</LDECIMAL>
  23521. <MAXLENGTH>14</MAXLENGTH>
  23522. <MINLENGTH>2</MINLENGTH>
  23523. <MAXDECIMAL>0</MAXDECIMAL>
  23524. <MINDECIMAL>0</MINDECIMAL>
  23525. <DEFAULTLENGTH>14</DEFAULTLENGTH>
  23526. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23527. <TRANSFORMCODE>TS</TRANSFORMCODE>
  23528. <TRANSFORMTO>TS;DT;D;A;</TRANSFORMTO>
  23529. <EXPORTTO>0</EXPORTTO>
  23530. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23531. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23532. </TYPE>
  23533. <TYPE>
  23534. <NAME>Time</NAME>
  23535. <ID>73</ID>
  23536. <GUID>{94492A78-59E0-45F3-A091-9D8EAF197571}</GUID>
  23537. <PHNAME>Time</PHNAME>
  23538. <LLENGTH>0</LLENGTH>
  23539. <LDECIMAL>0</LDECIMAL>
  23540. <MAXLENGTH>0</MAXLENGTH>
  23541. <MINLENGTH>0</MINLENGTH>
  23542. <MAXDECIMAL>0</MAXDECIMAL>
  23543. <MINDECIMAL>0</MINDECIMAL>
  23544. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23545. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23546. <TRANSFORMCODE>T</TRANSFORMCODE>
  23547. <TRANSFORMTO>T;DT;A;</TRANSFORMTO>
  23548. <EXPORTTO>0</EXPORTTO>
  23549. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23550. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23551. </TYPE>
  23552. <TYPE>
  23553. <NAME>Year</NAME>
  23554. <ID>74</ID>
  23555. <GUID>{E0ADFE8A-FF1B-47AC-9DD5-5435338094E4}</GUID>
  23556. <PHNAME>Year</PHNAME>
  23557. <LLENGTH>1</LLENGTH>
  23558. <LDECIMAL>0</LDECIMAL>
  23559. <MAXLENGTH>4</MAXLENGTH>
  23560. <MINLENGTH>2</MINLENGTH>
  23561. <MAXDECIMAL>0</MAXDECIMAL>
  23562. <MINDECIMAL>0</MINDECIMAL>
  23563. <DEFAULTLENGTH>4</DEFAULTLENGTH>
  23564. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23565. <TRANSFORMCODE>Y</TRANSFORMCODE>
  23566. <TRANSFORMTO>Y;D;DT;A;</TRANSFORMTO>
  23567. <EXPORTTO>0</EXPORTTO>
  23568. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23569. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23570. </TYPE>
  23571. <TYPE>
  23572. <NAME>Tinyblob</NAME>
  23573. <ID>79</ID>
  23574. <GUID>{5E8EEABC-8DE4-4DB4-A04A-1E06D8B2C990}</GUID>
  23575. <PHNAME>Tinyblob</PHNAME>
  23576. <LLENGTH>0</LLENGTH>
  23577. <LDECIMAL>0</LDECIMAL>
  23578. <MAXLENGTH>0</MAXLENGTH>
  23579. <MINLENGTH>0</MINLENGTH>
  23580. <MAXDECIMAL>0</MAXDECIMAL>
  23581. <MINDECIMAL>0</MINDECIMAL>
  23582. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23583. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23584. <TRANSFORMCODE>TBLOB</TRANSFORMCODE>
  23585. <TRANSFORMTO>TBLOB;BLOB;BIN;LBIN;</TRANSFORMTO>
  23586. <EXPORTTO>0</EXPORTTO>
  23587. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23588. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23589. </TYPE>
  23590. <TYPE>
  23591. <NAME>Blob</NAME>
  23592. <ID>80</ID>
  23593. <GUID>{30BD35AC-B583-4F95-B945-546418D35EF9}</GUID>
  23594. <PHNAME>Blob</PHNAME>
  23595. <LLENGTH>0</LLENGTH>
  23596. <LDECIMAL>0</LDECIMAL>
  23597. <MAXLENGTH>0</MAXLENGTH>
  23598. <MINLENGTH>0</MINLENGTH>
  23599. <MAXDECIMAL>0</MAXDECIMAL>
  23600. <MINDECIMAL>0</MINDECIMAL>
  23601. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23602. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23603. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  23604. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  23605. <EXPORTTO>0</EXPORTTO>
  23606. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23607. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23608. </TYPE>
  23609. <TYPE>
  23610. <NAME>Mediumblob</NAME>
  23611. <ID>81</ID>
  23612. <GUID>{BFC08882-8D75-4E11-AA7F-221307727414}</GUID>
  23613. <PHNAME>Mediumblob</PHNAME>
  23614. <LLENGTH>0</LLENGTH>
  23615. <LDECIMAL>0</LDECIMAL>
  23616. <MAXLENGTH>0</MAXLENGTH>
  23617. <MINLENGTH>0</MINLENGTH>
  23618. <MAXDECIMAL>0</MAXDECIMAL>
  23619. <MINDECIMAL>0</MINDECIMAL>
  23620. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23621. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23622. <TRANSFORMCODE>MBLOB</TRANSFORMCODE>
  23623. <TRANSFORMTO>MBLOB;LBIN;</TRANSFORMTO>
  23624. <EXPORTTO>0</EXPORTTO>
  23625. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23626. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23627. </TYPE>
  23628. <TYPE>
  23629. <NAME>Longblob</NAME>
  23630. <ID>82</ID>
  23631. <GUID>{C67B5DE1-2A8F-4491-9131-E991BF7CA2FC}</GUID>
  23632. <PHNAME>Longblob</PHNAME>
  23633. <LLENGTH>0</LLENGTH>
  23634. <LDECIMAL>0</LDECIMAL>
  23635. <MAXLENGTH>0</MAXLENGTH>
  23636. <MINLENGTH>0</MINLENGTH>
  23637. <MAXDECIMAL>0</MAXDECIMAL>
  23638. <MINDECIMAL>0</MINDECIMAL>
  23639. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23640. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23641. <TRANSFORMCODE>LBLOB</TRANSFORMCODE>
  23642. <TRANSFORMTO>LBLOB;</TRANSFORMTO>
  23643. <EXPORTTO>0</EXPORTTO>
  23644. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23645. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23646. </TYPE>
  23647. <TYPE>
  23648. <NAME>Tinytext</NAME>
  23649. <ID>90</ID>
  23650. <GUID>{1A2D6DA2-878B-44CF-874F-5CC37949227A}</GUID>
  23651. <PHNAME>Tinytext</PHNAME>
  23652. <LLENGTH>0</LLENGTH>
  23653. <LDECIMAL>0</LDECIMAL>
  23654. <MAXLENGTH>0</MAXLENGTH>
  23655. <MINLENGTH>0</MINLENGTH>
  23656. <MAXDECIMAL>0</MAXDECIMAL>
  23657. <MINDECIMAL>0</MINDECIMAL>
  23658. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23659. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23660. <TRANSFORMCODE>TCLOB</TRANSFORMCODE>
  23661. <TRANSFORMTO>TCLOB;TXT;TBLOB;BLOB;BIN;LBIN;</TRANSFORMTO>
  23662. <EXPORTTO>0</EXPORTTO>
  23663. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23664. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23665. </TYPE>
  23666. <TYPE>
  23667. <NAME>Text</NAME>
  23668. <ID>91</ID>
  23669. <GUID>{05AD4CD4-9D63-4558-B413-6A67BDA66CCC}</GUID>
  23670. <PHNAME>Text</PHNAME>
  23671. <LLENGTH>0</LLENGTH>
  23672. <LDECIMAL>0</LDECIMAL>
  23673. <MAXLENGTH>0</MAXLENGTH>
  23674. <MINLENGTH>0</MINLENGTH>
  23675. <MAXDECIMAL>0</MAXDECIMAL>
  23676. <MINDECIMAL>0</MINDECIMAL>
  23677. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23678. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23679. <TRANSFORMCODE>CLOB</TRANSFORMCODE>
  23680. <TRANSFORMTO>CLOB;TXT;BLOB;BIN;LBIN;</TRANSFORMTO>
  23681. <EXPORTTO>0</EXPORTTO>
  23682. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23683. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23684. </TYPE>
  23685. <TYPE>
  23686. <NAME>Mediumtext</NAME>
  23687. <ID>92</ID>
  23688. <GUID>{AB125EAD-2980-4284-83E5-8EFD03CA931E}</GUID>
  23689. <PHNAME>Mediumtext</PHNAME>
  23690. <LLENGTH>0</LLENGTH>
  23691. <LDECIMAL>0</LDECIMAL>
  23692. <MAXLENGTH>0</MAXLENGTH>
  23693. <MINLENGTH>0</MINLENGTH>
  23694. <MAXDECIMAL>0</MAXDECIMAL>
  23695. <MINDECIMAL>0</MINDECIMAL>
  23696. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23697. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23698. <TRANSFORMCODE>MCLOB</TRANSFORMCODE>
  23699. <TRANSFORMTO>MCLOB;TXT;LBLOB;BLOB;LBIN;</TRANSFORMTO>
  23700. <EXPORTTO>0</EXPORTTO>
  23701. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23702. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23703. </TYPE>
  23704. <TYPE>
  23705. <NAME>Longtext</NAME>
  23706. <ID>93</ID>
  23707. <GUID>{F7CFA4E7-71D6-4B77-86BF-F98802FB0F87}</GUID>
  23708. <PHNAME>Longtext</PHNAME>
  23709. <LLENGTH>0</LLENGTH>
  23710. <LDECIMAL>0</LDECIMAL>
  23711. <MAXLENGTH>0</MAXLENGTH>
  23712. <MINLENGTH>0</MINLENGTH>
  23713. <MAXDECIMAL>0</MAXDECIMAL>
  23714. <MINDECIMAL>0</MINDECIMAL>
  23715. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23716. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23717. <TRANSFORMCODE>LCLOB</TRANSFORMCODE>
  23718. <TRANSFORMTO>LCLOB;TXT;LBLOB;</TRANSFORMTO>
  23719. <EXPORTTO>0</EXPORTTO>
  23720. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23721. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23722. </TYPE>
  23723. <TYPE>
  23724. <NAME>Enum</NAME>
  23725. <ID>150</ID>
  23726. <GUID>{AFC7AE83-4E55-4266-86B2-5B0047C52EA4}</GUID>
  23727. <PHNAME>Enum</PHNAME>
  23728. <LLENGTH>0</LLENGTH>
  23729. <LDECIMAL>0</LDECIMAL>
  23730. <MAXLENGTH>0</MAXLENGTH>
  23731. <MINLENGTH>0</MINLENGTH>
  23732. <MAXDECIMAL>0</MAXDECIMAL>
  23733. <MINDECIMAL>0</MINDECIMAL>
  23734. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23735. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23736. <TRANSFORMCODE>ENUM</TRANSFORMCODE>
  23737. <TRANSFORMTO>ENUM;</TRANSFORMTO>
  23738. <EXPORTTO>0</EXPORTTO>
  23739. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23740. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23741. </TYPE>
  23742. <TYPE>
  23743. <NAME>Set</NAME>
  23744. <ID>160</ID>
  23745. <GUID>{5E9A935E-C779-4A7E-96AC-135BBC546A82}</GUID>
  23746. <PHNAME>Set</PHNAME>
  23747. <LLENGTH>0</LLENGTH>
  23748. <LDECIMAL>0</LDECIMAL>
  23749. <MAXLENGTH>0</MAXLENGTH>
  23750. <MINLENGTH>0</MINLENGTH>
  23751. <MAXDECIMAL>0</MAXDECIMAL>
  23752. <MINDECIMAL>0</MINDECIMAL>
  23753. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  23754. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  23755. <TRANSFORMCODE>SET</TRANSFORMCODE>
  23756. <TRANSFORMTO>SET;</TRANSFORMTO>
  23757. <EXPORTTO>0</EXPORTTO>
  23758. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  23759. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  23760. </TYPE>
  23761. </TYPELIST>
  23762. <TEXTOBJECTTYPES>
  23763. </TEXTOBJECTTYPES>
  23764. <DISABLED>0</DISABLED>
  23765. <MAXLENGTHTABLENAME>64</MAXLENGTHTABLENAME>
  23766. <MAXLENGTHCOLNAME>64</MAXLENGTHCOLNAME>
  23767. <MAXLENGTHINDEXNAME>64</MAXLENGTHINDEXNAME>
  23768. <DEFAULTCHAR>_</DEFAULTCHAR>
  23769. <INVALIDCHARACTERS>!"#&()*+,-./:;<=>?[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  23770. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  23771. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  23772. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  23773. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  23774. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23775. <KEYWORDS><![CDATA[]]></KEYWORDS>
  23776. </SERVER>
  23777. <SERVER>
  23778. <NAME>mySQL 4.0</NAME>
  23779. <ID>240</ID>
  23780. <GUID>{97399D8D-DF3A-4E3C-BBED-03263D7BE815}</GUID>
  23781. <TEMPLATES>
  23782. <TEMPLATE>
  23783. <NAME>CreateTable</NAME>
  23784. <ID>1</ID>
  23785. <GUID>{57A2DF56-9401-4227-A968-8EC37AE0C3B1}</GUID>
  23786. <CAPTION></CAPTION>
  23787. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23788. <ENABLED>1</ENABLED>
  23789. <LEVEL>2</LEVEL>
  23790. <IDPARENT>0</IDPARENT>
  23791. <VALUE><![CDATA[cr+
  23792. "Create "+if(lTempTable,"temporary ","")+
  23793. "table "+if(lIfNotExists,"if not exists ","")+
  23794. "%tablename% ("+
  23795. forcol("", "", cr+tb+macro(CreateAtrib), ",", "")+
  23796. forcol("", "", macro(CreateUniq), "", "")+
  23797. forcol("", "", macro(CreateIndexAI_A), "", "")+
  23798. if(ExistPK and lPkGener, ","+cr+
  23799. " Primary Key ("+forpkcol("", "", ColName+if(Empty(Column.nSubPart),"","("+Column.nSubPart+")" ) , ",", ")") , "" )+
  23800. if(lGen_Ct, macro(CreateAlterKeyCT),"")+
  23801. if(lGen_Ct, forindex("", "", macro(CreateIndexCT), "", ""),"")+
  23802. if(lGen_Ct, forparent("", "", macro(RefIntegrityCT), "", "")+cr,"")+
  23803. ")"+
  23804. " TYPE = "+eTableType+
  23805. if(lComments and (EntDescription<>""),"%cr%Comment = %c5%%EntDescription%%c5%","")+
  23806. if(not Empty(tablestorage),"%cr%%tablestorage%", "")+
  23807. ";"+cr+
  23808. ShowMessage("Table %tablename%")
  23809. ]]></VALUE>
  23810. <LANGUAGE>0</LANGUAGE>
  23811. <LANGUAGEWIN>---</LANGUAGEWIN>
  23812. <CATEGORY>2</CATEGORY>
  23813. <MAINSCRIPT>0</MAINSCRIPT>
  23814. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23815. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23816. <AUTHOR></AUTHOR>
  23817. <COMPANY></COMPANY>
  23818. <VERSION></VERSION>
  23819. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  23820. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  23821. </TEMPLATE>
  23822. <TEMPLATE>
  23823. <NAME>CreateIndex</NAME>
  23824. <ID>2</ID>
  23825. <GUID>{B1D48913-DBE9-4FF2-9CE8-00E1C2AF4D88}</GUID>
  23826. <CAPTION></CAPTION>
  23827. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23828. <ENABLED>1</ENABLED>
  23829. <LEVEL>2</LEVEL>
  23830. <IDPARENT>0</IDPARENT>
  23831. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+
  23832. if(lFulltext,"FULLTEXT ","")+
  23833. "Index %Indexname%  ON %tablename% ("+
  23834. if(NOT(Index.ExprType),ForIndexCol("","",colname,",",""),IndexExpr)+");"+cr+
  23835. ShowMessage("Index %Indexname% for table %tablename%")
  23836. ]]></VALUE>
  23837. <LANGUAGE>0</LANGUAGE>
  23838. <LANGUAGEWIN>---</LANGUAGEWIN>
  23839. <CATEGORY>2</CATEGORY>
  23840. <MAINSCRIPT>0</MAINSCRIPT>
  23841. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23842. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23843. <AUTHOR></AUTHOR>
  23844. <COMPANY></COMPANY>
  23845. <VERSION></VERSION>
  23846. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  23847. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  23848. </TEMPLATE>
  23849. <TEMPLATE>
  23850. <NAME>DropIndexs</NAME>
  23851. <ID>3</ID>
  23852. <GUID>{E84BE503-841D-498A-A6B0-162042616371}</GUID>
  23853. <CAPTION></CAPTION>
  23854. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23855. <ENABLED>1</ENABLED>
  23856. <LEVEL>2</LEVEL>
  23857. <IDPARENT>0</IDPARENT>
  23858. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname% on %tablename%;%cr%", "", "" ),"","")
  23859. ]]></VALUE>
  23860. <LANGUAGE>0</LANGUAGE>
  23861. <LANGUAGEWIN>---</LANGUAGEWIN>
  23862. <CATEGORY>2</CATEGORY>
  23863. <MAINSCRIPT>0</MAINSCRIPT>
  23864. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23865. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23866. <AUTHOR></AUTHOR>
  23867. <COMPANY></COMPANY>
  23868. <VERSION></VERSION>
  23869. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  23870. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  23871. </TEMPLATE>
  23872. <TEMPLATE>
  23873. <NAME>DropTables</NAME>
  23874. <ID>4</ID>
  23875. <GUID>{86AF8A1F-DCDF-4EF2-BA0D-15308C878D34}</GUID>
  23876. <CAPTION></CAPTION>
  23877. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23878. <ENABLED>1</ENABLED>
  23879. <LEVEL>2</LEVEL>
  23880. <IDPARENT>0</IDPARENT>
  23881. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  23882. ]]></VALUE>
  23883. <LANGUAGE>0</LANGUAGE>
  23884. <LANGUAGEWIN>---</LANGUAGEWIN>
  23885. <CATEGORY>2</CATEGORY>
  23886. <MAINSCRIPT>0</MAINSCRIPT>
  23887. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23888. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23889. <AUTHOR></AUTHOR>
  23890. <COMPANY></COMPANY>
  23891. <VERSION></VERSION>
  23892. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  23893. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  23894. </TEMPLATE>
  23895. <TEMPLATE>
  23896. <NAME>CreateAtrib</NAME>
  23897. <ID>5</ID>
  23898. <GUID>{F5AA1984-18CC-4B7B-A833-25A2518F3BA0}</GUID>
  23899. <CAPTION></CAPTION>
  23900. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23901. <ENABLED>1</ENABLED>
  23902. <LEVEL>2</LEVEL>
  23903. <IDPARENT>0</IDPARENT>
  23904. <VALUE><![CDATA[ScriptProc( CreateAtrib2,Main,Column.Id )+
  23905. if(notnull," NOT NULL "," ")+
  23906. if(defaultexist," DEFAULT %defaultvalue% "  ,"")+
  23907. if(Column.lAutoIncrement,"AUTO_INCREMENT","")+
  23908. if(constraintExist and CheckExist, " CONSTRAINT %constraint%","")+
  23909. if(def2exist," %def2value%", "")
  23910. ]]></VALUE>
  23911. <LANGUAGE>0</LANGUAGE>
  23912. <LANGUAGEWIN>---</LANGUAGEWIN>
  23913. <CATEGORY>2</CATEGORY>
  23914. <MAINSCRIPT>0</MAINSCRIPT>
  23915. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  23916. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  23917. <AUTHOR></AUTHOR>
  23918. <COMPANY></COMPANY>
  23919. <VERSION></VERSION>
  23920. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  23921. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  23922. </TEMPLATE>
  23923. <TEMPLATE>
  23924. <NAME>CreateAtrib2</NAME>
  23925. <ID>6</ID>
  23926. <GUID>{2FB9581E-41EB-45D4-BD13-4CEF266DB70A}</GUID>
  23927. <CAPTION></CAPTION>
  23928. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  23929. <ENABLED>1</ENABLED>
  23930. <LEVEL>2</LEVEL>
  23931. <IDPARENT>0</IDPARENT>
  23932. <VALUE><![CDATA[function Main( AttrId )
  23933. {
  23934. var DictType, DataType;
  23935. var Attribute = Model.GetAttribute( AttrId );
  23936. var Def          = Attribute.Def;
  23937. var Result    = '';
  23938.  
  23939. if (Attribute.DataTypeId == 0)
  23940.     {
  23941.     DictType = Model.GetDictType( Attribute.DictTypeId );
  23942.     DataType = Model.GetDatatype( DictType.DataTypeId );
  23943.     if (Def == '')
  23944.         Def = DictType.Def;
  23945.     }
  23946. else
  23947.     DataType = Model.GetDatatype( Attribute.DataTypeId );
  23948.  
  23949. switch (DataType.Id)
  23950.     {
  23951.     case 30:  //Tinyint
  23952.         if ((Attribute.nMaxDisplaySize)=='')
  23953.             Result = 'Tinyint'
  23954.         else
  23955.             Result = 'Tinyint(' + Attribute.nMaxDisplaySize + ')';
  23956.         break;
  23957.         
  23958.     case 40:  //Smallint
  23959.         if ((Attribute.nMaxDisplaySize)=='')
  23960.             Result = 'Smallint'
  23961.         else
  23962.             Result = 'Smallint(' + Attribute.nMaxDisplaySize + ')';
  23963.         break;
  23964.         
  23965.     case 50:  //Mediumint
  23966.         if ((Attribute.nMaxDisplaySize)=='')
  23967.             Result = 'Mediumint'
  23968.         else
  23969.             Result = 'Mediumint(' + Attribute.nMaxDisplaySize + ')';
  23970.         break;
  23971.         
  23972.     case 60:  //Int
  23973.         if ((Attribute.nMaxDisplaySize)=='')
  23974.             Result = 'Int'
  23975.         else
  23976.             Result = 'Int(' + Attribute.nMaxDisplaySize + ')';
  23977.         break;
  23978.         
  23979.     case 70:  //Bigint
  23980.         if ((Attribute.nMaxDisplaySize)=='')
  23981.             Result = 'Bigint'
  23982.         else
  23983.             Result = 'Bigint(' + Attribute.nMaxDisplaySize + ')';
  23984.         break;
  23985.         
  23986.     case 81: //Float(m)
  23987.         if ( Attribute.Length > 24 )
  23988.             Result = 'Double'
  23989.         else
  23990.             Result = 'Float';
  23991.         break;
  23992.  
  23993.     case 130: //Timestamp
  23994.         Result = 'Timestamp('
  23995.         if ((Attribute.Length % 2) == 1)
  23996.             Result += (Attribute.Length+1).toString()+')'
  23997.         else    
  23998.             Result += Attribute.Length.toString()+')';
  23999.         break;
  24000.  
  24001.     case 150: //Year
  24002.         Result = 'Year('
  24003.         if (Attribute.Length == 2)
  24004.             Result += '2)'
  24005.         else    
  24006.             Result += '4)';
  24007.         break;    
  24008.  
  24009.     case 240:  //Enum
  24010.         Result = 'Enum('+Def+')';
  24011.         break;
  24012.  
  24013.     case 250:  //Set
  24014.         Result = 'Set('+Def+')';
  24015.         break;
  24016.     };
  24017.  
  24018. if (Result == '')
  24019.     Result = Attribute.SQLDataType; //DataType.DataTypeName;
  24020.  
  24021. if (SysUtils.UserVarToBool( Attribute.lUnsigned ) )
  24022.     Result +=  ' UNSIGNED';
  24023.  
  24024. if (SysUtils.UserVarToBool( Attribute.lZerofill ) )
  24025.     Result +=  ' ZEROFILL';
  24026.  
  24027. if (SysUtils.UserVarToBool( Attribute.lBinary ) )
  24028.     Result +=  ' BINARY';
  24029.  
  24030. if (!((Attribute.Def == '') || (DataType.Id == 240) || (DataType.Id == 250)))
  24031.     Result += ' '+Attribute.Def;
  24032.     
  24033. return ( Attribute.ColName+' '+Result );
  24034. };
  24035. ]]></VALUE>
  24036. <LANGUAGE>1</LANGUAGE>
  24037. <LANGUAGEWIN>---</LANGUAGEWIN>
  24038. <CATEGORY>2</CATEGORY>
  24039. <MAINSCRIPT>0</MAINSCRIPT>
  24040. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24041. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24042. <AUTHOR></AUTHOR>
  24043. <COMPANY></COMPANY>
  24044. <VERSION></VERSION>
  24045. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24046. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24047. </TEMPLATE>
  24048. <TEMPLATE>
  24049. <NAME>CreateAlterKey</NAME>
  24050. <ID>7</ID>
  24051. <GUID>{9434ABE5-8F18-452C-8356-907C6A31A3F5}</GUID>
  24052. <CAPTION></CAPTION>
  24053. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24054. <ENABLED>1</ENABLED>
  24055. <LEVEL>2</LEVEL>
  24056. <IDPARENT>0</IDPARENT>
  24057. <VALUE><![CDATA[ForAlterKey("","","Alter table %TableName% add unique %AlterKeyConstraintName% ("+ForAlterKeyCol("","",ColName,",","")+");%cr%","","")
  24058. ]]></VALUE>
  24059. <LANGUAGE>0</LANGUAGE>
  24060. <LANGUAGEWIN>---</LANGUAGEWIN>
  24061. <CATEGORY>2</CATEGORY>
  24062. <MAINSCRIPT>0</MAINSCRIPT>
  24063. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24064. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24065. <AUTHOR></AUTHOR>
  24066. <COMPANY></COMPANY>
  24067. <VERSION></VERSION>
  24068. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24069. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24070. </TEMPLATE>
  24071. <TEMPLATE>
  24072. <NAME>RefIntegrity</NAME>
  24073. <ID>8</ID>
  24074. <GUID>{46BD376E-DA17-4464-BC84-D347CFF9939B}</GUID>
  24075. <CAPTION></CAPTION>
  24076. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24077. <ENABLED>1</ENABLED>
  24078. <LEVEL>2</LEVEL>
  24079. <IDPARENT>0</IDPARENT>
  24080. <VALUE><![CDATA[if(lGenIndexFk and lGenIndexFk_R,"Alter table %childtablename% add Index IX_%frelname% ("+ForRelPk("","",PkChildName,",","")+");%cr%","")+
  24081. "Alter table %childtablename% add Foreign Key ("+ForRelPk("","",PkChildName,",","")+") references %parenttablename% ("+ForRelPk("","",PkParentName,",","")+")"+macro(RefIntegrity2)+";"+cr
  24082. ]]></VALUE>
  24083. <LANGUAGE>0</LANGUAGE>
  24084. <LANGUAGEWIN>---</LANGUAGEWIN>
  24085. <CATEGORY>2</CATEGORY>
  24086. <MAINSCRIPT>0</MAINSCRIPT>
  24087. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24088. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24089. <AUTHOR></AUTHOR>
  24090. <COMPANY></COMPANY>
  24091. <VERSION></VERSION>
  24092. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24093. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24094. </TEMPLATE>
  24095. <TEMPLATE>
  24096. <NAME>RefIntegrity2</NAME>
  24097. <ID>9</ID>
  24098. <GUID>{B7A2D367-43E1-4DF9-B483-C44FC283F955}</GUID>
  24099. <CAPTION></CAPTION>
  24100. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24101. <ENABLED>1</ENABLED>
  24102. <LEVEL>2</LEVEL>
  24103. <IDPARENT>0</IDPARENT>
  24104. <VALUE><![CDATA[if(lRelDelDekl , " on delete "+if(lRelParDelCascDekl, " cascade", if(lRelParDelSetnullDekl , " Set Null", "") ), "" )
  24105. ]]></VALUE>
  24106. <LANGUAGE>0</LANGUAGE>
  24107. <LANGUAGEWIN>---</LANGUAGEWIN>
  24108. <CATEGORY>2</CATEGORY>
  24109. <MAINSCRIPT>0</MAINSCRIPT>
  24110. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24111. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24112. <AUTHOR></AUTHOR>
  24113. <COMPANY></COMPANY>
  24114. <VERSION></VERSION>
  24115. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24116. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24117. </TEMPLATE>
  24118. <TEMPLATE>
  24119. <NAME>RefIntegrityCT</NAME>
  24120. <ID>10</ID>
  24121. <GUID>{6269D0F3-98DD-4E9B-A8F8-3AAA0A47AB73}</GUID>
  24122. <CAPTION></CAPTION>
  24123. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24124. <ENABLED>1</ENABLED>
  24125. <LEVEL>2</LEVEL>
  24126. <IDPARENT>0</IDPARENT>
  24127. <VALUE><![CDATA[if(lGenIndexFk and lGenIndexFk_R,",%cr% Index IX_%frelname% ("+ForRelPk("","",PkChildName,",","")+")","")+
  24128. if(lRefIntegGener,",%cr% Foreign Key ("+ForRelPk("","",PkChildName,",","")+") references %parenttablename% ("+ForRelPk("","",PkParentName,",","")+")"+macro(RefIntegrity2),"")
  24129. ]]></VALUE>
  24130. <LANGUAGE>0</LANGUAGE>
  24131. <LANGUAGEWIN>---</LANGUAGEWIN>
  24132. <CATEGORY>2</CATEGORY>
  24133. <MAINSCRIPT>0</MAINSCRIPT>
  24134. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24135. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24136. <AUTHOR></AUTHOR>
  24137. <COMPANY></COMPANY>
  24138. <VERSION></VERSION>
  24139. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24140. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24141. </TEMPLATE>
  24142. <TEMPLATE>
  24143. <NAME>RefIntegritys</NAME>
  24144. <ID>11</ID>
  24145. <GUID>{2256217D-6870-46D9-8124-A50FDCE8F369}</GUID>
  24146. <CAPTION></CAPTION>
  24147. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24148. <ENABLED>1</ENABLED>
  24149. <LEVEL>2</LEVEL>
  24150. <IDPARENT>0</IDPARENT>
  24151. <VALUE><![CDATA[@if(not(lGen_Ct), fortable("", "", forchild("", "", macro(refintegrity), "", "" ), "", "" ), "")
  24152. ]]></VALUE>
  24153. <LANGUAGE>0</LANGUAGE>
  24154. <LANGUAGEWIN>---</LANGUAGEWIN>
  24155. <CATEGORY>2</CATEGORY>
  24156. <MAINSCRIPT>0</MAINSCRIPT>
  24157. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24158. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24159. <AUTHOR></AUTHOR>
  24160. <COMPANY></COMPANY>
  24161. <VERSION></VERSION>
  24162. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24163. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24164. </TEMPLATE>
  24165. <TEMPLATE>
  24166. <NAME>CreateAlterKeys</NAME>
  24167. <ID>12</ID>
  24168. <GUID>{0FB9AE73-F975-4D8A-81CA-2CDA1485BFD2}</GUID>
  24169. <CAPTION></CAPTION>
  24170. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24171. <ENABLED>1</ENABLED>
  24172. <LEVEL>2</LEVEL>
  24173. <IDPARENT>0</IDPARENT>
  24174. <VALUE><![CDATA[@if(not(lGen_Ct), showmessage("Alter keys")+fortable("","",macro(CreateAlterKey),"",""),"")
  24175. ]]></VALUE>
  24176. <LANGUAGE>0</LANGUAGE>
  24177. <LANGUAGEWIN>---</LANGUAGEWIN>
  24178. <CATEGORY>2</CATEGORY>
  24179. <MAINSCRIPT>0</MAINSCRIPT>
  24180. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24181. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24182. <AUTHOR></AUTHOR>
  24183. <COMPANY></COMPANY>
  24184. <VERSION></VERSION>
  24185. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24186. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24187. </TEMPLATE>
  24188. <TEMPLATE>
  24189. <NAME>CreateAlterKeyCT</NAME>
  24190. <ID>13</ID>
  24191. <GUID>{D7DF7D31-C6BF-4B4B-B61B-A3B5C291E6B2}</GUID>
  24192. <CAPTION></CAPTION>
  24193. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24194. <ENABLED>1</ENABLED>
  24195. <LEVEL>2</LEVEL>
  24196. <IDPARENT>0</IDPARENT>
  24197. <VALUE><![CDATA[if(lalterkeysgener,ForAlterKey("","",",%cr% unique %AlterKeyConstraintName% ("+ForAlterKeyCol("","",ColName,",","")+")","",""),"")
  24198. ]]></VALUE>
  24199. <LANGUAGE>0</LANGUAGE>
  24200. <LANGUAGEWIN>---</LANGUAGEWIN>
  24201. <CATEGORY>2</CATEGORY>
  24202. <MAINSCRIPT>0</MAINSCRIPT>
  24203. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24204. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24205. <AUTHOR></AUTHOR>
  24206. <COMPANY></COMPANY>
  24207. <VERSION></VERSION>
  24208. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24209. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24210. </TEMPLATE>
  24211. <TEMPLATE>
  24212. <NAME>CreateIndexs</NAME>
  24213. <ID>14</ID>
  24214. <GUID>{03A70B9D-F054-430F-8CB2-D468E8B14A7F}</GUID>
  24215. <CAPTION></CAPTION>
  24216. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24217. <ENABLED>1</ENABLED>
  24218. <LEVEL>2</LEVEL>
  24219. <IDPARENT>0</IDPARENT>
  24220. <VALUE><![CDATA[@if(not(lGen_Ct), fortable("","",forindex("", "", macro(createindex), "", "" ),"",""),"")
  24221. ]]></VALUE>
  24222. <LANGUAGE>0</LANGUAGE>
  24223. <LANGUAGEWIN>---</LANGUAGEWIN>
  24224. <CATEGORY>2</CATEGORY>
  24225. <MAINSCRIPT>0</MAINSCRIPT>
  24226. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24227. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24228. <AUTHOR></AUTHOR>
  24229. <COMPANY></COMPANY>
  24230. <VERSION></VERSION>
  24231. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24232. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24233. </TEMPLATE>
  24234. <TEMPLATE>
  24235. <NAME>CreateIndexCT</NAME>
  24236. <ID>15</ID>
  24237. <GUID>{7AB9FF96-5D3C-41B4-8F00-E2BB484D8F7A}</GUID>
  24238. <CAPTION></CAPTION>
  24239. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24240. <ENABLED>1</ENABLED>
  24241. <LEVEL>2</LEVEL>
  24242. <IDPARENT>0</IDPARENT>
  24243. <VALUE><![CDATA[",%cr% "+if(unique,"UNIQUE ","")+
  24244. if(lFulltext,"FULLTEXT ","")+
  24245. "Index %Indexname% ("+
  24246. if(NOT(Index.ExprType),ForIndexCol("","",colname,",",""),IndexExpr)+")"+
  24247. ShowMessage("Index %Indexname% for table %tablename%")
  24248. ]]></VALUE>
  24249. <LANGUAGE>0</LANGUAGE>
  24250. <LANGUAGEWIN>---</LANGUAGEWIN>
  24251. <CATEGORY>2</CATEGORY>
  24252. <MAINSCRIPT>0</MAINSCRIPT>
  24253. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24254. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24255. <AUTHOR></AUTHOR>
  24256. <COMPANY></COMPANY>
  24257. <VERSION></VERSION>
  24258. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24259. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24260. </TEMPLATE>
  24261. <TEMPLATE>
  24262. <NAME>CreateUniq</NAME>
  24263. <ID>16</ID>
  24264. <GUID>{CA8A6318-102A-4CF9-872C-A7D61FFC2FF9}</GUID>
  24265. <CAPTION></CAPTION>
  24266. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24267. <ENABLED>1</ENABLED>
  24268. <LEVEL>2</LEVEL>
  24269. <IDPARENT>0</IDPARENT>
  24270. <VALUE><![CDATA[if(UniqueAtr,",%cr%%tb%"+if(not Empty(ConstraintAtrUnique),"UNIQUE %ConstraintAtrUnique% ","UNIQUE ")+"(%colname%)", "")
  24271. ]]></VALUE>
  24272. <LANGUAGE>0</LANGUAGE>
  24273. <LANGUAGEWIN>---</LANGUAGEWIN>
  24274. <CATEGORY>2</CATEGORY>
  24275. <MAINSCRIPT>0</MAINSCRIPT>
  24276. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24277. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24278. <AUTHOR></AUTHOR>
  24279. <COMPANY></COMPANY>
  24280. <VERSION></VERSION>
  24281. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24282. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24283. </TEMPLATE>
  24284. <TEMPLATE>
  24285. <NAME>CreateIndexAI_A</NAME>
  24286. <ID>17</ID>
  24287. <GUID>{22C62C01-E4B3-4E1C-9010-1764438CD0FE}</GUID>
  24288. <CAPTION></CAPTION>
  24289. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24290. <ENABLED>1</ENABLED>
  24291. <LEVEL>2</LEVEL>
  24292. <IDPARENT>0</IDPARENT>
  24293. <VALUE><![CDATA[if(lGenIndexAI_A,",%cr%%tb%Index AI_%colname% (%colname%)","")
  24294. ]]></VALUE>
  24295. <LANGUAGE>0</LANGUAGE>
  24296. <LANGUAGEWIN>---</LANGUAGEWIN>
  24297. <CATEGORY>2</CATEGORY>
  24298. <MAINSCRIPT>0</MAINSCRIPT>
  24299. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24300. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24301. <AUTHOR></AUTHOR>
  24302. <COMPANY></COMPANY>
  24303. <VERSION></VERSION>
  24304. <CREATED><DATE>7/17/2002</DATE><TIME>10:37:12</TIME></CREATED>
  24305. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24306. </TEMPLATE>
  24307. <TEMPLATE>
  24308. <NAME>Ver_Main</NAME>
  24309. <ID>18</ID>
  24310. <GUID>{BC247199-CDF7-4F9C-AD40-125A61770C62}</GUID>
  24311. <CAPTION>Ver_Main</CAPTION>
  24312. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24313. <ENABLED>1</ENABLED>
  24314. <LEVEL>2</LEVEL>
  24315. <IDPARENT>0</IDPARENT>
  24316. <VALUE><![CDATA[function Main()
  24317. {
  24318. Scripting.Ver_Dictionary.ReadVocabulary();
  24319.  
  24320. Verify.Clear();
  24321.  
  24322. if (Verify.BasicVerification)
  24323.     {
  24324.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  24325.     Verify.Writeln( ' ' );
  24326.     Verify.VerifyBasic();
  24327.     };
  24328.  
  24329. if ( Variables.lUniqFul )
  24330.     Scripting.Ver_MYSQL4.UniqueFulltext();
  24331.  
  24332. if ( Variables.lIndexName )
  24333.     Scripting.Ver_MYSQL4.IndexName(false);
  24334.  
  24335. Scripting.Ver_Summary.Main();
  24336. };
  24337. ]]></VALUE>
  24338. <LANGUAGE>1</LANGUAGE>
  24339. <LANGUAGEWIN>---</LANGUAGEWIN>
  24340. <CATEGORY>7</CATEGORY>
  24341. <MAINSCRIPT>0</MAINSCRIPT>
  24342. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24343. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24344. <AUTHOR></AUTHOR>
  24345. <COMPANY></COMPANY>
  24346. <VERSION></VERSION>
  24347. <CREATED><DATE>7/17/2002</DATE><TIME>12:14:57</TIME></CREATED>
  24348. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24349. </TEMPLATE>
  24350. <TEMPLATE>
  24351. <NAME>Verification</NAME>
  24352. <ID>19</ID>
  24353. <GUID>{4A43DC5A-F524-4305-9EB7-7778CF3A06D6}</GUID>
  24354. <CAPTION>Verifikace modelu</CAPTION>
  24355. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24356. <ENABLED>1</ENABLED>
  24357. <LEVEL>2</LEVEL>
  24358. <IDPARENT>0</IDPARENT>
  24359. <VALUE><![CDATA[function Main()
  24360. {
  24361. Translator.DefaultLng = 'csy';
  24362. ReadVocabulary();
  24363. Scripting.Ver_Main.Main();
  24364. }
  24365.  
  24366. //======================================================================
  24367.  
  24368. function DefineVariables()
  24369. {
  24370. Variables.DefineVariable( 'lUniqFul', 'Kontrola Index∙ jestli nejsou Fulltext a Unique zßrove≥', 1 );
  24371. Variables.lUniqFul = true;
  24372. Variables.DefineVariable( 'lIndexName', 'Kontrola nßzv∙ Index∙, Alternativnφch klφΦ∙ a Unique constraint∙ na duplicitu', 1 );
  24373. Variables.lIndexName = true;
  24374. };
  24375.  
  24376. //======================================================================
  24377.  
  24378. function ReadVocabulary()
  24379. {
  24380. // Chyby
  24381. Translator.Add( 'E_NAME_DUPL',                'Duplicita nßzvu \'%s\' v' );
  24382. Translator.Add( 'E_PK_ENT_O',                    '- primßrnφ klφe v entiti \'%s\'.' );
  24383. Translator.Add( 'E_ALTERKEY_ENT_O',            '- alternativnφ klφe \'%s\' v entiti \'%s\'.' );
  24384. Translator.Add( 'E_INDEX_ENT',                '- nßzvu indexu v entiti \'%s\'.' );
  24385. Translator.Add( 'E_UNIQ_FUL',                    'Index \'%s\' v \'%s\' je Fulltext i Unique' );
  24386. Translator.Add( 'E_CN_UNIQ_ATTR_ENT',        '- unique nßzev v atributu \'%s\' v entit∞ \'%s\'.' );
  24387. Translator.Add( 'E_CN_AI_ATTR_ENT',            '- index vytvo°en² k autoincrement v atributu \'%s\' v entit∞ \'%s\'.' );
  24388. Translator.Add( 'E_REL_ENT_I',                '- index vytvo°en² k autoincrement v relaci \'%s\' mezi entitami \'%s\' a \'%s\'.' );
  24389.  
  24390. // Others
  24391. Translator.Add( 'V_UNIQ_FUL',                      'Kontrola Index∙ jestli nejsou Fulltext a Unique zßrove≥' );
  24392. Translator.Add( 'V_CHECK_NAME_DUPL_IUA',    'Kontrola stejn²ch nßzv∙ Index∙, Alternativnφch klφΦ∙ a Unique constraint∙' );
  24393. };
  24394. ]]></VALUE>
  24395. <LANGUAGE>1</LANGUAGE>
  24396. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  24397. <CATEGORY>7</CATEGORY>
  24398. <MAINSCRIPT>1</MAINSCRIPT>
  24399. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24400. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24401. <AUTHOR></AUTHOR>
  24402. <COMPANY></COMPANY>
  24403. <VERSION></VERSION>
  24404. <CREATED><DATE>7/17/2002</DATE><TIME>12:20:17</TIME></CREATED>
  24405. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24406. </TEMPLATE>
  24407. <TEMPLATE>
  24408. <NAME>Ver_MYSQL4</NAME>
  24409. <ID>20</ID>
  24410. <GUID>{1017279D-03C3-4496-A084-550C4BADB732}</GUID>
  24411. <CAPTION>Ver_MYSQL4</CAPTION>
  24412. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24413. <ENABLED>1</ENABLED>
  24414. <LEVEL>2</LEVEL>
  24415. <IDPARENT>0</IDPARENT>
  24416. <VALUE><![CDATA[function UniqueFulltext()
  24417. {
  24418. var i;
  24419. var cName = '';
  24420. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  24421.  
  24422. Verify.Writeln( ' ' );
  24423. Verify.Writeln( '---------------------------------------------------' );
  24424. Verify.Writeln( Translator.Translate( 'V_UNIQ_FUL',0 ) );
  24425.  
  24426. for (i=0; i<Model.CountIndexes; i++)
  24427. {
  24428.     Index = Model.Indexes( i );
  24429.     Uniq = Index.Unique;
  24430.     Full = (Index.GetUserVariable('lFulltext') == -1);
  24431.     if ( (Uniq) && (Full) )
  24432.     {
  24433.             Verify.Writeln( '' );
  24434.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( 'E_UNIQ_FUL',0 ), Index.Name, Model.GetEntity( Index.EntityId ).Name ) );
  24435.     }
  24436. }
  24437.  
  24438. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  24439.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  24440. }
  24441.  
  24442. //======================================================================
  24443.  
  24444. function IndexName( lCaseSensitive )
  24445. {
  24446. var i;
  24447. var cName = '';
  24448. var addObj_A_UC = new Array();
  24449. var addObj_A_AI = new Array();
  24450. var addObj_AK = new Array();
  24451. var addObj_I = new Array();
  24452. var addObj_R = new Array();
  24453. var NameList = DefineInterfaceList();
  24454. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  24455.  
  24456. Verify.Writeln( ' ' );
  24457. Verify.Writeln( '---------------------------------------------------' );
  24458. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_IUA',0 ) );
  24459.  
  24460. for (i=0; i<Model.CountAttributes; i++)
  24461. {
  24462.     Attribute = Model.Attributes( i );
  24463.  
  24464.     cName = Attribute.UniqueConstraint;
  24465.     if ( cName != '' )
  24466.     {
  24467.         cName = Model.GetEntity( Attribute.EntityId ).TableName+'.'+cName;
  24468.         addObj_A_UC[i] = new AddOn(Attribute, "UC");
  24469.         AddName( NameList, cName, lCaseSensitive, addObj_A_UC[i] );
  24470.     }
  24471.  
  24472.     if ( (Attribute.GetUserVariable('lGenIndexAI_A')==-1) && (Attribute.GetUserVariable('lAutoincrement')==-1) )
  24473.     {
  24474.         cName = Model.GetEntity( Attribute.EntityId ).TableName+'.'+'AI_'+Attribute.ColName;
  24475.         addObj_A_AI[i] = new AddOn(Attribute, "AI");
  24476.         AddName( NameList, cName, lCaseSensitive, addObj_A_AI[i] );
  24477.     }
  24478. }
  24479.  
  24480. for (i=0; i<Model.CountAlterKeys; i++)
  24481. {
  24482.     AlterKey = Model.AlterKeys( i );
  24483.     cName = AlterKey.AlterKeyName;
  24484.     if ( cName != '' )
  24485.     {
  24486.         cName = Model.GetEntity( AlterKey.EntityId ).TableName+'.'+cName;
  24487.         addObj_AK[i] = new AddOn(AlterKey, "");
  24488.         AddName( NameList, cName, lCaseSensitive, addObj_AK[i] );
  24489.     }
  24490. }
  24491.  
  24492. for (i=0; i<Model.CountIndexes; i++)
  24493. {
  24494.     Index = Model.Indexes( i );
  24495.     cName = Index.Name;
  24496.     if ( cName != '' )
  24497.     {
  24498.         cName = Model.GetEntity( Index.EntityId ).TableName+'.'+cName;
  24499.         addObj_I[i] = new AddOn(Index, "");
  24500.         AddName( NameList, cName, lCaseSensitive, addObj_I[i] );
  24501.     }
  24502. }
  24503.  
  24504. for (i=0; i<Model.CountRelations; i++)
  24505. {
  24506.     Relation = Model.Relations(i);
  24507.     if ( (Model.GetUserVariable('lGenIndexFk')==-1) && (Relation.GetUserVariable('lGenIndexFk_R')==-1) )
  24508.     {
  24509.         cName = Model.GetEntity( Relation.ChildEntityId ).TableName+'.'+'IX_'+Relation.FKConstraint;
  24510.         addObj_R[i] = new AddOn(Relation, "");
  24511.         AddName( NameList, cName, lCaseSensitive, addObj_R[i] );
  24512.     }
  24513. }
  24514.  
  24515. VerifyName( NameList, 'E_NAME_DUPL' );
  24516.  
  24517. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  24518.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  24519. }
  24520.  
  24521. //======================================================================
  24522.  
  24523. function VerifyName( NameList, cErrMessage )
  24524. {
  24525. var cErrName = '';
  24526. var cName = '';
  24527.  
  24528. NameList.Sorted = true;
  24529. for (i=0; i<NameList.Count; i++)
  24530.     if (cName == NameList.GetInterfaceId( i ))
  24531.         {
  24532.         cName    = NameList.GetInterfaceId( i );
  24533.         por = cName.search( /\./ );
  24534.         cName_parse = cName;
  24535.         if (por != -1)
  24536.         {
  24537.             cName_parse = cName.substr(por+1);
  24538.         }
  24539.         if (cErrName != cName)
  24540.             {
  24541.             Verify.Writeln( '' );
  24542.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cName_parse ));
  24543.             AddError( NameList.GetInterface( i-1 ), NameList.GetInterfaceId( i-1 ) );
  24544.             cErrName = cName;
  24545.             };
  24546.         AddError( NameList.GetInterface( i ), NameList.GetInterfaceId( i ) );
  24547.         }
  24548.     else
  24549.         cName = NameList.GetInterfaceId( i );         
  24550. };
  24551.  
  24552. //======================================================================
  24553.  
  24554. function AddName( NameList, cName, lCaseSensitive, Object )
  24555. {
  24556. Int = Object.object;
  24557. switch ( Int.InterfaceName )
  24558. {
  24559.     case 'IAttribute':
  24560.         cName = cName.replace(/%colname%/gi, Int.ColName ); // replace %colname% macros
  24561.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Int.EntityId ).TableName ); // replace %tablename% macros
  24562.         break;
  24563.         
  24564.     case 'IEntity':
  24565.         cName = cName.replace(/%tablename%/gi, Int.TableName );
  24566.         break;
  24567.  
  24568.     case 'IRelation':
  24569.         cName = cName.replace(/%parenttablename%/gi, Model.GetEntity( Int.ParentEntityId ).TableName );
  24570.         cName = cName.replace(/%childtablename%/gi, Model.GetEntity( Int.ChildEntityId ).TableName );
  24571.         cName = cName.replace(/%relname%/gi, Int.FKConstraint );
  24572.         break;
  24573.  
  24574.     case 'IAlterKey':
  24575.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Int.EntityId ).TableName );
  24576.         cName = cName.replace(/%AlterKeyConstraintName%/gi, Int.AlterKeyName );
  24577.         break;
  24578.             
  24579.     case 'IIndex':
  24580.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Int.EntityId ).TableName );
  24581.         cName = cName.replace(/%indexname%/gi, Int.Name );
  24582.         break;
  24583. }
  24584.  
  24585. if ( !lCaseSensitive )
  24586.     cName = cName.toUpperCase();
  24587.  
  24588. NameList.AddInterface( cName, Object );
  24589. };
  24590.  
  24591. //======================================================================
  24592.  
  24593. function AddError( Object, cName )
  24594. {
  24595.     por = cName.search( /\./ );
  24596.     if (por != -1)
  24597.     {
  24598.         cName = cName.substr(por+1);
  24599.     }
  24600. Int = Object.object;
  24601. Ident = Object.ident;
  24602. switch ( Int.InterfaceName )
  24603. {
  24604.     case 'IAttribute':
  24605.         if ((Ident=='UC') || (Ident==''))
  24606.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_UNIQ_ATTR_ENT',0 ), Int.ColName, Model.GetEntity( Int.EntityId ).Name ) );
  24607.         if (Ident=='AI')
  24608.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_AI_ATTR_ENT',0 ), Int.ColName, Model.GetEntity( Int.EntityId ).Name ) );
  24609.         break;
  24610.  
  24611.     case 'IEntity': 
  24612.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT_O',0 ), Int.Name ) );
  24613.         break;
  24614.  
  24615.     case 'IRelation':
  24616.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_REL_ENT_I',0 ), Int.Name, Model.GetEntity( Int.ParentEntityId ).Name, Model.GetEntity( Int.ChildEntityId ).Name ) );
  24617.         break;
  24618.  
  24619.     case 'IAlterKey':
  24620.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT_O',0 ), Int.Name, Model.GetEntity( Int.EntityId ).Name ) );
  24621.         break;
  24622.  
  24623.     case 'IIndex':
  24624.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_INDEX_ENT',0 ), Model.GetEntity( Int.EntityId ).Name ) );
  24625.         break;
  24626. }
  24627. };
  24628.  
  24629. function AddOn(object, ident)
  24630. {
  24631.   this.object = object; //interface
  24632.   this.ident = ident; //for any identify
  24633. }
  24634. ]]></VALUE>
  24635. <LANGUAGE>1</LANGUAGE>
  24636. <LANGUAGEWIN>---</LANGUAGEWIN>
  24637. <CATEGORY>7</CATEGORY>
  24638. <MAINSCRIPT>0</MAINSCRIPT>
  24639. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  24640. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  24641. <AUTHOR></AUTHOR>
  24642. <COMPANY></COMPANY>
  24643. <VERSION></VERSION>
  24644. <CREATED><DATE>7/17/2002</DATE><TIME>12:44:05</TIME></CREATED>
  24645. <MODIFIED><DATE>10/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  24646. </TEMPLATE>
  24647. </TEMPLATES>
  24648. <VARIABLES><![CDATA[ldomainSupp  0
  24649. lAtrCheckConstraintSupp 0
  24650. lAlterKeySupp 1
  24651. lProceduresSupp 0
  24652. lViewsSupp 0
  24653. lConstraintPkSupp 0
  24654. lConstraintFkSupp 0
  24655. lAtrUniqueConstraintSupp 1
  24656. lPermissUserToRoleSupp 0
  24657. lPermissUserToObjectSupp 1
  24658. lPermissRoleToObjectSupp 0
  24659. lRoleSupp 0
  24660. lDriParUpdRestrict 0
  24661. lDriParUpdCascade 0
  24662. lDriParUpdSetNull 0
  24663. lDriParUpdSetDefault 0
  24664. lDriParDelRestrict 0
  24665. lDriParDelCascade 1
  24666. lDriParDelSetNull 1
  24667. lDriParDelSetDefault 0
  24668. lDriChildInsRestrict 0
  24669. lDriChildUpdRestrict 0
  24670. lDriParUpdRestrictSupp 0
  24671. lDriParUpdCascadeSupp 0
  24672. lDriParUpdSetNullSupp 0
  24673. lDriParUpdSetDefaultSupp 0
  24674. lDriParDelRestrictSupp 0
  24675. lDriParDelCascadeSupp 0
  24676. lDriParDelSetNullSupp 0
  24677. lDriParDelSetDefaultSupp 0
  24678. lDriChildInsRestrictSupp 0
  24679. lDriChildUpdRestrictSupp 0
  24680. lIndexDescendSupp 0
  24681. lIndexItDescendSupp 1
  24682. lIndexUpperSupp 0
  24683. lIndexExprSupp 1
  24684. lIndexUniqueSupp 1
  24685. lIndexFilterSupp 0
  24686. lIndexStandSupp 1
  24687. lIndexClusterSupp 0
  24688. lIndexNameUnique 0
  24689. lPkSupp 1
  24690. lPkNotNull 1
  24691. lDRISupp 1
  24692. lTriggerSupp 0
  24693. lAtrUniqueSupp 1
  24694. lAtrNotNullSupp 1
  24695. lAtrCheckSupp 0
  24696. lAtrDefaultSupp 1
  24697. ldomainSupp  0
  24698. lAtrCheckConstraintSupp 0
  24699. lAlterKeySupp 1
  24700. lProceduresSupp 0
  24701. lViewsSupp 0
  24702. lConstraintPkSupp 0
  24703. lConstraintFkSupp 0
  24704. lAtrUniqueConstraintSupp 1
  24705. lPermissUserToRoleSupp 0
  24706. lPermissUserToObjectSupp 1
  24707. lPermissRoleToObjectSupp 0
  24708. lRoleSupp 0
  24709. ]]></VARIABLES>
  24710. <USEREDITS>
  24711. <USEREDIT>
  24712. <NAME>lTempTable</NAME>
  24713. <ID>1</ID>
  24714. <GUID>{C6635DF1-2129-4A5C-8227-7E5CE975B692}</GUID>
  24715. <CAPTION>Temporary table</CAPTION>
  24716. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24717. <TYPE>1</TYPE>
  24718. <LEVEL>2</LEVEL>
  24719. <DEFAULT>0</DEFAULT>
  24720. <ORD>10</ORD>
  24721. <LENGTH>0</LENGTH>
  24722. <ENABLED>1</ENABLED>
  24723. <ITEMS></ITEMS>
  24724. </USEREDIT>
  24725. <USEREDIT>
  24726. <NAME>lIfNotExists</NAME>
  24727. <ID>2</ID>
  24728. <GUID>{5949B827-B187-4E23-A358-670263953603}</GUID>
  24729. <CAPTION>If not exists</CAPTION>
  24730. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24731. <TYPE>1</TYPE>
  24732. <LEVEL>2</LEVEL>
  24733. <DEFAULT>0</DEFAULT>
  24734. <ORD>20</ORD>
  24735. <LENGTH>0</LENGTH>
  24736. <ENABLED>1</ENABLED>
  24737. <ITEMS></ITEMS>
  24738. </USEREDIT>
  24739. <USEREDIT>
  24740. <NAME>lComments</NAME>
  24741. <ID>3</ID>
  24742. <GUID>{C83CD19D-897B-4659-BF0A-188B426DAA3E}</GUID>
  24743. <CAPTION>Generate table comments</CAPTION>
  24744. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24745. <TYPE>1</TYPE>
  24746. <LEVEL>1</LEVEL>
  24747. <DEFAULT>1</DEFAULT>
  24748. <ORD>20</ORD>
  24749. <LENGTH>0</LENGTH>
  24750. <ENABLED>1</ENABLED>
  24751. <ITEMS></ITEMS>
  24752. </USEREDIT>
  24753. <USEREDIT>
  24754. <NAME>nSubPart</NAME>
  24755. <ID>4</ID>
  24756. <GUID>{FAC9EFCF-24D3-4BF6-A6DA-8F8382BC9644}</GUID>
  24757. <CAPTION>Number of indexed characters</CAPTION>
  24758. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24759. <TYPE>0</TYPE>
  24760. <LEVEL>3</LEVEL>
  24761. <DEFAULT></DEFAULT>
  24762. <ORD>50</ORD>
  24763. <LENGTH>20</LENGTH>
  24764. <ENABLED>1</ENABLED>
  24765. <ITEMS></ITEMS>
  24766. </USEREDIT>
  24767. <USEREDIT>
  24768. <NAME>lZerofill</NAME>
  24769. <ID>5</ID>
  24770. <GUID>{BBD5ECEC-8E94-49A2-9A90-6231558D84DC}</GUID>
  24771. <CAPTION>Zerofill</CAPTION>
  24772. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24773. <TYPE>1</TYPE>
  24774. <LEVEL>3</LEVEL>
  24775. <DEFAULT>0</DEFAULT>
  24776. <ORD>20</ORD>
  24777. <LENGTH>0</LENGTH>
  24778. <ENABLED>1</ENABLED>
  24779. <ITEMS></ITEMS>
  24780. </USEREDIT>
  24781. <USEREDIT>
  24782. <NAME>lUnsigned</NAME>
  24783. <ID>6</ID>
  24784. <GUID>{BF505AF4-0DFE-4603-882B-33E1B6EF75E8}</GUID>
  24785. <CAPTION>Unsigned</CAPTION>
  24786. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24787. <TYPE>1</TYPE>
  24788. <LEVEL>3</LEVEL>
  24789. <DEFAULT>0</DEFAULT>
  24790. <ORD>10</ORD>
  24791. <LENGTH>0</LENGTH>
  24792. <ENABLED>1</ENABLED>
  24793. <ITEMS></ITEMS>
  24794. </USEREDIT>
  24795. <USEREDIT>
  24796. <NAME>lBinary</NAME>
  24797. <ID>7</ID>
  24798. <GUID>{62A12D4D-A9CC-4468-9582-A4F0B53B93CC}</GUID>
  24799. <CAPTION>Binary</CAPTION>
  24800. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24801. <TYPE>1</TYPE>
  24802. <LEVEL>3</LEVEL>
  24803. <DEFAULT>0</DEFAULT>
  24804. <ORD>30</ORD>
  24805. <LENGTH>0</LENGTH>
  24806. <ENABLED>1</ENABLED>
  24807. <ITEMS></ITEMS>
  24808. </USEREDIT>
  24809. <USEREDIT>
  24810. <NAME>lAutoincrement</NAME>
  24811. <ID>8</ID>
  24812. <GUID>{B48D78DA-E0BD-44DF-BE6A-2ED586B563FB}</GUID>
  24813. <CAPTION>Autoincrement</CAPTION>
  24814. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24815. <TYPE>1</TYPE>
  24816. <LEVEL>3</LEVEL>
  24817. <DEFAULT>0</DEFAULT>
  24818. <ORD>5</ORD>
  24819. <LENGTH>0</LENGTH>
  24820. <ENABLED>1</ENABLED>
  24821. <ITEMS></ITEMS>
  24822. </USEREDIT>
  24823. <USEREDIT>
  24824. <NAME>eTableType</NAME>
  24825. <ID>9</ID>
  24826. <GUID>{439A3412-8642-4AAF-ABFC-6E4F796E2316}</GUID>
  24827. <CAPTION>Table type</CAPTION>
  24828. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24829. <TYPE>2</TYPE>
  24830. <LEVEL>2</LEVEL>
  24831. <DEFAULT>MyISAM</DEFAULT>
  24832. <ORD>30</ORD>
  24833. <LENGTH>0</LENGTH>
  24834. <ENABLED>1</ENABLED>
  24835. <ITEMS>"ISAM","HEAP","MyISAM","MERGE","BDB","InnoDB"</ITEMS>
  24836. </USEREDIT>
  24837. <USEREDIT>
  24838. <NAME>nMaxDisplaySize</NAME>
  24839. <ID>10</ID>
  24840. <GUID>{7E0289A4-0F39-44AE-BAAF-5EACBA7E9A7B}</GUID>
  24841. <CAPTION>Maximum display size</CAPTION>
  24842. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24843. <TYPE>0</TYPE>
  24844. <LEVEL>3</LEVEL>
  24845. <DEFAULT></DEFAULT>
  24846. <ORD>60</ORD>
  24847. <LENGTH>20</LENGTH>
  24848. <ENABLED>1</ENABLED>
  24849. <ITEMS></ITEMS>
  24850. </USEREDIT>
  24851. <USEREDIT>
  24852. <NAME>lFulltext</NAME>
  24853. <ID>11</ID>
  24854. <GUID>{101ADC75-EB4D-4824-9327-841D9484A710}</GUID>
  24855. <CAPTION>Fulltext index</CAPTION>
  24856. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24857. <TYPE>1</TYPE>
  24858. <LEVEL>4</LEVEL>
  24859. <DEFAULT>0</DEFAULT>
  24860. <ORD>10</ORD>
  24861. <LENGTH>0</LENGTH>
  24862. <ENABLED>1</ENABLED>
  24863. <ITEMS></ITEMS>
  24864. </USEREDIT>
  24865. <USEREDIT>
  24866. <NAME>lGen_Ct</NAME>
  24867. <ID>12</ID>
  24868. <GUID>{A127341B-85FF-4BFF-9543-0F32AE248B4F}</GUID>
  24869. <CAPTION>Generate FK's, AK's and Indexes in CREATE TABLE</CAPTION>
  24870. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24871. <TYPE>1</TYPE>
  24872. <LEVEL>1</LEVEL>
  24873. <DEFAULT>1</DEFAULT>
  24874. <ORD>30</ORD>
  24875. <LENGTH>0</LENGTH>
  24876. <ENABLED>1</ENABLED>
  24877. <ITEMS></ITEMS>
  24878. </USEREDIT>
  24879. <USEREDIT>
  24880. <NAME>lGenIndexFk</NAME>
  24881. <ID>13</ID>
  24882. <GUID>{8E022A3D-EBAE-46CC-95C4-97C2A2A4E74A}</GUID>
  24883. <CAPTION>Generate Indexes to Foreign keys automatically</CAPTION>
  24884. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24885. <TYPE>1</TYPE>
  24886. <LEVEL>1</LEVEL>
  24887. <DEFAULT>1</DEFAULT>
  24888. <ORD>10</ORD>
  24889. <LENGTH>0</LENGTH>
  24890. <ENABLED>1</ENABLED>
  24891. <ITEMS></ITEMS>
  24892. </USEREDIT>
  24893. <USEREDIT>
  24894. <NAME>lGenIndexFk_R</NAME>
  24895. <ID>14</ID>
  24896. <GUID>{6E13834C-4A42-44F0-9B19-6404D4F0BFFD}</GUID>
  24897. <CAPTION>Generate Index to Foreign key automatically</CAPTION>
  24898. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24899. <TYPE>1</TYPE>
  24900. <LEVEL>5</LEVEL>
  24901. <DEFAULT>1</DEFAULT>
  24902. <ORD>10</ORD>
  24903. <LENGTH>0</LENGTH>
  24904. <ENABLED>1</ENABLED>
  24905. <ITEMS></ITEMS>
  24906. </USEREDIT>
  24907. <USEREDIT>
  24908. <NAME>lGenIndexAI_A</NAME>
  24909. <ID>15</ID>
  24910. <GUID>{FC5FB6D9-2F7B-4B07-A559-4BB086AB9F57}</GUID>
  24911. <CAPTION>Generate Index to Autoincrement column automatically</CAPTION>
  24912. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  24913. <TYPE>1</TYPE>
  24914. <LEVEL>3</LEVEL>
  24915. <DEFAULT>0</DEFAULT>
  24916. <ORD>6</ORD>
  24917. <LENGTH>0</LENGTH>
  24918. <ENABLED>1</ENABLED>
  24919. <ITEMS></ITEMS>
  24920. </USEREDIT>
  24921. </USEREDITS>
  24922. <TYPELIST>
  24923. <TYPE>
  24924. <NAME>Char</NAME>
  24925. <ID>10</ID>
  24926. <GUID>{52BEA64B-2797-4C0B-A517-C8C12B6A30D4}</GUID>
  24927. <PHNAME>Char</PHNAME>
  24928. <LLENGTH>1</LLENGTH>
  24929. <LDECIMAL>0</LDECIMAL>
  24930. <MAXLENGTH>255</MAXLENGTH>
  24931. <MINLENGTH>0</MINLENGTH>
  24932. <MAXDECIMAL>0</MAXDECIMAL>
  24933. <MINDECIMAL>0</MINDECIMAL>
  24934. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  24935. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  24936. <TRANSFORMCODE>A</TRANSFORMCODE>
  24937. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  24938. <EXPORTTO>0</EXPORTTO>
  24939. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  24940. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  24941. </TYPE>
  24942. <TYPE>
  24943. <NAME>Varchar</NAME>
  24944. <ID>20</ID>
  24945. <GUID>{004FC6ED-A90B-4A94-8F76-33AED9B0F945}</GUID>
  24946. <PHNAME>Varchar</PHNAME>
  24947. <LLENGTH>1</LLENGTH>
  24948. <LDECIMAL>0</LDECIMAL>
  24949. <MAXLENGTH>255</MAXLENGTH>
  24950. <MINLENGTH>1</MINLENGTH>
  24951. <MAXDECIMAL>0</MAXDECIMAL>
  24952. <MINDECIMAL>0</MINDECIMAL>
  24953. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  24954. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  24955. <TRANSFORMCODE>VA</TRANSFORMCODE>
  24956. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  24957. <EXPORTTO>0</EXPORTTO>
  24958. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  24959. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  24960. </TYPE>
  24961. <TYPE>
  24962. <NAME>Tinyint</NAME>
  24963. <ID>30</ID>
  24964. <GUID>{E3C29EE1-1BFC-4E83-A668-659702473A03}</GUID>
  24965. <PHNAME>Tinyint</PHNAME>
  24966. <LLENGTH>0</LLENGTH>
  24967. <LDECIMAL>0</LDECIMAL>
  24968. <MAXLENGTH>255</MAXLENGTH>
  24969. <MINLENGTH>0</MINLENGTH>
  24970. <MAXDECIMAL>0</MAXDECIMAL>
  24971. <MINDECIMAL>0</MINDECIMAL>
  24972. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  24973. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  24974. <TRANSFORMCODE>TI</TRANSFORMCODE>
  24975. <TRANSFORMTO>TI;SI;MI;I;LI;N,3,0;</TRANSFORMTO>
  24976. <EXPORTTO>0</EXPORTTO>
  24977. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  24978. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  24979. </TYPE>
  24980. <TYPE>
  24981. <NAME>Smallint</NAME>
  24982. <ID>40</ID>
  24983. <GUID>{3CC36EB7-FD78-42A1-843F-AFCE6BA66E98}</GUID>
  24984. <PHNAME>Smallint</PHNAME>
  24985. <LLENGTH>0</LLENGTH>
  24986. <LDECIMAL>0</LDECIMAL>
  24987. <MAXLENGTH>255</MAXLENGTH>
  24988. <MINLENGTH>0</MINLENGTH>
  24989. <MAXDECIMAL>0</MAXDECIMAL>
  24990. <MINDECIMAL>0</MINDECIMAL>
  24991. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  24992. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  24993. <TRANSFORMCODE>SI</TRANSFORMCODE>
  24994. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  24995. <EXPORTTO>0</EXPORTTO>
  24996. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  24997. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  24998. </TYPE>
  24999. <TYPE>
  25000. <NAME>Mediumint</NAME>
  25001. <ID>50</ID>
  25002. <GUID>{587E2F06-D417-4C88-9619-61811F9D7445}</GUID>
  25003. <PHNAME>Mediumint</PHNAME>
  25004. <LLENGTH>0</LLENGTH>
  25005. <LDECIMAL>0</LDECIMAL>
  25006. <MAXLENGTH>255</MAXLENGTH>
  25007. <MINLENGTH>0</MINLENGTH>
  25008. <MAXDECIMAL>0</MAXDECIMAL>
  25009. <MINDECIMAL>0</MINDECIMAL>
  25010. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25011. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25012. <TRANSFORMCODE>MI</TRANSFORMCODE>
  25013. <TRANSFORMTO>MI;I;N,8,0;</TRANSFORMTO>
  25014. <EXPORTTO>0</EXPORTTO>
  25015. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25016. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25017. </TYPE>
  25018. <TYPE>
  25019. <NAME>Integer</NAME>
  25020. <ID>60</ID>
  25021. <GUID>{D58F1886-0AC4-4CB3-92A5-A7E6A5693BC5}</GUID>
  25022. <PHNAME>Integer</PHNAME>
  25023. <LLENGTH>0</LLENGTH>
  25024. <LDECIMAL>0</LDECIMAL>
  25025. <MAXLENGTH>255</MAXLENGTH>
  25026. <MINLENGTH>0</MINLENGTH>
  25027. <MAXDECIMAL>0</MAXDECIMAL>
  25028. <MINDECIMAL>0</MINDECIMAL>
  25029. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25030. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25031. <TRANSFORMCODE>I</TRANSFORMCODE>
  25032. <TRANSFORMTO>I;LI;BI;N,10,0;LF;F;</TRANSFORMTO>
  25033. <EXPORTTO>0</EXPORTTO>
  25034. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25035. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25036. </TYPE>
  25037. <TYPE>
  25038. <NAME>Bigint</NAME>
  25039. <ID>70</ID>
  25040. <GUID>{19A214DC-447F-4501-913F-B2DE203FE3DE}</GUID>
  25041. <PHNAME>Bigint</PHNAME>
  25042. <LLENGTH>0</LLENGTH>
  25043. <LDECIMAL>0</LDECIMAL>
  25044. <MAXLENGTH>255</MAXLENGTH>
  25045. <MINLENGTH>0</MINLENGTH>
  25046. <MAXDECIMAL>0</MAXDECIMAL>
  25047. <MINDECIMAL>0</MINDECIMAL>
  25048. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25049. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25050. <TRANSFORMCODE>BI</TRANSFORMCODE>
  25051. <TRANSFORMTO>BI;LF;F;I;</TRANSFORMTO>
  25052. <EXPORTTO>0</EXPORTTO>
  25053. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25054. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25055. </TYPE>
  25056. <TYPE>
  25057. <NAME>Float</NAME>
  25058. <ID>80</ID>
  25059. <GUID>{4D5A573C-2A49-4AD0-AFD1-01DD1CED4E51}</GUID>
  25060. <PHNAME>Float</PHNAME>
  25061. <LLENGTH>0</LLENGTH>
  25062. <LDECIMAL>0</LDECIMAL>
  25063. <MAXLENGTH>255</MAXLENGTH>
  25064. <MINLENGTH>0</MINLENGTH>
  25065. <MAXDECIMAL>30</MAXDECIMAL>
  25066. <MINDECIMAL>0</MINDECIMAL>
  25067. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25068. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25069. <TRANSFORMCODE>F</TRANSFORMCODE>
  25070. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  25071. <EXPORTTO>0</EXPORTTO>
  25072. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25073. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25074. </TYPE>
  25075. <TYPE>
  25076. <NAME>Float(m)</NAME>
  25077. <ID>81</ID>
  25078. <GUID>{C15C02D7-7D59-4415-8194-C68DF87A136E}</GUID>
  25079. <PHNAME>Float</PHNAME>
  25080. <LLENGTH>1</LLENGTH>
  25081. <LDECIMAL>0</LDECIMAL>
  25082. <MAXLENGTH>255</MAXLENGTH>
  25083. <MINLENGTH>0</MINLENGTH>
  25084. <MAXDECIMAL>0</MAXDECIMAL>
  25085. <MINDECIMAL>0</MINDECIMAL>
  25086. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25087. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25088. <TRANSFORMCODE>F</TRANSFORMCODE>
  25089. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  25090. <EXPORTTO>0</EXPORTTO>
  25091. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25092. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25093. </TYPE>
  25094. <TYPE>
  25095. <NAME>Float(m,d)</NAME>
  25096. <ID>82</ID>
  25097. <GUID>{FF7FAC05-C70E-4509-80A9-833BA01FC74D}</GUID>
  25098. <PHNAME>Float</PHNAME>
  25099. <LLENGTH>1</LLENGTH>
  25100. <LDECIMAL>1</LDECIMAL>
  25101. <MAXLENGTH>255</MAXLENGTH>
  25102. <MINLENGTH>0</MINLENGTH>
  25103. <MAXDECIMAL>30</MAXDECIMAL>
  25104. <MINDECIMAL>0</MINDECIMAL>
  25105. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25106. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25107. <TRANSFORMCODE>FXY</TRANSFORMCODE>
  25108. <TRANSFORMTO>FXY;F;DC,15,5;N,15,5;</TRANSFORMTO>
  25109. <EXPORTTO>0</EXPORTTO>
  25110. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25111. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25112. </TYPE>
  25113. <TYPE>
  25114. <NAME>Double</NAME>
  25115. <ID>90</ID>
  25116. <GUID>{8610ABD7-3802-4A36-91C6-006EC8388D61}</GUID>
  25117. <PHNAME>Double</PHNAME>
  25118. <LLENGTH>0</LLENGTH>
  25119. <LDECIMAL>0</LDECIMAL>
  25120. <MAXLENGTH>255</MAXLENGTH>
  25121. <MINLENGTH>0</MINLENGTH>
  25122. <MAXDECIMAL>30</MAXDECIMAL>
  25123. <MINDECIMAL>0</MINDECIMAL>
  25124. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25125. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25126. <TRANSFORMCODE>LF</TRANSFORMCODE>
  25127. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  25128. <EXPORTTO>0</EXPORTTO>
  25129. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25130. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25131. </TYPE>
  25132. <TYPE>
  25133. <NAME>Double(m,d)</NAME>
  25134. <ID>91</ID>
  25135. <GUID>{A687AA44-878C-42D7-8B85-384014458B26}</GUID>
  25136. <PHNAME>Double</PHNAME>
  25137. <LLENGTH>1</LLENGTH>
  25138. <LDECIMAL>1</LDECIMAL>
  25139. <MAXLENGTH>255</MAXLENGTH>
  25140. <MINLENGTH>0</MINLENGTH>
  25141. <MAXDECIMAL>30</MAXDECIMAL>
  25142. <MINDECIMAL>0</MINDECIMAL>
  25143. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25144. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25145. <TRANSFORMCODE>LFXY</TRANSFORMCODE>
  25146. <TRANSFORMTO>LFXY;LF;N,15,5;F;</TRANSFORMTO>
  25147. <EXPORTTO>0</EXPORTTO>
  25148. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25149. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25150. </TYPE>
  25151. <TYPE>
  25152. <NAME>Decimal</NAME>
  25153. <ID>100</ID>
  25154. <GUID>{EA423A57-69D6-4E12-AE80-8D26E8401436}</GUID>
  25155. <PHNAME>Decimal</PHNAME>
  25156. <LLENGTH>1</LLENGTH>
  25157. <LDECIMAL>1</LDECIMAL>
  25158. <MAXLENGTH>253</MAXLENGTH>
  25159. <MINLENGTH>1</MINLENGTH>
  25160. <MAXDECIMAL>30</MAXDECIMAL>
  25161. <MINDECIMAL>0</MINDECIMAL>
  25162. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  25163. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25164. <TRANSFORMCODE>DC</TRANSFORMCODE>
  25165. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  25166. <EXPORTTO>0</EXPORTTO>
  25167. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25168. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25169. </TYPE>
  25170. <TYPE>
  25171. <NAME>Date</NAME>
  25172. <ID>110</ID>
  25173. <GUID>{CBB2487C-3B8D-470D-B4B3-BF6289E3C4F4}</GUID>
  25174. <PHNAME>Date</PHNAME>
  25175. <LLENGTH>0</LLENGTH>
  25176. <LDECIMAL>0</LDECIMAL>
  25177. <MAXLENGTH>0</MAXLENGTH>
  25178. <MINLENGTH>0</MINLENGTH>
  25179. <MAXDECIMAL>0</MAXDECIMAL>
  25180. <MINDECIMAL>0</MINDECIMAL>
  25181. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25182. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25183. <TRANSFORMCODE>D</TRANSFORMCODE>
  25184. <TRANSFORMTO>D;DT;A;</TRANSFORMTO>
  25185. <EXPORTTO>0</EXPORTTO>
  25186. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25187. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25188. </TYPE>
  25189. <TYPE>
  25190. <NAME>Datetime</NAME>
  25191. <ID>120</ID>
  25192. <GUID>{8185D07E-5A3F-4546-8613-EF54142B8C7D}</GUID>
  25193. <PHNAME>Datetime</PHNAME>
  25194. <LLENGTH>0</LLENGTH>
  25195. <LDECIMAL>0</LDECIMAL>
  25196. <MAXLENGTH>0</MAXLENGTH>
  25197. <MINLENGTH>0</MINLENGTH>
  25198. <MAXDECIMAL>0</MAXDECIMAL>
  25199. <MINDECIMAL>0</MINDECIMAL>
  25200. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25201. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25202. <TRANSFORMCODE>DT</TRANSFORMCODE>
  25203. <TRANSFORMTO>DT;D;A;</TRANSFORMTO>
  25204. <EXPORTTO>0</EXPORTTO>
  25205. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25206. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25207. </TYPE>
  25208. <TYPE>
  25209. <NAME>Timestamp</NAME>
  25210. <ID>130</ID>
  25211. <GUID>{F31F7DD7-304B-4AFE-BD74-FF9D69DBC8D4}</GUID>
  25212. <PHNAME>Timestamp</PHNAME>
  25213. <LLENGTH>1</LLENGTH>
  25214. <LDECIMAL>0</LDECIMAL>
  25215. <MAXLENGTH>14</MAXLENGTH>
  25216. <MINLENGTH>2</MINLENGTH>
  25217. <MAXDECIMAL>0</MAXDECIMAL>
  25218. <MINDECIMAL>0</MINDECIMAL>
  25219. <DEFAULTLENGTH>14</DEFAULTLENGTH>
  25220. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25221. <TRANSFORMCODE>TS</TRANSFORMCODE>
  25222. <TRANSFORMTO>TS;DT;D;A;</TRANSFORMTO>
  25223. <EXPORTTO>0</EXPORTTO>
  25224. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25225. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25226. </TYPE>
  25227. <TYPE>
  25228. <NAME>Time</NAME>
  25229. <ID>140</ID>
  25230. <GUID>{FA6B64CB-CEA4-4E21-84DB-56F899AD4199}</GUID>
  25231. <PHNAME>Time</PHNAME>
  25232. <LLENGTH>0</LLENGTH>
  25233. <LDECIMAL>0</LDECIMAL>
  25234. <MAXLENGTH>0</MAXLENGTH>
  25235. <MINLENGTH>0</MINLENGTH>
  25236. <MAXDECIMAL>0</MAXDECIMAL>
  25237. <MINDECIMAL>0</MINDECIMAL>
  25238. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25239. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25240. <TRANSFORMCODE>T</TRANSFORMCODE>
  25241. <TRANSFORMTO>T;DT;A;</TRANSFORMTO>
  25242. <EXPORTTO>0</EXPORTTO>
  25243. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25244. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25245. </TYPE>
  25246. <TYPE>
  25247. <NAME>Year</NAME>
  25248. <ID>150</ID>
  25249. <GUID>{4FE2C72D-2623-47D1-ABD5-15B84A754BE1}</GUID>
  25250. <PHNAME>Year</PHNAME>
  25251. <LLENGTH>1</LLENGTH>
  25252. <LDECIMAL>0</LDECIMAL>
  25253. <MAXLENGTH>4</MAXLENGTH>
  25254. <MINLENGTH>2</MINLENGTH>
  25255. <MAXDECIMAL>0</MAXDECIMAL>
  25256. <MINDECIMAL>0</MINDECIMAL>
  25257. <DEFAULTLENGTH>4</DEFAULTLENGTH>
  25258. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25259. <TRANSFORMCODE>Y</TRANSFORMCODE>
  25260. <TRANSFORMTO>Y;D;DT;A;</TRANSFORMTO>
  25261. <EXPORTTO>0</EXPORTTO>
  25262. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25263. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25264. </TYPE>
  25265. <TYPE>
  25266. <NAME>Tinyblob</NAME>
  25267. <ID>160</ID>
  25268. <GUID>{0958AC64-B101-44B6-8069-8AE2024492D7}</GUID>
  25269. <PHNAME>Tinyblob</PHNAME>
  25270. <LLENGTH>0</LLENGTH>
  25271. <LDECIMAL>0</LDECIMAL>
  25272. <MAXLENGTH>0</MAXLENGTH>
  25273. <MINLENGTH>0</MINLENGTH>
  25274. <MAXDECIMAL>0</MAXDECIMAL>
  25275. <MINDECIMAL>0</MINDECIMAL>
  25276. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25277. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25278. <TRANSFORMCODE>TBLOB</TRANSFORMCODE>
  25279. <TRANSFORMTO>TBLOB;BLOB;BIN;LBIN;</TRANSFORMTO>
  25280. <EXPORTTO>0</EXPORTTO>
  25281. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25282. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25283. </TYPE>
  25284. <TYPE>
  25285. <NAME>Blob</NAME>
  25286. <ID>170</ID>
  25287. <GUID>{1AB0B8B8-758F-4E75-B8A4-E1D0312BCB78}</GUID>
  25288. <PHNAME>Blob</PHNAME>
  25289. <LLENGTH>0</LLENGTH>
  25290. <LDECIMAL>0</LDECIMAL>
  25291. <MAXLENGTH>0</MAXLENGTH>
  25292. <MINLENGTH>0</MINLENGTH>
  25293. <MAXDECIMAL>0</MAXDECIMAL>
  25294. <MINDECIMAL>0</MINDECIMAL>
  25295. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25296. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25297. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  25298. <TRANSFORMTO>BLOB;BIN;LBIN;</TRANSFORMTO>
  25299. <EXPORTTO>0</EXPORTTO>
  25300. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25301. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25302. </TYPE>
  25303. <TYPE>
  25304. <NAME>Mediumblob</NAME>
  25305. <ID>180</ID>
  25306. <GUID>{EC4B7D3B-38BA-426E-86AA-5C557B67F5BF}</GUID>
  25307. <PHNAME>Mediumblob</PHNAME>
  25308. <LLENGTH>0</LLENGTH>
  25309. <LDECIMAL>0</LDECIMAL>
  25310. <MAXLENGTH>0</MAXLENGTH>
  25311. <MINLENGTH>0</MINLENGTH>
  25312. <MAXDECIMAL>0</MAXDECIMAL>
  25313. <MINDECIMAL>0</MINDECIMAL>
  25314. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25315. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25316. <TRANSFORMCODE>MBLOB</TRANSFORMCODE>
  25317. <TRANSFORMTO>MBLOB;LBIN;</TRANSFORMTO>
  25318. <EXPORTTO>0</EXPORTTO>
  25319. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25320. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25321. </TYPE>
  25322. <TYPE>
  25323. <NAME>Longblob</NAME>
  25324. <ID>190</ID>
  25325. <GUID>{DC2AAD9C-5F85-46EC-AAF3-EAE12B732CB4}</GUID>
  25326. <PHNAME>Longblob</PHNAME>
  25327. <LLENGTH>0</LLENGTH>
  25328. <LDECIMAL>0</LDECIMAL>
  25329. <MAXLENGTH>0</MAXLENGTH>
  25330. <MINLENGTH>0</MINLENGTH>
  25331. <MAXDECIMAL>0</MAXDECIMAL>
  25332. <MINDECIMAL>0</MINDECIMAL>
  25333. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25334. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25335. <TRANSFORMCODE>LBLOB</TRANSFORMCODE>
  25336. <TRANSFORMTO>LBLOB;</TRANSFORMTO>
  25337. <EXPORTTO>0</EXPORTTO>
  25338. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25339. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25340. </TYPE>
  25341. <TYPE>
  25342. <NAME>Tinytext</NAME>
  25343. <ID>200</ID>
  25344. <GUID>{439CBE35-2B51-4463-B148-CC68CDF92BD3}</GUID>
  25345. <PHNAME>Tinytext</PHNAME>
  25346. <LLENGTH>0</LLENGTH>
  25347. <LDECIMAL>0</LDECIMAL>
  25348. <MAXLENGTH>0</MAXLENGTH>
  25349. <MINLENGTH>0</MINLENGTH>
  25350. <MAXDECIMAL>0</MAXDECIMAL>
  25351. <MINDECIMAL>0</MINDECIMAL>
  25352. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25353. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25354. <TRANSFORMCODE>TCLOB</TRANSFORMCODE>
  25355. <TRANSFORMTO>TCLOB;TXT;TBLOB;BLOB;BIN;LBIN;</TRANSFORMTO>
  25356. <EXPORTTO>0</EXPORTTO>
  25357. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25358. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25359. </TYPE>
  25360. <TYPE>
  25361. <NAME>Text</NAME>
  25362. <ID>210</ID>
  25363. <GUID>{4F7AC208-FCAA-43B3-B33B-DCB56EF78301}</GUID>
  25364. <PHNAME>Text</PHNAME>
  25365. <LLENGTH>0</LLENGTH>
  25366. <LDECIMAL>0</LDECIMAL>
  25367. <MAXLENGTH>0</MAXLENGTH>
  25368. <MINLENGTH>0</MINLENGTH>
  25369. <MAXDECIMAL>0</MAXDECIMAL>
  25370. <MINDECIMAL>0</MINDECIMAL>
  25371. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25372. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25373. <TRANSFORMCODE>CLOB</TRANSFORMCODE>
  25374. <TRANSFORMTO>CLOB;TXT;BLOB;BIN;LBIN;</TRANSFORMTO>
  25375. <EXPORTTO>0</EXPORTTO>
  25376. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25377. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25378. </TYPE>
  25379. <TYPE>
  25380. <NAME>Mediumtext</NAME>
  25381. <ID>220</ID>
  25382. <GUID>{B0933C07-B747-4891-8A3E-6F7F414B779A}</GUID>
  25383. <PHNAME>Mediumtext</PHNAME>
  25384. <LLENGTH>0</LLENGTH>
  25385. <LDECIMAL>0</LDECIMAL>
  25386. <MAXLENGTH>0</MAXLENGTH>
  25387. <MINLENGTH>0</MINLENGTH>
  25388. <MAXDECIMAL>0</MAXDECIMAL>
  25389. <MINDECIMAL>0</MINDECIMAL>
  25390. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25391. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25392. <TRANSFORMCODE>MCLOB</TRANSFORMCODE>
  25393. <TRANSFORMTO>MCLOB;TXT;LBLOB;BLOB;LBIN;</TRANSFORMTO>
  25394. <EXPORTTO>0</EXPORTTO>
  25395. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25396. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25397. </TYPE>
  25398. <TYPE>
  25399. <NAME>Longtext</NAME>
  25400. <ID>230</ID>
  25401. <GUID>{694C95E4-8B96-45D1-8DD9-B780A3C3984F}</GUID>
  25402. <PHNAME>Longtext</PHNAME>
  25403. <LLENGTH>0</LLENGTH>
  25404. <LDECIMAL>0</LDECIMAL>
  25405. <MAXLENGTH>0</MAXLENGTH>
  25406. <MINLENGTH>0</MINLENGTH>
  25407. <MAXDECIMAL>0</MAXDECIMAL>
  25408. <MINDECIMAL>0</MINDECIMAL>
  25409. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25410. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25411. <TRANSFORMCODE>LCLOB</TRANSFORMCODE>
  25412. <TRANSFORMTO>LCLOB;TXT;LBLOB;</TRANSFORMTO>
  25413. <EXPORTTO>0</EXPORTTO>
  25414. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25415. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25416. </TYPE>
  25417. <TYPE>
  25418. <NAME>Enum</NAME>
  25419. <ID>240</ID>
  25420. <GUID>{8DD67B09-7294-4CE3-94A4-D8BA69D5968E}</GUID>
  25421. <PHNAME>Enum</PHNAME>
  25422. <LLENGTH>0</LLENGTH>
  25423. <LDECIMAL>0</LDECIMAL>
  25424. <MAXLENGTH>0</MAXLENGTH>
  25425. <MINLENGTH>0</MINLENGTH>
  25426. <MAXDECIMAL>0</MAXDECIMAL>
  25427. <MINDECIMAL>0</MINDECIMAL>
  25428. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25429. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25430. <TRANSFORMCODE>ENUM</TRANSFORMCODE>
  25431. <TRANSFORMTO>ENUM;</TRANSFORMTO>
  25432. <EXPORTTO>0</EXPORTTO>
  25433. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25434. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25435. </TYPE>
  25436. <TYPE>
  25437. <NAME>Set</NAME>
  25438. <ID>250</ID>
  25439. <GUID>{152BAC09-04B6-4E1B-A98B-A62C5C89D1D7}</GUID>
  25440. <PHNAME>Set</PHNAME>
  25441. <LLENGTH>0</LLENGTH>
  25442. <LDECIMAL>0</LDECIMAL>
  25443. <MAXLENGTH>0</MAXLENGTH>
  25444. <MINLENGTH>0</MINLENGTH>
  25445. <MAXDECIMAL>0</MAXDECIMAL>
  25446. <MINDECIMAL>0</MINDECIMAL>
  25447. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25448. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25449. <TRANSFORMCODE>SET</TRANSFORMCODE>
  25450. <TRANSFORMTO>SET;</TRANSFORMTO>
  25451. <EXPORTTO>0</EXPORTTO>
  25452. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25453. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25454. </TYPE>
  25455. <TYPE>
  25456. <NAME>Bit</NAME>
  25457. <ID>260</ID>
  25458. <GUID>{56433233-4ED2-4078-A28E-20F3CB09EF20}</GUID>
  25459. <PHNAME>Bit</PHNAME>
  25460. <LLENGTH>0</LLENGTH>
  25461. <LDECIMAL>0</LDECIMAL>
  25462. <MAXLENGTH>0</MAXLENGTH>
  25463. <MINLENGTH>0</MINLENGTH>
  25464. <MAXDECIMAL>0</MAXDECIMAL>
  25465. <MINDECIMAL>0</MINDECIMAL>
  25466. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25467. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25468. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  25469. <TRANSFORMTO>BIT;TI,1;BL;A,1,0;</TRANSFORMTO>
  25470. <EXPORTTO>0</EXPORTTO>
  25471. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25472. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25473. </TYPE>
  25474. <TYPE>
  25475. <NAME>Bool</NAME>
  25476. <ID>270</ID>
  25477. <GUID>{2D64E234-8815-44F8-87D0-BC81C41884BB}</GUID>
  25478. <PHNAME>Bool</PHNAME>
  25479. <LLENGTH>0</LLENGTH>
  25480. <LDECIMAL>0</LDECIMAL>
  25481. <MAXLENGTH>0</MAXLENGTH>
  25482. <MINLENGTH>0</MINLENGTH>
  25483. <MAXDECIMAL>0</MAXDECIMAL>
  25484. <MINDECIMAL>0</MINDECIMAL>
  25485. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  25486. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  25487. <TRANSFORMCODE>BL</TRANSFORMCODE>
  25488. <TRANSFORMTO>BL;TI,1;A,1,0;</TRANSFORMTO>
  25489. <EXPORTTO>0</EXPORTTO>
  25490. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  25491. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  25492. </TYPE>
  25493. </TYPELIST>
  25494. <TEXTOBJECTTYPES>
  25495. </TEXTOBJECTTYPES>
  25496. <DISABLED>0</DISABLED>
  25497. <MAXLENGTHTABLENAME>64</MAXLENGTHTABLENAME>
  25498. <MAXLENGTHCOLNAME>64</MAXLENGTHCOLNAME>
  25499. <MAXLENGTHINDEXNAME>64</MAXLENGTHINDEXNAME>
  25500. <DEFAULTCHAR>_</DEFAULTCHAR>
  25501. <INVALIDCHARACTERS>!"#&()*+,-./:;<=>?[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  25502. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  25503. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  25504. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  25505. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  25506. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25507. <KEYWORDS><![CDATA[add
  25508. after
  25509. aggregate
  25510. all
  25511. alter
  25512. and
  25513. as
  25514. asc
  25515. auto_increment
  25516. avg
  25517. avg_row_length
  25518. between
  25519. bigint
  25520. binary
  25521. blob
  25522. bool
  25523. both
  25524. by
  25525. cascade
  25526. case
  25527. column
  25528. columns
  25529. comment
  25530. constraint
  25531. create
  25532. cross
  25533. current_date
  25534. current_time
  25535. current_timestamp
  25536. data
  25537. database
  25538. databases
  25539. datetime
  25540. day
  25541. day_hour
  25542. day_minute
  25543. day_second
  25544. dayofmonth
  25545. dayofweek
  25546. dayofyear
  25547. dec
  25548. decimal
  25549. default
  25550. delay_key_write
  25551. delayed
  25552. delete
  25553. desc
  25554. describe
  25555. distinct
  25556. distinctrow
  25557. double
  25558. drop
  25559. else
  25560. enclosed
  25561. end
  25562. escape
  25563. escaped
  25564. exists
  25565. explain
  25566. fields
  25567. file
  25568. first
  25569. float
  25570. float4
  25571. float8
  25572. flush
  25573. for
  25574. foreign
  25575. from
  25576. full
  25577. function
  25578. global
  25579. grant
  25580. grants
  25581. group
  25582. having
  25583. heap
  25584. high_priority
  25585. hosts
  25586. hour
  25587. hour_minute
  25588. hour_second
  25589. change
  25590. char
  25591. character
  25592. check
  25593. checksum
  25594. identified
  25595. if
  25596. ignore
  25597. in
  25598. index
  25599. infile
  25600. inner
  25601. insert
  25602. insert_id
  25603. int
  25604. int1
  25605. int2
  25606. int3
  25607. int4
  25608. int8
  25609. integer
  25610. interval
  25611. into
  25612. is
  25613. isam
  25614. join
  25615. key
  25616. keys
  25617. kill
  25618. last_insert_id
  25619. leading
  25620. left
  25621. length
  25622. like
  25623. limit
  25624. lines
  25625. load
  25626. local
  25627. lock
  25628. logs
  25629. long
  25630. longblob
  25631. longtext
  25632. low_priority
  25633. match
  25634. max
  25635. max_rows
  25636. mediumblob
  25637. mediumint
  25638. mediumtext
  25639. middleint
  25640. min_rows
  25641. minute
  25642. minute_second
  25643. modify
  25644. month
  25645. monthname
  25646. myisam
  25647. natural
  25648. not
  25649. null
  25650. numeric
  25651. on
  25652. optimize
  25653. option
  25654. optionally
  25655. or
  25656. order
  25657. outer
  25658. outfile
  25659. pack_keys
  25660. partial
  25661. password
  25662. precision
  25663. primary
  25664. privileges
  25665. procedure
  25666. process
  25667. processlist
  25668. read
  25669. real
  25670. references
  25671. regexp
  25672. reload
  25673. rename
  25674. replace
  25675. restrict
  25676. returns
  25677. revoke
  25678. rlike
  25679. row
  25680. rows
  25681. second
  25682. select
  25683. set
  25684. show
  25685. shutdown
  25686. smallint
  25687. soname
  25688. sql_big_result
  25689. sql_big_selects
  25690. sql_big_tables
  25691. sql_log_off
  25692. sql_log_update
  25693. sql_low_priority_updates
  25694. sql_select_limit
  25695. sql_small_result
  25696. sql_warnings
  25697. starting
  25698. status
  25699. straight_join
  25700. string
  25701. table
  25702. tables
  25703. temporary
  25704. terminated
  25705. then
  25706. tinyblob
  25707. tinyint
  25708. tinytext
  25709. to
  25710. trailing
  25711. type
  25712. unique
  25713. unlock
  25714. unsigned
  25715. update
  25716. usage
  25717. use
  25718. using
  25719. values
  25720. varbinary
  25721. varchar
  25722. variables
  25723. varying
  25724. when
  25725. where
  25726. with
  25727. write
  25728. year
  25729. year_month
  25730. zerofill
  25731. ]]></KEYWORDS>
  25732. </SERVER>
  25733. <SERVER>
  25734. <NAME>Oracle 8</NAME>
  25735. <ID>30</ID>
  25736. <GUID>{083E104E-8C84-470B-AEFF-84C1C1D322FD}</GUID>
  25737. <TEMPLATES>
  25738. <TEMPLATE>
  25739. <NAME>CreateDatabase</NAME>
  25740. <ID>1</ID>
  25741. <GUID>{D7411A66-26DD-42F3-BDDB-7929D02186ED}</GUID>
  25742. <CAPTION></CAPTION>
  25743. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  25744. <ENABLED>1</ENABLED>
  25745. <LEVEL>2</LEVEL>
  25746. <IDPARENT>0</IDPARENT>
  25747. <VALUE><![CDATA[/*
  25748. Created        %createddate%
  25749. Modified        %modifieddate%
  25750. Project        %projectname%
  25751. Model        %modelname%
  25752. Company        %company%
  25753. Author        %authorname%
  25754. Version        %version%
  25755. Database        %databasetype% 
  25756. */
  25757.  
  25758. @Script(SetQuotes)
  25759. {lbeforescript}
  25760. %beforescript%
  25761. {lDropPack}
  25762. @showmessage("Drop packages and package bodies")
  25763. @template(DropPackageBodies)
  25764. @template(DropPackages)
  25765. {lDropSynonyms}
  25766. @showmessage("Drop synonyms")
  25767. @template(DropSynonyms)
  25768. {lDropSequences}
  25769. @showmessage("Drop sequences")
  25770. @template(DropSequences)
  25771. {ldroptriggerGener}
  25772. @showmessage("Drop triggers")
  25773. @template(droptriggers)
  25774. {lDropTriggersListGener}
  25775. @template(DropTriggersList)
  25776. {lDropProceduresGener}
  25777. @template(DropProcedures)
  25778. {lDropFunctionsGener}
  25779. @template(DropFunctions)
  25780. {lDropViewsGener}
  25781. @template(DropViews)
  25782. {lDropIndexGener}
  25783. @template(DropIndexs)
  25784. {lDropTableGener}
  25785. @showmessage("Drop tables")
  25786. @template(DropRefIntegritys)
  25787. @template(droptables)
  25788. {lDropTypes}
  25789. @showmessage("Drop domains and domain bodies")
  25790. @template(DropDomainBodies)
  25791. @template(DropDomains)
  25792. {lGenTypes}
  25793. @showmessage("Create domains and domain bodies")
  25794. @template(CreateDomains)
  25795. @template(CreateDomainBodies)
  25796. {lTableGener}
  25797. @showmessage("Create tables")
  25798. @template(createtables)
  25799. {lEntityOthers}
  25800. @showmessage("Create tab 'Others' for selected tables")
  25801. @template(CreateTableOthers)
  25802. {lPkGener}
  25803. @showmessage("Create primary keys")
  25804. @template(createPKs)
  25805. {lAlterKeysGener}
  25806. @template(CreateAlterKeys)
  25807. {lIndexGener}
  25808. @showmessage("Create indexes")
  25809. @template(createindexs)
  25810. {lRefIntegGener}
  25811. @template(refintegritys)
  25812. {lProceduresGener}
  25813. @template(CreateProcedures)
  25814. {lFunctionsGener}
  25815. @template(CreateFunctions)
  25816. {lViewsGener}
  25817. @template(CreateViews)
  25818. {lTriggersGener}
  25819. @template(createtriggers)
  25820. {lTriggersUserGener}
  25821. @template(CreateTriggersList)
  25822. {lGenPack}
  25823. @showmessage("Create packages and package bodies")
  25824. @template(CreatePackages)
  25825. @template(CreatePackageBodies)
  25826. {lGenSynonyms}
  25827. @ShowMessage("Create synonyms")
  25828. @template(CreateSynonyms)
  25829. {lGenSequences}
  25830. @ShowMessage("Create sequences")
  25831. @template(CreateSequences)
  25832. {lTableGener}
  25833. @ScriptProc(CreateAttrTrigSequences,Main)
  25834. {lRoleGener}
  25835. @showmessage("Create role")
  25836. @template(CreateRole)
  25837. {lUserToRoleGener}
  25838. @ShowMessage("Users permissions to roles")
  25839. @template(GrantUserToRole)
  25840. {lRolePermissGener}
  25841. @ShowMessage("Roles permissions")
  25842. @template(CreateRolePermiss)
  25843. {lUserPermissGener}
  25844. @ShowMessage("Users permissions")
  25845. @template(CreateUserPermiss)
  25846. {lGenTabComments}
  25847. @ShowMessage("Create table comments")
  25848. @ScriptProc(CreateTableComments,Main)
  25849. {lGenAttrComments}
  25850. @ShowMessage("Create attribute comments")
  25851. @ScriptProc(CreateAttrComments,Main)
  25852. {lafterscript}
  25853. %afterscript%
  25854. {true}
  25855. @template(UserTempl)
  25856. ]]></VALUE>
  25857. <LANGUAGE>0</LANGUAGE>
  25858. <LANGUAGEWIN>---</LANGUAGEWIN>
  25859. <CATEGORY>2</CATEGORY>
  25860. <MAINSCRIPT>0</MAINSCRIPT>
  25861. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  25862. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25863. <AUTHOR></AUTHOR>
  25864. <COMPANY></COMPANY>
  25865. <VERSION></VERSION>
  25866. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  25867. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  25868. </TEMPLATE>
  25869. <TEMPLATE>
  25870. <NAME>CreateTable</NAME>
  25871. <ID>2</ID>
  25872. <GUID>{1AF13C97-9999-48F1-92B4-2CB3E4E8C502}</GUID>
  25873. <CAPTION></CAPTION>
  25874. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  25875. <ENABLED>1</ENABLED>
  25876. <LEVEL>2</LEVEL>
  25877. <IDPARENT>0</IDPARENT>
  25878. <VALUE><![CDATA[cr+
  25879. "Create table %qt%%tablename%%qt% ("+
  25880. forcol("", "", cr+tb+"%qt%%ColName%%qt% %typsql%"+
  25881. if(defexist," %defvalue%", "")+
  25882. if(not Empty(UserDataType)," %qt%%UserDataType%%qt%", "")+
  25883. if(defaultexist," Default "+defaultvalue  ,"")+
  25884. if(lNotNullAsConstraint and (not Empty(ConstraintNotNullName)) and notnull," Constraint %qt%%ConstraintNotNullName%%qt%","")+
  25885. if(notnull," NOT NULL "+if(lNotNullDeferrable,"DEFERRABLE ","")+if(lNotNullDeferred,"INITIALLY DEFERRED ",""), "")+
  25886. if(UniqueAtr,if(lUniqueAsConstraint and (not Empty(ConstraintAtrUnique))," Constraint %qt%%ConstraintAtrUnique%%qt%","")+" UNIQUE "+if(lUniqueAkDeferrable,"DEFERRABLE ","")+if(lUniqueAkDeferred,"INITIALLY DEFERRED ","")+if(not Empty(UniqueAkTablespace),"USING INDEX TABLESPACE %qt%%UniqueAkTablespace%%qt%",""), "")+
  25887. if(lCheckAsConstraint and constraintExist and CheckExist, " Constraint %qt%%constraint%%qt%","")+
  25888. if(CheckExist," Check ("+ evalcheck+" ) "+if(lCheckDeferrable,"DEFERRABLE ","")+if(lCheckDeferred,"INITIALLY DEFERRED ",""),"")+
  25889. if(def2exist," %def2value%", "") , ",", "")+
  25890. ") "+
  25891. if(not Empty(TableTablespace),cr+"TABLESPACE %qt%%TableTablespace%%qt%","")+
  25892. if(not Empty(TableStorage),cr+TableStorage,"")+
  25893. cr+term+cr+
  25894. showmessage("Table %tablename%")
  25895. ]]></VALUE>
  25896. <LANGUAGE>0</LANGUAGE>
  25897. <LANGUAGEWIN>---</LANGUAGEWIN>
  25898. <CATEGORY>2</CATEGORY>
  25899. <MAINSCRIPT>0</MAINSCRIPT>
  25900. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  25901. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25902. <AUTHOR></AUTHOR>
  25903. <COMPANY></COMPANY>
  25904. <VERSION></VERSION>
  25905. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  25906. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  25907. </TEMPLATE>
  25908. <TEMPLATE>
  25909. <NAME>CreateIndex</NAME>
  25910. <ID>3</ID>
  25911. <GUID>{90020368-3B47-4729-B7ED-F67563FF7218}</GUID>
  25912. <CAPTION></CAPTION>
  25913. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  25914. <ENABLED>1</ENABLED>
  25915. <LEVEL>2</LEVEL>
  25916. <IDPARENT>0</IDPARENT>
  25917. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  25918. +"Index %qt%%Indexname%%qt% ON %qt%%tablename%%qt% ("
  25919. +if(NOT(Index.ExprType),ForIndexCol("","",qt+colname+qt+if(IndexColDesc," Desc",""),",",""),IndexExpr)+") "
  25920. +if(not Empty(IndexTablespace),cr+"TABLESPACE %qt%%IndexTablespace%%qt%","")
  25921. +if(not Empty(IndexStorage),cr+IndexStorage,"")
  25922. +cr+term+cr
  25923. +ShowMessage("Index %Indexname% for table %tablename%")
  25924. ]]></VALUE>
  25925. <LANGUAGE>0</LANGUAGE>
  25926. <LANGUAGEWIN>---</LANGUAGEWIN>
  25927. <CATEGORY>2</CATEGORY>
  25928. <MAINSCRIPT>0</MAINSCRIPT>
  25929. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  25930. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25931. <AUTHOR></AUTHOR>
  25932. <COMPANY></COMPANY>
  25933. <VERSION></VERSION>
  25934. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  25935. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  25936. </TEMPLATE>
  25937. <TEMPLATE>
  25938. <NAME>CreateTriggerUpdate</NAME>
  25939. <ID>4</ID>
  25940. <GUID>{0B20EA53-06C4-48EE-89A6-FC445AC4E6FB}</GUID>
  25941. <CAPTION></CAPTION>
  25942. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  25943. <ENABLED>1</ENABLED>
  25944. <LEVEL>2</LEVEL>
  25945. <IDPARENT>0</IDPARENT>
  25946. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  25947. -- Update trigger for %tablename%
  25948.  
  25949. Create Trigger %qt%tu_%tablename%%qt% after update   
  25950. of @forPFkCol("", "", qt+colname+qt, ",", "" )
  25951. on  %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  25952. referencing new as new_upd old as old_upd for each row
  25953. declare numrows integer;
  25954. begin
  25955.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  25956.      @forparent("", "", template(triggerchildupdate), "", "" )
  25957. end;
  25958. %term%
  25959. ]]></VALUE>
  25960. <LANGUAGE>0</LANGUAGE>
  25961. <LANGUAGEWIN>---</LANGUAGEWIN>
  25962. <CATEGORY>2</CATEGORY>
  25963. <MAINSCRIPT>0</MAINSCRIPT>
  25964. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  25965. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  25966. <AUTHOR></AUTHOR>
  25967. <COMPANY></COMPANY>
  25968. <VERSION></VERSION>
  25969. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  25970. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  25971. </TEMPLATE>
  25972. <TEMPLATE>
  25973. <NAME>CreateTriggerInsert</NAME>
  25974. <ID>5</ID>
  25975. <GUID>{0C678552-8863-46F2-9046-99ACC3E26D0A}</GUID>
  25976. <CAPTION></CAPTION>
  25977. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  25978. <ENABLED>1</ENABLED>
  25979. <LEVEL>2</LEVEL>
  25980. <IDPARENT>0</IDPARENT>
  25981. <VALUE><![CDATA[{lEntChildInsTrig  }
  25982. -- Insert trigger for %tablename%
  25983.  
  25984. Create Trigger %qt%ti_%tablename%%qt% after insert
  25985. on %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  25986.  
  25987. referencing new as new_ins for each row
  25988. declare numrows integer;
  25989. begin
  25990. @forparent("", "", template(TriggerParentInsert), "", "")
  25991. end;
  25992. %term%
  25993. ]]></VALUE>
  25994. <LANGUAGE>0</LANGUAGE>
  25995. <LANGUAGEWIN>---</LANGUAGEWIN>
  25996. <CATEGORY>2</CATEGORY>
  25997. <MAINSCRIPT>0</MAINSCRIPT>
  25998. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  25999. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26000. <AUTHOR></AUTHOR>
  26001. <COMPANY></COMPANY>
  26002. <VERSION></VERSION>
  26003. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26004. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26005. </TEMPLATE>
  26006. <TEMPLATE>
  26007. <NAME>CreateTriggerDelete</NAME>
  26008. <ID>6</ID>
  26009. <GUID>{07D1F791-9C94-4083-B076-E562AFBAD6FC}</GUID>
  26010. <CAPTION></CAPTION>
  26011. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26012. <ENABLED>1</ENABLED>
  26013. <LEVEL>2</LEVEL>
  26014. <IDPARENT>0</IDPARENT>
  26015. <VALUE><![CDATA[{lEntParDelTrig}
  26016. -- Insert trigger for %tablename%
  26017.  
  26018. Create Trigger %qt%td_%tablename%%qt% after delete 
  26019. on %qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  26020.  
  26021. referencing old as old_del for each row
  26022. declare numrows integer;
  26023. begin
  26024. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  26025. end;
  26026. %term%
  26027. ]]></VALUE>
  26028. <LANGUAGE>0</LANGUAGE>
  26029. <LANGUAGEWIN>---</LANGUAGEWIN>
  26030. <CATEGORY>2</CATEGORY>
  26031. <MAINSCRIPT>0</MAINSCRIPT>
  26032. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26033. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26034. <AUTHOR></AUTHOR>
  26035. <COMPANY></COMPANY>
  26036. <VERSION></VERSION>
  26037. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26038. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26039. </TEMPLATE>
  26040. <TEMPLATE>
  26041. <NAME>TriggerParentUpdate</NAME>
  26042. <ID>7</ID>
  26043. <GUID>{E6DF3389-6B0F-4A9B-943D-785260DE9F64}</GUID>
  26044. <CAPTION></CAPTION>
  26045. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26046. <ENABLED>1</ENABLED>
  26047. <LEVEL>2</LEVEL>
  26048. <IDPARENT>0</IDPARENT>
  26049. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  26050. -- cascade child %childtablename% update when parent %parenttablename% changed
  26051. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  26052.     begin
  26053.     update %qt%%childtablename%%qt%
  26054.     set @ForRelPk( tb , tb , "%qt%%PkChildName%%qt% = :new_upd.%qt%%PkParentName%%qt%" , ",%cr%" , "")
  26055.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND %cr%", "") ;
  26056.     end;
  26057. end if;
  26058.  
  26059. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  26060. -- cascade setnull when parent changed
  26061. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  26062.     begin
  26063.     update %qt%%childtablename%%qt%
  26064.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  26065.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  26066.     end;
  26067. end if;
  26068.  
  26069. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  26070. -- cascade setdefault when parent changed
  26071. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  26072.     begin
  26073.     update %qt%%childtablename%%qt%
  26074.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  26075.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  26076.     end;
  26077. end if;
  26078.  
  26079. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  26080. -- Restrict child %childtablename%, when parent %parenttablename% changed
  26081. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  26082.     begin
  26083.     select count( * ) 
  26084.     into numrows
  26085.     from %qt%%childtablename%%qt%
  26086.     where     @forrelpk( "", "", "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  26087.  
  26088.     if ( numrows > 0 ) then
  26089.         begin
  26090.         RAISE_APPLICATION_ERROR(-20001,'Children still exist in child table.');
  26091.         end;
  26092.     end if;
  26093.     end;
  26094. end if;
  26095. ]]></VALUE>
  26096. <LANGUAGE>0</LANGUAGE>
  26097. <LANGUAGEWIN>---</LANGUAGEWIN>
  26098. <CATEGORY>2</CATEGORY>
  26099. <MAINSCRIPT>0</MAINSCRIPT>
  26100. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26101. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26102. <AUTHOR></AUTHOR>
  26103. <COMPANY></COMPANY>
  26104. <VERSION></VERSION>
  26105. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26106. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26107. </TEMPLATE>
  26108. <TEMPLATE>
  26109. <NAME>TriggerChildUpdate</NAME>
  26110. <ID>8</ID>
  26111. <GUID>{26CBE1E3-A9DD-4C68-B264-4DB269B47D72}</GUID>
  26112. <CAPTION></CAPTION>
  26113. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26114. <ENABLED>1</ENABLED>
  26115. <LEVEL>2</LEVEL>
  26116. <IDPARENT>0</IDPARENT>
  26117. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  26118. -- restrict parent %ParentTableName% when child %ChildTableName% updated
  26119. if @forrelpk( "", "", ":new_upd.%qt%%PkChildName%%qt% !=  :old_upd.%qt%%PkChildName%%qt%", " OR "+cr+tb+tb, "" ) then
  26120.     begin
  26121.     select count( * ) 
  26122.     into numrows
  26123.     from %qt%%ParentTableName%%qt%
  26124.     where     @forrelpk( "", "", ":new_upd.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  26125.     if ( numrows = 0 ) then
  26126.         begin
  26127.         RAISE_APPLICATION_ERROR(-20002,'Parent does not exist. Cannot update child.');
  26128.         end;
  26129.     end if;
  26130.     end;
  26131. end if;
  26132. ]]></VALUE>
  26133. <LANGUAGE>0</LANGUAGE>
  26134. <LANGUAGEWIN>---</LANGUAGEWIN>
  26135. <CATEGORY>2</CATEGORY>
  26136. <MAINSCRIPT>0</MAINSCRIPT>
  26137. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26138. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26139. <AUTHOR></AUTHOR>
  26140. <COMPANY></COMPANY>
  26141. <VERSION></VERSION>
  26142. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26143. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26144. </TEMPLATE>
  26145. <TEMPLATE>
  26146. <NAME>TriggerParentDelete</NAME>
  26147. <ID>9</ID>
  26148. <GUID>{EA007C74-A8BB-4114-BA79-F5E24D1F6CFC}</GUID>
  26149. <CAPTION></CAPTION>
  26150. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26151. <ENABLED>1</ENABLED>
  26152. <LEVEL>2</LEVEL>
  26153. <IDPARENT>0</IDPARENT>
  26154. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  26155. -- cascade child %childtablename% delete when parent %parenttablename% deleted
  26156.  
  26157.     delete from %qt%%childtablename%%qt%
  26158.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND %cr%", "");
  26159.  
  26160.  
  26161. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  26162. -- cascade setnull when parent deleted
  26163.  
  26164.     update %qt%%childtablename%%qt%
  26165.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = NULL" , ",%cr%" , "")
  26166.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  26167.  
  26168.  
  26169. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  26170. -- cascade setdefault when parent deleted
  26171.  
  26172.     update %qt%%childtablename%%qt%
  26173.     set @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  26174.     where @ForRelPk( tb , tb+tb , "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  26175.  
  26176.  
  26177.  
  26178. {ParDelRestrict and (not lParDelRestDekl)} 
  26179. -- Restrict child %childtablename%, when parent %parenttablename% deleted
  26180.  
  26181.     select count( * ) 
  26182.     into numrows
  26183.     from %qt%%childtablename%%qt%
  26184.     where     @forrelpk( "", "", "%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% =  :old_del.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  26185.     
  26186.     IF ( numrows > 0 ) then
  26187.         begin
  26188.         RAISE_APPLICATION_ERROR(-20003,'Children still exist in child table. Cannot delete parent');
  26189.         end;
  26190.     end if;
  26191. ]]></VALUE>
  26192. <LANGUAGE>0</LANGUAGE>
  26193. <LANGUAGEWIN>---</LANGUAGEWIN>
  26194. <CATEGORY>2</CATEGORY>
  26195. <MAINSCRIPT>0</MAINSCRIPT>
  26196. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26197. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26198. <AUTHOR></AUTHOR>
  26199. <COMPANY></COMPANY>
  26200. <VERSION></VERSION>
  26201. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26202. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26203. </TEMPLATE>
  26204. <TEMPLATE>
  26205. <NAME>TriggerParentInsert</NAME>
  26206. <ID>10</ID>
  26207. <GUID>{46BC0B36-8ECD-4F69-8651-4D9D5040D88C}</GUID>
  26208. <CAPTION></CAPTION>
  26209. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26210. <ENABLED>1</ENABLED>
  26211. <LEVEL>2</LEVEL>
  26212. <IDPARENT>0</IDPARENT>
  26213. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  26214. -- restrict child %childtablename% when parent %parenttablename% insert
  26215.  
  26216. if @forrelpk( "(", tb, ":new_ins.%qt%%pkchildname%%qt% is not null", " AND %cr%", ")" ) then
  26217.      begin
  26218.     select count( * ) 
  26219.     into numrows
  26220.     from %qt%%ParentTableName%%qt%
  26221.     where     @forrelpk( "", "", ":new_ins.%qt%%PkChildName%%qt% = %qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  26222.     
  26223.     IF ( numrows = 0 ) then
  26224.         begin
  26225.         RAISE_APPLICATION_ERROR(-20004,'Parent does not exist. Cannot insert child.');
  26226.         end;
  26227.     end if;
  26228.     end;
  26229. end if;
  26230. ]]></VALUE>
  26231. <LANGUAGE>0</LANGUAGE>
  26232. <LANGUAGEWIN>---</LANGUAGEWIN>
  26233. <CATEGORY>2</CATEGORY>
  26234. <MAINSCRIPT>0</MAINSCRIPT>
  26235. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26236. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26237. <AUTHOR></AUTHOR>
  26238. <COMPANY></COMPANY>
  26239. <VERSION></VERSION>
  26240. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26241. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26242. </TEMPLATE>
  26243. <TEMPLATE>
  26244. <NAME>RefIntegrity</NAME>
  26245. <ID>11</ID>
  26246. <GUID>{CA5BC73A-A488-40EE-8316-68C089EC61A2}</GUID>
  26247. <CAPTION></CAPTION>
  26248. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26249. <ENABLED>1</ENABLED>
  26250. <LEVEL>2</LEVEL>
  26251. <IDPARENT>0</IDPARENT>
  26252. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  26253. Alter table %qt%%childtablename%%qt% add @if(lFkAsConstraint and  (not empty(fRelName)),"Constraint %qt%%frelname%%qt%","") foreign key (@ForRelPk("","",qt+PkChildName+qt,",","")) references %qt%%parenttablename%%qt% (@ForRelPk("","",qt+PkParentName+qt,",","")) @macro(RefIntegrity2)%cr%%term%
  26254. ]]></VALUE>
  26255. <LANGUAGE>0</LANGUAGE>
  26256. <LANGUAGEWIN>---</LANGUAGEWIN>
  26257. <CATEGORY>2</CATEGORY>
  26258. <MAINSCRIPT>0</MAINSCRIPT>
  26259. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26260. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26261. <AUTHOR></AUTHOR>
  26262. <COMPANY></COMPANY>
  26263. <VERSION></VERSION>
  26264. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26265. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26266. </TEMPLATE>
  26267. <TEMPLATE>
  26268. <NAME>RefIntegrity2</NAME>
  26269. <ID>12</ID>
  26270. <GUID>{D55E35CF-7B18-4B90-A1B2-0ADAED5F3082}</GUID>
  26271. <CAPTION></CAPTION>
  26272. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26273. <ENABLED>1</ENABLED>
  26274. <LEVEL>2</LEVEL>
  26275. <IDPARENT>0</IDPARENT>
  26276. <VALUE><![CDATA[if(lRelParDelCascDekl , " on delete cascade" , "")+
  26277. if(lRefIntDeferrable," DEFERRABLE","")+if(lRefIntDeferred," INITIALLY DEFERRED","")
  26278. ]]></VALUE>
  26279. <LANGUAGE>0</LANGUAGE>
  26280. <LANGUAGEWIN>---</LANGUAGEWIN>
  26281. <CATEGORY>2</CATEGORY>
  26282. <MAINSCRIPT>0</MAINSCRIPT>
  26283. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26284. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26285. <AUTHOR></AUTHOR>
  26286. <COMPANY></COMPANY>
  26287. <VERSION></VERSION>
  26288. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26289. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26290. </TEMPLATE>
  26291. <TEMPLATE>
  26292. <NAME>DropIndexs</NAME>
  26293. <ID>13</ID>
  26294. <GUID>{BFC53543-8087-46AD-937B-5BDB34F123CB}</GUID>
  26295. <CAPTION></CAPTION>
  26296. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26297. <ENABLED>1</ENABLED>
  26298. <LEVEL>2</LEVEL>
  26299. <IDPARENT>0</IDPARENT>
  26300. <VALUE><![CDATA[@ForTableR("","",forindex("", "", "Drop index %qt%%indexname%%qt%%cr%%term%%cr%", "", "" ),"","")
  26301. ]]></VALUE>
  26302. <LANGUAGE>0</LANGUAGE>
  26303. <LANGUAGEWIN>---</LANGUAGEWIN>
  26304. <CATEGORY>2</CATEGORY>
  26305. <MAINSCRIPT>0</MAINSCRIPT>
  26306. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26307. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26308. <AUTHOR></AUTHOR>
  26309. <COMPANY></COMPANY>
  26310. <VERSION></VERSION>
  26311. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26312. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26313. </TEMPLATE>
  26314. <TEMPLATE>
  26315. <NAME>DropTables</NAME>
  26316. <ID>14</ID>
  26317. <GUID>{9B1AE9BE-E688-49BB-A023-8A35CF465C68}</GUID>
  26318. <CAPTION></CAPTION>
  26319. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26320. <ENABLED>1</ENABLED>
  26321. <LEVEL>2</LEVEL>
  26322. <IDPARENT>0</IDPARENT>
  26323. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table %qt%%tablename%%qt%%cr%%term%%cr%", "", "" )
  26324. ]]></VALUE>
  26325. <LANGUAGE>0</LANGUAGE>
  26326. <LANGUAGEWIN>---</LANGUAGEWIN>
  26327. <CATEGORY>2</CATEGORY>
  26328. <MAINSCRIPT>0</MAINSCRIPT>
  26329. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26330. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26331. <AUTHOR></AUTHOR>
  26332. <COMPANY></COMPANY>
  26333. <VERSION></VERSION>
  26334. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  26335. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26336. </TEMPLATE>
  26337. <TEMPLATE>
  26338. <NAME>DropTriggerUpdate</NAME>
  26339. <ID>15</ID>
  26340. <GUID>{746D1F1D-832A-4F23-B56B-60DAC944F7B3}</GUID>
  26341. <CAPTION></CAPTION>
  26342. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26343. <ENABLED>1</ENABLED>
  26344. <LEVEL>2</LEVEL>
  26345. <IDPARENT>0</IDPARENT>
  26346. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  26347. Drop trigger %qt%tu_%tablename%%qt%%cr%%term%
  26348. ]]></VALUE>
  26349. <LANGUAGE>0</LANGUAGE>
  26350. <LANGUAGEWIN>---</LANGUAGEWIN>
  26351. <CATEGORY>2</CATEGORY>
  26352. <MAINSCRIPT>0</MAINSCRIPT>
  26353. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26354. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26355. <AUTHOR></AUTHOR>
  26356. <COMPANY></COMPANY>
  26357. <VERSION></VERSION>
  26358. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26359. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26360. </TEMPLATE>
  26361. <TEMPLATE>
  26362. <NAME>DropTriggerDelete</NAME>
  26363. <ID>16</ID>
  26364. <GUID>{E4B144D1-CD1C-4F82-A95E-3D6EFA246DA8}</GUID>
  26365. <CAPTION></CAPTION>
  26366. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26367. <ENABLED>1</ENABLED>
  26368. <LEVEL>2</LEVEL>
  26369. <IDPARENT>0</IDPARENT>
  26370. <VALUE><![CDATA[{lEntParDelTrig}
  26371. Drop trigger %qt%td_%tablename%%qt%%cr%%term%
  26372. ]]></VALUE>
  26373. <LANGUAGE>0</LANGUAGE>
  26374. <LANGUAGEWIN>---</LANGUAGEWIN>
  26375. <CATEGORY>2</CATEGORY>
  26376. <MAINSCRIPT>0</MAINSCRIPT>
  26377. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26378. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26379. <AUTHOR></AUTHOR>
  26380. <COMPANY></COMPANY>
  26381. <VERSION></VERSION>
  26382. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26383. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26384. </TEMPLATE>
  26385. <TEMPLATE>
  26386. <NAME>DropTriggerInsert</NAME>
  26387. <ID>17</ID>
  26388. <GUID>{0CC65358-B645-4E63-AE1D-46F801093ECD}</GUID>
  26389. <CAPTION></CAPTION>
  26390. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26391. <ENABLED>1</ENABLED>
  26392. <LEVEL>2</LEVEL>
  26393. <IDPARENT>0</IDPARENT>
  26394. <VALUE><![CDATA[{lEntChildInsTrig  }
  26395. Drop trigger %qt%ti_%tablename%%qt%%cr%%term%
  26396. ]]></VALUE>
  26397. <LANGUAGE>0</LANGUAGE>
  26398. <LANGUAGEWIN>---</LANGUAGEWIN>
  26399. <CATEGORY>2</CATEGORY>
  26400. <MAINSCRIPT>0</MAINSCRIPT>
  26401. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26402. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26403. <AUTHOR></AUTHOR>
  26404. <COMPANY></COMPANY>
  26405. <VERSION></VERSION>
  26406. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26407. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26408. </TEMPLATE>
  26409. <TEMPLATE>
  26410. <NAME>CreateAlterKey</NAME>
  26411. <ID>18</ID>
  26412. <GUID>{D719A6C1-7B08-484C-B53C-1FB9757DB91D}</GUID>
  26413. <CAPTION></CAPTION>
  26414. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26415. <ENABLED>1</ENABLED>
  26416. <LEVEL>2</LEVEL>
  26417. <IDPARENT>0</IDPARENT>
  26418. <VALUE><![CDATA[@ForAlterKey("","","Alter table %qt%%tablename%%qt% add constraint %qt%%AlterKeyConstraintName%%qt% unique ("+ForAlterKeyCol("","",qt+ColName+qt,",","")+")"+cr+tb+if(lUniqueAkDeferrable,"DEFERRABLE ","")+if(lUniqueAkDeferred,"INITIALLY DEFERRED ","")+if(not Empty(UniqueAkTablespace),"USING INDEX TABLESPACE "+qt+UniqueAkTablespace+qt+cr,"")+term+cr,"","")
  26419. ]]></VALUE>
  26420. <LANGUAGE>0</LANGUAGE>
  26421. <LANGUAGEWIN>---</LANGUAGEWIN>
  26422. <CATEGORY>2</CATEGORY>
  26423. <MAINSCRIPT>0</MAINSCRIPT>
  26424. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26425. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26426. <AUTHOR></AUTHOR>
  26427. <COMPANY></COMPANY>
  26428. <VERSION></VERSION>
  26429. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26430. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26431. </TEMPLATE>
  26432. <TEMPLATE>
  26433. <NAME>DropRefIntegrity</NAME>
  26434. <ID>19</ID>
  26435. <GUID>{38B646C1-02AE-4D91-AA9A-D733EA482470}</GUID>
  26436. <CAPTION></CAPTION>
  26437. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26438. <ENABLED>1</ENABLED>
  26439. <LEVEL>2</LEVEL>
  26440. <IDPARENT>0</IDPARENT>
  26441. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  26442. Alter table %qt%%childtablename%%qt% drop constraint %qt%%frelname%%qt%%cr%%term%
  26443. ]]></VALUE>
  26444. <LANGUAGE>0</LANGUAGE>
  26445. <LANGUAGEWIN>---</LANGUAGEWIN>
  26446. <CATEGORY>2</CATEGORY>
  26447. <MAINSCRIPT>0</MAINSCRIPT>
  26448. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26449. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26450. <AUTHOR></AUTHOR>
  26451. <COMPANY></COMPANY>
  26452. <VERSION></VERSION>
  26453. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26454. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26455. </TEMPLATE>
  26456. <TEMPLATE>
  26457. <NAME>CreateTableComments</NAME>
  26458. <ID>20</ID>
  26459. <GUID>{913B12BC-0B7F-4EFB-8DE2-27C7311450F8}</GUID>
  26460. <CAPTION></CAPTION>
  26461. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26462. <ENABLED>1</ENABLED>
  26463. <LEVEL>2</LEVEL>
  26464. <IDPARENT>0</IDPARENT>
  26465. <VALUE><![CDATA[function Main()
  26466. {
  26467. var e, Entity;
  26468. var re = /'/g;
  26469. var qt = Model.GetUserVariable('qt');
  26470.  
  26471. TextStream.Clear();
  26472.  
  26473. for (e=0; e<Model.CountEntities; e++)
  26474.     {
  26475.     Entity = Model.Entities(e);
  26476.  
  26477.     if ( Entity.Generate && Entity.Description != '' )
  26478.        TextStream.Writeln( 'Comment on table '+qt+Entity.TableName+qt+" is '"+Entity.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  26479.     };    
  26480.  
  26481. return( TextStream.Text );
  26482. };
  26483. ]]></VALUE>
  26484. <LANGUAGE>1</LANGUAGE>
  26485. <LANGUAGEWIN>---</LANGUAGEWIN>
  26486. <CATEGORY>2</CATEGORY>
  26487. <MAINSCRIPT>0</MAINSCRIPT>
  26488. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26489. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26490. <AUTHOR></AUTHOR>
  26491. <COMPANY></COMPANY>
  26492. <VERSION></VERSION>
  26493. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26494. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26495. </TEMPLATE>
  26496. <TEMPLATE>
  26497. <NAME>CreateAttrComments</NAME>
  26498. <ID>21</ID>
  26499. <GUID>{B0BA6DED-852F-4AC4-BD6F-DB401FA97957}</GUID>
  26500. <CAPTION></CAPTION>
  26501. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26502. <ENABLED>1</ENABLED>
  26503. <LEVEL>2</LEVEL>
  26504. <IDPARENT>0</IDPARENT>
  26505. <VALUE><![CDATA[function Main()
  26506. {
  26507. var e, a;
  26508. var Entity, Attribute;
  26509. var re = /'/g;
  26510. var qt = Model.GetUserVariable('qt');
  26511.  
  26512. TextStream.Clear();
  26513.  
  26514. for (e=0; e<Model.CountEntities; e++)
  26515.     {
  26516.     Entity = Model.Entities(e);
  26517.  
  26518.     if ( Entity.Generate )
  26519.         for (a=0; a<Entity.CountAttributes; a++)
  26520.             {
  26521.             Attribute = Entity.Attributes(a);
  26522.             if (Attribute.Description != '')
  26523.                 TextStream.Writeln( 'Comment on column '+qt+Entity.TableName+qt+'.'+
  26524.                                      qt+Attribute.ColName+qt +" is '"+Attribute.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  26525.             };
  26526.     };    
  26527.  
  26528. return( TextStream.Text );
  26529. };
  26530. ]]></VALUE>
  26531. <LANGUAGE>1</LANGUAGE>
  26532. <LANGUAGEWIN>---</LANGUAGEWIN>
  26533. <CATEGORY>2</CATEGORY>
  26534. <MAINSCRIPT>0</MAINSCRIPT>
  26535. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26536. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26537. <AUTHOR></AUTHOR>
  26538. <COMPANY></COMPANY>
  26539. <VERSION></VERSION>
  26540. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26541. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26542. </TEMPLATE>
  26543. <TEMPLATE>
  26544. <NAME>CreatePKs</NAME>
  26545. <ID>22</ID>
  26546. <GUID>{1AF74B12-038E-4C0A-BE5D-763C8AFB0373}</GUID>
  26547. <CAPTION></CAPTION>
  26548. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26549. <ENABLED>1</ENABLED>
  26550. <LEVEL>2</LEVEL>
  26551. <IDPARENT>0</IDPARENT>
  26552. <VALUE><![CDATA[@ForTable("", "", if(ExistPk,macro(createPK),""), "", "" )
  26553. ]]></VALUE>
  26554. <LANGUAGE>0</LANGUAGE>
  26555. <LANGUAGEWIN>---</LANGUAGEWIN>
  26556. <CATEGORY>2</CATEGORY>
  26557. <MAINSCRIPT>0</MAINSCRIPT>
  26558. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26559. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26560. <AUTHOR></AUTHOR>
  26561. <COMPANY></COMPANY>
  26562. <VERSION></VERSION>
  26563. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26564. <MODIFIED><DATE>7/23/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26565. </TEMPLATE>
  26566. <TEMPLATE>
  26567. <NAME>CreatePK</NAME>
  26568. <ID>23</ID>
  26569. <GUID>{951CE55A-1207-48E1-BD26-9E3EB1259EC3}</GUID>
  26570. <CAPTION></CAPTION>
  26571. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26572. <ENABLED>1</ENABLED>
  26573. <LEVEL>2</LEVEL>
  26574. <IDPARENT>0</IDPARENT>
  26575. <VALUE><![CDATA["Alter table "+qt+TableName+qt+" add "+
  26576. if(lPkAsConstraint and (not Empty(ConstraintPkName))," constraint %qt%%ConstraintPkName%%qt% ","")+
  26577. "primary key ("+forpkcol("", "", qt+ColName+qt, ",", ") "+
  26578. if(lPkDeferrable,"DEFERRABLE ","")+if(lPkDeferred,"INITIALLY DEFERRED ","")+cr+
  26579. if(not Empty(PkTablespace),tb+"USING INDEX TABLESPACE "+qt+PkTablespace+qt+cr,"")+term+cr)
  26580. ]]></VALUE>
  26581. <LANGUAGE>0</LANGUAGE>
  26582. <LANGUAGEWIN>---</LANGUAGEWIN>
  26583. <CATEGORY>2</CATEGORY>
  26584. <MAINSCRIPT>0</MAINSCRIPT>
  26585. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26586. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26587. <AUTHOR></AUTHOR>
  26588. <COMPANY></COMPANY>
  26589. <VERSION></VERSION>
  26590. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  26591. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26592. </TEMPLATE>
  26593. <TEMPLATE>
  26594. <NAME>DropProcedures</NAME>
  26595. <ID>24</ID>
  26596. <GUID>{8D546E8F-7859-42A6-B2B3-4F604ACA247B}</GUID>
  26597. <CAPTION></CAPTION>
  26598. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26599. <ENABLED>1</ENABLED>
  26600. <LEVEL>2</LEVEL>
  26601. <IDPARENT>0</IDPARENT>
  26602. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure %qt%%ProcedureName%%qt%%cr%%term%%cr%","","")
  26603. ]]></VALUE>
  26604. <LANGUAGE>0</LANGUAGE>
  26605. <LANGUAGEWIN>---</LANGUAGEWIN>
  26606. <CATEGORY>2</CATEGORY>
  26607. <MAINSCRIPT>0</MAINSCRIPT>
  26608. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26609. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26610. <AUTHOR></AUTHOR>
  26611. <COMPANY></COMPANY>
  26612. <VERSION></VERSION>
  26613. <CREATED><DATE>7/23/2002</DATE><TIME>17:54:51</TIME></CREATED>
  26614. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26615. </TEMPLATE>
  26616. <TEMPLATE>
  26617. <NAME>CreateRole</NAME>
  26618. <ID>25</ID>
  26619. <GUID>{C065EABC-9D0A-484A-9A9F-9B4FAAC5DC9A}</GUID>
  26620. <CAPTION></CAPTION>
  26621. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26622. <ENABLED>1</ENABLED>
  26623. <LEVEL>2</LEVEL>
  26624. <IDPARENT>0</IDPARENT>
  26625. <VALUE><![CDATA[@ForRole("","",if(lRole,"Create role %qt%%RoleName%%qt%%cr%%term%%cr%",""),"","")
  26626. ]]></VALUE>
  26627. <LANGUAGE>0</LANGUAGE>
  26628. <LANGUAGEWIN>---</LANGUAGEWIN>
  26629. <CATEGORY>2</CATEGORY>
  26630. <MAINSCRIPT>0</MAINSCRIPT>
  26631. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26632. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26633. <AUTHOR></AUTHOR>
  26634. <COMPANY></COMPANY>
  26635. <VERSION></VERSION>
  26636. <CREATED><DATE>7/23/2002</DATE><TIME>17:56:26</TIME></CREATED>
  26637. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26638. </TEMPLATE>
  26639. <TEMPLATE>
  26640. <NAME>GrantUserToRole</NAME>
  26641. <ID>26</ID>
  26642. <GUID>{1316BE07-3C21-4EB6-8EE4-FCE1A9B32793}</GUID>
  26643. <CAPTION></CAPTION>
  26644. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26645. <ENABLED>1</ENABLED>
  26646. <LEVEL>2</LEVEL>
  26647. <IDPARENT>0</IDPARENT>
  26648. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("Grant %qt%%rolename%%qt% to %qt%%username%%qt%%cr%%term%%cr%"),"",""),"","")
  26649. ]]></VALUE>
  26650. <LANGUAGE>0</LANGUAGE>
  26651. <LANGUAGEWIN>---</LANGUAGEWIN>
  26652. <CATEGORY>2</CATEGORY>
  26653. <MAINSCRIPT>0</MAINSCRIPT>
  26654. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26655. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26656. <AUTHOR></AUTHOR>
  26657. <COMPANY></COMPANY>
  26658. <VERSION></VERSION>
  26659. <CREATED><DATE>7/23/2002</DATE><TIME>17:56:55</TIME></CREATED>
  26660. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26661. </TEMPLATE>
  26662. <TEMPLATE>
  26663. <NAME>CreateTablePermiss</NAME>
  26664. <ID>27</ID>
  26665. <GUID>{B5B0E0CD-7354-46B1-9E26-C2BA9D21CEC1}</GUID>
  26666. <CAPTION></CAPTION>
  26667. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26668. <ENABLED>1</ENABLED>
  26669. <LEVEL>2</LEVEL>
  26670. <IDPARENT>0</IDPARENT>
  26671. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26672. if(lPermissUpdate,"Grant update on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26673. if(lPermissDelete,"Grant delete on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26674. if(lPermissInsert,"Grant insert on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26675. if(lPermissDRI,"Grant references on %qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  26676. ]]></VALUE>
  26677. <LANGUAGE>0</LANGUAGE>
  26678. <LANGUAGEWIN>---</LANGUAGEWIN>
  26679. <CATEGORY>2</CATEGORY>
  26680. <MAINSCRIPT>0</MAINSCRIPT>
  26681. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26682. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26683. <AUTHOR></AUTHOR>
  26684. <COMPANY></COMPANY>
  26685. <VERSION></VERSION>
  26686. <CREATED><DATE>7/23/2002</DATE><TIME>17:57:24</TIME></CREATED>
  26687. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26688. </TEMPLATE>
  26689. <TEMPLATE>
  26690. <NAME>CreateViewPermiss</NAME>
  26691. <ID>28</ID>
  26692. <GUID>{79E291E1-B847-47F0-B649-86A443D1C30F}</GUID>
  26693. <CAPTION></CAPTION>
  26694. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26695. <ENABLED>1</ENABLED>
  26696. <LEVEL>2</LEVEL>
  26697. <IDPARENT>0</IDPARENT>
  26698. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26699. if(lPermissUpdate,"Grant update on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26700. if(lPermissDelete,"Grant delete on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  26701. if(lPermissInsert,"Grant insert on %qt%%ViewName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  26702. ]]></VALUE>
  26703. <LANGUAGE>0</LANGUAGE>
  26704. <LANGUAGEWIN>---</LANGUAGEWIN>
  26705. <CATEGORY>2</CATEGORY>
  26706. <MAINSCRIPT>0</MAINSCRIPT>
  26707. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26708. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26709. <AUTHOR></AUTHOR>
  26710. <COMPANY></COMPANY>
  26711. <VERSION></VERSION>
  26712. <CREATED><DATE>7/23/2002</DATE><TIME>17:58:19</TIME></CREATED>
  26713. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26714. </TEMPLATE>
  26715. <TEMPLATE>
  26716. <NAME>CreateProcedurePermiss</NAME>
  26717. <ID>29</ID>
  26718. <GUID>{631B5194-0A87-4CF6-AAEA-EF1744C3E465}</GUID>
  26719. <CAPTION></CAPTION>
  26720. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26721. <ENABLED>1</ENABLED>
  26722. <LEVEL>2</LEVEL>
  26723. <IDPARENT>0</IDPARENT>
  26724. <VALUE><![CDATA[if(lPermissExec,"Grant execute on %qt%%ProcedureName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  26725. ]]></VALUE>
  26726. <LANGUAGE>0</LANGUAGE>
  26727. <LANGUAGEWIN>---</LANGUAGEWIN>
  26728. <CATEGORY>2</CATEGORY>
  26729. <MAINSCRIPT>0</MAINSCRIPT>
  26730. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26731. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26732. <AUTHOR></AUTHOR>
  26733. <COMPANY></COMPANY>
  26734. <VERSION></VERSION>
  26735. <CREATED><DATE>7/23/2002</DATE><TIME>17:58:44</TIME></CREATED>
  26736. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26737. </TEMPLATE>
  26738. <TEMPLATE>
  26739. <NAME>CreatePackages</NAME>
  26740. <ID>30</ID>
  26741. <GUID>{FF2B6537-EF86-4B3C-AC36-9FDBDFEFBDF3}</GUID>
  26742. <CAPTION></CAPTION>
  26743. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26744. <ENABLED>1</ENABLED>
  26745. <LEVEL>2</LEVEL>
  26746. <IDPARENT>0</IDPARENT>
  26747. <VALUE><![CDATA[@ForTextObject(20, "", "", TextObject , cr, "")
  26748. ]]></VALUE>
  26749. <LANGUAGE>0</LANGUAGE>
  26750. <LANGUAGEWIN>---</LANGUAGEWIN>
  26751. <CATEGORY>2</CATEGORY>
  26752. <MAINSCRIPT>0</MAINSCRIPT>
  26753. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26754. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26755. <AUTHOR></AUTHOR>
  26756. <COMPANY></COMPANY>
  26757. <VERSION></VERSION>
  26758. <CREATED><DATE>7/24/2002</DATE><TIME>13:25:18</TIME></CREATED>
  26759. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26760. </TEMPLATE>
  26761. <TEMPLATE>
  26762. <NAME>CreatePackageBodies</NAME>
  26763. <ID>31</ID>
  26764. <GUID>{BBB5A656-EF90-4938-92E3-36285E24EA24}</GUID>
  26765. <CAPTION></CAPTION>
  26766. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26767. <ENABLED>1</ENABLED>
  26768. <LEVEL>2</LEVEL>
  26769. <IDPARENT>0</IDPARENT>
  26770. <VALUE><![CDATA[@ForTextObject(21, "", "", TextObject , cr, "")
  26771. ]]></VALUE>
  26772. <LANGUAGE>0</LANGUAGE>
  26773. <LANGUAGEWIN>---</LANGUAGEWIN>
  26774. <CATEGORY>2</CATEGORY>
  26775. <MAINSCRIPT>0</MAINSCRIPT>
  26776. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26777. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26778. <AUTHOR></AUTHOR>
  26779. <COMPANY></COMPANY>
  26780. <VERSION></VERSION>
  26781. <CREATED><DATE>7/24/2002</DATE><TIME>13:30:51</TIME></CREATED>
  26782. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26783. </TEMPLATE>
  26784. <TEMPLATE>
  26785. <NAME>DropPackages</NAME>
  26786. <ID>32</ID>
  26787. <GUID>{AA33A547-E76A-4128-95F1-6F2CE8631A53}</GUID>
  26788. <CAPTION></CAPTION>
  26789. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26790. <ENABLED>1</ENABLED>
  26791. <LEVEL>2</LEVEL>
  26792. <IDPARENT>0</IDPARENT>
  26793. <VALUE><![CDATA[@ForTextObject(20, "", "","DROP PACKAGE "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  26794. ]]></VALUE>
  26795. <LANGUAGE>0</LANGUAGE>
  26796. <LANGUAGEWIN>---</LANGUAGEWIN>
  26797. <CATEGORY>2</CATEGORY>
  26798. <MAINSCRIPT>0</MAINSCRIPT>
  26799. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26800. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26801. <AUTHOR></AUTHOR>
  26802. <COMPANY></COMPANY>
  26803. <VERSION></VERSION>
  26804. <CREATED><DATE>7/24/2002</DATE><TIME>13:31:24</TIME></CREATED>
  26805. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26806. </TEMPLATE>
  26807. <TEMPLATE>
  26808. <NAME>DropPackageBodies</NAME>
  26809. <ID>33</ID>
  26810. <GUID>{D08F4481-CBF2-4103-981D-4796A93474FA}</GUID>
  26811. <CAPTION></CAPTION>
  26812. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26813. <ENABLED>1</ENABLED>
  26814. <LEVEL>2</LEVEL>
  26815. <IDPARENT>0</IDPARENT>
  26816. <VALUE><![CDATA[@ForTextObject(21, "", "","DROP PACKAGE BODY "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  26817. ]]></VALUE>
  26818. <LANGUAGE>0</LANGUAGE>
  26819. <LANGUAGEWIN>---</LANGUAGEWIN>
  26820. <CATEGORY>2</CATEGORY>
  26821. <MAINSCRIPT>0</MAINSCRIPT>
  26822. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26823. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26824. <AUTHOR></AUTHOR>
  26825. <COMPANY></COMPANY>
  26826. <VERSION></VERSION>
  26827. <CREATED><DATE>7/24/2002</DATE><TIME>13:33:20</TIME></CREATED>
  26828. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26829. </TEMPLATE>
  26830. <TEMPLATE>
  26831. <NAME>SetQuotes</NAME>
  26832. <ID>34</ID>
  26833. <GUID>{761FD5B2-AAF4-4307-9FD6-173F9919B853}</GUID>
  26834. <CAPTION></CAPTION>
  26835. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26836. <ENABLED>1</ENABLED>
  26837. <LEVEL>2</LEVEL>
  26838. <IDPARENT>0</IDPARENT>
  26839. <VALUE><![CDATA[function Main()
  26840. {
  26841.     if ( UserVarToBool( Model.lQuotations ) )
  26842.         Model.SetUserVariable( 'qt','"' )
  26843.     else
  26844.         Model.SetUserVariable( 'qt','' ); 
  26845. }
  26846. ]]></VALUE>
  26847. <LANGUAGE>1</LANGUAGE>
  26848. <LANGUAGEWIN>---</LANGUAGEWIN>
  26849. <CATEGORY>2</CATEGORY>
  26850. <MAINSCRIPT>0</MAINSCRIPT>
  26851. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26852. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26853. <AUTHOR></AUTHOR>
  26854. <COMPANY></COMPANY>
  26855. <VERSION></VERSION>
  26856. <CREATED><DATE>7/24/2002</DATE><TIME>13:36:03</TIME></CREATED>
  26857. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26858. </TEMPLATE>
  26859. <TEMPLATE>
  26860. <NAME>CreateFunctions</NAME>
  26861. <ID>35</ID>
  26862. <GUID>{B505D328-6729-4656-ADF3-B240B151CAC0}</GUID>
  26863. <CAPTION></CAPTION>
  26864. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26865. <ENABLED>1</ENABLED>
  26866. <LEVEL>2</LEVEL>
  26867. <IDPARENT>0</IDPARENT>
  26868. <VALUE><![CDATA[@ForTextObject(10, "", "", TextObject , cr, "")
  26869. ]]></VALUE>
  26870. <LANGUAGE>0</LANGUAGE>
  26871. <LANGUAGEWIN>---</LANGUAGEWIN>
  26872. <CATEGORY>2</CATEGORY>
  26873. <MAINSCRIPT>0</MAINSCRIPT>
  26874. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26875. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26876. <AUTHOR></AUTHOR>
  26877. <COMPANY></COMPANY>
  26878. <VERSION></VERSION>
  26879. <CREATED><DATE>7/24/2002</DATE><TIME>13:38:55</TIME></CREATED>
  26880. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26881. </TEMPLATE>
  26882. <TEMPLATE>
  26883. <NAME>DropFunctions</NAME>
  26884. <ID>36</ID>
  26885. <GUID>{2E8E79BD-A616-496E-8A51-A3AC9DB63819}</GUID>
  26886. <CAPTION></CAPTION>
  26887. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26888. <ENABLED>1</ENABLED>
  26889. <LEVEL>2</LEVEL>
  26890. <IDPARENT>0</IDPARENT>
  26891. <VALUE><![CDATA[@ForTextObject(10, "", "","DROP FUNCTION "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  26892. ]]></VALUE>
  26893. <LANGUAGE>0</LANGUAGE>
  26894. <LANGUAGEWIN>---</LANGUAGEWIN>
  26895. <CATEGORY>2</CATEGORY>
  26896. <MAINSCRIPT>0</MAINSCRIPT>
  26897. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26898. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26899. <AUTHOR></AUTHOR>
  26900. <COMPANY></COMPANY>
  26901. <VERSION></VERSION>
  26902. <CREATED><DATE>7/24/2002</DATE><TIME>13:39:18</TIME></CREATED>
  26903. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26904. </TEMPLATE>
  26905. <TEMPLATE>
  26906. <NAME>CreateSequences</NAME>
  26907. <ID>37</ID>
  26908. <GUID>{1505C595-0B24-4182-9ED9-B1DBB0FA6FF4}</GUID>
  26909. <CAPTION></CAPTION>
  26910. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26911. <ENABLED>1</ENABLED>
  26912. <LEVEL>2</LEVEL>
  26913. <IDPARENT>0</IDPARENT>
  26914. <VALUE><![CDATA[@ForTextObject(40, "", "", TextObject , cr, "")
  26915. ]]></VALUE>
  26916. <LANGUAGE>0</LANGUAGE>
  26917. <LANGUAGEWIN>---</LANGUAGEWIN>
  26918. <CATEGORY>2</CATEGORY>
  26919. <MAINSCRIPT>0</MAINSCRIPT>
  26920. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26921. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26922. <AUTHOR></AUTHOR>
  26923. <COMPANY></COMPANY>
  26924. <VERSION></VERSION>
  26925. <CREATED><DATE>7/24/2002</DATE><TIME>15:39:18</TIME></CREATED>
  26926. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26927. </TEMPLATE>
  26928. <TEMPLATE>
  26929. <NAME>DropSequences</NAME>
  26930. <ID>38</ID>
  26931. <GUID>{60C66C92-13F8-45A2-A6DE-915C4791299C}</GUID>
  26932. <CAPTION></CAPTION>
  26933. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26934. <ENABLED>1</ENABLED>
  26935. <LEVEL>2</LEVEL>
  26936. <IDPARENT>0</IDPARENT>
  26937. <VALUE><![CDATA[@ForTextObject(40, "", "","DROP SEQUENCE "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  26938. ]]></VALUE>
  26939. <LANGUAGE>0</LANGUAGE>
  26940. <LANGUAGEWIN>---</LANGUAGEWIN>
  26941. <CATEGORY>2</CATEGORY>
  26942. <MAINSCRIPT>0</MAINSCRIPT>
  26943. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26944. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26945. <AUTHOR></AUTHOR>
  26946. <COMPANY></COMPANY>
  26947. <VERSION></VERSION>
  26948. <CREATED><DATE>7/24/2002</DATE><TIME>15:39:57</TIME></CREATED>
  26949. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26950. </TEMPLATE>
  26951. <TEMPLATE>
  26952. <NAME>CreateSynonyms</NAME>
  26953. <ID>39</ID>
  26954. <GUID>{8E990415-C0A5-49BD-8A72-4FD6B5F86BFD}</GUID>
  26955. <CAPTION></CAPTION>
  26956. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26957. <ENABLED>1</ENABLED>
  26958. <LEVEL>2</LEVEL>
  26959. <IDPARENT>0</IDPARENT>
  26960. <VALUE><![CDATA[@ForTextObject(50, "", "", TextObject , cr, "")
  26961. ]]></VALUE>
  26962. <LANGUAGE>0</LANGUAGE>
  26963. <LANGUAGEWIN>---</LANGUAGEWIN>
  26964. <CATEGORY>2</CATEGORY>
  26965. <MAINSCRIPT>0</MAINSCRIPT>
  26966. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26967. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26968. <AUTHOR></AUTHOR>
  26969. <COMPANY></COMPANY>
  26970. <VERSION></VERSION>
  26971. <CREATED><DATE>7/24/2002</DATE><TIME>15:40:34</TIME></CREATED>
  26972. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26973. </TEMPLATE>
  26974. <TEMPLATE>
  26975. <NAME>DropSynonyms</NAME>
  26976. <ID>40</ID>
  26977. <GUID>{A62C4559-5E36-4B68-BF1F-6D07B818F16F}</GUID>
  26978. <CAPTION></CAPTION>
  26979. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  26980. <ENABLED>1</ENABLED>
  26981. <LEVEL>2</LEVEL>
  26982. <IDPARENT>0</IDPARENT>
  26983. <VALUE><![CDATA[@ForTextObject(50, "", "","DROP SYNONYM "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  26984. ]]></VALUE>
  26985. <LANGUAGE>0</LANGUAGE>
  26986. <LANGUAGEWIN>---</LANGUAGEWIN>
  26987. <CATEGORY>2</CATEGORY>
  26988. <MAINSCRIPT>0</MAINSCRIPT>
  26989. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  26990. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  26991. <AUTHOR></AUTHOR>
  26992. <COMPANY></COMPANY>
  26993. <VERSION></VERSION>
  26994. <CREATED><DATE>7/24/2002</DATE><TIME>15:40:52</TIME></CREATED>
  26995. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  26996. </TEMPLATE>
  26997. <TEMPLATE>
  26998. <NAME>CreateAttrTrigSequences</NAME>
  26999. <ID>41</ID>
  27000. <GUID>{F464599B-101D-4B3A-8C45-A654642AB590}</GUID>
  27001. <CAPTION></CAPTION>
  27002. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27003. <ENABLED>1</ENABLED>
  27004. <LEVEL>2</LEVEL>
  27005. <IDPARENT>0</IDPARENT>
  27006. <VALUE><![CDATA[function Main()
  27007. {
  27008. var Entity, Attribute, a;
  27009. var Name, Command;
  27010. var qt = Model.GetUserVariable('qt');
  27011. var term = Model.GetUserVariable('term');
  27012.  
  27013. TextStream.Clear();
  27014.  
  27015. for ( a=0; a<Model.CountAttributes; a++ )
  27016.     if ( Model.Attributes( a ).AttrSeqName != '' )
  27017.     {
  27018.         Attribute = Model.Attributes( a );
  27019.         Entity    = Model.GetEntity( Attribute.EntityId );
  27020.         
  27021.         if ( Entity.Generate )
  27022.         {
  27023.             Name = Model.Attributes( a ).AttrSeqName;
  27024.                 
  27025.          // Generate trigger
  27026.               TextStream.Writeln( ' ' );
  27027.             TextStream.Writeln( '/* Trigger for sequence '+Name+' for table '+Entity.TableName+' attribute '+Attribute.ColName+' */' );
  27028.          
  27029.          TextStream.Writeln( 'Create or replace trigger '+qt+'t_'+Name+qt+' before insert');
  27030.          TextStream.Writeln( 'on '+qt+Entity.TableName+qt+' for each row' );            
  27031.          TextStream.Writeln( 'begin' );
  27032.          TextStream.Writeln( '    SELECT '+qt+Name+qt+'.nextval INTO :new.'+qt+Attribute.ColName+qt+' FROM dual;' );
  27033.          TextStream.Writeln( 'end;' );
  27034.          TextStream.Writeln( term );
  27035.         }
  27036.     }
  27037. return ( TextStream.Text );
  27038. };
  27039. ]]></VALUE>
  27040. <LANGUAGE>1</LANGUAGE>
  27041. <LANGUAGEWIN>---</LANGUAGEWIN>
  27042. <CATEGORY>2</CATEGORY>
  27043. <MAINSCRIPT>0</MAINSCRIPT>
  27044. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27045. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27046. <AUTHOR></AUTHOR>
  27047. <COMPANY></COMPANY>
  27048. <VERSION></VERSION>
  27049. <CREATED><DATE>7/24/2002</DATE><TIME>15:41:33</TIME></CREATED>
  27050. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27051. </TEMPLATE>
  27052. <TEMPLATE>
  27053. <NAME>DropViews</NAME>
  27054. <ID>42</ID>
  27055. <GUID>{62053643-D40C-40B0-AA66-35188AA902BC}</GUID>
  27056. <CAPTION></CAPTION>
  27057. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27058. <ENABLED>1</ENABLED>
  27059. <LEVEL>2</LEVEL>
  27060. <IDPARENT>0</IDPARENT>
  27061. <VALUE><![CDATA[@ForViewR("","","Drop view %qt%%ViewName%%qt%%cr%%term%%cr%","","")
  27062. ]]></VALUE>
  27063. <LANGUAGE>0</LANGUAGE>
  27064. <LANGUAGEWIN>---</LANGUAGEWIN>
  27065. <CATEGORY>2</CATEGORY>
  27066. <MAINSCRIPT>0</MAINSCRIPT>
  27067. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27068. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27069. <AUTHOR></AUTHOR>
  27070. <COMPANY></COMPANY>
  27071. <VERSION></VERSION>
  27072. <CREATED><DATE>7/25/2002</DATE><TIME>16:45:26</TIME></CREATED>
  27073. <MODIFIED><DATE>7/25/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27074. </TEMPLATE>
  27075. <TEMPLATE>
  27076. <NAME>DropTriggersList</NAME>
  27077. <ID>43</ID>
  27078. <GUID>{9129A949-22AC-48C8-B18B-82404616B3D6}</GUID>
  27079. <CAPTION></CAPTION>
  27080. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27081. <ENABLED>1</ENABLED>
  27082. <LEVEL>2</LEVEL>
  27083. <IDPARENT>0</IDPARENT>
  27084. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %qt%%TriggerName%%qt%%cr%%term%%cr%","",""),"","")
  27085. @ForTriggerR("","","Drop trigger %qt%%TriggerName%%qt%%cr%%term%%cr%","","")
  27086. ]]></VALUE>
  27087. <LANGUAGE>0</LANGUAGE>
  27088. <LANGUAGEWIN>---</LANGUAGEWIN>
  27089. <CATEGORY>2</CATEGORY>
  27090. <MAINSCRIPT>0</MAINSCRIPT>
  27091. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27092. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27093. <AUTHOR></AUTHOR>
  27094. <COMPANY></COMPANY>
  27095. <VERSION></VERSION>
  27096. <CREATED><DATE>7/25/2002</DATE><TIME>16:55:01</TIME></CREATED>
  27097. <MODIFIED><DATE>7/25/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27098. </TEMPLATE>
  27099. <TEMPLATE>
  27100. <NAME>CreateDomains</NAME>
  27101. <ID>44</ID>
  27102. <GUID>{D7401935-9B92-4B9B-969E-02BDCF714803}</GUID>
  27103. <CAPTION></CAPTION>
  27104. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27105. <ENABLED>1</ENABLED>
  27106. <LEVEL>2</LEVEL>
  27107. <IDPARENT>0</IDPARENT>
  27108. <VALUE><![CDATA[@ForTextObject(30, "", "", TextObject , cr, "")
  27109. ]]></VALUE>
  27110. <LANGUAGE>0</LANGUAGE>
  27111. <LANGUAGEWIN>---</LANGUAGEWIN>
  27112. <CATEGORY>2</CATEGORY>
  27113. <MAINSCRIPT>0</MAINSCRIPT>
  27114. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27115. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27116. <AUTHOR></AUTHOR>
  27117. <COMPANY></COMPANY>
  27118. <VERSION></VERSION>
  27119. <CREATED><DATE>8/6/2002</DATE><TIME>16:17:06</TIME></CREATED>
  27120. <MODIFIED><DATE>8/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27121. </TEMPLATE>
  27122. <TEMPLATE>
  27123. <NAME>DropDomains</NAME>
  27124. <ID>45</ID>
  27125. <GUID>{2E3E492A-75FA-4C04-9635-80E913B8002F}</GUID>
  27126. <CAPTION></CAPTION>
  27127. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27128. <ENABLED>1</ENABLED>
  27129. <LEVEL>2</LEVEL>
  27130. <IDPARENT>0</IDPARENT>
  27131. <VALUE><![CDATA[@ForTextObject(30, "", "","DROP TYPE "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  27132. ]]></VALUE>
  27133. <LANGUAGE>0</LANGUAGE>
  27134. <LANGUAGEWIN>---</LANGUAGEWIN>
  27135. <CATEGORY>2</CATEGORY>
  27136. <MAINSCRIPT>0</MAINSCRIPT>
  27137. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27138. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27139. <AUTHOR></AUTHOR>
  27140. <COMPANY></COMPANY>
  27141. <VERSION></VERSION>
  27142. <CREATED><DATE>8/6/2002</DATE><TIME>16:17:50</TIME></CREATED>
  27143. <MODIFIED><DATE>8/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27144. </TEMPLATE>
  27145. <TEMPLATE>
  27146. <NAME>CreateDomainBodies</NAME>
  27147. <ID>46</ID>
  27148. <GUID>{CD5BA8B3-D9BA-4419-AFA3-5909A8462071}</GUID>
  27149. <CAPTION></CAPTION>
  27150. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27151. <ENABLED>1</ENABLED>
  27152. <LEVEL>2</LEVEL>
  27153. <IDPARENT>0</IDPARENT>
  27154. <VALUE><![CDATA[@ForTextObject(31, "", "", TextObject , cr, "")
  27155. ]]></VALUE>
  27156. <LANGUAGE>0</LANGUAGE>
  27157. <LANGUAGEWIN>---</LANGUAGEWIN>
  27158. <CATEGORY>2</CATEGORY>
  27159. <MAINSCRIPT>0</MAINSCRIPT>
  27160. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27161. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27162. <AUTHOR></AUTHOR>
  27163. <COMPANY></COMPANY>
  27164. <VERSION></VERSION>
  27165. <CREATED><DATE>8/6/2002</DATE><TIME>16:18:01</TIME></CREATED>
  27166. <MODIFIED><DATE>8/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27167. </TEMPLATE>
  27168. <TEMPLATE>
  27169. <NAME>DropDomainBodies</NAME>
  27170. <ID>47</ID>
  27171. <GUID>{10FA9AF3-31EA-465D-94BD-61FFB5E8276A}</GUID>
  27172. <CAPTION></CAPTION>
  27173. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27174. <ENABLED>1</ENABLED>
  27175. <LEVEL>2</LEVEL>
  27176. <IDPARENT>0</IDPARENT>
  27177. <VALUE><![CDATA[@ForTextObject(31, "", "","DROP TYPE BODY "+qt+TextObjectName+qt+"%cr%%term%%cr%", cr, "")
  27178. ]]></VALUE>
  27179. <LANGUAGE>0</LANGUAGE>
  27180. <LANGUAGEWIN>---</LANGUAGEWIN>
  27181. <CATEGORY>2</CATEGORY>
  27182. <MAINSCRIPT>0</MAINSCRIPT>
  27183. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27184. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27185. <AUTHOR></AUTHOR>
  27186. <COMPANY></COMPANY>
  27187. <VERSION></VERSION>
  27188. <CREATED><DATE>8/6/2002</DATE><TIME>16:18:10</TIME></CREATED>
  27189. <MODIFIED><DATE>8/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27190. </TEMPLATE>
  27191. <TEMPLATE>
  27192. <NAME>Ver_Main</NAME>
  27193. <ID>48</ID>
  27194. <GUID>{0446A785-893C-4EFB-91A8-7252E15EDD61}</GUID>
  27195. <CAPTION>Ver_Main</CAPTION>
  27196. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27197. <ENABLED>1</ENABLED>
  27198. <LEVEL>2</LEVEL>
  27199. <IDPARENT>0</IDPARENT>
  27200. <VALUE><![CDATA[function Main()
  27201. {
  27202. Scripting.Ver_Dictionary.ReadVocabulary();
  27203.  
  27204. Verify.Clear();
  27205.  
  27206. if (Verify.BasicVerification)
  27207.     {
  27208.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  27209.     Verify.Writeln( ' ' );
  27210.     Verify.VerifyBasic();
  27211.     };
  27212.     
  27213. if ( Variables.lConstrDupl )
  27214.     Scripting.Ver_ORA_Constraints.AllConstraints( false );
  27215.  
  27216. if ( Variables.lIndexPUDupl )
  27217.     Scripting.Ver_ORA_Constraints.CheckIndexesName( false );
  27218.         
  27219. if ( Variables.lPkUniDupl )
  27220.     Scripting.Ver_ConstrDuplicity.PkUniDuplicity();
  27221.  
  27222. Scripting.Ver_Summary.Main();
  27223. };
  27224. ]]></VALUE>
  27225. <LANGUAGE>1</LANGUAGE>
  27226. <LANGUAGEWIN>---</LANGUAGEWIN>
  27227. <CATEGORY>7</CATEGORY>
  27228. <MAINSCRIPT>0</MAINSCRIPT>
  27229. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27230. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27231. <AUTHOR></AUTHOR>
  27232. <COMPANY></COMPANY>
  27233. <VERSION></VERSION>
  27234. <CREATED><DATE>4/10/2002</DATE><TIME>16:14:38</TIME></CREATED>
  27235. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27236. </TEMPLATE>
  27237. <TEMPLATE>
  27238. <NAME>Ver_ORA_Constraints</NAME>
  27239. <ID>49</ID>
  27240. <GUID>{CB828B0D-9E0E-4202-846B-0B753F153AA7}</GUID>
  27241. <CAPTION>Ver_ORA_Constraints</CAPTION>
  27242. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27243. <ENABLED>1</ENABLED>
  27244. <LEVEL>2</LEVEL>
  27245. <IDPARENT>0</IDPARENT>
  27246. <VALUE><![CDATA[function AllConstraints( lCaseSensitive )
  27247. {
  27248. var i;
  27249. var cConstraint = '';
  27250. var ConstraintList = DefineInterfaceList();
  27251. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  27252.  
  27253. Verify.Writeln( ' ' );
  27254. Verify.Writeln( '---------------------------------------------------' );
  27255. Verify.Writeln( Translator.Translate( 'V_CN_DUPL',0 ) );
  27256.  
  27257. for (i=0; i<Model.CountAttributes; i++)
  27258. {
  27259.     Attribute = Model.Attributes( i );
  27260.         
  27261.     cConstraint = Attribute.CheckConstraint;
  27262.     if ( cConstraint != '' )
  27263.     {
  27264.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  27265.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  27266.     }
  27267.  
  27268.     cConstraint = Attribute.UniqueConstraint;
  27269.     if ( cConstraint != '' )
  27270.     {
  27271.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  27272.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  27273.     }
  27274.  
  27275.     cConstraint = Attribute.GetUserVariable('ConstraintNotNullName');
  27276.     if ( cConstraint != '' )
  27277.     {
  27278.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  27279.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  27280.     }
  27281. }
  27282.  
  27283. for (i=0; i<Model.CountAlterKeys; i++)
  27284. {
  27285.     AlterKey = Model.AlterKeys( i );
  27286.     cConstraint = AlterKey.AlterKeyName;
  27287.     if ( cConstraint != '' )
  27288.     {
  27289.         cConstraint = Model.GetEntity( AlterKey.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  27290.         AddName( ConstraintList, cConstraint, lCaseSensitive, AlterKey );
  27291.     }
  27292. }
  27293.  
  27294. for (i=0; i<Model.CountEntities; i++)
  27295. {
  27296.     Entity = Model.Entities(i);
  27297.     cConstraint = Entity.PKConstraint;
  27298.     if ( cConstraint != '' )
  27299.     {
  27300.         cConstraint = Entity.GetUserVariable('Owner')+'.'+cConstraint;
  27301.         AddName( ConstraintList, cConstraint, lCaseSensitive, Entity );
  27302.     }
  27303. }
  27304.  
  27305. for (i=0; i<Model.CountRelations; i++)
  27306. {
  27307.     Relation = Model.Relations(i);
  27308.     cConstraint = Relation.FKConstraint;
  27309.     if ( cConstraint != '' )
  27310.     {
  27311.         cConstraint = Model.GetEntity( Relation.ChildEntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  27312.         AddName( ConstraintList, cConstraint, lCaseSensitive, Relation );
  27313.     }
  27314. }
  27315.  
  27316. VerifyName( ConstraintList, 'E_CN_DUPL', 1 );
  27317.  
  27318. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  27319.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  27320. };
  27321.  
  27322. //======================================================================
  27323.  
  27324. function CheckIndexesName( lCaseSensitive )
  27325. {
  27326. var i;
  27327. var cName = '';
  27328. var NameList = DefineInterfaceList();
  27329. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  27330.  
  27331. Verify.Writeln( ' ' );
  27332. Verify.Writeln( '---------------------------------------------------' );
  27333. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_I',0 ) );
  27334.  
  27335. for (i=0; i<Model.CountAttributes; i++)
  27336. {
  27337.     Attribute = Model.Attributes( i );
  27338.  
  27339.     cName = Attribute.UniqueConstraint;
  27340.     if ( cName != '' )
  27341.     {
  27342.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  27343.         AddName( NameList, cName, lCaseSensitive, Attribute );
  27344.     }
  27345. }
  27346.  
  27347. for (i=0; i<Model.CountAlterKeys; i++)
  27348. {
  27349.     AlterKey = Model.AlterKeys( i );
  27350.     cName = AlterKey.AlterKeyName;
  27351.     if ( cName != '' )
  27352.     {
  27353.         cName = Model.GetEntity( AlterKey.EntityId ).GetUserVariable('Owner')+'.'+cName;
  27354.         AddName( NameList, cName, lCaseSensitive, AlterKey );
  27355.     }
  27356. }
  27357.  
  27358. for (i=0; i<Model.CountEntities; i++)
  27359. {
  27360.     Entity = Model.Entities(i);
  27361.     cName = Entity.PKConstraint;
  27362.     if ( cName != '' )
  27363.     {
  27364.         cName = Entity.GetUserVariable('Owner')+'.'+cName;
  27365.         AddName( NameList, cName, lCaseSensitive, Entity );
  27366.     }
  27367. }
  27368.  
  27369. for (i=0; i<Model.CountIndexes; i++)
  27370. {
  27371.     Index = Model.Indexes( i );
  27372.     cName = Index.Name;
  27373.     if ( cName != '' )
  27374.     {
  27375.         cName = Index.GetUserVariable('UIndexOwner')+'.'+cName;
  27376.         AddName( NameList, cName, lCaseSensitive, Index );
  27377.     }
  27378. }
  27379.  
  27380. VerifyName( NameList, 'E_NAME_DUPL', 2 );
  27381.  
  27382. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  27383.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  27384. };
  27385.  
  27386. //======================================================================
  27387.     
  27388. function VerifyName( NameList, cErrMessage, fc )
  27389. {
  27390. var cErrName = '';
  27391. var cName = '';
  27392. var isConstr = 0;  // 1 - constraint found; 2 - next constraint found
  27393. var isIndex = 0;  // 1 - index found
  27394.  
  27395. NameList.Sorted = true;
  27396.  
  27397. for (i=0; i<NameList.Count; i++)
  27398.     if (cName == NameList.GetInterfaceId( i ))
  27399.         {
  27400.         cName    = NameList.GetInterfaceId( i );
  27401.         por = cName.search( /\./ );
  27402.         cName_parse = cName;
  27403.         if (por != -1)
  27404.         {
  27405.             cName_parse = cName.substr(por+1);
  27406.         }
  27407.         if ((NameList.GetInterface(i).InterfaceName == 'IAttribute') || (NameList.GetInterface(i).InterfaceName == 'IAlterKey') || (NameList.GetInterface(i).InterfaceName == 'IEntity'))
  27408.             {
  27409.             if ((isConstr == 1) || (isConstr == 2))
  27410.                 isConstr = 2;
  27411.             else
  27412.                 isConstr = 1;
  27413.             }
  27414.         else
  27415.             isIndex = 1;
  27416.         if (cErrName != cName)
  27417.             {
  27418.             Verify.Writeln( '' );
  27419.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cName_parse ));
  27420.             AddError( NameList.GetInterface( i-1 ), fc );
  27421.             cErrName = cName;
  27422.             };
  27423.  
  27424.         AddError( NameList.GetInterface( i ), fc );
  27425.         }
  27426.     else
  27427.         {
  27428.         cName = NameList.GetInterfaceId( i );
  27429.         if ((isConstr == 2) && (fc == 2) && (Variables.lConstrDupl) && (isIndex == 0))
  27430.             {
  27431.             Verify.CountErrors = Verify.CountErrors - 1;
  27432.             }
  27433.         if ((NameList.GetInterface(i).InterfaceName == 'IAttribute') || (NameList.GetInterface(i).InterfaceName == 'IAlterKey') || (NameList.GetInterface(i).InterfaceName == 'IEntity'))
  27434.             {
  27435.             isConstr = 1;
  27436.             isIndex = 0;
  27437.             }
  27438.         else
  27439.             {
  27440.             isConstr = 0;
  27441.             isIndex = 1;
  27442.             }
  27443.         }
  27444. if ((isConstr == 2) && (fc == 2) && (Variables.lConstrDupl) && (isIndex == 0))
  27445.     {
  27446.     Verify.CountErrors = Verify.CountErrors - 1;
  27447.     }
  27448. };
  27449.  
  27450. //======================================================================
  27451.  
  27452. function AddName( NameList, cName, lCaseSensitive, Object )
  27453. {    
  27454. switch ( Object.InterfaceName )
  27455. {
  27456.     case 'IAttribute':
  27457.         cName = cName.replace(/%colname%/gi, Object.ColName ); // replace %colname% macros
  27458.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName ); // replace %tablename% macros
  27459.         break;
  27460.         
  27461.     case 'IEntity':
  27462.         cName = cName.replace(/%tablename%/gi, Object.TableName );
  27463.         break;
  27464.  
  27465.     case 'IRelation':
  27466.         cName = cName.replace(/%parenttablename%/gi, Model.GetEntity( Object.ParentEntityId ).TableName );
  27467.         cName = cName.replace(/%childtablename%/gi, Model.GetEntity( Object.ChildEntityId ).TableName );
  27468.         cName = cName.replace(/%relname%/gi, Object.FKConstraint );
  27469.         break;
  27470.  
  27471.     case 'IAlterKey':
  27472.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  27473.         cName = cName.replace(/%AlterKeyConstraintName%/gi, Object.AlterKeyName );
  27474.         break;
  27475.             
  27476.     case 'IIndex':
  27477.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  27478.         cName = cName.replace(/%indexname%/gi, Object.Name );
  27479.         break;
  27480. }
  27481.  
  27482. if ( !lCaseSensitive )
  27483.     cName = cName.toUpperCase();
  27484.  
  27485. NameList.AddInterface( cName, Object );
  27486. };
  27487.  
  27488. //======================================================================
  27489.  
  27490. function AddError( Object, fc )
  27491. {
  27492. switch ( Object.InterfaceName )
  27493. {
  27494.     case 'IAttribute':
  27495.         if (fc == 1)
  27496.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  27497.         else
  27498.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  27499.         break;
  27500.  
  27501.     case 'IEntity': 
  27502.         if (fc == 1)
  27503.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT_O',0 ), Object.Name ) );
  27504.         else
  27505.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT',0 ), Object.Name ) );
  27506.         break;
  27507.  
  27508.     case 'IRelation': //FKConstraint
  27509.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_REL_ENT',0 ), Object.Name, Model.GetEntity( Object.ParentEntityId ).Name, Model.GetEntity( Object.ChildEntityId ).Name ) );
  27510.         break;
  27511.             
  27512.     case 'IAlterKey':
  27513.         if (fc == 1)
  27514.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT_O',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  27515.         else
  27516.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  27517.         break;
  27518.             
  27519.     case 'IIndex':
  27520.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_INDEX_ENT',0 ), Model.GetEntity( Object.EntityId ).Name ) );
  27521.         break;
  27522. }
  27523. };
  27524. ]]></VALUE>
  27525. <LANGUAGE>1</LANGUAGE>
  27526. <LANGUAGEWIN>---</LANGUAGEWIN>
  27527. <CATEGORY>7</CATEGORY>
  27528. <MAINSCRIPT>0</MAINSCRIPT>
  27529. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27530. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27531. <AUTHOR></AUTHOR>
  27532. <COMPANY></COMPANY>
  27533. <VERSION></VERSION>
  27534. <CREATED><DATE>7/26/2002</DATE><TIME>12:08:29</TIME></CREATED>
  27535. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27536. </TEMPLATE>
  27537. <TEMPLATE>
  27538. <NAME>Verification</NAME>
  27539. <ID>50</ID>
  27540. <GUID>{A37CE600-0EA6-459F-AAAD-72BE92679149}</GUID>
  27541. <CAPTION>Verifikace modelu</CAPTION>
  27542. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27543. <ENABLED>1</ENABLED>
  27544. <LEVEL>2</LEVEL>
  27545. <IDPARENT>0</IDPARENT>
  27546. <VALUE><![CDATA[function Main()
  27547. {
  27548. Translator.DefaultLng = 'csy';
  27549. ReadVocabulary();
  27550. Scripting.Ver_Main.Main();
  27551. }
  27552.  
  27553. //======================================================================
  27554.  
  27555. function DefineVariables()
  27556. {
  27557. Variables.DefineVariable( 'lConstrDupl', 'Kontrola nßzv∙ constraint∙ na duplicitu', 1 );
  27558. Variables.lConstrDupl = true;
  27559. Variables.DefineVariable( 'lIndexPUDupl', 'Kontrola nßzv∙ indexu, primßrnφho klφΦe a unique constraintu na duplicitu', 1 );
  27560. Variables.lIndexPUDupl = true;
  27561. Variables.DefineVariable( 'lPkUniDupl',  'Kontrola duplicitnφ definice constraintu', 1 );
  27562. Variables.lPkUniDupl = true;
  27563. };
  27564.  
  27565. //======================================================================
  27566.  
  27567. function ReadVocabulary()
  27568. {
  27569. // Chyby
  27570. Translator.Add( 'E_NAME_DUPL',                'Duplicita nßzvu \'%s\' v' );
  27571.  
  27572. Translator.Add( 'E_CN_ATTR_ENT',                '- nßzvu constraintu v atributu \'%s\' v entit∞ \'%s\'.' );
  27573. Translator.Add( 'E_PK_ENT',                    '- nßzvu primßrnφho klφΦe v entit∞ \'%s\'.' );
  27574. Translator.Add( 'E_PK_ENT_O',                    '- primßrnφ klφΦ v entit∞ \'%s\'.' );
  27575. Translator.Add( 'E_REL_ENT',                    '- relace \'%s\' mezi entitami \'%s\' a \'%s\'.' );
  27576. Translator.Add( 'E_ALTERKEY_ENT',            '- nßzvu alternativnφho klφΦe \'%s\' v entit∞ \'%s\'.' );
  27577. Translator.Add( 'E_ALTERKEY_ENT_O',            '- alternativnφ klφΦ \'%s\' v entit∞ \'%s\'.' );
  27578. Translator.Add( 'E_INDEX_ENT',                '- nßzvu indexu v entit∞ \'%s\'.' );
  27579.  
  27580. // Others
  27581. Translator.Add( 'V_CHECK_NAME_DUPL_I',    'Kontrola nßzvu primßrnφho klφΦe, unique constraintu a indexu na duplicitu' );
  27582. };
  27583. ]]></VALUE>
  27584. <LANGUAGE>1</LANGUAGE>
  27585. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  27586. <CATEGORY>7</CATEGORY>
  27587. <MAINSCRIPT>1</MAINSCRIPT>
  27588. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  27589. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  27590. <AUTHOR></AUTHOR>
  27591. <COMPANY></COMPANY>
  27592. <VERSION></VERSION>
  27593. <CREATED><DATE>4/10/2002</DATE><TIME>16:11:32</TIME></CREATED>
  27594. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  27595. </TEMPLATE>
  27596. </TEMPLATES>
  27597. <VARIABLES><![CDATA[lDomainSupp 0
  27598. lAtrCheckConstraintSupp 1
  27599. lAlterKeySupp 1
  27600. lProceduresSupp 1
  27601. lViewsSupp 1
  27602. lConstraintPkSupp 1
  27603. lConstraintFkSupp 1
  27604. lAtrUniqueConstraintSupp 1
  27605. lPermissUserToRoleSupp 1
  27606. lPermissUserToObjectSupp 1
  27607. lPermissRoleToObjectSupp 1
  27608. lRoleSupp 1
  27609. lUserTypeAttrSupp 0
  27610. lUserTypeDomainSupp 1
  27611. lDriParUpdRestrict 1
  27612. lDriParUpdCascade 0
  27613. lDriParUpdSetNull 0
  27614. lDriParUpdSetDefault 0
  27615. lDriParDelRestrict 1
  27616. lDriParDelCascade 1
  27617. lDriParDelSetNull 0
  27618. lDriParDelSetDefault 0
  27619. lDriChildInsRestrict 0
  27620. lDriChildUpdRestrict 0
  27621. lDriParUpdRestrictSupp 1
  27622. lDriParUpdCascadeSupp 0
  27623. lDriParUpdSetNullSupp 0
  27624. lDriParUpdSetDefaultSupp 0
  27625. lDriParDelRestrictSupp 1
  27626. lDriParDelCascadeSupp 1
  27627. lDriParDelSetNullSupp 0
  27628. lDriParDelSetDefaultSupp 0
  27629. lDriChildInsRestrictSupp 0
  27630. lDriChildUpdRestrictSupp 0
  27631. lIndexDescendSupp 0
  27632. lIndexItDescendSupp 1
  27633. lIndexUpperSupp 0
  27634. lIndexExprSupp 1
  27635. lIndexUniqueSupp 1
  27636. lIndexFilterSupp 0
  27637. lIndexStandSupp 1
  27638. lIndexClusterSupp 0
  27639. lIndexNameUnique 0
  27640. lPkSupp 1
  27641. lPkNotNull 1
  27642. lDRISupp 1
  27643. lTriggerSupp 1
  27644. lAtrUniqueSupp 1
  27645. lAtrNotNullSupp 1
  27646. lAtrCheckSupp 1
  27647. lAtrDefaultSupp 1
  27648. lDomainSupp 0
  27649. lAtrCheckConstraintSupp 1
  27650. lAlterKeySupp 1
  27651. lProceduresSupp 1
  27652. lViewsSupp 1
  27653. lConstraintPkSupp 1
  27654. lConstraintFkSupp 1
  27655. lAtrUniqueConstraintSupp 1
  27656. lPermissUserToRoleSupp 1
  27657. lPermissUserToObjectSupp 1
  27658. lPermissRoleToObjectSupp 1
  27659. lRoleSupp 1
  27660. lUserTypeAttrSupp 0
  27661. lUserTypeDomainSupp 1
  27662. ]]></VARIABLES>
  27663. <USEREDITS>
  27664. <USEREDIT>
  27665. <NAME>lGenAttrComments</NAME>
  27666. <ID>1</ID>
  27667. <GUID>{111CC226-86BE-4260-994F-2A3F87DF6787}</GUID>
  27668. <CAPTION>Generate comments on attributes</CAPTION>
  27669. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27670. <TYPE>1</TYPE>
  27671. <LEVEL>1</LEVEL>
  27672. <DEFAULT>1</DEFAULT>
  27673. <ORD>16</ORD>
  27674. <LENGTH>0</LENGTH>
  27675. <ENABLED>1</ENABLED>
  27676. <ITEMS></ITEMS>
  27677. </USEREDIT>
  27678. <USEREDIT>
  27679. <NAME>lGenTabComments</NAME>
  27680. <ID>2</ID>
  27681. <GUID>{FB9009A1-0DE9-4241-A43B-FF753D82DF83}</GUID>
  27682. <CAPTION>Generate comments on tables</CAPTION>
  27683. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27684. <TYPE>1</TYPE>
  27685. <LEVEL>1</LEVEL>
  27686. <DEFAULT>1</DEFAULT>
  27687. <ORD>15</ORD>
  27688. <LENGTH>0</LENGTH>
  27689. <ENABLED>1</ENABLED>
  27690. <ITEMS></ITEMS>
  27691. </USEREDIT>
  27692. <USEREDIT>
  27693. <NAME>term</NAME>
  27694. <ID>3</ID>
  27695. <GUID>{A9216371-85E9-4F11-B44D-8A42EAD9DAF9}</GUID>
  27696. <CAPTION>Terminator</CAPTION>
  27697. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27698. <TYPE>0</TYPE>
  27699. <LEVEL>1</LEVEL>
  27700. <DEFAULT>/</DEFAULT>
  27701. <ORD>300</ORD>
  27702. <LENGTH>20</LENGTH>
  27703. <ENABLED>1</ENABLED>
  27704. <ITEMS></ITEMS>
  27705. </USEREDIT>
  27706. <USEREDIT>
  27707. <NAME>lGenPack</NAME>
  27708. <ID>4</ID>
  27709. <GUID>{D84F7378-F9A0-40C9-8844-B9F483FA09B7}</GUID>
  27710. <CAPTION>Generate packages and package bodies</CAPTION>
  27711. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27712. <TYPE>1</TYPE>
  27713. <LEVEL>1</LEVEL>
  27714. <DEFAULT>1</DEFAULT>
  27715. <ORD>40</ORD>
  27716. <LENGTH>0</LENGTH>
  27717. <ENABLED>1</ENABLED>
  27718. <ITEMS></ITEMS>
  27719. </USEREDIT>
  27720. <USEREDIT>
  27721. <NAME>lDropPack</NAME>
  27722. <ID>5</ID>
  27723. <GUID>{98470F2C-C77F-405A-88F5-B74ADEB8C9CF}</GUID>
  27724. <CAPTION>Drop packages and package bodies</CAPTION>
  27725. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27726. <TYPE>1</TYPE>
  27727. <LEVEL>1</LEVEL>
  27728. <DEFAULT>1</DEFAULT>
  27729. <ORD>140</ORD>
  27730. <LENGTH>0</LENGTH>
  27731. <ENABLED>1</ENABLED>
  27732. <ITEMS></ITEMS>
  27733. </USEREDIT>
  27734. <USEREDIT>
  27735. <NAME>lQuotations</NAME>
  27736. <ID>6</ID>
  27737. <GUID>{F1E05528-F601-4E20-AC37-3619270B27FB}</GUID>
  27738. <CAPTION>Use Quotations</CAPTION>
  27739. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27740. <TYPE>1</TYPE>
  27741. <LEVEL>1</LEVEL>
  27742. <DEFAULT>0</DEFAULT>
  27743. <ORD>1</ORD>
  27744. <LENGTH>0</LENGTH>
  27745. <ENABLED>1</ENABLED>
  27746. <ITEMS></ITEMS>
  27747. </USEREDIT>
  27748. <USEREDIT>
  27749. <NAME>lFunctionsGener</NAME>
  27750. <ID>7</ID>
  27751. <GUID>{DD830AD4-2FDC-437F-86B4-3AFB0F466F08}</GUID>
  27752. <CAPTION>Generate functions</CAPTION>
  27753. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27754. <TYPE>1</TYPE>
  27755. <LEVEL>1</LEVEL>
  27756. <DEFAULT>1</DEFAULT>
  27757. <ORD>30</ORD>
  27758. <LENGTH>0</LENGTH>
  27759. <ENABLED>1</ENABLED>
  27760. <ITEMS></ITEMS>
  27761. </USEREDIT>
  27762. <USEREDIT>
  27763. <NAME>lDropFunctionsGener</NAME>
  27764. <ID>8</ID>
  27765. <GUID>{74B7F493-BF9F-480D-95E1-36F103C29C72}</GUID>
  27766. <CAPTION>Drop functions</CAPTION>
  27767. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27768. <TYPE>1</TYPE>
  27769. <LEVEL>1</LEVEL>
  27770. <DEFAULT>1</DEFAULT>
  27771. <ORD>130</ORD>
  27772. <LENGTH>0</LENGTH>
  27773. <ENABLED>1</ENABLED>
  27774. <ITEMS></ITEMS>
  27775. </USEREDIT>
  27776. <USEREDIT>
  27777. <NAME>lGenSequences</NAME>
  27778. <ID>9</ID>
  27779. <GUID>{EF21B9C5-A533-4820-8312-2D772BFE12C6}</GUID>
  27780. <CAPTION>Generate sequences</CAPTION>
  27781. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27782. <TYPE>1</TYPE>
  27783. <LEVEL>1</LEVEL>
  27784. <DEFAULT>1</DEFAULT>
  27785. <ORD>60</ORD>
  27786. <LENGTH>0</LENGTH>
  27787. <ENABLED>1</ENABLED>
  27788. <ITEMS></ITEMS>
  27789. </USEREDIT>
  27790. <USEREDIT>
  27791. <NAME>lDropSequences</NAME>
  27792. <ID>10</ID>
  27793. <GUID>{FAED0679-BFCE-4CDF-9C53-02BFC54B5937}</GUID>
  27794. <CAPTION>Drop sequences</CAPTION>
  27795. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27796. <TYPE>1</TYPE>
  27797. <LEVEL>1</LEVEL>
  27798. <DEFAULT>1</DEFAULT>
  27799. <ORD>160</ORD>
  27800. <LENGTH>0</LENGTH>
  27801. <ENABLED>1</ENABLED>
  27802. <ITEMS></ITEMS>
  27803. </USEREDIT>
  27804. <USEREDIT>
  27805. <NAME>AttrSeqName</NAME>
  27806. <ID>11</ID>
  27807. <GUID>{EE1822EC-BE9B-4B46-8159-9C7A2BAC1358}</GUID>
  27808. <CAPTION>Used sequence (trig)</CAPTION>
  27809. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27810. <TYPE>0</TYPE>
  27811. <LEVEL>3</LEVEL>
  27812. <DEFAULT></DEFAULT>
  27813. <ORD>50</ORD>
  27814. <LENGTH>0</LENGTH>
  27815. <ENABLED>1</ENABLED>
  27816. <ITEMS></ITEMS>
  27817. </USEREDIT>
  27818. <USEREDIT>
  27819. <NAME>lGenSynonyms</NAME>
  27820. <ID>12</ID>
  27821. <GUID>{5AC9D4D2-D946-4FCB-9C9A-F1D4736E2D49}</GUID>
  27822. <CAPTION>Generate synonyms</CAPTION>
  27823. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27824. <TYPE>1</TYPE>
  27825. <LEVEL>1</LEVEL>
  27826. <DEFAULT>1</DEFAULT>
  27827. <ORD>50</ORD>
  27828. <LENGTH>0</LENGTH>
  27829. <ENABLED>1</ENABLED>
  27830. <ITEMS></ITEMS>
  27831. </USEREDIT>
  27832. <USEREDIT>
  27833. <NAME>lDropSynonyms</NAME>
  27834. <ID>13</ID>
  27835. <GUID>{36B38A9B-3566-4E1C-ABAE-5ED56BBBAD08}</GUID>
  27836. <CAPTION>Drop synonyms</CAPTION>
  27837. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27838. <TYPE>1</TYPE>
  27839. <LEVEL>1</LEVEL>
  27840. <DEFAULT>1</DEFAULT>
  27841. <ORD>150</ORD>
  27842. <LENGTH>0</LENGTH>
  27843. <ENABLED>1</ENABLED>
  27844. <ITEMS></ITEMS>
  27845. </USEREDIT>
  27846. <USEREDIT>
  27847. <NAME>TableTablespace</NAME>
  27848. <ID>14</ID>
  27849. <GUID>{F276EE07-1190-4AD6-BDD8-200B2779E551}</GUID>
  27850. <CAPTION>Tablespace for Table</CAPTION>
  27851. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27852. <TYPE>0</TYPE>
  27853. <LEVEL>2</LEVEL>
  27854. <DEFAULT></DEFAULT>
  27855. <ORD>22</ORD>
  27856. <LENGTH>0</LENGTH>
  27857. <ENABLED>1</ENABLED>
  27858. <ITEMS></ITEMS>
  27859. </USEREDIT>
  27860. <USEREDIT>
  27861. <NAME>PkTablespace</NAME>
  27862. <ID>15</ID>
  27863. <GUID>{D4CD6316-2403-4FB2-B37C-2DF7B339250D}</GUID>
  27864. <CAPTION>Tablespace for Primary key</CAPTION>
  27865. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27866. <TYPE>0</TYPE>
  27867. <LEVEL>2</LEVEL>
  27868. <DEFAULT></DEFAULT>
  27869. <ORD>32</ORD>
  27870. <LENGTH>0</LENGTH>
  27871. <ENABLED>1</ENABLED>
  27872. <ITEMS></ITEMS>
  27873. </USEREDIT>
  27874. <USEREDIT>
  27875. <NAME>lCheckAsConstraint</NAME>
  27876. <ID>16</ID>
  27877. <GUID>{EA8F3F77-4E82-4710-928D-6CB875C0EB4E}</GUID>
  27878. <CAPTION>Generate Check Constraint name</CAPTION>
  27879. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27880. <TYPE>1</TYPE>
  27881. <LEVEL>1</LEVEL>
  27882. <DEFAULT>1</DEFAULT>
  27883. <ORD>10</ORD>
  27884. <LENGTH>0</LENGTH>
  27885. <ENABLED>1</ENABLED>
  27886. <ITEMS></ITEMS>
  27887. </USEREDIT>
  27888. <USEREDIT>
  27889. <NAME>lUniqueAsConstraint</NAME>
  27890. <ID>17</ID>
  27891. <GUID>{771031E3-1EC7-4DA1-B3E1-5EE17DFC8D6E}</GUID>
  27892. <CAPTION>Generate Unique Constraint name</CAPTION>
  27893. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27894. <TYPE>1</TYPE>
  27895. <LEVEL>1</LEVEL>
  27896. <DEFAULT>1</DEFAULT>
  27897. <ORD>11</ORD>
  27898. <LENGTH>0</LENGTH>
  27899. <ENABLED>1</ENABLED>
  27900. <ITEMS></ITEMS>
  27901. </USEREDIT>
  27902. <USEREDIT>
  27903. <NAME>lNotNullAsConstraint</NAME>
  27904. <ID>18</ID>
  27905. <GUID>{23EBA9C9-1ECB-44C6-9556-D120A9FC58E3}</GUID>
  27906. <CAPTION>Generate NOT NULL Constraint name</CAPTION>
  27907. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27908. <TYPE>1</TYPE>
  27909. <LEVEL>1</LEVEL>
  27910. <DEFAULT>1</DEFAULT>
  27911. <ORD>12</ORD>
  27912. <LENGTH>0</LENGTH>
  27913. <ENABLED>1</ENABLED>
  27914. <ITEMS></ITEMS>
  27915. </USEREDIT>
  27916. <USEREDIT>
  27917. <NAME>lPkDeferrable</NAME>
  27918. <ID>19</ID>
  27919. <GUID>{4CE40CEB-D59C-4E84-8EDF-89520B7D6287}</GUID>
  27920. <CAPTION>Primary Key Deferrable</CAPTION>
  27921. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27922. <TYPE>1</TYPE>
  27923. <LEVEL>2</LEVEL>
  27924. <DEFAULT>0</DEFAULT>
  27925. <ORD>34</ORD>
  27926. <LENGTH>0</LENGTH>
  27927. <ENABLED>1</ENABLED>
  27928. <ITEMS></ITEMS>
  27929. </USEREDIT>
  27930. <USEREDIT>
  27931. <NAME>lPkDeferred</NAME>
  27932. <ID>20</ID>
  27933. <GUID>{77B150AD-3592-45F7-B320-4F3162829EDD}</GUID>
  27934. <CAPTION>Primary Key Initially Deferred</CAPTION>
  27935. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27936. <TYPE>1</TYPE>
  27937. <LEVEL>2</LEVEL>
  27938. <DEFAULT>0</DEFAULT>
  27939. <ORD>36</ORD>
  27940. <LENGTH>0</LENGTH>
  27941. <ENABLED>1</ENABLED>
  27942. <ITEMS></ITEMS>
  27943. </USEREDIT>
  27944. <USEREDIT>
  27945. <NAME>ConstraintNotNullName</NAME>
  27946. <ID>21</ID>
  27947. <GUID>{86D0719E-9485-46A9-84D9-31E5AB1ED764}</GUID>
  27948. <CAPTION>Constraint NOT NULL</CAPTION>
  27949. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27950. <TYPE>0</TYPE>
  27951. <LEVEL>3</LEVEL>
  27952. <DEFAULT></DEFAULT>
  27953. <ORD>10</ORD>
  27954. <LENGTH>0</LENGTH>
  27955. <ENABLED>1</ENABLED>
  27956. <ITEMS></ITEMS>
  27957. </USEREDIT>
  27958. <USEREDIT>
  27959. <NAME>lNotNullDeferrable</NAME>
  27960. <ID>22</ID>
  27961. <GUID>{B1CE57E2-40A2-4BFB-B08F-4BE244B9D164}</GUID>
  27962. <CAPTION>NOT NULL Deferrable</CAPTION>
  27963. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27964. <TYPE>1</TYPE>
  27965. <LEVEL>3</LEVEL>
  27966. <DEFAULT>0</DEFAULT>
  27967. <ORD>14</ORD>
  27968. <LENGTH>0</LENGTH>
  27969. <ENABLED>1</ENABLED>
  27970. <ITEMS></ITEMS>
  27971. </USEREDIT>
  27972. <USEREDIT>
  27973. <NAME>lNotNullDeferred</NAME>
  27974. <ID>23</ID>
  27975. <GUID>{E6587E10-CF61-4FA3-A1BB-6D53F35EAD77}</GUID>
  27976. <CAPTION>NOT NULL Initially Deferred</CAPTION>
  27977. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27978. <TYPE>1</TYPE>
  27979. <LEVEL>3</LEVEL>
  27980. <DEFAULT>0</DEFAULT>
  27981. <ORD>16</ORD>
  27982. <LENGTH>0</LENGTH>
  27983. <ENABLED>1</ENABLED>
  27984. <ITEMS></ITEMS>
  27985. </USEREDIT>
  27986. <USEREDIT>
  27987. <NAME>lCheckDeferrable</NAME>
  27988. <ID>24</ID>
  27989. <GUID>{6DE265F1-AE94-41CC-9415-55B87D252653}</GUID>
  27990. <CAPTION>Check Deferrable</CAPTION>
  27991. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  27992. <TYPE>1</TYPE>
  27993. <LEVEL>3</LEVEL>
  27994. <DEFAULT>0</DEFAULT>
  27995. <ORD>24</ORD>
  27996. <LENGTH>0</LENGTH>
  27997. <ENABLED>1</ENABLED>
  27998. <ITEMS></ITEMS>
  27999. </USEREDIT>
  28000. <USEREDIT>
  28001. <NAME>lCheckDeferred</NAME>
  28002. <ID>25</ID>
  28003. <GUID>{99CD5641-CEBF-4B70-8ED7-0555E5B93DAD}</GUID>
  28004. <CAPTION>Check Initially Deferred</CAPTION>
  28005. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28006. <TYPE>1</TYPE>
  28007. <LEVEL>3</LEVEL>
  28008. <DEFAULT>0</DEFAULT>
  28009. <ORD>26</ORD>
  28010. <LENGTH>0</LENGTH>
  28011. <ENABLED>1</ENABLED>
  28012. <ITEMS></ITEMS>
  28013. </USEREDIT>
  28014. <USEREDIT>
  28015. <NAME>UniqueAkTablespace</NAME>
  28016. <ID>26</ID>
  28017. <GUID>{FFE7FAC0-D3EC-4DC4-9F08-B2A0191CCBE6}</GUID>
  28018. <CAPTION>Tablespace for Unique</CAPTION>
  28019. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28020. <TYPE>0</TYPE>
  28021. <LEVEL>3</LEVEL>
  28022. <DEFAULT></DEFAULT>
  28023. <ORD>32</ORD>
  28024. <LENGTH>0</LENGTH>
  28025. <ENABLED>1</ENABLED>
  28026. <ITEMS></ITEMS>
  28027. </USEREDIT>
  28028. <USEREDIT>
  28029. <NAME>lUniqueAkDeferrable</NAME>
  28030. <ID>27</ID>
  28031. <GUID>{9A80FC7D-781E-4346-8AF1-A5D097120E23}</GUID>
  28032. <CAPTION>Unique Deferrable</CAPTION>
  28033. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28034. <TYPE>1</TYPE>
  28035. <LEVEL>3</LEVEL>
  28036. <DEFAULT>0</DEFAULT>
  28037. <ORD>34</ORD>
  28038. <LENGTH>0</LENGTH>
  28039. <ENABLED>1</ENABLED>
  28040. <ITEMS></ITEMS>
  28041. </USEREDIT>
  28042. <USEREDIT>
  28043. <NAME>lUniqueAkDeferred</NAME>
  28044. <ID>28</ID>
  28045. <GUID>{D46D9622-AA26-4028-B2DF-3DBCA3260FAC}</GUID>
  28046. <CAPTION>Unique Initially Deferred</CAPTION>
  28047. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28048. <TYPE>1</TYPE>
  28049. <LEVEL>3</LEVEL>
  28050. <DEFAULT>0</DEFAULT>
  28051. <ORD>36</ORD>
  28052. <LENGTH>0</LENGTH>
  28053. <ENABLED>1</ENABLED>
  28054. <ITEMS></ITEMS>
  28055. </USEREDIT>
  28056. <USEREDIT>
  28057. <NAME>IndexTablespace</NAME>
  28058. <ID>29</ID>
  28059. <GUID>{639C2410-59FA-43C9-9B9E-0D8846D8CA1E}</GUID>
  28060. <CAPTION>Tablespace for Index</CAPTION>
  28061. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28062. <TYPE>0</TYPE>
  28063. <LEVEL>4</LEVEL>
  28064. <DEFAULT></DEFAULT>
  28065. <ORD>22</ORD>
  28066. <LENGTH>0</LENGTH>
  28067. <ENABLED>1</ENABLED>
  28068. <ITEMS></ITEMS>
  28069. </USEREDIT>
  28070. <USEREDIT>
  28071. <NAME>lRefIntDeferrable</NAME>
  28072. <ID>30</ID>
  28073. <GUID>{130EC104-12BA-491E-B1B0-281B4E8D8B70}</GUID>
  28074. <CAPTION>Referential Integrity Deferrable</CAPTION>
  28075. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28076. <TYPE>1</TYPE>
  28077. <LEVEL>5</LEVEL>
  28078. <DEFAULT>0</DEFAULT>
  28079. <ORD>14</ORD>
  28080. <LENGTH>0</LENGTH>
  28081. <ENABLED>1</ENABLED>
  28082. <ITEMS></ITEMS>
  28083. </USEREDIT>
  28084. <USEREDIT>
  28085. <NAME>lRefIntDeferred</NAME>
  28086. <ID>31</ID>
  28087. <GUID>{86AFEDC5-82D6-41EC-9922-6B0612B26D78}</GUID>
  28088. <CAPTION>Referential Integrity Initially Deferred</CAPTION>
  28089. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28090. <TYPE>1</TYPE>
  28091. <LEVEL>5</LEVEL>
  28092. <DEFAULT>0</DEFAULT>
  28093. <ORD>16</ORD>
  28094. <LENGTH>0</LENGTH>
  28095. <ENABLED>1</ENABLED>
  28096. <ITEMS></ITEMS>
  28097. </USEREDIT>
  28098. <USEREDIT>
  28099. <NAME>UniqueAkTablespace</NAME>
  28100. <ID>32</ID>
  28101. <GUID>{661ADA5E-7241-4933-A243-1A319A73266F}</GUID>
  28102. <CAPTION>Tablespace for Alternate key</CAPTION>
  28103. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28104. <TYPE>0</TYPE>
  28105. <LEVEL>7</LEVEL>
  28106. <DEFAULT></DEFAULT>
  28107. <ORD>12</ORD>
  28108. <LENGTH>0</LENGTH>
  28109. <ENABLED>1</ENABLED>
  28110. <ITEMS></ITEMS>
  28111. </USEREDIT>
  28112. <USEREDIT>
  28113. <NAME>lUniqueAkDeferrable</NAME>
  28114. <ID>33</ID>
  28115. <GUID>{382EAE3F-B4EB-4250-A29E-D8C12A949C90}</GUID>
  28116. <CAPTION>Alternate key Deferrable</CAPTION>
  28117. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28118. <TYPE>1</TYPE>
  28119. <LEVEL>7</LEVEL>
  28120. <DEFAULT>0</DEFAULT>
  28121. <ORD>14</ORD>
  28122. <LENGTH>0</LENGTH>
  28123. <ENABLED>1</ENABLED>
  28124. <ITEMS></ITEMS>
  28125. </USEREDIT>
  28126. <USEREDIT>
  28127. <NAME>lUniqueAkDeferred</NAME>
  28128. <ID>34</ID>
  28129. <GUID>{8FF8E0C6-A0BB-4B2F-8361-487BC8D7D995}</GUID>
  28130. <CAPTION>Alternate key Deferred</CAPTION>
  28131. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28132. <TYPE>1</TYPE>
  28133. <LEVEL>7</LEVEL>
  28134. <DEFAULT>0</DEFAULT>
  28135. <ORD>16</ORD>
  28136. <LENGTH>0</LENGTH>
  28137. <ENABLED>1</ENABLED>
  28138. <ITEMS></ITEMS>
  28139. </USEREDIT>
  28140. <USEREDIT>
  28141. <NAME>lGenTypes</NAME>
  28142. <ID>35</ID>
  28143. <GUID>{EDFC1A4A-19B3-4B3D-9AC3-99DB9F0B6778}</GUID>
  28144. <CAPTION>Generate object types and object type bodies</CAPTION>
  28145. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28146. <TYPE>1</TYPE>
  28147. <LEVEL>1</LEVEL>
  28148. <DEFAULT>1</DEFAULT>
  28149. <ORD>20</ORD>
  28150. <LENGTH>0</LENGTH>
  28151. <ENABLED>1</ENABLED>
  28152. <ITEMS></ITEMS>
  28153. </USEREDIT>
  28154. <USEREDIT>
  28155. <NAME>lDropTypes</NAME>
  28156. <ID>36</ID>
  28157. <GUID>{F6FD9889-48C1-435F-8D6C-92824661523F}</GUID>
  28158. <CAPTION>Drop object types and object type bodies</CAPTION>
  28159. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  28160. <TYPE>1</TYPE>
  28161. <LEVEL>1</LEVEL>
  28162. <DEFAULT>1</DEFAULT>
  28163. <ORD>120</ORD>
  28164. <LENGTH>0</LENGTH>
  28165. <ENABLED>1</ENABLED>
  28166. <ITEMS></ITEMS>
  28167. </USEREDIT>
  28168. </USEREDITS>
  28169. <TYPELIST>
  28170. <TYPE>
  28171. <NAME>Char</NAME>
  28172. <ID>10</ID>
  28173. <GUID>{770D6C4D-EAC3-4821-BCF5-F091FC6908B1}</GUID>
  28174. <PHNAME>Char</PHNAME>
  28175. <LLENGTH>1</LLENGTH>
  28176. <LDECIMAL>0</LDECIMAL>
  28177. <MAXLENGTH>2000</MAXLENGTH>
  28178. <MINLENGTH>1</MINLENGTH>
  28179. <MAXDECIMAL>0</MAXDECIMAL>
  28180. <MINDECIMAL>0</MINDECIMAL>
  28181. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  28182. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28183. <TRANSFORMCODE>A</TRANSFORMCODE>
  28184. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  28185. <EXPORTTO>0</EXPORTTO>
  28186. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28187. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28188. </TYPE>
  28189. <TYPE>
  28190. <NAME>Varchar2</NAME>
  28191. <ID>20</ID>
  28192. <GUID>{B3B6A62D-4E17-47E7-99C5-34C351A52570}</GUID>
  28193. <PHNAME>Varchar2</PHNAME>
  28194. <LLENGTH>1</LLENGTH>
  28195. <LDECIMAL>0</LDECIMAL>
  28196. <MAXLENGTH>4000</MAXLENGTH>
  28197. <MINLENGTH>1</MINLENGTH>
  28198. <MAXDECIMAL>0</MAXDECIMAL>
  28199. <MINDECIMAL>0</MINDECIMAL>
  28200. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  28201. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28202. <TRANSFORMCODE>VA</TRANSFORMCODE>
  28203. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  28204. <EXPORTTO>0</EXPORTTO>
  28205. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28206. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28207. </TYPE>
  28208. <TYPE>
  28209. <NAME>Number(x.y)</NAME>
  28210. <ID>40</ID>
  28211. <GUID>{C865E666-EFBF-4398-9F1D-D44CF26DDCEB}</GUID>
  28212. <PHNAME>Number</PHNAME>
  28213. <LLENGTH>1</LLENGTH>
  28214. <LDECIMAL>1</LDECIMAL>
  28215. <MAXLENGTH>38</MAXLENGTH>
  28216. <MINLENGTH>1</MINLENGTH>
  28217. <MAXDECIMAL>127</MAXDECIMAL>
  28218. <MINDECIMAL>-84</MINDECIMAL>
  28219. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  28220. <DEFAULTDECIMAL>5</DEFAULTDECIMAL>
  28221. <TRANSFORMCODE>NXY</TRANSFORMCODE>
  28222. <TRANSFORMTO>NXY;N;DC;F;</TRANSFORMTO>
  28223. <EXPORTTO>0</EXPORTTO>
  28224. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28225. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28226. </TYPE>
  28227. <TYPE>
  28228. <NAME>Number</NAME>
  28229. <ID>42</ID>
  28230. <GUID>{FF684A2F-7DE0-40E5-8043-D7E85C79DF06}</GUID>
  28231. <PHNAME>Number</PHNAME>
  28232. <LLENGTH>0</LLENGTH>
  28233. <LDECIMAL>0</LDECIMAL>
  28234. <MAXLENGTH>0</MAXLENGTH>
  28235. <MINLENGTH>0</MINLENGTH>
  28236. <MAXDECIMAL>0</MAXDECIMAL>
  28237. <MINDECIMAL>0</MINDECIMAL>
  28238. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28239. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28240. <TRANSFORMCODE>N</TRANSFORMCODE>
  28241. <TRANSFORMTO>N;DC;F;</TRANSFORMTO>
  28242. <EXPORTTO>0</EXPORTTO>
  28243. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28244. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28245. </TYPE>
  28246. <TYPE>
  28247. <NAME>Decimal</NAME>
  28248. <ID>50</ID>
  28249. <GUID>{F5FDE2B3-6EAA-41FF-A998-4982557AB028}</GUID>
  28250. <PHNAME>Decimal</PHNAME>
  28251. <LLENGTH>1</LLENGTH>
  28252. <LDECIMAL>1</LDECIMAL>
  28253. <MAXLENGTH>38</MAXLENGTH>
  28254. <MINLENGTH>1</MINLENGTH>
  28255. <MAXDECIMAL>127</MAXDECIMAL>
  28256. <MINDECIMAL>-84</MINDECIMAL>
  28257. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  28258. <DEFAULTDECIMAL>5</DEFAULTDECIMAL>
  28259. <TRANSFORMCODE>DC</TRANSFORMCODE>
  28260. <TRANSFORMTO>DC;N;F;</TRANSFORMTO>
  28261. <EXPORTTO>0</EXPORTTO>
  28262. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28263. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28264. </TYPE>
  28265. <TYPE>
  28266. <NAME>Integer</NAME>
  28267. <ID>60</ID>
  28268. <GUID>{E256B23F-8644-484D-BEBA-D7C6BD7970A7}</GUID>
  28269. <PHNAME>Integer</PHNAME>
  28270. <LLENGTH>0</LLENGTH>
  28271. <LDECIMAL>0</LDECIMAL>
  28272. <MAXLENGTH>0</MAXLENGTH>
  28273. <MINLENGTH>0</MINLENGTH>
  28274. <MAXDECIMAL>0</MAXDECIMAL>
  28275. <MINDECIMAL>0</MINDECIMAL>
  28276. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28277. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28278. <TRANSFORMCODE>I</TRANSFORMCODE>
  28279. <TRANSFORMTO>I;LI;N,10,0;</TRANSFORMTO>
  28280. <EXPORTTO>0</EXPORTTO>
  28281. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28282. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28283. </TYPE>
  28284. <TYPE>
  28285. <NAME>Smallint</NAME>
  28286. <ID>70</ID>
  28287. <GUID>{99DE1914-8E18-4E94-9A3B-B972DA08F3A9}</GUID>
  28288. <PHNAME>Smallint</PHNAME>
  28289. <LLENGTH>0</LLENGTH>
  28290. <LDECIMAL>0</LDECIMAL>
  28291. <MAXLENGTH>0</MAXLENGTH>
  28292. <MINLENGTH>0</MINLENGTH>
  28293. <MAXDECIMAL>0</MAXDECIMAL>
  28294. <MINDECIMAL>0</MINDECIMAL>
  28295. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28296. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28297. <TRANSFORMCODE>SI</TRANSFORMCODE>
  28298. <TRANSFORMTO>SI;I;LI;</TRANSFORMTO>
  28299. <EXPORTTO>0</EXPORTTO>
  28300. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28301. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28302. </TYPE>
  28303. <TYPE>
  28304. <NAME>Real</NAME>
  28305. <ID>80</ID>
  28306. <GUID>{44BA5C03-066C-4BD5-93FB-977780E3F089}</GUID>
  28307. <PHNAME>Real</PHNAME>
  28308. <LLENGTH>0</LLENGTH>
  28309. <LDECIMAL>0</LDECIMAL>
  28310. <MAXLENGTH>0</MAXLENGTH>
  28311. <MINLENGTH>0</MINLENGTH>
  28312. <MAXDECIMAL>0</MAXDECIMAL>
  28313. <MINDECIMAL>0</MINDECIMAL>
  28314. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28315. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28316. <TRANSFORMCODE>F</TRANSFORMCODE>
  28317. <TRANSFORMTO>F;LF;N,15,5;DC,15,5;</TRANSFORMTO>
  28318. <EXPORTTO>0</EXPORTTO>
  28319. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28320. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28321. </TYPE>
  28322. <TYPE>
  28323. <NAME>Double precision</NAME>
  28324. <ID>90</ID>
  28325. <GUID>{3EADDFF0-DC2B-4408-B0A8-7C4CBE9C3931}</GUID>
  28326. <PHNAME>Double precision</PHNAME>
  28327. <LLENGTH>0</LLENGTH>
  28328. <LDECIMAL>0</LDECIMAL>
  28329. <MAXLENGTH>0</MAXLENGTH>
  28330. <MINLENGTH>0</MINLENGTH>
  28331. <MAXDECIMAL>0</MAXDECIMAL>
  28332. <MINDECIMAL>0</MINDECIMAL>
  28333. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28334. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28335. <TRANSFORMCODE>LF</TRANSFORMCODE>
  28336. <TRANSFORMTO>LF;F;N,15,5;DC,15,5;</TRANSFORMTO>
  28337. <EXPORTTO>0</EXPORTTO>
  28338. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28339. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28340. </TYPE>
  28341. <TYPE>
  28342. <NAME>Float</NAME>
  28343. <ID>100</ID>
  28344. <GUID>{8CBBF3D7-41A0-43A1-8B00-0F23A6C59FD4}</GUID>
  28345. <PHNAME>Float</PHNAME>
  28346. <LLENGTH>0</LLENGTH>
  28347. <LDECIMAL>0</LDECIMAL>
  28348. <MAXLENGTH>0</MAXLENGTH>
  28349. <MINLENGTH>0</MINLENGTH>
  28350. <MAXDECIMAL>0</MAXDECIMAL>
  28351. <MINDECIMAL>0</MINDECIMAL>
  28352. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28353. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28354. <TRANSFORMCODE>F</TRANSFORMCODE>
  28355. <TRANSFORMTO>F;LF;N,15,5;DC,15,5;</TRANSFORMTO>
  28356. <EXPORTTO>0</EXPORTTO>
  28357. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28358. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28359. </TYPE>
  28360. <TYPE>
  28361. <NAME>Date</NAME>
  28362. <ID>110</ID>
  28363. <GUID>{7A387A35-D524-473D-9AFD-2558253D2F6D}</GUID>
  28364. <PHNAME>Date</PHNAME>
  28365. <LLENGTH>0</LLENGTH>
  28366. <LDECIMAL>0</LDECIMAL>
  28367. <MAXLENGTH>0</MAXLENGTH>
  28368. <MINLENGTH>0</MINLENGTH>
  28369. <MAXDECIMAL>0</MAXDECIMAL>
  28370. <MINDECIMAL>0</MINDECIMAL>
  28371. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28372. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28373. <TRANSFORMCODE>D</TRANSFORMCODE>
  28374. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  28375. <EXPORTTO>0</EXPORTTO>
  28376. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28377. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28378. </TYPE>
  28379. <TYPE>
  28380. <NAME>Long</NAME>
  28381. <ID>120</ID>
  28382. <GUID>{7C10E57A-14EF-4E53-BC9D-B85861FB3AB9}</GUID>
  28383. <PHNAME>Long</PHNAME>
  28384. <LLENGTH>0</LLENGTH>
  28385. <LDECIMAL>0</LDECIMAL>
  28386. <MAXLENGTH>0</MAXLENGTH>
  28387. <MINLENGTH>0</MINLENGTH>
  28388. <MAXDECIMAL>0</MAXDECIMAL>
  28389. <MINDECIMAL>0</MINDECIMAL>
  28390. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28391. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28392. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  28393. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  28394. <EXPORTTO>0</EXPORTTO>
  28395. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28396. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28397. </TYPE>
  28398. <TYPE>
  28399. <NAME>Blob</NAME>
  28400. <ID>130</ID>
  28401. <GUID>{E771CD0A-3608-4C88-B4C6-CA7447444940}</GUID>
  28402. <PHNAME>Blob</PHNAME>
  28403. <LLENGTH>0</LLENGTH>
  28404. <LDECIMAL>0</LDECIMAL>
  28405. <MAXLENGTH>0</MAXLENGTH>
  28406. <MINLENGTH>0</MINLENGTH>
  28407. <MAXDECIMAL>0</MAXDECIMAL>
  28408. <MINDECIMAL>0</MINDECIMAL>
  28409. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28410. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28411. <TRANSFORMCODE>LBLOB</TRANSFORMCODE>
  28412. <TRANSFORMTO>LBLOB;LBIN;BLOB;</TRANSFORMTO>
  28413. <EXPORTTO>0</EXPORTTO>
  28414. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28415. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28416. </TYPE>
  28417. <TYPE>
  28418. <NAME>Clob</NAME>
  28419. <ID>140</ID>
  28420. <GUID>{E7421017-B7CA-4255-811F-66CA7F08964E}</GUID>
  28421. <PHNAME>Clob</PHNAME>
  28422. <LLENGTH>0</LLENGTH>
  28423. <LDECIMAL>0</LDECIMAL>
  28424. <MAXLENGTH>0</MAXLENGTH>
  28425. <MINLENGTH>0</MINLENGTH>
  28426. <MAXDECIMAL>0</MAXDECIMAL>
  28427. <MINDECIMAL>0</MINDECIMAL>
  28428. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28429. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28430. <TRANSFORMCODE>LCLOB</TRANSFORMCODE>
  28431. <TRANSFORMTO>LCLOB;CLOB;TXT;BLOB;</TRANSFORMTO>
  28432. <EXPORTTO>0</EXPORTTO>
  28433. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28434. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28435. </TYPE>
  28436. <TYPE>
  28437. <NAME>NClob</NAME>
  28438. <ID>145</ID>
  28439. <GUID>{FA4DBB06-84F6-47D9-9AE0-EDE24FCA5698}</GUID>
  28440. <PHNAME>NClob</PHNAME>
  28441. <LLENGTH>0</LLENGTH>
  28442. <LDECIMAL>0</LDECIMAL>
  28443. <MAXLENGTH>0</MAXLENGTH>
  28444. <MINLENGTH>0</MINLENGTH>
  28445. <MAXDECIMAL>0</MAXDECIMAL>
  28446. <MINDECIMAL>0</MINDECIMAL>
  28447. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28448. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28449. <TRANSFORMCODE>NLCLOB</TRANSFORMCODE>
  28450. <TRANSFORMTO>NLCLOB;NCLOB;CLOB;TXT;BLOB;</TRANSFORMTO>
  28451. <EXPORTTO>0</EXPORTTO>
  28452. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28453. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28454. </TYPE>
  28455. <TYPE>
  28456. <NAME>Long raw</NAME>
  28457. <ID>150</ID>
  28458. <GUID>{017CD8D0-6B6B-4B54-938D-11FB270712D4}</GUID>
  28459. <PHNAME>Long raw</PHNAME>
  28460. <LLENGTH>0</LLENGTH>
  28461. <LDECIMAL>0</LDECIMAL>
  28462. <MAXLENGTH>0</MAXLENGTH>
  28463. <MINLENGTH>0</MINLENGTH>
  28464. <MAXDECIMAL>0</MAXDECIMAL>
  28465. <MINDECIMAL>0</MINDECIMAL>
  28466. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28467. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28468. <TRANSFORMCODE>LRAW</TRANSFORMCODE>
  28469. <TRANSFORMTO>LRAW;LBIN;</TRANSFORMTO>
  28470. <EXPORTTO>0</EXPORTTO>
  28471. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28472. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28473. </TYPE>
  28474. <TYPE>
  28475. <NAME>Raw</NAME>
  28476. <ID>160</ID>
  28477. <GUID>{29C16153-1F64-44EA-98EC-FF42BC6A2990}</GUID>
  28478. <PHNAME>Raw</PHNAME>
  28479. <LLENGTH>1</LLENGTH>
  28480. <LDECIMAL>0</LDECIMAL>
  28481. <MAXLENGTH>2000</MAXLENGTH>
  28482. <MINLENGTH>1</MINLENGTH>
  28483. <MAXDECIMAL>0</MAXDECIMAL>
  28484. <MINDECIMAL>0</MINDECIMAL>
  28485. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  28486. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28487. <TRANSFORMCODE>RAW</TRANSFORMCODE>
  28488. <TRANSFORMTO>RAW;LBIN;</TRANSFORMTO>
  28489. <EXPORTTO>0</EXPORTTO>
  28490. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28491. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28492. </TYPE>
  28493. <TYPE>
  28494. <NAME>Rowid</NAME>
  28495. <ID>170</ID>
  28496. <GUID>{C1ABBC31-22B1-40DE-B504-9B16CFA419A3}</GUID>
  28497. <PHNAME>Rowid</PHNAME>
  28498. <LLENGTH>0</LLENGTH>
  28499. <LDECIMAL>0</LDECIMAL>
  28500. <MAXLENGTH>0</MAXLENGTH>
  28501. <MINLENGTH>0</MINLENGTH>
  28502. <MAXDECIMAL>0</MAXDECIMAL>
  28503. <MINDECIMAL>0</MINDECIMAL>
  28504. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28505. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28506. <TRANSFORMCODE>RID</TRANSFORMCODE>
  28507. <TRANSFORMTO>RID;I;</TRANSFORMTO>
  28508. <EXPORTTO>0</EXPORTTO>
  28509. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28510. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28511. </TYPE>
  28512. <TYPE>
  28513. <NAME>Mlslabel</NAME>
  28514. <ID>180</ID>
  28515. <GUID>{BD8F7801-9F4F-4DDD-BC0C-4D1DE36793E3}</GUID>
  28516. <PHNAME>Mlslabel</PHNAME>
  28517. <LLENGTH>0</LLENGTH>
  28518. <LDECIMAL>0</LDECIMAL>
  28519. <MAXLENGTH>0</MAXLENGTH>
  28520. <MINLENGTH>0</MINLENGTH>
  28521. <MAXDECIMAL>0</MAXDECIMAL>
  28522. <MINDECIMAL>0</MINDECIMAL>
  28523. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28524. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28525. <TRANSFORMCODE>I</TRANSFORMCODE>
  28526. <TRANSFORMTO>I;</TRANSFORMTO>
  28527. <EXPORTTO>0</EXPORTTO>
  28528. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28529. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28530. </TYPE>
  28531. <TYPE>
  28532. <NAME>BFILE</NAME>
  28533. <ID>190</ID>
  28534. <GUID>{B1BE0595-D545-4805-9655-26A6441EAA6D}</GUID>
  28535. <PHNAME>BFILE</PHNAME>
  28536. <LLENGTH>0</LLENGTH>
  28537. <LDECIMAL>0</LDECIMAL>
  28538. <MAXLENGTH>0</MAXLENGTH>
  28539. <MINLENGTH>0</MINLENGTH>
  28540. <MAXDECIMAL>0</MAXDECIMAL>
  28541. <MINDECIMAL>0</MINDECIMAL>
  28542. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28543. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28544. <TRANSFORMCODE>BFILE</TRANSFORMCODE>
  28545. <TRANSFORMTO>BFILE;</TRANSFORMTO>
  28546. <EXPORTTO>0</EXPORTTO>
  28547. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28548. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28549. </TYPE>
  28550. <TYPE>
  28551. <NAME>NChar</NAME>
  28552. <ID>200</ID>
  28553. <GUID>{8677C1C5-FEBC-420E-BD8E-3445D19E2E5D}</GUID>
  28554. <PHNAME>NChar</PHNAME>
  28555. <LLENGTH>1</LLENGTH>
  28556. <LDECIMAL>0</LDECIMAL>
  28557. <MAXLENGTH>2000</MAXLENGTH>
  28558. <MINLENGTH>1</MINLENGTH>
  28559. <MAXDECIMAL>0</MAXDECIMAL>
  28560. <MINDECIMAL>0</MINDECIMAL>
  28561. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  28562. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28563. <TRANSFORMCODE>NA</TRANSFORMCODE>
  28564. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  28565. <EXPORTTO>0</EXPORTTO>
  28566. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28567. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28568. </TYPE>
  28569. <TYPE>
  28570. <NAME>NVarchar2</NAME>
  28571. <ID>210</ID>
  28572. <GUID>{9F038E54-C55F-46BA-A66F-90BA58BE4038}</GUID>
  28573. <PHNAME>NVarchar2</PHNAME>
  28574. <LLENGTH>1</LLENGTH>
  28575. <LDECIMAL>0</LDECIMAL>
  28576. <MAXLENGTH>4000</MAXLENGTH>
  28577. <MINLENGTH>1</MINLENGTH>
  28578. <MAXDECIMAL>0</MAXDECIMAL>
  28579. <MINDECIMAL>0</MINDECIMAL>
  28580. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  28581. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28582. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  28583. <TRANSFORMTO>NVA;LVA;NA;A;LA;</TRANSFORMTO>
  28584. <EXPORTTO>0</EXPORTTO>
  28585. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28586. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28587. </TYPE>
  28588. <TYPE>
  28589. <NAME>Urowid</NAME>
  28590. <ID>220</ID>
  28591. <GUID>{53023397-2890-48F2-9DD3-5654C2BDA6ED}</GUID>
  28592. <PHNAME>Urowid</PHNAME>
  28593. <LLENGTH>1</LLENGTH>
  28594. <LDECIMAL>0</LDECIMAL>
  28595. <MAXLENGTH>4000</MAXLENGTH>
  28596. <MINLENGTH>0</MINLENGTH>
  28597. <MAXDECIMAL>0</MAXDECIMAL>
  28598. <MINDECIMAL>0</MINDECIMAL>
  28599. <DEFAULTLENGTH>4000</DEFAULTLENGTH>
  28600. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28601. <TRANSFORMCODE>URID</TRANSFORMCODE>
  28602. <TRANSFORMTO>URID;I;</TRANSFORMTO>
  28603. <EXPORTTO>0</EXPORTTO>
  28604. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28605. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28606. </TYPE>
  28607. <TYPE>
  28608. <NAME>Empty</NAME>
  28609. <ID>400</ID>
  28610. <GUID>{30D2D5B7-A163-42BA-96B6-900AAD854184}</GUID>
  28611. <PHNAME></PHNAME>
  28612. <LLENGTH>0</LLENGTH>
  28613. <LDECIMAL>0</LDECIMAL>
  28614. <MAXLENGTH>0</MAXLENGTH>
  28615. <MINLENGTH>0</MINLENGTH>
  28616. <MAXDECIMAL>0</MAXDECIMAL>
  28617. <MINDECIMAL>0</MINDECIMAL>
  28618. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  28619. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  28620. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  28621. <TRANSFORMTO>EMP;</TRANSFORMTO>
  28622. <EXPORTTO>0</EXPORTTO>
  28623. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  28624. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  28625. </TYPE>
  28626. </TYPELIST>
  28627. <TEXTOBJECTTYPES>
  28628. <TEXTOBJECTTYPE>
  28629. <NAME>Functions</NAME>
  28630. <ID>1</ID>
  28631. <GUID>{1760C0C3-E8EA-46AB-A17C-6647CACDA061}</GUID>
  28632. <TEXTOBJECTTYPE>10</TEXTOBJECTTYPE>
  28633. <DEFAULTNAME>Function%d"</DEFAULTNAME>
  28634. </TEXTOBJECTTYPE>
  28635. <TEXTOBJECTTYPE>
  28636. <NAME>Packages</NAME>
  28637. <ID>2</ID>
  28638. <GUID>{59152EEF-18B2-4F98-A6AF-0FADCAB613F9}</GUID>
  28639. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  28640. <DEFAULTNAME>Package%d</DEFAULTNAME>
  28641. </TEXTOBJECTTYPE>
  28642. <TEXTOBJECTTYPE>
  28643. <NAME>Package bodies</NAME>
  28644. <ID>3</ID>
  28645. <GUID>{649E3975-A338-477F-AE5E-40C1C186F82A}</GUID>
  28646. <TEXTOBJECTTYPE>21</TEXTOBJECTTYPE>
  28647. <DEFAULTNAME>Package_body%d</DEFAULTNAME>
  28648. </TEXTOBJECTTYPE>
  28649. <TEXTOBJECTTYPE>
  28650. <NAME>Object types</NAME>
  28651. <ID>4</ID>
  28652. <GUID>{6BB08311-6833-4540-9D9A-4D878E0FCC9D}</GUID>
  28653. <TEXTOBJECTTYPE>30</TEXTOBJECTTYPE>
  28654. <DEFAULTNAME>ObjectType%d</DEFAULTNAME>
  28655. </TEXTOBJECTTYPE>
  28656. <TEXTOBJECTTYPE>
  28657. <NAME>Object type bodies</NAME>
  28658. <ID>5</ID>
  28659. <GUID>{7BBED1D6-CB6E-4E17-A557-C543EDB446CA}</GUID>
  28660. <TEXTOBJECTTYPE>31</TEXTOBJECTTYPE>
  28661. <DEFAULTNAME>ObjectType_body%d</DEFAULTNAME>
  28662. </TEXTOBJECTTYPE>
  28663. <TEXTOBJECTTYPE>
  28664. <NAME>Sequences</NAME>
  28665. <ID>6</ID>
  28666. <GUID>{31ABD6FC-9273-4C37-80A4-A3D7E4C4A6AE}</GUID>
  28667. <TEXTOBJECTTYPE>40</TEXTOBJECTTYPE>
  28668. <DEFAULTNAME>Sequence%d</DEFAULTNAME>
  28669. </TEXTOBJECTTYPE>
  28670. <TEXTOBJECTTYPE>
  28671. <NAME>Synonyms</NAME>
  28672. <ID>7</ID>
  28673. <GUID>{FC52FE58-957E-420E-9EB6-FF179DB8ACC1}</GUID>
  28674. <TEXTOBJECTTYPE>50</TEXTOBJECTTYPE>
  28675. <DEFAULTNAME>Synonyms%d</DEFAULTNAME>
  28676. </TEXTOBJECTTYPE>
  28677. </TEXTOBJECTTYPES>
  28678. <DISABLED>0</DISABLED>
  28679. <MAXLENGTHTABLENAME>30</MAXLENGTHTABLENAME>
  28680. <MAXLENGTHCOLNAME>30</MAXLENGTHCOLNAME>
  28681. <MAXLENGTHINDEXNAME>30</MAXLENGTHINDEXNAME>
  28682. <DEFAULTCHAR>_</DEFAULTCHAR>
  28683. <INVALIDCHARACTERS>!"#$%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  28684. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  28685. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  28686. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  28687. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  28688. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28689. <KEYWORDS><![CDATA[]]></KEYWORDS>
  28690. </SERVER>
  28691. <SERVER>
  28692. <NAME>Oracle 9i</NAME>
  28693. <ID>200</ID>
  28694. <GUID>{8467D4AF-CC22-4651-A29F-06C72F6821B3}</GUID>
  28695. <TEMPLATES>
  28696. <TEMPLATE>
  28697. <NAME>CreateTable</NAME>
  28698. <ID>1</ID>
  28699. <GUID>{0457EB32-C1AA-41F5-938A-09D9DD40385A}</GUID>
  28700. <CAPTION></CAPTION>
  28701. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28702. <ENABLED>1</ENABLED>
  28703. <LEVEL>2</LEVEL>
  28704. <IDPARENT>0</IDPARENT>
  28705. <VALUE><![CDATA[cr+
  28706. "Create table "+macro(GenerateOwner)+"%qt%%tablename%%qt% ("+
  28707. forcol("", "", cr+tb+"%qt%%ColName%%qt% "+
  28708.  if(type="Timestamp with time zone","%typsql% with time zone",
  28709.  if(type="Timestamp with local time zone","%typsql% with local time zone",
  28710.  if(type="Interval year to month","%typsql% to month",
  28711.  if(type="Interval day to seconds","Interval day (%length%) to second (%decimal%)","%typsql%"))))+
  28712. if(defexist," %defvalue%", "")+
  28713. if(not Empty(UserDataType)," %qt%%UserDataType%%qt%", "")+
  28714. if(defaultexist," Default "+defaultvalue  ,"")+
  28715. if(lNotNullAsConstraint and (not Empty(ConstraintNotNullName)) and notnull," Constraint %qt%%ConstraintNotNullName%%qt%","")+
  28716. if(notnull," NOT NULL "+if(lNotNullDeferrable,"DEFERRABLE ","")+if(lNotNullDeferred,"INITIALLY DEFERRED ",""), "")+
  28717. if(UniqueAtr,if(lUniqueAsConstraint and (not Empty(ConstraintAtrUnique))," Constraint %qt%%ConstraintAtrUnique%%qt%","")+" UNIQUE "+if(lUniqueAkDeferrable,"DEFERRABLE ","")+if(lUniqueAkDeferred,"INITIALLY DEFERRED ","")+if(not Empty(UniqueAkTablespace),"USING INDEX TABLESPACE %qt%%UniqueAkTablespace%%qt%",""), "")+
  28718. if(lCheckAsConstraint and constraintExist and CheckExist, " Constraint %qt%%constraint%%qt%","")+
  28719. if(CheckExist," Check ("+ evalcheck+" ) "+if(lCheckDeferrable,"DEFERRABLE ","")+if(lCheckDeferred,"INITIALLY DEFERRED ",""),"")+
  28720. if(def2exist," %def2value%", "") , ",", "")+
  28721. ") "+
  28722. if(not Empty(TableTablespace),cr+"TABLESPACE %qt%%TableTablespace%%qt%","")+
  28723. if(not Empty(TableStorage),cr+TableStorage,"")+
  28724. cr+term+cr+
  28725. showmessage("Table %tablename%")
  28726. ]]></VALUE>
  28727. <LANGUAGE>0</LANGUAGE>
  28728. <LANGUAGEWIN>---</LANGUAGEWIN>
  28729. <CATEGORY>2</CATEGORY>
  28730. <MAINSCRIPT>0</MAINSCRIPT>
  28731. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28732. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28733. <AUTHOR></AUTHOR>
  28734. <COMPANY></COMPANY>
  28735. <VERSION></VERSION>
  28736. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28737. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28738. </TEMPLATE>
  28739. <TEMPLATE>
  28740. <NAME>CreateIndex</NAME>
  28741. <ID>2</ID>
  28742. <GUID>{20D50068-17FF-409B-BBBC-B490FCB6A887}</GUID>
  28743. <CAPTION></CAPTION>
  28744. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28745. <ENABLED>1</ENABLED>
  28746. <LEVEL>2</LEVEL>
  28747. <IDPARENT>0</IDPARENT>
  28748. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  28749. +"Index "+macro(GenerateIndexOwner)+"%qt%%Indexname%%qt% ON "+macro(GenerateOwner)+"%qt%%tablename%%qt% ("
  28750. +if(NOT(Index.ExprType),
  28751. ForIndexCol("","",qt+colname+qt+if(IndexColDesc," Desc",""),",",""),
  28752. IndexExpr)+") "
  28753. +if(not Empty(IndexTablespace),cr+"TABLESPACE %qt%%IndexTablespace%%qt%","")
  28754. +if(not Empty(IndexStorage),cr+IndexStorage,"")
  28755. +cr+term+cr
  28756. +ShowMessage("Index %Indexname% for table %tablename%")
  28757. ]]></VALUE>
  28758. <LANGUAGE>0</LANGUAGE>
  28759. <LANGUAGEWIN>---</LANGUAGEWIN>
  28760. <CATEGORY>2</CATEGORY>
  28761. <MAINSCRIPT>0</MAINSCRIPT>
  28762. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28763. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28764. <AUTHOR></AUTHOR>
  28765. <COMPANY></COMPANY>
  28766. <VERSION></VERSION>
  28767. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28768. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28769. </TEMPLATE>
  28770. <TEMPLATE>
  28771. <NAME>CreateTriggerUpdate</NAME>
  28772. <ID>3</ID>
  28773. <GUID>{B5F375BD-67F7-498D-A072-B0883AE18299}</GUID>
  28774. <CAPTION></CAPTION>
  28775. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28776. <ENABLED>1</ENABLED>
  28777. <LEVEL>2</LEVEL>
  28778. <IDPARENT>0</IDPARENT>
  28779. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  28780. -- Update trigger for %tablename%
  28781.  
  28782. Create Trigger @macro(GenerateOwner)%qt%tu_%tablename%%qt% after update   
  28783. of @forPFkCol("", "", qt+colname+qt, ",", "" )
  28784. on  @macro(GenerateOwner)%qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  28785. referencing new as new_upd old as old_upd for each row
  28786. declare numrows integer;
  28787. begin
  28788.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  28789.      @forparent("", "", template(triggerchildupdate), "", "" )
  28790. end;
  28791. %term%
  28792. ]]></VALUE>
  28793. <LANGUAGE>0</LANGUAGE>
  28794. <LANGUAGEWIN>---</LANGUAGEWIN>
  28795. <CATEGORY>2</CATEGORY>
  28796. <MAINSCRIPT>0</MAINSCRIPT>
  28797. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28798. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28799. <AUTHOR></AUTHOR>
  28800. <COMPANY></COMPANY>
  28801. <VERSION></VERSION>
  28802. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28803. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28804. </TEMPLATE>
  28805. <TEMPLATE>
  28806. <NAME>CreateTriggerInsert</NAME>
  28807. <ID>4</ID>
  28808. <GUID>{1AD48993-9F0F-4B0C-AF8C-09CDC021D0C9}</GUID>
  28809. <CAPTION></CAPTION>
  28810. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28811. <ENABLED>1</ENABLED>
  28812. <LEVEL>2</LEVEL>
  28813. <IDPARENT>0</IDPARENT>
  28814. <VALUE><![CDATA[{lEntChildInsTrig  }
  28815. -- Insert trigger for %tablename%
  28816.  
  28817. Create Trigger @macro(GenerateOwner)%qt%ti_%tablename%%qt% after insert
  28818. on @macro(GenerateOwner)%qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  28819.  
  28820. referencing new as new_ins for each row
  28821. declare numrows integer;
  28822. begin
  28823. @forparent("", "", template(TriggerParentInsert), "", "")
  28824. end;
  28825. %term%
  28826. ]]></VALUE>
  28827. <LANGUAGE>0</LANGUAGE>
  28828. <LANGUAGEWIN>---</LANGUAGEWIN>
  28829. <CATEGORY>2</CATEGORY>
  28830. <MAINSCRIPT>0</MAINSCRIPT>
  28831. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28832. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28833. <AUTHOR></AUTHOR>
  28834. <COMPANY></COMPANY>
  28835. <VERSION></VERSION>
  28836. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28837. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28838. </TEMPLATE>
  28839. <TEMPLATE>
  28840. <NAME>CreateTriggerDelete</NAME>
  28841. <ID>5</ID>
  28842. <GUID>{FC87EBEF-17C8-4E21-8F72-67D4ECD7817C}</GUID>
  28843. <CAPTION></CAPTION>
  28844. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28845. <ENABLED>1</ENABLED>
  28846. <LEVEL>2</LEVEL>
  28847. <IDPARENT>0</IDPARENT>
  28848. <VALUE><![CDATA[{lEntParDelTrig}
  28849. -- Insert trigger for %tablename%
  28850.  
  28851. Create Trigger @macro(GenerateOwner)%qt%td_%tablename%%qt% after delete 
  28852. on @macro(GenerateOwner)%qt%%tablename%%qt% @showmessage("Trigger for %tablename% ")
  28853.  
  28854. referencing old as old_del for each row
  28855. declare numrows integer;
  28856. begin
  28857. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  28858. end;
  28859. %term%
  28860. ]]></VALUE>
  28861. <LANGUAGE>0</LANGUAGE>
  28862. <LANGUAGEWIN>---</LANGUAGEWIN>
  28863. <CATEGORY>2</CATEGORY>
  28864. <MAINSCRIPT>0</MAINSCRIPT>
  28865. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28866. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28867. <AUTHOR></AUTHOR>
  28868. <COMPANY></COMPANY>
  28869. <VERSION></VERSION>
  28870. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28871. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28872. </TEMPLATE>
  28873. <TEMPLATE>
  28874. <NAME>TriggerParentUpdate</NAME>
  28875. <ID>6</ID>
  28876. <GUID>{D335759F-01C9-435B-AA92-687AFCF7DFCA}</GUID>
  28877. <CAPTION></CAPTION>
  28878. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28879. <ENABLED>1</ENABLED>
  28880. <LEVEL>2</LEVEL>
  28881. <IDPARENT>0</IDPARENT>
  28882. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  28883. -- cascade child %childtablename% update when parent %parenttablename% changed
  28884. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  28885.     begin
  28886.     update @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28887.     set @ForRelPk( tb , tb , "%qt%%PkChildName%%qt% = :new_upd.%qt%%PkParentName%%qt%" , ",%cr%" , "")
  28888.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND %cr%", "") ;
  28889.     end;
  28890. end if;
  28891.  
  28892. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  28893. -- cascade setnull when parent changed
  28894. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  28895.     begin
  28896.     update @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28897.     set @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = NULL" , ",%cr%" , "")
  28898.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  28899.     end;
  28900. end if;
  28901.  
  28902. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  28903. -- cascade setdefault when parent changed
  28904. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  28905.     begin
  28906.     update @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28907.     set @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  28908.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  28909.     end;
  28910. end if;
  28911.  
  28912. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  28913. -- Restrict child %childtablename%, when parent %parenttablename% changed
  28914. if @forrelpk( "(", tb , ":old_upd.%qt%%PkParentName%%qt% != :new_upd.%qt%%PkParentName%%qt%", " OR %cr%", ") " ) then
  28915.     begin
  28916.     select count( * ) 
  28917.     into numrows
  28918.     from @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28919.     where     @forrelpk( "", "", macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_upd.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  28920.  
  28921.     if ( numrows > 0 ) then
  28922.         begin
  28923.         RAISE_APPLICATION_ERROR(-20001,'Children still exist in child table.');
  28924.         end;
  28925.     end if;
  28926.     end;
  28927. end if;
  28928. ]]></VALUE>
  28929. <LANGUAGE>0</LANGUAGE>
  28930. <LANGUAGEWIN>---</LANGUAGEWIN>
  28931. <CATEGORY>2</CATEGORY>
  28932. <MAINSCRIPT>0</MAINSCRIPT>
  28933. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28934. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28935. <AUTHOR></AUTHOR>
  28936. <COMPANY></COMPANY>
  28937. <VERSION></VERSION>
  28938. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28939. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28940. </TEMPLATE>
  28941. <TEMPLATE>
  28942. <NAME>TriggerChildUpdate</NAME>
  28943. <ID>7</ID>
  28944. <GUID>{03B62656-C6E9-4056-A790-A4EAB21C250C}</GUID>
  28945. <CAPTION></CAPTION>
  28946. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28947. <ENABLED>1</ENABLED>
  28948. <LEVEL>2</LEVEL>
  28949. <IDPARENT>0</IDPARENT>
  28950. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  28951. -- restrict parent %ParentTableName% when child %ChildTableName% updated
  28952. if @forrelpk( "", "", ":new_upd.%qt%%PkChildName%%qt% !=  :old_upd.%qt%%PkChildName%%qt%", " OR "+cr+tb+tb, "" ) then
  28953.     begin
  28954.     select count( * ) 
  28955.     into numrows
  28956.     from @macro(ParentTableOwner)%qt%%ParentTableName%%qt%
  28957.     where     @forrelpk( "", "", ":new_upd.%qt%%PkChildName%%qt% = "+macro(ParentTableOwner)+"%qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  28958.     if ( numrows = 0 ) then
  28959.         begin
  28960.         RAISE_APPLICATION_ERROR(-20002,'Parent does not exist. Cannot update child.');
  28961.         end;
  28962.     end if;
  28963.     end;
  28964. end if;
  28965. ]]></VALUE>
  28966. <LANGUAGE>0</LANGUAGE>
  28967. <LANGUAGEWIN>---</LANGUAGEWIN>
  28968. <CATEGORY>2</CATEGORY>
  28969. <MAINSCRIPT>0</MAINSCRIPT>
  28970. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  28971. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  28972. <AUTHOR></AUTHOR>
  28973. <COMPANY></COMPANY>
  28974. <VERSION></VERSION>
  28975. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  28976. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  28977. </TEMPLATE>
  28978. <TEMPLATE>
  28979. <NAME>TriggerParentDelete</NAME>
  28980. <ID>8</ID>
  28981. <GUID>{0D0CF81A-73E5-44C5-8CEE-785C4FDA1990}</GUID>
  28982. <CAPTION></CAPTION>
  28983. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  28984. <ENABLED>1</ENABLED>
  28985. <LEVEL>2</LEVEL>
  28986. <IDPARENT>0</IDPARENT>
  28987. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  28988. -- cascade child %childtablename% delete when parent %parenttablename% deleted
  28989.  
  28990.     delete from @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28991.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND %cr%", "");
  28992.  
  28993.  
  28994. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  28995. -- cascade setnull when parent deleted
  28996.  
  28997.     update @macro(ChildTableOwner)%qt%%childtablename%%qt%
  28998.     set @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = NULL" , ",%cr%" , "")
  28999.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  29000.  
  29001.  
  29002. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  29003. -- cascade setdefault when parent deleted
  29004.  
  29005.     update @macro(ChildTableOwner)%qt%%childtablename%%qt%
  29006.     set @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = %PkChildDefaultValue%" , ",%cr%" , "")
  29007.     where @ForRelPk( tb , tb+tb , macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% = :old_del.%qt%%PkParentName%%qt%" , " AND "+cr, "");
  29008.  
  29009.  
  29010.  
  29011. {ParDelRestrict and (not lParDelRestDekl)} 
  29012. -- Restrict child %childtablename%, when parent %parenttablename% deleted
  29013.  
  29014.     select count( * ) 
  29015.     into numrows
  29016.     from @macro(ChildTableOwner)%qt%%childtablename%%qt%
  29017.     where     @forrelpk( "", "", macro(ChildTableOwner)+"%qt%%childtablename%%qt%.%qt%%PkChildName%%qt% =  :old_del.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  29018.     
  29019.     IF ( numrows > 0 ) then
  29020.         begin
  29021.         RAISE_APPLICATION_ERROR(-20003,'Children still exist in child table. Cannot delete parent');
  29022.         end;
  29023.     end if;
  29024. ]]></VALUE>
  29025. <LANGUAGE>0</LANGUAGE>
  29026. <LANGUAGEWIN>---</LANGUAGEWIN>
  29027. <CATEGORY>2</CATEGORY>
  29028. <MAINSCRIPT>0</MAINSCRIPT>
  29029. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29030. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29031. <AUTHOR></AUTHOR>
  29032. <COMPANY></COMPANY>
  29033. <VERSION></VERSION>
  29034. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29035. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29036. </TEMPLATE>
  29037. <TEMPLATE>
  29038. <NAME>TriggerParentInsert</NAME>
  29039. <ID>9</ID>
  29040. <GUID>{D883B5FF-4A05-4B11-872C-8661225E650A}</GUID>
  29041. <CAPTION></CAPTION>
  29042. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29043. <ENABLED>1</ENABLED>
  29044. <LEVEL>2</LEVEL>
  29045. <IDPARENT>0</IDPARENT>
  29046. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  29047. -- restrict child %childtablename% when parent %parenttablename% insert
  29048.  
  29049. if @forrelpk( "(", tb, ":new_ins.%qt%%pkchildname%%qt% is not null", " AND %cr%", ")" ) then
  29050.      begin
  29051.     select count( * ) 
  29052.     into numrows
  29053.     from @macro(ParentTableOwner)%qt%%ParentTableName%%qt%
  29054.     where     @forrelpk( "", "", ":new_ins.%qt%%PkChildName%%qt% = "+macro(ParentTableOwner)+"%qt%%parenttablename%%qt%.%qt%%PkParentName%%qt%", " AND "+cr+tb+tb, "" );
  29055.     
  29056.     IF ( numrows = 0 ) then
  29057.         begin
  29058.         RAISE_APPLICATION_ERROR(-20004,'Parent does not exist. Cannot insert child.');
  29059.         end;
  29060.     end if;
  29061.     end;
  29062. end if;
  29063. ]]></VALUE>
  29064. <LANGUAGE>0</LANGUAGE>
  29065. <LANGUAGEWIN>---</LANGUAGEWIN>
  29066. <CATEGORY>2</CATEGORY>
  29067. <MAINSCRIPT>0</MAINSCRIPT>
  29068. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29069. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29070. <AUTHOR></AUTHOR>
  29071. <COMPANY></COMPANY>
  29072. <VERSION></VERSION>
  29073. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29074. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29075. </TEMPLATE>
  29076. <TEMPLATE>
  29077. <NAME>RefIntegrity</NAME>
  29078. <ID>10</ID>
  29079. <GUID>{BB5B3D40-D9F0-49B9-A4FA-002C475BBB20}</GUID>
  29080. <CAPTION></CAPTION>
  29081. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29082. <ENABLED>1</ENABLED>
  29083. <LEVEL>2</LEVEL>
  29084. <IDPARENT>0</IDPARENT>
  29085. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  29086. Alter table @if(lGenerOwner,ScriptProc(GenerateParentOwner,Main,Relation),"")%qt%%childtablename%%qt% add @if(lFkAsConstraint and (not empty(fRelName)),"Constraint %qt%%frelname%%qt%","") foreign key (@ForRelPk("","",qt+PkChildName+qt,",","")) references @macro(GenerateOwner)%qt%%parenttablename%%qt% (@ForRelPk("","",qt+PkParentName+qt,",","")) @macro(RefIntegrity2)%cr%%term%
  29087. ]]></VALUE>
  29088. <LANGUAGE>0</LANGUAGE>
  29089. <LANGUAGEWIN>---</LANGUAGEWIN>
  29090. <CATEGORY>2</CATEGORY>
  29091. <MAINSCRIPT>0</MAINSCRIPT>
  29092. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29093. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29094. <AUTHOR></AUTHOR>
  29095. <COMPANY></COMPANY>
  29096. <VERSION></VERSION>
  29097. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29098. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29099. </TEMPLATE>
  29100. <TEMPLATE>
  29101. <NAME>RefIntegrity2</NAME>
  29102. <ID>11</ID>
  29103. <GUID>{51694BCF-8EA6-477D-A84B-6B3B72B62E76}</GUID>
  29104. <CAPTION></CAPTION>
  29105. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29106. <ENABLED>1</ENABLED>
  29107. <LEVEL>2</LEVEL>
  29108. <IDPARENT>0</IDPARENT>
  29109. <VALUE><![CDATA[if(lRelParDelCascDekl , " on delete cascade" , "")+
  29110. if(lRelParDelSetNULLDekl , " on delete set null" , "")+
  29111. if(lRefIntDeferrable," DEFERRABLE","")+if(lRefIntDeferred," INITIALLY DEFERRED","")
  29112. ]]></VALUE>
  29113. <LANGUAGE>0</LANGUAGE>
  29114. <LANGUAGEWIN>---</LANGUAGEWIN>
  29115. <CATEGORY>2</CATEGORY>
  29116. <MAINSCRIPT>0</MAINSCRIPT>
  29117. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29118. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29119. <AUTHOR></AUTHOR>
  29120. <COMPANY></COMPANY>
  29121. <VERSION></VERSION>
  29122. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29123. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29124. </TEMPLATE>
  29125. <TEMPLATE>
  29126. <NAME>DropIndexs</NAME>
  29127. <ID>12</ID>
  29128. <GUID>{85976967-B990-4E2B-B92A-8E623F1F19E7}</GUID>
  29129. <CAPTION></CAPTION>
  29130. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29131. <ENABLED>1</ENABLED>
  29132. <LEVEL>2</LEVEL>
  29133. <IDPARENT>0</IDPARENT>
  29134. <VALUE><![CDATA[@ForTableR("","",forindex("", "", "Drop index "+macro(GenerateIndexOwner)+"%qt%%indexname%%qt%%cr%%term%%cr%", "", "" ),"","")
  29135. ]]></VALUE>
  29136. <LANGUAGE>0</LANGUAGE>
  29137. <LANGUAGEWIN>---</LANGUAGEWIN>
  29138. <CATEGORY>2</CATEGORY>
  29139. <MAINSCRIPT>0</MAINSCRIPT>
  29140. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29141. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29142. <AUTHOR></AUTHOR>
  29143. <COMPANY></COMPANY>
  29144. <VERSION></VERSION>
  29145. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29146. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29147. </TEMPLATE>
  29148. <TEMPLATE>
  29149. <NAME>DropTables</NAME>
  29150. <ID>13</ID>
  29151. <GUID>{4EED4668-0B0E-4ADE-AFC0-3620A68E32F4}</GUID>
  29152. <CAPTION></CAPTION>
  29153. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29154. <ENABLED>1</ENABLED>
  29155. <LEVEL>2</LEVEL>
  29156. <IDPARENT>0</IDPARENT>
  29157. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table "+macro(GenerateOwner)+"%qt%%tablename%%qt%%cr%%term%%cr%", "", "" )
  29158. ]]></VALUE>
  29159. <LANGUAGE>0</LANGUAGE>
  29160. <LANGUAGEWIN>---</LANGUAGEWIN>
  29161. <CATEGORY>2</CATEGORY>
  29162. <MAINSCRIPT>0</MAINSCRIPT>
  29163. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29164. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29165. <AUTHOR></AUTHOR>
  29166. <COMPANY></COMPANY>
  29167. <VERSION></VERSION>
  29168. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29169. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29170. </TEMPLATE>
  29171. <TEMPLATE>
  29172. <NAME>DropTriggerUpdate</NAME>
  29173. <ID>14</ID>
  29174. <GUID>{A6EA51A0-4435-40B1-B25A-AD0343E2F128}</GUID>
  29175. <CAPTION></CAPTION>
  29176. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29177. <ENABLED>1</ENABLED>
  29178. <LEVEL>2</LEVEL>
  29179. <IDPARENT>0</IDPARENT>
  29180. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  29181. Drop trigger @macro(GenerateOwner)%qt%tu_%tablename%%qt%%cr%%term%
  29182. ]]></VALUE>
  29183. <LANGUAGE>0</LANGUAGE>
  29184. <LANGUAGEWIN>---</LANGUAGEWIN>
  29185. <CATEGORY>2</CATEGORY>
  29186. <MAINSCRIPT>0</MAINSCRIPT>
  29187. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29188. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29189. <AUTHOR></AUTHOR>
  29190. <COMPANY></COMPANY>
  29191. <VERSION></VERSION>
  29192. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29193. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29194. </TEMPLATE>
  29195. <TEMPLATE>
  29196. <NAME>DropTriggerDelete</NAME>
  29197. <ID>15</ID>
  29198. <GUID>{DB6B3AD8-BC4A-46E1-85A8-E4FCE79CFC23}</GUID>
  29199. <CAPTION></CAPTION>
  29200. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29201. <ENABLED>1</ENABLED>
  29202. <LEVEL>2</LEVEL>
  29203. <IDPARENT>0</IDPARENT>
  29204. <VALUE><![CDATA[{lEntParDelTrig}
  29205. Drop trigger @macro(GenerateOwner)%qt%td_%tablename%%qt%%cr%%term%
  29206. ]]></VALUE>
  29207. <LANGUAGE>0</LANGUAGE>
  29208. <LANGUAGEWIN>---</LANGUAGEWIN>
  29209. <CATEGORY>2</CATEGORY>
  29210. <MAINSCRIPT>0</MAINSCRIPT>
  29211. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29212. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29213. <AUTHOR></AUTHOR>
  29214. <COMPANY></COMPANY>
  29215. <VERSION></VERSION>
  29216. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29217. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29218. </TEMPLATE>
  29219. <TEMPLATE>
  29220. <NAME>DropTriggerInsert</NAME>
  29221. <ID>16</ID>
  29222. <GUID>{B49E67E1-D653-401A-8381-9073A81D72CE}</GUID>
  29223. <CAPTION></CAPTION>
  29224. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29225. <ENABLED>1</ENABLED>
  29226. <LEVEL>2</LEVEL>
  29227. <IDPARENT>0</IDPARENT>
  29228. <VALUE><![CDATA[{lEntChildInsTrig  }
  29229. Drop trigger @macro(GenerateOwner)%qt%ti_%tablename%%qt%%cr%%term%
  29230. ]]></VALUE>
  29231. <LANGUAGE>0</LANGUAGE>
  29232. <LANGUAGEWIN>---</LANGUAGEWIN>
  29233. <CATEGORY>2</CATEGORY>
  29234. <MAINSCRIPT>0</MAINSCRIPT>
  29235. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29236. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29237. <AUTHOR></AUTHOR>
  29238. <COMPANY></COMPANY>
  29239. <VERSION></VERSION>
  29240. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29241. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29242. </TEMPLATE>
  29243. <TEMPLATE>
  29244. <NAME>CreateAlterKey</NAME>
  29245. <ID>17</ID>
  29246. <GUID>{CA4D162A-7590-49D8-9DF0-44A5531FFD6C}</GUID>
  29247. <CAPTION></CAPTION>
  29248. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29249. <ENABLED>1</ENABLED>
  29250. <LEVEL>2</LEVEL>
  29251. <IDPARENT>0</IDPARENT>
  29252. <VALUE><![CDATA[@ForAlterKey("","","Alter table "+macro(GenerateOwner)+"%qt%%tablename%%qt% add constraint %qt%%AlterKeyConstraintName%%qt% unique ("+ForAlterKeyCol("","",qt+ColName+qt,",","")+")"+cr+tb+if(lUniqueAkDeferrable,"DEFERRABLE ","")+if(lUniqueAkDeferred,"INITIALLY DEFERRED ","")+if(not Empty(UniqueAkTablespace),"USING INDEX TABLESPACE "+qt+UniqueAkTablespace+qt+cr,"")+term+cr,"","")
  29253. ]]></VALUE>
  29254. <LANGUAGE>0</LANGUAGE>
  29255. <LANGUAGEWIN>---</LANGUAGEWIN>
  29256. <CATEGORY>2</CATEGORY>
  29257. <MAINSCRIPT>0</MAINSCRIPT>
  29258. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29259. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29260. <AUTHOR></AUTHOR>
  29261. <COMPANY></COMPANY>
  29262. <VERSION></VERSION>
  29263. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29264. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29265. </TEMPLATE>
  29266. <TEMPLATE>
  29267. <NAME>DropRefIntegrity</NAME>
  29268. <ID>18</ID>
  29269. <GUID>{8065943E-50F4-45A3-94F9-F7E64B3C2437}</GUID>
  29270. <CAPTION></CAPTION>
  29271. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29272. <ENABLED>1</ENABLED>
  29273. <LEVEL>2</LEVEL>
  29274. <IDPARENT>0</IDPARENT>
  29275. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  29276. Alter table @if(lGenerOwner,ScriptProc(GenerateParentOwner,Main,Relation),"")%qt%%childtablename%%qt% drop constraint %qt%%frelname%%qt%%cr%%term%
  29277. ]]></VALUE>
  29278. <LANGUAGE>0</LANGUAGE>
  29279. <LANGUAGEWIN>---</LANGUAGEWIN>
  29280. <CATEGORY>2</CATEGORY>
  29281. <MAINSCRIPT>0</MAINSCRIPT>
  29282. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29283. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29284. <AUTHOR></AUTHOR>
  29285. <COMPANY></COMPANY>
  29286. <VERSION></VERSION>
  29287. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29288. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29289. </TEMPLATE>
  29290. <TEMPLATE>
  29291. <NAME>CreateTableComments</NAME>
  29292. <ID>19</ID>
  29293. <GUID>{6287A8E5-F830-4DB4-A683-F331EFB30CD4}</GUID>
  29294. <CAPTION></CAPTION>
  29295. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29296. <ENABLED>1</ENABLED>
  29297. <LEVEL>2</LEVEL>
  29298. <IDPARENT>0</IDPARENT>
  29299. <VALUE><![CDATA[function Main()
  29300. {
  29301. var e, Entity;
  29302. var re = /'/g;
  29303. var qt = Model.GetUserVariable('qt');
  29304.  
  29305. TextStream.Clear();
  29306.  
  29307. for (e=0; e<Model.CountEntities; e++)
  29308.     {
  29309.     Entity = Model.Entities(e);
  29310.     owner = Entity.GetUserVariable('Owner');
  29311.     
  29312.     if ( Entity.Generate && Entity.Description != '' )
  29313.         if ((owner=='') || ( Model.GetUserVariable('lGenerOwner')==0))
  29314.            TextStream.Writeln( 'Comment on table '+qt+Entity.TableName+qt+" is '"+Entity.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  29315.         else
  29316.             TextStream.Writeln( 'Comment on table '+qt+owner+qt+'.'+qt+Entity.TableName+qt+" is '"+Entity.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  29317.     };    
  29318.  
  29319. return( TextStream.Text );
  29320. };
  29321. ]]></VALUE>
  29322. <LANGUAGE>1</LANGUAGE>
  29323. <LANGUAGEWIN>---</LANGUAGEWIN>
  29324. <CATEGORY>2</CATEGORY>
  29325. <MAINSCRIPT>0</MAINSCRIPT>
  29326. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29327. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29328. <AUTHOR></AUTHOR>
  29329. <COMPANY></COMPANY>
  29330. <VERSION></VERSION>
  29331. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29332. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29333. </TEMPLATE>
  29334. <TEMPLATE>
  29335. <NAME>CreateAttrComments</NAME>
  29336. <ID>20</ID>
  29337. <GUID>{C4FE9B70-3774-4D6B-B4F0-2852B5A417B5}</GUID>
  29338. <CAPTION></CAPTION>
  29339. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29340. <ENABLED>1</ENABLED>
  29341. <LEVEL>2</LEVEL>
  29342. <IDPARENT>0</IDPARENT>
  29343. <VALUE><![CDATA[function Main()
  29344. {
  29345. var e, a;
  29346. var Entity, Attribute;
  29347. var re = /'/g;
  29348. var qt = Model.GetUserVariable('qt');
  29349.  
  29350. TextStream.Clear();
  29351.  
  29352. for (e=0; e<Model.CountEntities; e++)
  29353.     {
  29354.     Entity = Model.Entities(e);
  29355.     owner = Entity.GetUserVariable('Owner');
  29356.     
  29357.     if ( Entity.Generate )
  29358.         for (a=0; a<Entity.CountAttributes; a++)
  29359.             {
  29360.             Attribute = Entity.Attributes(a);
  29361.             if (Attribute.Description != '')
  29362.                 if ((owner=='') || ( Model.GetUserVariable('lGenerOwner')==0))
  29363.                     TextStream.Writeln( 'Comment on column '+qt+Entity.TableName+qt+'.'+
  29364.                                      qt+Attribute.ColName+qt +" is '"+Attribute.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  29365.                else
  29366.                     TextStream.Writeln( 'Comment on column '+qt+owner+qt+'.'+qt+Entity.TableName+qt+'.'+
  29367.                                      qt+Attribute.ColName+qt +" is '"+Attribute.Description.replace(re,"''")+"'\n" + Model.GetUserVariable('term') );
  29368.             };//terminator
  29369.     };    
  29370.  
  29371. return( TextStream.Text );
  29372. };
  29373. ]]></VALUE>
  29374. <LANGUAGE>1</LANGUAGE>
  29375. <LANGUAGEWIN>---</LANGUAGEWIN>
  29376. <CATEGORY>2</CATEGORY>
  29377. <MAINSCRIPT>0</MAINSCRIPT>
  29378. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29379. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29380. <AUTHOR></AUTHOR>
  29381. <COMPANY></COMPANY>
  29382. <VERSION></VERSION>
  29383. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29384. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29385. </TEMPLATE>
  29386. <TEMPLATE>
  29387. <NAME>CreatePKs</NAME>
  29388. <ID>21</ID>
  29389. <GUID>{C00FFAD4-D35D-4F37-BBA7-CE95FEFA59D7}</GUID>
  29390. <CAPTION></CAPTION>
  29391. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29392. <ENABLED>1</ENABLED>
  29393. <LEVEL>2</LEVEL>
  29394. <IDPARENT>0</IDPARENT>
  29395. <VALUE><![CDATA[@ForTable("", "", if(ExistPk,macro(createPK),""), "", "" )
  29396. ]]></VALUE>
  29397. <LANGUAGE>0</LANGUAGE>
  29398. <LANGUAGEWIN>---</LANGUAGEWIN>
  29399. <CATEGORY>2</CATEGORY>
  29400. <MAINSCRIPT>0</MAINSCRIPT>
  29401. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29402. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29403. <AUTHOR></AUTHOR>
  29404. <COMPANY></COMPANY>
  29405. <VERSION></VERSION>
  29406. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29407. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29408. </TEMPLATE>
  29409. <TEMPLATE>
  29410. <NAME>CreatePK</NAME>
  29411. <ID>22</ID>
  29412. <GUID>{B02103EE-5D6A-4741-8B57-FAF6AFFCC05F}</GUID>
  29413. <CAPTION></CAPTION>
  29414. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29415. <ENABLED>1</ENABLED>
  29416. <LEVEL>2</LEVEL>
  29417. <IDPARENT>0</IDPARENT>
  29418. <VALUE><![CDATA["Alter table "+macro(GenerateOwner)+qt+TableName+qt+" add "+
  29419. if(lPkAsConstraint and (not Empty(ConstraintPkName))," constraint %qt%%ConstraintPkName%%qt% ","")+
  29420. "primary key ("+forpkcol("", "", qt+ColName+qt, ",", ") "+
  29421. if(lPkDeferrable,"DEFERRABLE ","")+if(lPkDeferred,"INITIALLY DEFERRED ","")+cr+
  29422. if(not Empty(PkTablespace),tb+"USING INDEX TABLESPACE "+qt+PkTablespace+qt+cr,"")+term+cr)
  29423. ]]></VALUE>
  29424. <LANGUAGE>0</LANGUAGE>
  29425. <LANGUAGEWIN>---</LANGUAGEWIN>
  29426. <CATEGORY>2</CATEGORY>
  29427. <MAINSCRIPT>0</MAINSCRIPT>
  29428. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29429. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29430. <AUTHOR></AUTHOR>
  29431. <COMPANY></COMPANY>
  29432. <VERSION></VERSION>
  29433. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29434. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29435. </TEMPLATE>
  29436. <TEMPLATE>
  29437. <NAME>CreateDatabase</NAME>
  29438. <ID>23</ID>
  29439. <GUID>{66D244B3-C651-4FFD-B092-6D1C3C6B759E}</GUID>
  29440. <CAPTION></CAPTION>
  29441. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29442. <ENABLED>1</ENABLED>
  29443. <LEVEL>2</LEVEL>
  29444. <IDPARENT>0</IDPARENT>
  29445. <VALUE><![CDATA[/*
  29446. Created        %createddate%
  29447. Modified        %modifieddate%
  29448. Project        %projectname%
  29449. Model        %modelname%
  29450. Company        %company%
  29451. Author        %authorname%
  29452. Version        %version%
  29453. Database        %databasetype% 
  29454. */
  29455.  
  29456. @Script(SetQuotes)
  29457. {lbeforescript}
  29458. %beforescript%
  29459. {lDropPack}
  29460. @showmessage("Drop Packages and Package Bodies")
  29461. @template(DropPackageBodies)
  29462. @template(DropPackages)
  29463. {lDropSynonyms}
  29464. @showmessage("Drop Synonyms")
  29465. @template(DropSynonyms)
  29466. {lDropSequences}
  29467. @showmessage("Drop Sequences")
  29468. @template(DropSequences)
  29469. {ldroptriggerGener}
  29470. @showmessage("Drop triggers")
  29471. @template(droptriggers)
  29472. {lDropTriggersListGener}
  29473. @template(DropTriggersList)
  29474. {lDropProceduresGener}
  29475. @template(DropProcedures)
  29476. {lDropFunctionsGener}
  29477. @template(DropFunctions)
  29478. {lDropViewsGener}
  29479. @template(DropViews)
  29480. {lDropIndexGener}
  29481. @template(DropIndexs)
  29482. {lDropTableGener}
  29483. @showmessage("Drop tables")
  29484. @template(DropRefIntegritys)
  29485. @template(droptables)
  29486. {lDropTypes}
  29487. @showmessage("Drop domains and domain bodies")
  29488. @template(DropDomainBodies)
  29489. @template(DropDomains)
  29490. {lGenTypes}
  29491. @showmessage("Create domains and domain bodies")
  29492. @template(CreateDomains)
  29493. @template(CreateDomainBodies)
  29494. {lTableGener}
  29495. @showmessage("Create tables")
  29496. @template(createtables)
  29497. {lPkGener}
  29498. @showmessage("Create primary keys")
  29499. @template(createPKs)
  29500. {lAlterKeysGener}
  29501. @template(CreateAlterKeys)
  29502. {lIndexGener}
  29503. @showmessage("Create indexes")
  29504. @template(createindexs)
  29505. {lRefIntegGener}
  29506. @template(refintegritys)
  29507. {lProceduresGener}
  29508. @template(CreateProcedures)
  29509. {lFunctionsGener}
  29510. @template(CreateFunctions)
  29511. {lViewsGener}
  29512. @template(CreateViews)
  29513. {lTriggersGener}
  29514. @template(createtriggers)
  29515. {lTriggersUserGener}
  29516. @template(CreateTriggersList)
  29517. {lGenPack}
  29518. @showmessage("Create Packages and Package Bodies")
  29519. @template(CreatePackages)
  29520. @template(CreatePackageBodies)
  29521. {lGenSynonyms}
  29522. @ShowMessage("Create synonyms")
  29523. @template(CreateSynonyms)
  29524. {lGenSequences}
  29525. @ShowMessage("Create sequences")
  29526. @template(CreateSequences)
  29527. {lTableGener}
  29528. @ScriptProc(CreateAttrTrigSequences,Main)
  29529. {lRoleGener}
  29530. @showmessage("Create role")
  29531. @template(CreateRole)
  29532. {lUserToRoleGener}
  29533. @ShowMessage("Users permissions to roles")
  29534. @template(GrantUserToRole)
  29535. {lRolePermissGener}
  29536. @ShowMessage("Roles permissions")
  29537. @template(CreateRolePermiss)
  29538. {lUserPermissGener}
  29539. @ShowMessage("Users permissions")
  29540. @template(CreateUserPermiss)
  29541. {lGenTabComments}
  29542. @ShowMessage("Create table comments")
  29543. @ScriptProc(CreateTableComments,Main)
  29544. {lGenAttrComments}
  29545. @ShowMessage("Create attribute comments")
  29546. @ScriptProc(CreateAttrComments,Main)
  29547. {lafterscript}
  29548. %afterscript%
  29549. {true}
  29550. @template(UserTempl)
  29551. ]]></VALUE>
  29552. <LANGUAGE>0</LANGUAGE>
  29553. <LANGUAGEWIN>---</LANGUAGEWIN>
  29554. <CATEGORY>2</CATEGORY>
  29555. <MAINSCRIPT>0</MAINSCRIPT>
  29556. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29557. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29558. <AUTHOR></AUTHOR>
  29559. <COMPANY></COMPANY>
  29560. <VERSION></VERSION>
  29561. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29562. <MODIFIED><DATE>10/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29563. </TEMPLATE>
  29564. <TEMPLATE>
  29565. <NAME>DropDomains</NAME>
  29566. <ID>24</ID>
  29567. <GUID>{11817866-4714-4AAD-A3EF-2ED18E9A12ED}</GUID>
  29568. <CAPTION></CAPTION>
  29569. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29570. <ENABLED>1</ENABLED>
  29571. <LEVEL>2</LEVEL>
  29572. <IDPARENT>0</IDPARENT>
  29573. <VALUE><![CDATA[@ForTextObject(30, "", "","DROP TYPE "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  29574. ]]></VALUE>
  29575. <LANGUAGE>0</LANGUAGE>
  29576. <LANGUAGEWIN>---</LANGUAGEWIN>
  29577. <CATEGORY>2</CATEGORY>
  29578. <MAINSCRIPT>0</MAINSCRIPT>
  29579. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29580. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29581. <AUTHOR></AUTHOR>
  29582. <COMPANY></COMPANY>
  29583. <VERSION></VERSION>
  29584. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29585. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29586. </TEMPLATE>
  29587. <TEMPLATE>
  29588. <NAME>CreateDomains</NAME>
  29589. <ID>25</ID>
  29590. <GUID>{A3B9D8F6-A74A-4005-BB00-ECE60987ADA9}</GUID>
  29591. <CAPTION></CAPTION>
  29592. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29593. <ENABLED>1</ENABLED>
  29594. <LEVEL>2</LEVEL>
  29595. <IDPARENT>0</IDPARENT>
  29596. <VALUE><![CDATA[@ForTextObject(30, "", "", TextObject , cr, "")
  29597. ]]></VALUE>
  29598. <LANGUAGE>0</LANGUAGE>
  29599. <LANGUAGEWIN>---</LANGUAGEWIN>
  29600. <CATEGORY>2</CATEGORY>
  29601. <MAINSCRIPT>0</MAINSCRIPT>
  29602. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29603. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29604. <AUTHOR></AUTHOR>
  29605. <COMPANY></COMPANY>
  29606. <VERSION></VERSION>
  29607. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29608. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29609. </TEMPLATE>
  29610. <TEMPLATE>
  29611. <NAME>CreatePackages</NAME>
  29612. <ID>26</ID>
  29613. <GUID>{E06B32DE-999C-458F-AF08-0D53E72CE8BE}</GUID>
  29614. <CAPTION></CAPTION>
  29615. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29616. <ENABLED>1</ENABLED>
  29617. <LEVEL>2</LEVEL>
  29618. <IDPARENT>0</IDPARENT>
  29619. <VALUE><![CDATA[@ForTextObject(20, "", "", TextObject , cr, "")
  29620. ]]></VALUE>
  29621. <LANGUAGE>0</LANGUAGE>
  29622. <LANGUAGEWIN>---</LANGUAGEWIN>
  29623. <CATEGORY>2</CATEGORY>
  29624. <MAINSCRIPT>0</MAINSCRIPT>
  29625. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29626. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29627. <AUTHOR></AUTHOR>
  29628. <COMPANY></COMPANY>
  29629. <VERSION></VERSION>
  29630. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29631. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29632. </TEMPLATE>
  29633. <TEMPLATE>
  29634. <NAME>CreatePackageBodies</NAME>
  29635. <ID>27</ID>
  29636. <GUID>{173F85A6-F32A-4010-AAEA-4421C7F06FAD}</GUID>
  29637. <CAPTION></CAPTION>
  29638. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29639. <ENABLED>1</ENABLED>
  29640. <LEVEL>2</LEVEL>
  29641. <IDPARENT>0</IDPARENT>
  29642. <VALUE><![CDATA[@ForTextObject(21, "", "", TextObject , cr, "")
  29643. ]]></VALUE>
  29644. <LANGUAGE>0</LANGUAGE>
  29645. <LANGUAGEWIN>---</LANGUAGEWIN>
  29646. <CATEGORY>2</CATEGORY>
  29647. <MAINSCRIPT>0</MAINSCRIPT>
  29648. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29649. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29650. <AUTHOR></AUTHOR>
  29651. <COMPANY></COMPANY>
  29652. <VERSION></VERSION>
  29653. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29654. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29655. </TEMPLATE>
  29656. <TEMPLATE>
  29657. <NAME>DropPackages</NAME>
  29658. <ID>28</ID>
  29659. <GUID>{9692DCCD-B167-43B0-BE16-93DA2E7E548B}</GUID>
  29660. <CAPTION></CAPTION>
  29661. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29662. <ENABLED>1</ENABLED>
  29663. <LEVEL>2</LEVEL>
  29664. <IDPARENT>0</IDPARENT>
  29665. <VALUE><![CDATA[@ForTextObject(20, "", "","DROP PACKAGE "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  29666. ]]></VALUE>
  29667. <LANGUAGE>0</LANGUAGE>
  29668. <LANGUAGEWIN>---</LANGUAGEWIN>
  29669. <CATEGORY>2</CATEGORY>
  29670. <MAINSCRIPT>0</MAINSCRIPT>
  29671. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29672. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29673. <AUTHOR></AUTHOR>
  29674. <COMPANY></COMPANY>
  29675. <VERSION></VERSION>
  29676. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29677. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29678. </TEMPLATE>
  29679. <TEMPLATE>
  29680. <NAME>DropPackageBodies</NAME>
  29681. <ID>29</ID>
  29682. <GUID>{8380FE5D-C993-465D-9432-A3483EAFDC04}</GUID>
  29683. <CAPTION></CAPTION>
  29684. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29685. <ENABLED>1</ENABLED>
  29686. <LEVEL>2</LEVEL>
  29687. <IDPARENT>0</IDPARENT>
  29688. <VALUE><![CDATA[@ForTextObject(21, "", "","DROP PACKAGE BODY "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  29689. ]]></VALUE>
  29690. <LANGUAGE>0</LANGUAGE>
  29691. <LANGUAGEWIN>---</LANGUAGEWIN>
  29692. <CATEGORY>2</CATEGORY>
  29693. <MAINSCRIPT>0</MAINSCRIPT>
  29694. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29695. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29696. <AUTHOR></AUTHOR>
  29697. <COMPANY></COMPANY>
  29698. <VERSION></VERSION>
  29699. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29700. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29701. </TEMPLATE>
  29702. <TEMPLATE>
  29703. <NAME>GenerateOwner</NAME>
  29704. <ID>30</ID>
  29705. <GUID>{CA01DF2E-0A06-4937-9639-A337A033FA56}</GUID>
  29706. <CAPTION></CAPTION>
  29707. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29708. <ENABLED>1</ENABLED>
  29709. <LEVEL>2</LEVEL>
  29710. <IDPARENT>0</IDPARENT>
  29711. <VALUE><![CDATA[if(lGenerOwner,if(empty(Owner),"","%qt%%Owner%%qt%."),"")
  29712. ]]></VALUE>
  29713. <LANGUAGE>0</LANGUAGE>
  29714. <LANGUAGEWIN>---</LANGUAGEWIN>
  29715. <CATEGORY>2</CATEGORY>
  29716. <MAINSCRIPT>0</MAINSCRIPT>
  29717. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29718. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29719. <AUTHOR></AUTHOR>
  29720. <COMPANY></COMPANY>
  29721. <VERSION></VERSION>
  29722. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29723. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29724. </TEMPLATE>
  29725. <TEMPLATE>
  29726. <NAME>GenerateIndexOwner</NAME>
  29727. <ID>31</ID>
  29728. <GUID>{0C4294F6-3B5B-43D1-BE58-478711647C38}</GUID>
  29729. <CAPTION></CAPTION>
  29730. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29731. <ENABLED>1</ENABLED>
  29732. <LEVEL>2</LEVEL>
  29733. <IDPARENT>0</IDPARENT>
  29734. <VALUE><![CDATA[if(lGenerOwner,if(empty(UIndexOwner),"","%qt%%UIndexOwner%%qt%."),"")
  29735. ]]></VALUE>
  29736. <LANGUAGE>0</LANGUAGE>
  29737. <LANGUAGEWIN>---</LANGUAGEWIN>
  29738. <CATEGORY>2</CATEGORY>
  29739. <MAINSCRIPT>0</MAINSCRIPT>
  29740. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29741. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29742. <AUTHOR></AUTHOR>
  29743. <COMPANY></COMPANY>
  29744. <VERSION></VERSION>
  29745. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29746. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29747. </TEMPLATE>
  29748. <TEMPLATE>
  29749. <NAME>GenerateParentOwner</NAME>
  29750. <ID>32</ID>
  29751. <GUID>{EF843C5C-7A2B-4FBC-87C4-8BC97D064554}</GUID>
  29752. <CAPTION></CAPTION>
  29753. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29754. <ENABLED>1</ENABLED>
  29755. <LEVEL>2</LEVEL>
  29756. <IDPARENT>0</IDPARENT>
  29757. <VALUE><![CDATA[function Main(object)
  29758. {
  29759.     var qt = Model.GetUserVariable('qt');
  29760.     
  29761.     entity = Model.GetEntity(object.ChildEntityId);
  29762.     owner = entity.GetUserVariable('Owner');
  29763.     if ((owner=='') || ( Model.GetUserVariable('lGenerOwner')==0))
  29764.         return ''
  29765.     else
  29766.         return qt+owner+qt+'.';
  29767. }
  29768. ]]></VALUE>
  29769. <LANGUAGE>1</LANGUAGE>
  29770. <LANGUAGEWIN>---</LANGUAGEWIN>
  29771. <CATEGORY>2</CATEGORY>
  29772. <MAINSCRIPT>0</MAINSCRIPT>
  29773. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29774. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29775. <AUTHOR></AUTHOR>
  29776. <COMPANY></COMPANY>
  29777. <VERSION></VERSION>
  29778. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29779. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29780. </TEMPLATE>
  29781. <TEMPLATE>
  29782. <NAME>SetQuotes</NAME>
  29783. <ID>33</ID>
  29784. <GUID>{0DBF6850-3B41-4C83-BED6-6250120DB87D}</GUID>
  29785. <CAPTION></CAPTION>
  29786. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29787. <ENABLED>1</ENABLED>
  29788. <LEVEL>2</LEVEL>
  29789. <IDPARENT>0</IDPARENT>
  29790. <VALUE><![CDATA[function Main()
  29791. {
  29792.     if ( UserVarToBool( Model.lQuotations ) )
  29793.         Model.SetUserVariable( 'qt','"' )
  29794.     else
  29795.         Model.SetUserVariable( 'qt','' ); 
  29796. }
  29797. ]]></VALUE>
  29798. <LANGUAGE>1</LANGUAGE>
  29799. <LANGUAGEWIN>---</LANGUAGEWIN>
  29800. <CATEGORY>2</CATEGORY>
  29801. <MAINSCRIPT>0</MAINSCRIPT>
  29802. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29803. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29804. <AUTHOR></AUTHOR>
  29805. <COMPANY></COMPANY>
  29806. <VERSION></VERSION>
  29807. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29808. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29809. </TEMPLATE>
  29810. <TEMPLATE>
  29811. <NAME>ChildTableOwner</NAME>
  29812. <ID>34</ID>
  29813. <GUID>{4202C833-7586-49FC-A508-BC022A035159}</GUID>
  29814. <CAPTION></CAPTION>
  29815. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29816. <ENABLED>1</ENABLED>
  29817. <LEVEL>2</LEVEL>
  29818. <IDPARENT>0</IDPARENT>
  29819. <VALUE><![CDATA[if(lGenerOwner,if(empty(ChildTable.Owner),"","%qt%"+ChildTable.Owner+"%qt%."),"")
  29820. ]]></VALUE>
  29821. <LANGUAGE>0</LANGUAGE>
  29822. <LANGUAGEWIN>---</LANGUAGEWIN>
  29823. <CATEGORY>2</CATEGORY>
  29824. <MAINSCRIPT>0</MAINSCRIPT>
  29825. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29826. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29827. <AUTHOR></AUTHOR>
  29828. <COMPANY></COMPANY>
  29829. <VERSION></VERSION>
  29830. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29831. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29832. </TEMPLATE>
  29833. <TEMPLATE>
  29834. <NAME>ParentTableOwner</NAME>
  29835. <ID>35</ID>
  29836. <GUID>{CC21F6A4-D8E4-49CA-82E1-F81410509510}</GUID>
  29837. <CAPTION></CAPTION>
  29838. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29839. <ENABLED>1</ENABLED>
  29840. <LEVEL>2</LEVEL>
  29841. <IDPARENT>0</IDPARENT>
  29842. <VALUE><![CDATA[if(lGenerOwner,if(empty(ParentTable.Owner),"","%qt%"+ParentTable.Owner+"%qt%."),"")
  29843. ]]></VALUE>
  29844. <LANGUAGE>0</LANGUAGE>
  29845. <LANGUAGEWIN>---</LANGUAGEWIN>
  29846. <CATEGORY>2</CATEGORY>
  29847. <MAINSCRIPT>0</MAINSCRIPT>
  29848. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29849. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29850. <AUTHOR></AUTHOR>
  29851. <COMPANY></COMPANY>
  29852. <VERSION></VERSION>
  29853. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29854. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29855. </TEMPLATE>
  29856. <TEMPLATE>
  29857. <NAME>CreateDomainBodies</NAME>
  29858. <ID>36</ID>
  29859. <GUID>{F1ED1D76-BDF9-47B8-B0F4-5AFCD6E5987B}</GUID>
  29860. <CAPTION></CAPTION>
  29861. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29862. <ENABLED>1</ENABLED>
  29863. <LEVEL>2</LEVEL>
  29864. <IDPARENT>0</IDPARENT>
  29865. <VALUE><![CDATA[@ForTextObject(31, "", "", TextObject , cr, "")
  29866. ]]></VALUE>
  29867. <LANGUAGE>0</LANGUAGE>
  29868. <LANGUAGEWIN>---</LANGUAGEWIN>
  29869. <CATEGORY>2</CATEGORY>
  29870. <MAINSCRIPT>0</MAINSCRIPT>
  29871. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29872. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29873. <AUTHOR></AUTHOR>
  29874. <COMPANY></COMPANY>
  29875. <VERSION></VERSION>
  29876. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29877. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29878. </TEMPLATE>
  29879. <TEMPLATE>
  29880. <NAME>DropDomainBodies</NAME>
  29881. <ID>37</ID>
  29882. <GUID>{143A44D6-7E16-4C67-8FCB-5B313B865F41}</GUID>
  29883. <CAPTION></CAPTION>
  29884. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29885. <ENABLED>1</ENABLED>
  29886. <LEVEL>2</LEVEL>
  29887. <IDPARENT>0</IDPARENT>
  29888. <VALUE><![CDATA[@ForTextObject(31, "", "","DROP TYPE BODY "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  29889. ]]></VALUE>
  29890. <LANGUAGE>0</LANGUAGE>
  29891. <LANGUAGEWIN>---</LANGUAGEWIN>
  29892. <CATEGORY>2</CATEGORY>
  29893. <MAINSCRIPT>0</MAINSCRIPT>
  29894. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29895. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29896. <AUTHOR></AUTHOR>
  29897. <COMPANY></COMPANY>
  29898. <VERSION></VERSION>
  29899. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29900. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29901. </TEMPLATE>
  29902. <TEMPLATE>
  29903. <NAME>TextObjectNameQuotes</NAME>
  29904. <ID>38</ID>
  29905. <GUID>{78057155-DADC-469C-A72E-72C0A1623E31}</GUID>
  29906. <CAPTION></CAPTION>
  29907. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29908. <ENABLED>1</ENABLED>
  29909. <LEVEL>2</LEVEL>
  29910. <IDPARENT>0</IDPARENT>
  29911. <VALUE><![CDATA[function Main(name)
  29912. {
  29913.     znak = Model.GetUserVariable('qt');
  29914.     ord = name.search( /\./ );
  29915.     if (ord != -1)
  29916.     {
  29917.         temp = znak+name.substr(0,ord)+znak+".";
  29918.         temp += znak+name.substr(ord+1)+znak;
  29919.     }
  29920.     else
  29921.         temp = znak+name+znak;
  29922.  
  29923.     return temp;
  29924. }
  29925. ]]></VALUE>
  29926. <LANGUAGE>1</LANGUAGE>
  29927. <LANGUAGEWIN>---</LANGUAGEWIN>
  29928. <CATEGORY>2</CATEGORY>
  29929. <MAINSCRIPT>0</MAINSCRIPT>
  29930. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29931. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29932. <AUTHOR></AUTHOR>
  29933. <COMPANY></COMPANY>
  29934. <VERSION></VERSION>
  29935. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29936. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29937. </TEMPLATE>
  29938. <TEMPLATE>
  29939. <NAME>DropProcedures</NAME>
  29940. <ID>39</ID>
  29941. <GUID>{416E6215-1203-43E2-8A99-A080DA37A65A}</GUID>
  29942. <CAPTION></CAPTION>
  29943. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29944. <ENABLED>1</ENABLED>
  29945. <LEVEL>2</LEVEL>
  29946. <IDPARENT>0</IDPARENT>
  29947. <VALUE><![CDATA[@ForProcedure("","","DROP PROCEDURE "+ScriptProc(TextObjectNameQuotes,Main,ProcedureName)+"%cr%%term%%cr%", cr, "")
  29948. ]]></VALUE>
  29949. <LANGUAGE>0</LANGUAGE>
  29950. <LANGUAGEWIN>---</LANGUAGEWIN>
  29951. <CATEGORY>2</CATEGORY>
  29952. <MAINSCRIPT>0</MAINSCRIPT>
  29953. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29954. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29955. <AUTHOR></AUTHOR>
  29956. <COMPANY></COMPANY>
  29957. <VERSION></VERSION>
  29958. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29959. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29960. </TEMPLATE>
  29961. <TEMPLATE>
  29962. <NAME>CreateFunctions</NAME>
  29963. <ID>40</ID>
  29964. <GUID>{364D71AA-45EC-4390-9DC4-83ED9095005D}</GUID>
  29965. <CAPTION></CAPTION>
  29966. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29967. <ENABLED>1</ENABLED>
  29968. <LEVEL>2</LEVEL>
  29969. <IDPARENT>0</IDPARENT>
  29970. <VALUE><![CDATA[@ForTextObject(10, "", "", TextObject , cr, "")
  29971. ]]></VALUE>
  29972. <LANGUAGE>0</LANGUAGE>
  29973. <LANGUAGEWIN>---</LANGUAGEWIN>
  29974. <CATEGORY>2</CATEGORY>
  29975. <MAINSCRIPT>0</MAINSCRIPT>
  29976. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  29977. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  29978. <AUTHOR></AUTHOR>
  29979. <COMPANY></COMPANY>
  29980. <VERSION></VERSION>
  29981. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  29982. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  29983. </TEMPLATE>
  29984. <TEMPLATE>
  29985. <NAME>DropFunctions</NAME>
  29986. <ID>41</ID>
  29987. <GUID>{086D324D-212D-47D4-A728-400B6D0A0B66}</GUID>
  29988. <CAPTION></CAPTION>
  29989. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  29990. <ENABLED>1</ENABLED>
  29991. <LEVEL>2</LEVEL>
  29992. <IDPARENT>0</IDPARENT>
  29993. <VALUE><![CDATA[@ForTextObject(10, "", "","DROP FUNCTION "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  29994. ]]></VALUE>
  29995. <LANGUAGE>0</LANGUAGE>
  29996. <LANGUAGEWIN>---</LANGUAGEWIN>
  29997. <CATEGORY>2</CATEGORY>
  29998. <MAINSCRIPT>0</MAINSCRIPT>
  29999. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30000. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30001. <AUTHOR></AUTHOR>
  30002. <COMPANY></COMPANY>
  30003. <VERSION></VERSION>
  30004. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30005. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30006. </TEMPLATE>
  30007. <TEMPLATE>
  30008. <NAME>CreateSequences</NAME>
  30009. <ID>42</ID>
  30010. <GUID>{FC204D18-3615-416C-B7B0-8A3BCD730E1D}</GUID>
  30011. <CAPTION></CAPTION>
  30012. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30013. <ENABLED>1</ENABLED>
  30014. <LEVEL>2</LEVEL>
  30015. <IDPARENT>0</IDPARENT>
  30016. <VALUE><![CDATA[@ForTextObject(40, "", "", TextObject , cr, "")
  30017. ]]></VALUE>
  30018. <LANGUAGE>0</LANGUAGE>
  30019. <LANGUAGEWIN>---</LANGUAGEWIN>
  30020. <CATEGORY>2</CATEGORY>
  30021. <MAINSCRIPT>0</MAINSCRIPT>
  30022. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30023. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30024. <AUTHOR></AUTHOR>
  30025. <COMPANY></COMPANY>
  30026. <VERSION></VERSION>
  30027. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30028. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30029. </TEMPLATE>
  30030. <TEMPLATE>
  30031. <NAME>DropSequences</NAME>
  30032. <ID>43</ID>
  30033. <GUID>{5A53AAED-F942-4C48-B923-68628CEF87EE}</GUID>
  30034. <CAPTION></CAPTION>
  30035. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30036. <ENABLED>1</ENABLED>
  30037. <LEVEL>2</LEVEL>
  30038. <IDPARENT>0</IDPARENT>
  30039. <VALUE><![CDATA[@ForTextObject(40, "", "","DROP SEQUENCE "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  30040. ]]></VALUE>
  30041. <LANGUAGE>0</LANGUAGE>
  30042. <LANGUAGEWIN>---</LANGUAGEWIN>
  30043. <CATEGORY>2</CATEGORY>
  30044. <MAINSCRIPT>0</MAINSCRIPT>
  30045. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30046. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30047. <AUTHOR></AUTHOR>
  30048. <COMPANY></COMPANY>
  30049. <VERSION></VERSION>
  30050. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30051. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30052. </TEMPLATE>
  30053. <TEMPLATE>
  30054. <NAME>CreateSynonyms</NAME>
  30055. <ID>44</ID>
  30056. <GUID>{C295D7FE-1026-4BEA-BCBA-90049F3E7114}</GUID>
  30057. <CAPTION></CAPTION>
  30058. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30059. <ENABLED>1</ENABLED>
  30060. <LEVEL>2</LEVEL>
  30061. <IDPARENT>0</IDPARENT>
  30062. <VALUE><![CDATA[@ForTextObject(50, "", "", TextObject , cr, "")
  30063. ]]></VALUE>
  30064. <LANGUAGE>0</LANGUAGE>
  30065. <LANGUAGEWIN>---</LANGUAGEWIN>
  30066. <CATEGORY>2</CATEGORY>
  30067. <MAINSCRIPT>0</MAINSCRIPT>
  30068. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30069. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30070. <AUTHOR></AUTHOR>
  30071. <COMPANY></COMPANY>
  30072. <VERSION></VERSION>
  30073. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30074. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30075. </TEMPLATE>
  30076. <TEMPLATE>
  30077. <NAME>DropSynonyms</NAME>
  30078. <ID>45</ID>
  30079. <GUID>{7C845475-C741-419C-81C6-EDC26122B5C0}</GUID>
  30080. <CAPTION></CAPTION>
  30081. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30082. <ENABLED>1</ENABLED>
  30083. <LEVEL>2</LEVEL>
  30084. <IDPARENT>0</IDPARENT>
  30085. <VALUE><![CDATA[@ForTextObject(50, "", "","DROP SYNONYM "+ScriptProc(TextObjectNameQuotes,Main,TextObjectName)+"%cr%%term%%cr%", cr, "")
  30086. ]]></VALUE>
  30087. <LANGUAGE>0</LANGUAGE>
  30088. <LANGUAGEWIN>---</LANGUAGEWIN>
  30089. <CATEGORY>2</CATEGORY>
  30090. <MAINSCRIPT>0</MAINSCRIPT>
  30091. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30092. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30093. <AUTHOR></AUTHOR>
  30094. <COMPANY></COMPANY>
  30095. <VERSION></VERSION>
  30096. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30097. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30098. </TEMPLATE>
  30099. <TEMPLATE>
  30100. <NAME>CreateAttrTrigSequences</NAME>
  30101. <ID>46</ID>
  30102. <GUID>{9515BE35-A123-4740-BC10-C675FF27C5E3}</GUID>
  30103. <CAPTION></CAPTION>
  30104. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30105. <ENABLED>1</ENABLED>
  30106. <LEVEL>2</LEVEL>
  30107. <IDPARENT>0</IDPARENT>
  30108. <VALUE><![CDATA[function Main()
  30109. {
  30110. var Entity, Attribute, a;
  30111. var Name, Command;
  30112. var qt = Model.GetUserVariable('qt');
  30113. var term = Model.GetUserVariable('term');
  30114. var re = /\./;
  30115.  
  30116. TextStream.Clear();
  30117.  
  30118. for ( a=0; a<Model.CountAttributes; a++ )
  30119.     if ( Model.Attributes( a ).AttrSeqName != '' )
  30120.     {
  30121.         Attribute = Model.Attributes( a );
  30122.         Entity    = Model.GetEntity( Attribute.EntityId );
  30123.         
  30124.         if ( Entity.Generate )
  30125.         {
  30126.             Name = Model.Attributes( a ).AttrSeqName;
  30127.             owner = Entity.GetUserVariable('Owner');
  30128.             if ((owner=='') || ( Model.GetUserVariable('lGenerOwner')==0))
  30129.                 owner = '';
  30130.             else
  30131.                 owner = qt+owner+qt+'.';
  30132.                 
  30133.          // Generate trigger
  30134.               TextStream.Writeln( ' ' );
  30135.             TextStream.Writeln( '/* Trigger for sequence '+Name+' for table '+Entity.TableName+' attribute '+Attribute.ColName+' */' );
  30136.          
  30137.          Name_replace_dot = Name.replace( re, '_' );
  30138.          TextStream.Writeln( 'Create or replace trigger '+owner+qt+'t_'+Name_replace_dot+qt+' before insert');
  30139.          TextStream.Writeln( 'on '+owner+qt+Entity.TableName+qt+' for each row' );            
  30140.          TextStream.Writeln( 'begin' );
  30141.  
  30142.             Name_qt = Scripting.TextObjectNameQuotes.Main(Name);
  30143.          TextStream.Writeln( '    SELECT '+Name_qt+'.nextval INTO :new.'+qt+Attribute.ColName+qt+' FROM dual;' );
  30144.          TextStream.Writeln( 'end;' );
  30145.          TextStream.Writeln( term );
  30146.         }
  30147.     }
  30148. return ( TextStream.Text );
  30149. };
  30150. ]]></VALUE>
  30151. <LANGUAGE>1</LANGUAGE>
  30152. <LANGUAGEWIN>---</LANGUAGEWIN>
  30153. <CATEGORY>2</CATEGORY>
  30154. <MAINSCRIPT>0</MAINSCRIPT>
  30155. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30156. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30157. <AUTHOR></AUTHOR>
  30158. <COMPANY></COMPANY>
  30159. <VERSION></VERSION>
  30160. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30161. <MODIFIED><DATE>7/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30162. </TEMPLATE>
  30163. <TEMPLATE>
  30164. <NAME>CreateRole</NAME>
  30165. <ID>47</ID>
  30166. <GUID>{823FAF57-5372-4E17-A2FB-480CA02C9877}</GUID>
  30167. <CAPTION></CAPTION>
  30168. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30169. <ENABLED>1</ENABLED>
  30170. <LEVEL>2</LEVEL>
  30171. <IDPARENT>0</IDPARENT>
  30172. <VALUE><![CDATA[@ForRole("","",if(lRole,"Create role %qt%%RoleName%%qt%%cr%%term%%cr%",""),"","")
  30173. ]]></VALUE>
  30174. <LANGUAGE>0</LANGUAGE>
  30175. <LANGUAGEWIN>---</LANGUAGEWIN>
  30176. <CATEGORY>2</CATEGORY>
  30177. <MAINSCRIPT>0</MAINSCRIPT>
  30178. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30179. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30180. <AUTHOR></AUTHOR>
  30181. <COMPANY></COMPANY>
  30182. <VERSION></VERSION>
  30183. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30184. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30185. </TEMPLATE>
  30186. <TEMPLATE>
  30187. <NAME>GrantUserToRole</NAME>
  30188. <ID>48</ID>
  30189. <GUID>{7FF4B34D-F359-40E3-AADD-107625AD5811}</GUID>
  30190. <CAPTION></CAPTION>
  30191. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30192. <ENABLED>1</ENABLED>
  30193. <LEVEL>2</LEVEL>
  30194. <IDPARENT>0</IDPARENT>
  30195. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("Grant %qt%%rolename%%qt% to %qt%%username%%qt%%cr%%term%%cr%"),"",""),"","")
  30196. ]]></VALUE>
  30197. <LANGUAGE>0</LANGUAGE>
  30198. <LANGUAGEWIN>---</LANGUAGEWIN>
  30199. <CATEGORY>2</CATEGORY>
  30200. <MAINSCRIPT>0</MAINSCRIPT>
  30201. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30202. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30203. <AUTHOR></AUTHOR>
  30204. <COMPANY></COMPANY>
  30205. <VERSION></VERSION>
  30206. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30207. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30208. </TEMPLATE>
  30209. <TEMPLATE>
  30210. <NAME>CreateTablePermiss</NAME>
  30211. <ID>49</ID>
  30212. <GUID>{C4F6CC91-4382-4A4F-B83A-E4A555E8A4AB}</GUID>
  30213. <CAPTION></CAPTION>
  30214. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30215. <ENABLED>1</ENABLED>
  30216. <LEVEL>2</LEVEL>
  30217. <IDPARENT>0</IDPARENT>
  30218. <VALUE><![CDATA[if(lPermissSelect,"Grant select on "+macro(GenerateOwner)+"%qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30219. if(lPermissUpdate,"Grant update on "+macro(GenerateOwner)+"%qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30220. if(lPermissDelete,"Grant delete on "+macro(GenerateOwner)+"%qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30221. if(lPermissInsert,"Grant insert on "+macro(GenerateOwner)+"%qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30222. if(lPermissDRI,"Grant references on "+macro(GenerateOwner)+"%qt%%TableName%%qt% to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  30223. ]]></VALUE>
  30224. <LANGUAGE>0</LANGUAGE>
  30225. <LANGUAGEWIN>---</LANGUAGEWIN>
  30226. <CATEGORY>2</CATEGORY>
  30227. <MAINSCRIPT>0</MAINSCRIPT>
  30228. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30229. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30230. <AUTHOR></AUTHOR>
  30231. <COMPANY></COMPANY>
  30232. <VERSION></VERSION>
  30233. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30234. <MODIFIED><DATE>7/24/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30235. </TEMPLATE>
  30236. <TEMPLATE>
  30237. <NAME>CreateViewPermiss</NAME>
  30238. <ID>50</ID>
  30239. <GUID>{6F8BCFA0-6441-4CB3-9314-436FBA0388C3}</GUID>
  30240. <CAPTION></CAPTION>
  30241. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30242. <ENABLED>1</ENABLED>
  30243. <LEVEL>2</LEVEL>
  30244. <IDPARENT>0</IDPARENT>
  30245. <VALUE><![CDATA[if(lPermissSelect,"Grant select on "+ScriptProc(TextObjectNameQuotes,Main,ViewName)+" to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30246. if(lPermissUpdate,"Grant update on "+ScriptProc(TextObjectNameQuotes,Main,ViewName)+" to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30247. if(lPermissDelete,"Grant delete on "+ScriptProc(TextObjectNameQuotes,Main,ViewName)+" to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")+
  30248. if(lPermissInsert,"Grant insert on "+ScriptProc(TextObjectNameQuotes,Main,ViewName)+" to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  30249. ]]></VALUE>
  30250. <LANGUAGE>0</LANGUAGE>
  30251. <LANGUAGEWIN>---</LANGUAGEWIN>
  30252. <CATEGORY>2</CATEGORY>
  30253. <MAINSCRIPT>0</MAINSCRIPT>
  30254. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30255. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30256. <AUTHOR></AUTHOR>
  30257. <COMPANY></COMPANY>
  30258. <VERSION></VERSION>
  30259. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30260. <MODIFIED><DATE>11/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30261. </TEMPLATE>
  30262. <TEMPLATE>
  30263. <NAME>CreateProcedurePermiss</NAME>
  30264. <ID>51</ID>
  30265. <GUID>{21C02FDE-CED2-4A86-AFC5-12B5B5B83211}</GUID>
  30266. <CAPTION></CAPTION>
  30267. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30268. <ENABLED>1</ENABLED>
  30269. <LEVEL>2</LEVEL>
  30270. <IDPARENT>0</IDPARENT>
  30271. <VALUE><![CDATA[if(lPermissExec,"Grant execute on "+ScriptProc(TextObjectNameQuotes,Main,ProcedureName)+" to %qt%%UserOrRoleName%%qt%%cr%%term%%cr%","")
  30272. ]]></VALUE>
  30273. <LANGUAGE>0</LANGUAGE>
  30274. <LANGUAGEWIN>---</LANGUAGEWIN>
  30275. <CATEGORY>2</CATEGORY>
  30276. <MAINSCRIPT>0</MAINSCRIPT>
  30277. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30278. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30279. <AUTHOR></AUTHOR>
  30280. <COMPANY></COMPANY>
  30281. <VERSION></VERSION>
  30282. <CREATED><DATE>7/10/2002</DATE><TIME>17:02:40</TIME></CREATED>
  30283. <MODIFIED><DATE>11/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30284. </TEMPLATE>
  30285. <TEMPLATE>
  30286. <NAME>DropViews</NAME>
  30287. <ID>52</ID>
  30288. <GUID>{C5249304-67E3-4DE4-AB6A-4FC26A8DD8CA}</GUID>
  30289. <CAPTION></CAPTION>
  30290. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30291. <ENABLED>1</ENABLED>
  30292. <LEVEL>2</LEVEL>
  30293. <IDPARENT>0</IDPARENT>
  30294. <VALUE><![CDATA[@ForViewR("","","Drop view "+ScriptProc(TextObjectNameQuotes,Main,ViewName)+"%cr%%term%%cr%","","")
  30295. ]]></VALUE>
  30296. <LANGUAGE>0</LANGUAGE>
  30297. <LANGUAGEWIN>---</LANGUAGEWIN>
  30298. <CATEGORY>2</CATEGORY>
  30299. <MAINSCRIPT>0</MAINSCRIPT>
  30300. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30301. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30302. <AUTHOR></AUTHOR>
  30303. <COMPANY></COMPANY>
  30304. <VERSION></VERSION>
  30305. <CREATED><DATE>7/25/2002</DATE><TIME>16:48:23</TIME></CREATED>
  30306. <MODIFIED><DATE>11/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30307. </TEMPLATE>
  30308. <TEMPLATE>
  30309. <NAME>DropTriggersList</NAME>
  30310. <ID>53</ID>
  30311. <GUID>{C539994A-FF17-4B8E-8815-ADBE76F0760D}</GUID>
  30312. <CAPTION></CAPTION>
  30313. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30314. <ENABLED>1</ENABLED>
  30315. <LEVEL>2</LEVEL>
  30316. <IDPARENT>0</IDPARENT>
  30317. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger "+ScriptProc(TextObjectNameQuotes,Main,TriggerName)+"%cr%%term%%cr%","",""),"","")
  30318. @ForTriggerR("","","Drop trigger "+ScriptProc(TextObjectNameQuotes,Main,TriggerName)+"%cr%%term%%cr%","","")
  30319. ]]></VALUE>
  30320. <LANGUAGE>0</LANGUAGE>
  30321. <LANGUAGEWIN>---</LANGUAGEWIN>
  30322. <CATEGORY>2</CATEGORY>
  30323. <MAINSCRIPT>0</MAINSCRIPT>
  30324. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30325. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30326. <AUTHOR></AUTHOR>
  30327. <COMPANY></COMPANY>
  30328. <VERSION></VERSION>
  30329. <CREATED><DATE>7/25/2002</DATE><TIME>16:51:21</TIME></CREATED>
  30330. <MODIFIED><DATE>11/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30331. </TEMPLATE>
  30332. <TEMPLATE>
  30333. <NAME>Ver_Main</NAME>
  30334. <ID>54</ID>
  30335. <GUID>{2C57940E-01CE-458B-9628-C7161C43AC45}</GUID>
  30336. <CAPTION>Ver_Main</CAPTION>
  30337. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30338. <ENABLED>1</ENABLED>
  30339. <LEVEL>2</LEVEL>
  30340. <IDPARENT>0</IDPARENT>
  30341. <VALUE><![CDATA[function Main()
  30342. {
  30343. Scripting.Ver_Dictionary.ReadVocabulary();
  30344.  
  30345. Verify.Clear();
  30346.  
  30347. if (Verify.BasicVerification)
  30348.     {
  30349.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  30350.     Verify.Writeln( ' ' );
  30351.     Verify.VerifyBasic();
  30352.     };
  30353.  
  30354. if ( Variables.lConstrDupl )
  30355.     Scripting.Ver_ORA_Constraints.AllConstraints( false );
  30356.  
  30357. if ( Variables.lIndexPUDupl )
  30358.     Scripting.Ver_ORA_Constraints.CheckIndexesName( false );
  30359.         
  30360. if ( Variables.lPkUniDupl )
  30361.     Scripting.Ver_ConstrDuplicity.PkUniDuplicity();
  30362.  
  30363. Scripting.Ver_Summary.Main();
  30364. };
  30365. ]]></VALUE>
  30366. <LANGUAGE>1</LANGUAGE>
  30367. <LANGUAGEWIN>---</LANGUAGEWIN>
  30368. <CATEGORY>7</CATEGORY>
  30369. <MAINSCRIPT>0</MAINSCRIPT>
  30370. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30371. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30372. <AUTHOR></AUTHOR>
  30373. <COMPANY></COMPANY>
  30374. <VERSION></VERSION>
  30375. <CREATED><DATE>7/4/2002</DATE><TIME>14:50:10</TIME></CREATED>
  30376. <MODIFIED><DATE>7/22/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30377. </TEMPLATE>
  30378. <TEMPLATE>
  30379. <NAME>Ver_ORA_Constraints</NAME>
  30380. <ID>55</ID>
  30381. <GUID>{A6F7D10E-0045-4A75-A89D-DB221780C423}</GUID>
  30382. <CAPTION>Ver_ORA_Constraints</CAPTION>
  30383. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30384. <ENABLED>1</ENABLED>
  30385. <LEVEL>2</LEVEL>
  30386. <IDPARENT>0</IDPARENT>
  30387. <VALUE><![CDATA[function AllConstraints( lCaseSensitive )
  30388. {
  30389. var i;
  30390. var cConstraint = '';
  30391. var ConstraintList = DefineInterfaceList();
  30392. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  30393.  
  30394. Verify.Writeln( ' ' );
  30395. Verify.Writeln( '---------------------------------------------------' );
  30396. Verify.Writeln( Translator.Translate( 'V_CN_DUPL',0 ) );
  30397.  
  30398. for (i=0; i<Model.CountAttributes; i++)
  30399. {
  30400.     Attribute = Model.Attributes( i );
  30401.         
  30402.     cConstraint = Attribute.CheckConstraint;
  30403.     if ( cConstraint != '' )
  30404.     {
  30405.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  30406.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  30407.     }
  30408.  
  30409.     cConstraint = Attribute.UniqueConstraint;
  30410.     if ( cConstraint != '' )
  30411.     {
  30412.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  30413.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  30414.     }
  30415.  
  30416.     cConstraint = Attribute.GetUserVariable('ConstraintNotNullName');
  30417.     if ( cConstraint != '' )
  30418.     {
  30419.         cConstraint = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  30420.         AddName( ConstraintList, cConstraint, lCaseSensitive, Attribute );
  30421.     }
  30422. }
  30423.  
  30424. for (i=0; i<Model.CountAlterKeys; i++)
  30425. {
  30426.     AlterKey = Model.AlterKeys( i );
  30427.     cConstraint = AlterKey.AlterKeyName;
  30428.     if ( cConstraint != '' )
  30429.     {
  30430.         cConstraint = Model.GetEntity( AlterKey.EntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  30431.         AddName( ConstraintList, cConstraint, lCaseSensitive, AlterKey );
  30432.     }
  30433. }
  30434.  
  30435. for (i=0; i<Model.CountEntities; i++)
  30436. {
  30437.     Entity = Model.Entities(i);
  30438.     cConstraint = Entity.PKConstraint;
  30439.     if ( cConstraint != '' )
  30440.     {
  30441.         cConstraint = Entity.GetUserVariable('Owner')+'.'+cConstraint;
  30442.         AddName( ConstraintList, cConstraint, lCaseSensitive, Entity );
  30443.     }
  30444. }
  30445.  
  30446. for (i=0; i<Model.CountRelations; i++)
  30447. {
  30448.     Relation = Model.Relations(i);
  30449.     cConstraint = Relation.FKConstraint;
  30450.     if ( cConstraint != '' )
  30451.     {
  30452.         cConstraint = Model.GetEntity( Relation.ChildEntityId ).GetUserVariable('Owner')+'.'+cConstraint;
  30453.         AddName( ConstraintList, cConstraint, lCaseSensitive, Relation );
  30454.     }
  30455. }
  30456.  
  30457. VerifyName( ConstraintList, 'E_CN_DUPL', 1 );
  30458.  
  30459. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  30460.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  30461. };
  30462.  
  30463. //======================================================================
  30464.  
  30465. function CheckIndexesName( lCaseSensitive )
  30466. {
  30467. var i;
  30468. var cName = '';
  30469. var NameList = DefineInterfaceList();
  30470. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  30471.  
  30472. Verify.Writeln( ' ' );
  30473. Verify.Writeln( '---------------------------------------------------' );
  30474. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_I',0 ) );
  30475.  
  30476. for (i=0; i<Model.CountAttributes; i++)
  30477. {
  30478.     Attribute = Model.Attributes( i );
  30479.  
  30480.     cName = Attribute.UniqueConstraint;
  30481.     if ( cName != '' )
  30482.     {
  30483.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  30484.         AddName( NameList, cName, lCaseSensitive, Attribute );
  30485.     }
  30486. }
  30487.  
  30488. for (i=0; i<Model.CountAlterKeys; i++)
  30489. {
  30490.     AlterKey = Model.AlterKeys( i );
  30491.     cName = AlterKey.AlterKeyName;
  30492.     if ( cName != '' )
  30493.     {
  30494.         cName = Model.GetEntity( AlterKey.EntityId ).GetUserVariable('Owner')+'.'+cName;
  30495.         AddName( NameList, cName, lCaseSensitive, AlterKey );
  30496.     }
  30497. }
  30498.  
  30499. for (i=0; i<Model.CountEntities; i++)
  30500. {
  30501.     Entity = Model.Entities(i);
  30502.     cName = Entity.PKConstraint;
  30503.     if ( cName != '' )
  30504.     {
  30505.         cName = Entity.GetUserVariable('Owner')+'.'+cName;
  30506.         AddName( NameList, cName, lCaseSensitive, Entity );
  30507.     }
  30508. }
  30509.  
  30510. for (i=0; i<Model.CountIndexes; i++)
  30511. {
  30512.     Index = Model.Indexes( i );
  30513.     cName = Index.Name;
  30514.     if ( cName != '' )
  30515.     {
  30516.         cName = Index.GetUserVariable('UIndexOwner')+'.'+cName;
  30517.         AddName( NameList, cName, lCaseSensitive, Index );
  30518.     }
  30519. }
  30520.  
  30521. VerifyName( NameList, 'E_NAME_DUPL', 2 );
  30522.  
  30523. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  30524.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  30525. };
  30526.  
  30527. //======================================================================
  30528.     
  30529. function VerifyName( NameList, cErrMessage, fc )
  30530. {
  30531. var cErrName = '';
  30532. var cName = '';
  30533. var isConstr = 0;  // 1 - constraint found; 2 - next constraint found
  30534. var isIndex = 0;  // 1 - index found
  30535.  
  30536. NameList.Sorted = true;
  30537. for (i=0; i<NameList.Count; i++)
  30538.     if (cName == NameList.GetInterfaceId( i ))
  30539.         {
  30540.         cName    = NameList.GetInterfaceId( i );
  30541.         por = cName.search( /\./ );
  30542.         cName_parse = cName;
  30543.         if (por != -1)
  30544.             {
  30545.             cName_parse = cName.substr(por+1);
  30546.             }
  30547.         if ((NameList.GetInterface(i).InterfaceName == 'IAttribute') || (NameList.GetInterface(i).InterfaceName == 'IAlterKey') || (NameList.GetInterface(i).InterfaceName == 'IEntity'))
  30548.             {
  30549.             if ((isConstr == 1) || (isConstr == 2))
  30550.                 isConstr = 2;
  30551.             else
  30552.                 isConstr = 1;
  30553.             }
  30554.         else
  30555.             isIndex = 1;
  30556.         if (cErrName != cName)
  30557.             {
  30558.             Verify.Writeln( '' );
  30559.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cName_parse ));
  30560.             AddError( NameList.GetInterface( i-1 ), fc );
  30561.             cErrName = cName;
  30562.             };
  30563.         AddError( NameList.GetInterface( i ), fc );
  30564.         }
  30565.     else
  30566.         {
  30567.         cName = NameList.GetInterfaceId( i );
  30568.         if ((isConstr == 2) && (fc == 2) && (Variables.lConstrDupl) && (isIndex == 0))
  30569.             {
  30570.             Verify.CountErrors = Verify.CountErrors - 1;
  30571.             }
  30572.         if ((NameList.GetInterface(i).InterfaceName == 'IAttribute') || (NameList.GetInterface(i).InterfaceName == 'IAlterKey') || (NameList.GetInterface(i).InterfaceName == 'IEntity'))
  30573.             {
  30574.             isConstr = 1;
  30575.             isIndex = 0;
  30576.             }
  30577.         else
  30578.             {
  30579.             isConstr = 0;
  30580.             isIndex = 1;
  30581.             }
  30582.         }
  30583. if ((isConstr == 2) && (fc == 2) && (Variables.lConstrDupl) && (isIndex == 0))
  30584.     {
  30585.     Verify.CountErrors = Verify.CountErrors - 1;
  30586.     }
  30587. };
  30588.  
  30589. //======================================================================
  30590.  
  30591. function AddName( NameList, cName, lCaseSensitive, Object )
  30592. {    
  30593. switch ( Object.InterfaceName )
  30594. {
  30595.     case 'IAttribute':
  30596.         cName = cName.replace(/%colname%/gi, Object.ColName ); // replace %colname% macros
  30597.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName ); // replace %tablename% macros
  30598.         break;
  30599.         
  30600.     case 'IEntity':
  30601.         cName = cName.replace(/%tablename%/gi, Object.TableName );
  30602.         break;
  30603.  
  30604.     case 'IRelation':
  30605.         cName = cName.replace(/%parenttablename%/gi, Model.GetEntity( Object.ParentEntityId ).TableName );
  30606.         cName = cName.replace(/%childtablename%/gi, Model.GetEntity( Object.ChildEntityId ).TableName );
  30607.         cName = cName.replace(/%relname%/gi, Object.FKConstraint );
  30608.         break;
  30609.  
  30610.     case 'IAlterKey':
  30611.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  30612.         cName = cName.replace(/%AlterKeyConstraintName%/gi, Object.AlterKeyName );
  30613.         break;
  30614.             
  30615.     case 'IIndex':
  30616.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  30617.         cName = cName.replace(/%indexname%/gi, Object.Name );
  30618.         break;
  30619. }
  30620.  
  30621. if ( !lCaseSensitive )
  30622.     cName = cName.toUpperCase();
  30623.  
  30624. NameList.AddInterface( cName, Object );
  30625. };
  30626.  
  30627. //======================================================================
  30628.  
  30629. function AddError( Object, fc )
  30630. {
  30631. switch ( Object.InterfaceName )
  30632. {
  30633.     case 'IAttribute':
  30634.         if (fc == 1)
  30635.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  30636.         else
  30637.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  30638.         break;
  30639.  
  30640.     case 'IEntity': 
  30641.         if (fc == 1)
  30642.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT_O',0 ), Object.Name ) );
  30643.         else
  30644.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT',0 ), Object.Name ) );
  30645.         break;
  30646.  
  30647.     case 'IRelation': //FKConstraint
  30648.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_REL_ENT',0 ), Object.Name, Model.GetEntity( Object.ParentEntityId ).Name, Model.GetEntity( Object.ChildEntityId ).Name ) );
  30649.         break;
  30650.             
  30651.     case 'IAlterKey':
  30652.         if (fc == 1)
  30653.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT_O',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  30654.         else
  30655.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  30656.         break;
  30657.             
  30658.     case 'IIndex':
  30659.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_INDEX_ENT',0 ), Model.GetEntity( Object.EntityId ).Name ) );
  30660.         break;
  30661. }
  30662. };
  30663. ]]></VALUE>
  30664. <LANGUAGE>1</LANGUAGE>
  30665. <LANGUAGEWIN>---</LANGUAGEWIN>
  30666. <CATEGORY>7</CATEGORY>
  30667. <MAINSCRIPT>0</MAINSCRIPT>
  30668. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30669. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30670. <AUTHOR></AUTHOR>
  30671. <COMPANY></COMPANY>
  30672. <VERSION></VERSION>
  30673. <CREATED><DATE>7/9/2002</DATE><TIME>16:07:03</TIME></CREATED>
  30674. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30675. </TEMPLATE>
  30676. <TEMPLATE>
  30677. <NAME>Verification</NAME>
  30678. <ID>56</ID>
  30679. <GUID>{4F2A5D90-E5F1-4390-8D6B-A6DCE3EAD08E}</GUID>
  30680. <CAPTION>Verifikace modelu</CAPTION>
  30681. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30682. <ENABLED>1</ENABLED>
  30683. <LEVEL>2</LEVEL>
  30684. <IDPARENT>0</IDPARENT>
  30685. <VALUE><![CDATA[function Main()
  30686. {
  30687. Translator.DefaultLng = 'csy';
  30688. ReadVocabulary();
  30689. Scripting.Ver_Main.Main();
  30690. }
  30691.  
  30692. //======================================================================
  30693.  
  30694. function DefineVariables()
  30695. {
  30696. Variables.DefineVariable( 'lConstrDupl', 'Kontrola nßzv∙ constraint∙ na duplicitu', 1 );
  30697. Variables.lConstrDupl = true;
  30698. Variables.DefineVariable( 'lIndexPUDupl', 'Kontrola nßzv∙ indexu, primßrnφho klφΦe a unique constraintu na duplicitu', 1 );
  30699. Variables.lIndexPUDupl = true;
  30700. Variables.DefineVariable( 'lPkUniDupl',  'Kontrola duplicitnφ definice constraintu', 1 );
  30701. Variables.lPkUniDupl = true;
  30702. };
  30703.  
  30704. //======================================================================
  30705.  
  30706. function ReadVocabulary()
  30707. {
  30708. // Chyby
  30709. Translator.Add( 'E_NAME_DUPL',                'Duplicita nßzvu \'%s\' v' );
  30710.  
  30711. Translator.Add( 'E_CN_ATTR_ENT',                '- nßzvu constraintu v atributu \'%s\' v entit∞ \'%s\'.' );
  30712. Translator.Add( 'E_PK_ENT',                    '- nßzvu primßrnφho klφΦe v entit∞ \'%s\'.' );
  30713. Translator.Add( 'E_PK_ENT_O',                    '- primßrnφ klφΦ v entit∞ \'%s\'.' );
  30714. Translator.Add( 'E_REL_ENT',                    '- relace \'%s\' mezi entitami \'%s\' a \'%s\'.' );
  30715. Translator.Add( 'E_ALTERKEY_ENT',            '- nßzvu alternativnφho klφΦe \'%s\' v entit∞ \'%s\'.' );
  30716. Translator.Add( 'E_ALTERKEY_ENT_O',            '- alternativnφ klφΦ \'%s\' v entit∞ \'%s\'.' );
  30717. Translator.Add( 'E_INDEX_ENT',                '- nßzvu indexu v entit∞ \'%s\'.' );
  30718.  
  30719. // Others
  30720. Translator.Add( 'V_CHECK_NAME_DUPL_I',    'Kontrola nßzvu primßrnφho klφΦe, unique constraintu a indexu na duplicitu' );
  30721. };
  30722. ]]></VALUE>
  30723. <LANGUAGE>1</LANGUAGE>
  30724. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  30725. <CATEGORY>7</CATEGORY>
  30726. <MAINSCRIPT>1</MAINSCRIPT>
  30727. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  30728. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  30729. <AUTHOR></AUTHOR>
  30730. <COMPANY></COMPANY>
  30731. <VERSION></VERSION>
  30732. <CREATED><DATE>7/4/2002</DATE><TIME>14:50:18</TIME></CREATED>
  30733. <MODIFIED><DATE>7/22/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  30734. </TEMPLATE>
  30735. </TEMPLATES>
  30736. <VARIABLES><![CDATA[lDomainSupp 0
  30737. lAtrCheckConstraintSupp 1
  30738. lAlterKeySupp 1
  30739. lProceduresSupp 1
  30740. lViewsSupp 1
  30741. lConstraintPkSupp 1
  30742. lConstraintFkSupp 1
  30743. lAtrUniqueConstraintSupp 1
  30744. lPermissUserToRoleSupp 1
  30745. lPermissUserToObjectSupp 1
  30746. lPermissRoleToObjectSupp 1
  30747. lRoleSupp 1
  30748. lUserTypeAttrSupp 0
  30749. lUserTypeDomainSupp 1
  30750. lDriParUpdRestrict 1
  30751. lDriParUpdCascade 0
  30752. lDriParUpdSetNull 0
  30753. lDriParUpdSetDefault 0
  30754. lDriParDelRestrict 1
  30755. lDriParDelCascade 1
  30756. lDriParDelSetNull 1
  30757. lDriParDelSetDefault 0
  30758. lDriChildInsRestrict 0
  30759. lDriChildUpdRestrict 0
  30760. lDriParUpdRestrictSupp 1
  30761. lDriParUpdCascadeSupp 0
  30762. lDriParUpdSetNullSupp 0
  30763. lDriParUpdSetDefaultSupp 0
  30764. lDriParDelRestrictSupp 1
  30765. lDriParDelCascadeSupp 1
  30766. lDriParDelSetNullSupp 1
  30767. lDriParDelSetDefaultSupp 0
  30768. lDriChildInsRestrictSupp 0
  30769. lDriChildUpdRestrictSupp 0
  30770. lIndexDescendSupp 0
  30771. lIndexItDescendSupp 1
  30772. lIndexUpperSupp 0
  30773. lIndexExprSupp 1
  30774. lIndexUniqueSupp 1
  30775. lIndexFilterSupp 0
  30776. lIndexStandSupp 1
  30777. lIndexClusterSupp 0
  30778. lIndexNameUnique 0
  30779. lPkSupp 1
  30780. lPkNotNull 1
  30781. lDRISupp 1
  30782. lTriggerSupp 1
  30783. lAtrUniqueSupp 1
  30784. lAtrNotNullSupp 1
  30785. lAtrCheckSupp 1
  30786. lAtrDefaultSupp 1
  30787. lDomainSupp 0
  30788. lAtrCheckConstraintSupp 1
  30789. lAlterKeySupp 1
  30790. lProceduresSupp 1
  30791. lViewsSupp 1
  30792. lConstraintPkSupp 1
  30793. lConstraintFkSupp 1
  30794. lAtrUniqueConstraintSupp 1
  30795. lPermissUserToRoleSupp 1
  30796. lPermissUserToObjectSupp 1
  30797. lPermissRoleToObjectSupp 1
  30798. lRoleSupp 1
  30799. lUserTypeAttrSupp 0
  30800. lUserTypeDomainSupp 1
  30801. ]]></VARIABLES>
  30802. <USEREDITS>
  30803. <USEREDIT>
  30804. <NAME>lGenTypes</NAME>
  30805. <ID>1</ID>
  30806. <GUID>{3B165A42-78EB-4B66-A711-7E7B0B7923F8}</GUID>
  30807. <CAPTION>Generate Object Types and Object Type Bodies</CAPTION>
  30808. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30809. <TYPE>1</TYPE>
  30810. <LEVEL>1</LEVEL>
  30811. <DEFAULT>1</DEFAULT>
  30812. <ORD>20</ORD>
  30813. <LENGTH>0</LENGTH>
  30814. <ENABLED>1</ENABLED>
  30815. <ITEMS></ITEMS>
  30816. </USEREDIT>
  30817. <USEREDIT>
  30818. <NAME>lDropTypes</NAME>
  30819. <ID>2</ID>
  30820. <GUID>{6F3F9BA6-3B22-492E-9F60-A435565A9BD5}</GUID>
  30821. <CAPTION>Drop Object Types and Object Type Bodies</CAPTION>
  30822. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30823. <TYPE>1</TYPE>
  30824. <LEVEL>1</LEVEL>
  30825. <DEFAULT>1</DEFAULT>
  30826. <ORD>120</ORD>
  30827. <LENGTH>0</LENGTH>
  30828. <ENABLED>1</ENABLED>
  30829. <ITEMS></ITEMS>
  30830. </USEREDIT>
  30831. <USEREDIT>
  30832. <NAME>term</NAME>
  30833. <ID>3</ID>
  30834. <GUID>{A79AAB74-0F4A-4C66-A404-46E6BCBF456A}</GUID>
  30835. <CAPTION>Terminator</CAPTION>
  30836. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30837. <TYPE>0</TYPE>
  30838. <LEVEL>1</LEVEL>
  30839. <DEFAULT>/</DEFAULT>
  30840. <ORD>300</ORD>
  30841. <LENGTH>20</LENGTH>
  30842. <ENABLED>1</ENABLED>
  30843. <ITEMS></ITEMS>
  30844. </USEREDIT>
  30845. <USEREDIT>
  30846. <NAME>lGenPack</NAME>
  30847. <ID>4</ID>
  30848. <GUID>{D64DEF66-7C47-4B12-9577-F2961266B9F3}</GUID>
  30849. <CAPTION>Generate Packages and Package Bodies</CAPTION>
  30850. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30851. <TYPE>1</TYPE>
  30852. <LEVEL>1</LEVEL>
  30853. <DEFAULT>1</DEFAULT>
  30854. <ORD>40</ORD>
  30855. <LENGTH>0</LENGTH>
  30856. <ENABLED>1</ENABLED>
  30857. <ITEMS></ITEMS>
  30858. </USEREDIT>
  30859. <USEREDIT>
  30860. <NAME>lDropPack</NAME>
  30861. <ID>5</ID>
  30862. <GUID>{7F2D85D6-8167-46A1-80E8-F50368DA49B9}</GUID>
  30863. <CAPTION>Drop Packages and Package Bodies</CAPTION>
  30864. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30865. <TYPE>1</TYPE>
  30866. <LEVEL>1</LEVEL>
  30867. <DEFAULT>1</DEFAULT>
  30868. <ORD>140</ORD>
  30869. <LENGTH>0</LENGTH>
  30870. <ENABLED>1</ENABLED>
  30871. <ITEMS></ITEMS>
  30872. </USEREDIT>
  30873. <USEREDIT>
  30874. <NAME>lGenerOwner</NAME>
  30875. <ID>6</ID>
  30876. <GUID>{D3C668EE-3301-4C0A-A425-F548F440A122}</GUID>
  30877. <CAPTION>Generate owner</CAPTION>
  30878. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30879. <TYPE>1</TYPE>
  30880. <LEVEL>1</LEVEL>
  30881. <DEFAULT>1</DEFAULT>
  30882. <ORD>5</ORD>
  30883. <LENGTH>0</LENGTH>
  30884. <ENABLED>1</ENABLED>
  30885. <ITEMS></ITEMS>
  30886. </USEREDIT>
  30887. <USEREDIT>
  30888. <NAME>Owner</NAME>
  30889. <ID>7</ID>
  30890. <GUID>{7F15607D-7878-4FC7-A383-66145BFDF01D}</GUID>
  30891. <CAPTION>Owner</CAPTION>
  30892. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30893. <TYPE>0</TYPE>
  30894. <LEVEL>2</LEVEL>
  30895. <DEFAULT></DEFAULT>
  30896. <ORD>10</ORD>
  30897. <LENGTH>0</LENGTH>
  30898. <ENABLED>1</ENABLED>
  30899. <ITEMS></ITEMS>
  30900. </USEREDIT>
  30901. <USEREDIT>
  30902. <NAME>UIndexOwner</NAME>
  30903. <ID>8</ID>
  30904. <GUID>{EF4FF6C1-A4F8-4D59-A52F-BE1E1F173E93}</GUID>
  30905. <CAPTION>Owner</CAPTION>
  30906. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30907. <TYPE>0</TYPE>
  30908. <LEVEL>4</LEVEL>
  30909. <DEFAULT></DEFAULT>
  30910. <ORD>10</ORD>
  30911. <LENGTH>0</LENGTH>
  30912. <ENABLED>1</ENABLED>
  30913. <ITEMS></ITEMS>
  30914. </USEREDIT>
  30915. <USEREDIT>
  30916. <NAME>lQuotations</NAME>
  30917. <ID>9</ID>
  30918. <GUID>{93B53E4D-6D98-4966-A25A-8999035C0450}</GUID>
  30919. <CAPTION>Use Quotations</CAPTION>
  30920. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30921. <TYPE>1</TYPE>
  30922. <LEVEL>1</LEVEL>
  30923. <DEFAULT>1</DEFAULT>
  30924. <ORD>1</ORD>
  30925. <LENGTH>0</LENGTH>
  30926. <ENABLED>1</ENABLED>
  30927. <ITEMS></ITEMS>
  30928. </USEREDIT>
  30929. <USEREDIT>
  30930. <NAME>PkTablespace</NAME>
  30931. <ID>10</ID>
  30932. <GUID>{B950D973-272F-4501-BBA7-D6E2DA03E3E8}</GUID>
  30933. <CAPTION>Tablespace for Primary key</CAPTION>
  30934. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30935. <TYPE>0</TYPE>
  30936. <LEVEL>2</LEVEL>
  30937. <DEFAULT></DEFAULT>
  30938. <ORD>32</ORD>
  30939. <LENGTH>0</LENGTH>
  30940. <ENABLED>1</ENABLED>
  30941. <ITEMS></ITEMS>
  30942. </USEREDIT>
  30943. <USEREDIT>
  30944. <NAME>UniqueAkTablespace</NAME>
  30945. <ID>11</ID>
  30946. <GUID>{C2D31233-3A7E-4E02-A65E-12EB797B3BF6}</GUID>
  30947. <CAPTION>Tablespace for Alternate key</CAPTION>
  30948. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30949. <TYPE>0</TYPE>
  30950. <LEVEL>7</LEVEL>
  30951. <DEFAULT></DEFAULT>
  30952. <ORD>12</ORD>
  30953. <LENGTH>0</LENGTH>
  30954. <ENABLED>1</ENABLED>
  30955. <ITEMS></ITEMS>
  30956. </USEREDIT>
  30957. <USEREDIT>
  30958. <NAME>lFunctionsGener</NAME>
  30959. <ID>12</ID>
  30960. <GUID>{53CD5F81-FC6D-4CBA-AA54-82C16944883F}</GUID>
  30961. <CAPTION>Generate Functions</CAPTION>
  30962. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30963. <TYPE>1</TYPE>
  30964. <LEVEL>1</LEVEL>
  30965. <DEFAULT>1</DEFAULT>
  30966. <ORD>30</ORD>
  30967. <LENGTH>0</LENGTH>
  30968. <ENABLED>1</ENABLED>
  30969. <ITEMS></ITEMS>
  30970. </USEREDIT>
  30971. <USEREDIT>
  30972. <NAME>lDropFunctionsGener</NAME>
  30973. <ID>13</ID>
  30974. <GUID>{A9DD3D70-D0FB-4CF6-AE20-E551FF47E706}</GUID>
  30975. <CAPTION>Drop Functions</CAPTION>
  30976. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30977. <TYPE>1</TYPE>
  30978. <LEVEL>1</LEVEL>
  30979. <DEFAULT>1</DEFAULT>
  30980. <ORD>130</ORD>
  30981. <LENGTH>0</LENGTH>
  30982. <ENABLED>1</ENABLED>
  30983. <ITEMS></ITEMS>
  30984. </USEREDIT>
  30985. <USEREDIT>
  30986. <NAME>ConstraintNotNullName</NAME>
  30987. <ID>14</ID>
  30988. <GUID>{7D9AF470-DF89-4232-B300-696FF6B4AE47}</GUID>
  30989. <CAPTION>Constraint NOT NULL</CAPTION>
  30990. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  30991. <TYPE>0</TYPE>
  30992. <LEVEL>3</LEVEL>
  30993. <DEFAULT></DEFAULT>
  30994. <ORD>10</ORD>
  30995. <LENGTH>0</LENGTH>
  30996. <ENABLED>1</ENABLED>
  30997. <ITEMS></ITEMS>
  30998. </USEREDIT>
  30999. <USEREDIT>
  31000. <NAME>lNotNullDeferrable</NAME>
  31001. <ID>15</ID>
  31002. <GUID>{462B8AE4-548E-4808-AD18-706B6FCEE559}</GUID>
  31003. <CAPTION>NOT NULL Deferrable</CAPTION>
  31004. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31005. <TYPE>1</TYPE>
  31006. <LEVEL>3</LEVEL>
  31007. <DEFAULT>0</DEFAULT>
  31008. <ORD>14</ORD>
  31009. <LENGTH>0</LENGTH>
  31010. <ENABLED>1</ENABLED>
  31011. <ITEMS></ITEMS>
  31012. </USEREDIT>
  31013. <USEREDIT>
  31014. <NAME>lNotNullDeferred</NAME>
  31015. <ID>16</ID>
  31016. <GUID>{390EC1C2-B657-472A-8791-059B9F7F8A02}</GUID>
  31017. <CAPTION>NOT NULL Initially Deferred</CAPTION>
  31018. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31019. <TYPE>1</TYPE>
  31020. <LEVEL>3</LEVEL>
  31021. <DEFAULT>0</DEFAULT>
  31022. <ORD>16</ORD>
  31023. <LENGTH>0</LENGTH>
  31024. <ENABLED>1</ENABLED>
  31025. <ITEMS></ITEMS>
  31026. </USEREDIT>
  31027. <USEREDIT>
  31028. <NAME>lCheckDeferrable</NAME>
  31029. <ID>17</ID>
  31030. <GUID>{B43384E3-38AE-4F2A-8CDB-7016A965E07B}</GUID>
  31031. <CAPTION>Check Deferrable</CAPTION>
  31032. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31033. <TYPE>1</TYPE>
  31034. <LEVEL>3</LEVEL>
  31035. <DEFAULT>0</DEFAULT>
  31036. <ORD>24</ORD>
  31037. <LENGTH>0</LENGTH>
  31038. <ENABLED>1</ENABLED>
  31039. <ITEMS></ITEMS>
  31040. </USEREDIT>
  31041. <USEREDIT>
  31042. <NAME>lCheckDeferred</NAME>
  31043. <ID>18</ID>
  31044. <GUID>{16301991-9EB4-4F5F-960F-01C5CA1F2653}</GUID>
  31045. <CAPTION>Check Initially Deferred</CAPTION>
  31046. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31047. <TYPE>1</TYPE>
  31048. <LEVEL>3</LEVEL>
  31049. <DEFAULT>0</DEFAULT>
  31050. <ORD>26</ORD>
  31051. <LENGTH>0</LENGTH>
  31052. <ENABLED>1</ENABLED>
  31053. <ITEMS></ITEMS>
  31054. </USEREDIT>
  31055. <USEREDIT>
  31056. <NAME>lUniqueAkDeferrable</NAME>
  31057. <ID>19</ID>
  31058. <GUID>{470FB728-629E-4B1F-B077-0238E363EA4F}</GUID>
  31059. <CAPTION>Unique Deferrable</CAPTION>
  31060. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31061. <TYPE>1</TYPE>
  31062. <LEVEL>3</LEVEL>
  31063. <DEFAULT>0</DEFAULT>
  31064. <ORD>34</ORD>
  31065. <LENGTH>0</LENGTH>
  31066. <ENABLED>1</ENABLED>
  31067. <ITEMS></ITEMS>
  31068. </USEREDIT>
  31069. <USEREDIT>
  31070. <NAME>lUniqueAkDeferred</NAME>
  31071. <ID>20</ID>
  31072. <GUID>{A0C9BC4F-58ED-4922-AE23-EBC282EEA717}</GUID>
  31073. <CAPTION>Unique Initially Deferred</CAPTION>
  31074. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31075. <TYPE>1</TYPE>
  31076. <LEVEL>3</LEVEL>
  31077. <DEFAULT>0</DEFAULT>
  31078. <ORD>36</ORD>
  31079. <LENGTH>0</LENGTH>
  31080. <ENABLED>1</ENABLED>
  31081. <ITEMS></ITEMS>
  31082. </USEREDIT>
  31083. <USEREDIT>
  31084. <NAME>lPkDeferrable</NAME>
  31085. <ID>21</ID>
  31086. <GUID>{DEE749AE-AB1A-43BC-BBA6-9C39EB530821}</GUID>
  31087. <CAPTION>Primary Key Deferrable</CAPTION>
  31088. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31089. <TYPE>1</TYPE>
  31090. <LEVEL>2</LEVEL>
  31091. <DEFAULT>0</DEFAULT>
  31092. <ORD>34</ORD>
  31093. <LENGTH>0</LENGTH>
  31094. <ENABLED>1</ENABLED>
  31095. <ITEMS></ITEMS>
  31096. </USEREDIT>
  31097. <USEREDIT>
  31098. <NAME>lPkDeferred</NAME>
  31099. <ID>22</ID>
  31100. <GUID>{DE171283-36D7-4D14-A364-77DAB7479C1B}</GUID>
  31101. <CAPTION>Primary Key Initially Deferred</CAPTION>
  31102. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31103. <TYPE>1</TYPE>
  31104. <LEVEL>2</LEVEL>
  31105. <DEFAULT>0</DEFAULT>
  31106. <ORD>36</ORD>
  31107. <LENGTH>0</LENGTH>
  31108. <ENABLED>1</ENABLED>
  31109. <ITEMS></ITEMS>
  31110. </USEREDIT>
  31111. <USEREDIT>
  31112. <NAME>lRefIntDeferrable</NAME>
  31113. <ID>23</ID>
  31114. <GUID>{DFC8FBC4-2CFA-48A8-A342-F2FB465082F8}</GUID>
  31115. <CAPTION>Referential Integrity Deferrable</CAPTION>
  31116. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31117. <TYPE>1</TYPE>
  31118. <LEVEL>5</LEVEL>
  31119. <DEFAULT>0</DEFAULT>
  31120. <ORD>14</ORD>
  31121. <LENGTH>0</LENGTH>
  31122. <ENABLED>1</ENABLED>
  31123. <ITEMS></ITEMS>
  31124. </USEREDIT>
  31125. <USEREDIT>
  31126. <NAME>lRefIntDeferred</NAME>
  31127. <ID>24</ID>
  31128. <GUID>{00A4EE15-8687-4985-B433-B8ACAE363F46}</GUID>
  31129. <CAPTION>Referential Integrity Initially Deferred</CAPTION>
  31130. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31131. <TYPE>1</TYPE>
  31132. <LEVEL>5</LEVEL>
  31133. <DEFAULT>0</DEFAULT>
  31134. <ORD>16</ORD>
  31135. <LENGTH>0</LENGTH>
  31136. <ENABLED>1</ENABLED>
  31137. <ITEMS></ITEMS>
  31138. </USEREDIT>
  31139. <USEREDIT>
  31140. <NAME>lCheckAsConstraint</NAME>
  31141. <ID>25</ID>
  31142. <GUID>{55D98B12-5013-4893-A022-C81EA71C8A48}</GUID>
  31143. <CAPTION>Generate Check Constraint name</CAPTION>
  31144. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31145. <TYPE>1</TYPE>
  31146. <LEVEL>1</LEVEL>
  31147. <DEFAULT>1</DEFAULT>
  31148. <ORD>10</ORD>
  31149. <LENGTH>0</LENGTH>
  31150. <ENABLED>1</ENABLED>
  31151. <ITEMS></ITEMS>
  31152. </USEREDIT>
  31153. <USEREDIT>
  31154. <NAME>lUniqueAsConstraint</NAME>
  31155. <ID>26</ID>
  31156. <GUID>{3F17FA30-340C-43E4-9D76-D7058276B208}</GUID>
  31157. <CAPTION>Generate Unique Constraint name</CAPTION>
  31158. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31159. <TYPE>1</TYPE>
  31160. <LEVEL>1</LEVEL>
  31161. <DEFAULT>1</DEFAULT>
  31162. <ORD>11</ORD>
  31163. <LENGTH>0</LENGTH>
  31164. <ENABLED>1</ENABLED>
  31165. <ITEMS></ITEMS>
  31166. </USEREDIT>
  31167. <USEREDIT>
  31168. <NAME>lNotNullAsConstraint</NAME>
  31169. <ID>27</ID>
  31170. <GUID>{CC2874E7-0134-4481-9B4B-2E1346B66F48}</GUID>
  31171. <CAPTION>Generate NOT NULL Constraint name</CAPTION>
  31172. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31173. <TYPE>1</TYPE>
  31174. <LEVEL>1</LEVEL>
  31175. <DEFAULT>1</DEFAULT>
  31176. <ORD>12</ORD>
  31177. <LENGTH>0</LENGTH>
  31178. <ENABLED>1</ENABLED>
  31179. <ITEMS></ITEMS>
  31180. </USEREDIT>
  31181. <USEREDIT>
  31182. <NAME>lGenSequences</NAME>
  31183. <ID>28</ID>
  31184. <GUID>{57D328F5-3534-4692-A993-14C1E72D0A6F}</GUID>
  31185. <CAPTION>Generate Sequences</CAPTION>
  31186. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31187. <TYPE>1</TYPE>
  31188. <LEVEL>1</LEVEL>
  31189. <DEFAULT>1</DEFAULT>
  31190. <ORD>60</ORD>
  31191. <LENGTH>0</LENGTH>
  31192. <ENABLED>1</ENABLED>
  31193. <ITEMS></ITEMS>
  31194. </USEREDIT>
  31195. <USEREDIT>
  31196. <NAME>lDropSequences</NAME>
  31197. <ID>29</ID>
  31198. <GUID>{89F83B3C-0342-49FD-998D-CD50CF71F7F5}</GUID>
  31199. <CAPTION>Drop Sequences</CAPTION>
  31200. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31201. <TYPE>1</TYPE>
  31202. <LEVEL>1</LEVEL>
  31203. <DEFAULT>1</DEFAULT>
  31204. <ORD>160</ORD>
  31205. <LENGTH>0</LENGTH>
  31206. <ENABLED>1</ENABLED>
  31207. <ITEMS></ITEMS>
  31208. </USEREDIT>
  31209. <USEREDIT>
  31210. <NAME>AttrSeqName</NAME>
  31211. <ID>30</ID>
  31212. <GUID>{E5A7B840-0DD2-47D6-A691-BB7E9C49871C}</GUID>
  31213. <CAPTION>Used sequence (trig)</CAPTION>
  31214. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31215. <TYPE>0</TYPE>
  31216. <LEVEL>3</LEVEL>
  31217. <DEFAULT></DEFAULT>
  31218. <ORD>50</ORD>
  31219. <LENGTH>0</LENGTH>
  31220. <ENABLED>1</ENABLED>
  31221. <ITEMS></ITEMS>
  31222. </USEREDIT>
  31223. <USEREDIT>
  31224. <NAME>lGenSynonyms</NAME>
  31225. <ID>31</ID>
  31226. <GUID>{9F9484E0-4F25-42CC-A4FA-6171CB856068}</GUID>
  31227. <CAPTION>Generate Synonyms</CAPTION>
  31228. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31229. <TYPE>1</TYPE>
  31230. <LEVEL>1</LEVEL>
  31231. <DEFAULT>1</DEFAULT>
  31232. <ORD>50</ORD>
  31233. <LENGTH>0</LENGTH>
  31234. <ENABLED>1</ENABLED>
  31235. <ITEMS></ITEMS>
  31236. </USEREDIT>
  31237. <USEREDIT>
  31238. <NAME>lDropSynonyms</NAME>
  31239. <ID>32</ID>
  31240. <GUID>{6A8E4DD3-CC58-4070-9C27-1D65AC00D41E}</GUID>
  31241. <CAPTION>Drop Synonyms</CAPTION>
  31242. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31243. <TYPE>1</TYPE>
  31244. <LEVEL>1</LEVEL>
  31245. <DEFAULT>1</DEFAULT>
  31246. <ORD>150</ORD>
  31247. <LENGTH>0</LENGTH>
  31248. <ENABLED>1</ENABLED>
  31249. <ITEMS></ITEMS>
  31250. </USEREDIT>
  31251. <USEREDIT>
  31252. <NAME>UniqueAkTablespace</NAME>
  31253. <ID>33</ID>
  31254. <GUID>{348F3F00-D2F8-4F63-9000-0901305EAF50}</GUID>
  31255. <CAPTION>Tablespace for Unique</CAPTION>
  31256. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31257. <TYPE>0</TYPE>
  31258. <LEVEL>3</LEVEL>
  31259. <DEFAULT></DEFAULT>
  31260. <ORD>32</ORD>
  31261. <LENGTH>0</LENGTH>
  31262. <ENABLED>1</ENABLED>
  31263. <ITEMS></ITEMS>
  31264. </USEREDIT>
  31265. <USEREDIT>
  31266. <NAME>lUniqueAkDeferrable</NAME>
  31267. <ID>34</ID>
  31268. <GUID>{AF10391B-2ED8-4A4D-B4DB-1FDD8D32318D}</GUID>
  31269. <CAPTION>Alternate key Deferrable</CAPTION>
  31270. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31271. <TYPE>1</TYPE>
  31272. <LEVEL>7</LEVEL>
  31273. <DEFAULT>0</DEFAULT>
  31274. <ORD>14</ORD>
  31275. <LENGTH>0</LENGTH>
  31276. <ENABLED>1</ENABLED>
  31277. <ITEMS></ITEMS>
  31278. </USEREDIT>
  31279. <USEREDIT>
  31280. <NAME>lUniqueAkDeferred</NAME>
  31281. <ID>35</ID>
  31282. <GUID>{246756CD-3686-4C8F-8341-2BFCECFAB7B9}</GUID>
  31283. <CAPTION>Alternate key Deferred</CAPTION>
  31284. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31285. <TYPE>1</TYPE>
  31286. <LEVEL>7</LEVEL>
  31287. <DEFAULT>0</DEFAULT>
  31288. <ORD>16</ORD>
  31289. <LENGTH>0</LENGTH>
  31290. <ENABLED>1</ENABLED>
  31291. <ITEMS></ITEMS>
  31292. </USEREDIT>
  31293. <USEREDIT>
  31294. <NAME>TableTablespace</NAME>
  31295. <ID>36</ID>
  31296. <GUID>{720FFD94-9D95-4624-9737-86AC55588648}</GUID>
  31297. <CAPTION>Tablespace for Table</CAPTION>
  31298. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31299. <TYPE>0</TYPE>
  31300. <LEVEL>2</LEVEL>
  31301. <DEFAULT></DEFAULT>
  31302. <ORD>22</ORD>
  31303. <LENGTH>0</LENGTH>
  31304. <ENABLED>1</ENABLED>
  31305. <ITEMS></ITEMS>
  31306. </USEREDIT>
  31307. <USEREDIT>
  31308. <NAME>IndexTablespace</NAME>
  31309. <ID>37</ID>
  31310. <GUID>{7C4E04A8-4437-4F30-A5E0-4B1280FFD6EF}</GUID>
  31311. <CAPTION>Tablespace for Index</CAPTION>
  31312. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31313. <TYPE>0</TYPE>
  31314. <LEVEL>4</LEVEL>
  31315. <DEFAULT></DEFAULT>
  31316. <ORD>22</ORD>
  31317. <LENGTH>0</LENGTH>
  31318. <ENABLED>1</ENABLED>
  31319. <ITEMS></ITEMS>
  31320. </USEREDIT>
  31321. <USEREDIT>
  31322. <NAME>lGenTabComments</NAME>
  31323. <ID>38</ID>
  31324. <GUID>{CC95BBBA-8CDA-4901-B37E-E799FA71DAB7}</GUID>
  31325. <CAPTION>Generate comments on tables</CAPTION>
  31326. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31327. <TYPE>1</TYPE>
  31328. <LEVEL>1</LEVEL>
  31329. <DEFAULT>1</DEFAULT>
  31330. <ORD>15</ORD>
  31331. <LENGTH>0</LENGTH>
  31332. <ENABLED>1</ENABLED>
  31333. <ITEMS></ITEMS>
  31334. </USEREDIT>
  31335. <USEREDIT>
  31336. <NAME>lGenAttrComments</NAME>
  31337. <ID>39</ID>
  31338. <GUID>{97F277A5-B6DA-40EE-8D8D-4199F178F1BA}</GUID>
  31339. <CAPTION>Generate comments on attributes</CAPTION>
  31340. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  31341. <TYPE>1</TYPE>
  31342. <LEVEL>1</LEVEL>
  31343. <DEFAULT>1</DEFAULT>
  31344. <ORD>16</ORD>
  31345. <LENGTH>0</LENGTH>
  31346. <ENABLED>1</ENABLED>
  31347. <ITEMS></ITEMS>
  31348. </USEREDIT>
  31349. </USEREDITS>
  31350. <TYPELIST>
  31351. <TYPE>
  31352. <NAME>Char</NAME>
  31353. <ID>10</ID>
  31354. <GUID>{8868ECE5-6D27-43C6-B286-FF9CA80D7F33}</GUID>
  31355. <PHNAME>Char</PHNAME>
  31356. <LLENGTH>1</LLENGTH>
  31357. <LDECIMAL>0</LDECIMAL>
  31358. <MAXLENGTH>2000</MAXLENGTH>
  31359. <MINLENGTH>1</MINLENGTH>
  31360. <MAXDECIMAL>0</MAXDECIMAL>
  31361. <MINDECIMAL>0</MINDECIMAL>
  31362. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  31363. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31364. <TRANSFORMCODE>A</TRANSFORMCODE>
  31365. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  31366. <EXPORTTO>0</EXPORTTO>
  31367. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31368. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31369. </TYPE>
  31370. <TYPE>
  31371. <NAME>NChar</NAME>
  31372. <ID>15</ID>
  31373. <GUID>{4D553274-B2EB-4D5A-848F-C103757FB079}</GUID>
  31374. <PHNAME>NChar</PHNAME>
  31375. <LLENGTH>1</LLENGTH>
  31376. <LDECIMAL>0</LDECIMAL>
  31377. <MAXLENGTH>2000</MAXLENGTH>
  31378. <MINLENGTH>1</MINLENGTH>
  31379. <MAXDECIMAL>0</MAXDECIMAL>
  31380. <MINDECIMAL>0</MINDECIMAL>
  31381. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  31382. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31383. <TRANSFORMCODE>NA</TRANSFORMCODE>
  31384. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  31385. <EXPORTTO>0</EXPORTTO>
  31386. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31387. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31388. </TYPE>
  31389. <TYPE>
  31390. <NAME>Varchar2</NAME>
  31391. <ID>20</ID>
  31392. <GUID>{8F92921E-8779-48C5-8ED0-F076805ECBC7}</GUID>
  31393. <PHNAME>Varchar2</PHNAME>
  31394. <LLENGTH>1</LLENGTH>
  31395. <LDECIMAL>0</LDECIMAL>
  31396. <MAXLENGTH>4000</MAXLENGTH>
  31397. <MINLENGTH>1</MINLENGTH>
  31398. <MAXDECIMAL>0</MAXDECIMAL>
  31399. <MINDECIMAL>0</MINDECIMAL>
  31400. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  31401. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31402. <TRANSFORMCODE>VA</TRANSFORMCODE>
  31403. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  31404. <EXPORTTO>0</EXPORTTO>
  31405. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31406. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31407. </TYPE>
  31408. <TYPE>
  31409. <NAME>NVarchar2</NAME>
  31410. <ID>30</ID>
  31411. <GUID>{7CB276E2-5814-4C48-A4F3-00B66E3BCE72}</GUID>
  31412. <PHNAME>NVarchar2</PHNAME>
  31413. <LLENGTH>1</LLENGTH>
  31414. <LDECIMAL>0</LDECIMAL>
  31415. <MAXLENGTH>4000</MAXLENGTH>
  31416. <MINLENGTH>1</MINLENGTH>
  31417. <MAXDECIMAL>0</MAXDECIMAL>
  31418. <MINDECIMAL>0</MINDECIMAL>
  31419. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  31420. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31421. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  31422. <TRANSFORMTO>NVA;LVA;NA;A;LA;</TRANSFORMTO>
  31423. <EXPORTTO>0</EXPORTTO>
  31424. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31425. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31426. </TYPE>
  31427. <TYPE>
  31428. <NAME>Number(x,y)</NAME>
  31429. <ID>40</ID>
  31430. <GUID>{F98B4306-F800-40E1-8048-12FFECF8AC9C}</GUID>
  31431. <PHNAME>Number</PHNAME>
  31432. <LLENGTH>1</LLENGTH>
  31433. <LDECIMAL>1</LDECIMAL>
  31434. <MAXLENGTH>38</MAXLENGTH>
  31435. <MINLENGTH>1</MINLENGTH>
  31436. <MAXDECIMAL>127</MAXDECIMAL>
  31437. <MINDECIMAL>-84</MINDECIMAL>
  31438. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  31439. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31440. <TRANSFORMCODE>NXY</TRANSFORMCODE>
  31441. <TRANSFORMTO>NXY;DC,15,5;N,15,5;F;</TRANSFORMTO>
  31442. <EXPORTTO>0</EXPORTTO>
  31443. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31444. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31445. </TYPE>
  31446. <TYPE>
  31447. <NAME>Number</NAME>
  31448. <ID>42</ID>
  31449. <GUID>{89C70FEC-6580-464E-AA03-22235C013C67}</GUID>
  31450. <PHNAME>Number</PHNAME>
  31451. <LLENGTH>0</LLENGTH>
  31452. <LDECIMAL>0</LDECIMAL>
  31453. <MAXLENGTH>0</MAXLENGTH>
  31454. <MINLENGTH>0</MINLENGTH>
  31455. <MAXDECIMAL>0</MAXDECIMAL>
  31456. <MINDECIMAL>0</MINDECIMAL>
  31457. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31458. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31459. <TRANSFORMCODE>N</TRANSFORMCODE>
  31460. <TRANSFORMTO>N;DC;F;</TRANSFORMTO>
  31461. <EXPORTTO>0</EXPORTTO>
  31462. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31463. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31464. </TYPE>
  31465. <TYPE>
  31466. <NAME>Decimal</NAME>
  31467. <ID>50</ID>
  31468. <GUID>{FA398691-3383-4929-B512-100F50B49B52}</GUID>
  31469. <PHNAME>Decimal</PHNAME>
  31470. <LLENGTH>1</LLENGTH>
  31471. <LDECIMAL>1</LDECIMAL>
  31472. <MAXLENGTH>38</MAXLENGTH>
  31473. <MINLENGTH>1</MINLENGTH>
  31474. <MAXDECIMAL>127</MAXDECIMAL>
  31475. <MINDECIMAL>-84</MINDECIMAL>
  31476. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  31477. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31478. <TRANSFORMCODE>DC</TRANSFORMCODE>
  31479. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  31480. <EXPORTTO>0</EXPORTTO>
  31481. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31482. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31483. </TYPE>
  31484. <TYPE>
  31485. <NAME>Integer</NAME>
  31486. <ID>60</ID>
  31487. <GUID>{6672CECB-C78E-4C5B-82DB-99A5D20EC178}</GUID>
  31488. <PHNAME>Number</PHNAME>
  31489. <LLENGTH>0</LLENGTH>
  31490. <LDECIMAL>0</LDECIMAL>
  31491. <MAXLENGTH>0</MAXLENGTH>
  31492. <MINLENGTH>0</MINLENGTH>
  31493. <MAXDECIMAL>0</MAXDECIMAL>
  31494. <MINDECIMAL>0</MINDECIMAL>
  31495. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31496. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31497. <TRANSFORMCODE>I</TRANSFORMCODE>
  31498. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  31499. <EXPORTTO>0</EXPORTTO>
  31500. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31501. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31502. </TYPE>
  31503. <TYPE>
  31504. <NAME>Smallint</NAME>
  31505. <ID>70</ID>
  31506. <GUID>{260DDB52-95B0-4F76-A8F6-18B7D26159D3}</GUID>
  31507. <PHNAME>Number</PHNAME>
  31508. <LLENGTH>0</LLENGTH>
  31509. <LDECIMAL>0</LDECIMAL>
  31510. <MAXLENGTH>0</MAXLENGTH>
  31511. <MINLENGTH>0</MINLENGTH>
  31512. <MAXDECIMAL>0</MAXDECIMAL>
  31513. <MINDECIMAL>0</MINDECIMAL>
  31514. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31515. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31516. <TRANSFORMCODE>SI</TRANSFORMCODE>
  31517. <TRANSFORMTO>SI;MI;I;LI;N,4,0;</TRANSFORMTO>
  31518. <EXPORTTO>0</EXPORTTO>
  31519. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31520. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31521. </TYPE>
  31522. <TYPE>
  31523. <NAME>Real</NAME>
  31524. <ID>80</ID>
  31525. <GUID>{456DE841-6E32-4070-8C96-F345B639EFE8}</GUID>
  31526. <PHNAME>Real</PHNAME>
  31527. <LLENGTH>0</LLENGTH>
  31528. <LDECIMAL>0</LDECIMAL>
  31529. <MAXLENGTH>0</MAXLENGTH>
  31530. <MINLENGTH>0</MINLENGTH>
  31531. <MAXDECIMAL>0</MAXDECIMAL>
  31532. <MINDECIMAL>0</MINDECIMAL>
  31533. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31534. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31535. <TRANSFORMCODE>R</TRANSFORMCODE>
  31536. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  31537. <EXPORTTO>0</EXPORTTO>
  31538. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31539. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31540. </TYPE>
  31541. <TYPE>
  31542. <NAME>Double precision</NAME>
  31543. <ID>85</ID>
  31544. <GUID>{68CE518B-CDED-4D9C-AE44-F44F2556FF5E}</GUID>
  31545. <PHNAME>Double precision</PHNAME>
  31546. <LLENGTH>0</LLENGTH>
  31547. <LDECIMAL>0</LDECIMAL>
  31548. <MAXLENGTH>0</MAXLENGTH>
  31549. <MINLENGTH>0</MINLENGTH>
  31550. <MAXDECIMAL>0</MAXDECIMAL>
  31551. <MINDECIMAL>0</MINDECIMAL>
  31552. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31553. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31554. <TRANSFORMCODE>LF</TRANSFORMCODE>
  31555. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  31556. <EXPORTTO>0</EXPORTTO>
  31557. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31558. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31559. </TYPE>
  31560. <TYPE>
  31561. <NAME>Float</NAME>
  31562. <ID>90</ID>
  31563. <GUID>{2FC3338E-F3AC-4E9A-A6A7-EF4A3D7E6E7E}</GUID>
  31564. <PHNAME>Float</PHNAME>
  31565. <LLENGTH>0</LLENGTH>
  31566. <LDECIMAL>0</LDECIMAL>
  31567. <MAXLENGTH>0</MAXLENGTH>
  31568. <MINLENGTH>0</MINLENGTH>
  31569. <MAXDECIMAL>0</MAXDECIMAL>
  31570. <MINDECIMAL>0</MINDECIMAL>
  31571. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31572. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31573. <TRANSFORMCODE>F</TRANSFORMCODE>
  31574. <TRANSFORMTO>F;LF;N,15,5;DC,15,5;</TRANSFORMTO>
  31575. <EXPORTTO>0</EXPORTTO>
  31576. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31577. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31578. </TYPE>
  31579. <TYPE>
  31580. <NAME>Float(b)</NAME>
  31581. <ID>100</ID>
  31582. <GUID>{B6E0FE6A-5AEE-4A7B-AB5C-F464542A0196}</GUID>
  31583. <PHNAME>Float</PHNAME>
  31584. <LLENGTH>1</LLENGTH>
  31585. <LDECIMAL>0</LDECIMAL>
  31586. <MAXLENGTH>126</MAXLENGTH>
  31587. <MINLENGTH>1</MINLENGTH>
  31588. <MAXDECIMAL>0</MAXDECIMAL>
  31589. <MINDECIMAL>0</MINDECIMAL>
  31590. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  31591. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31592. <TRANSFORMCODE>LF</TRANSFORMCODE>
  31593. <TRANSFORMTO>LF;N,15,5;DC,15,5;F;</TRANSFORMTO>
  31594. <EXPORTTO>0</EXPORTTO>
  31595. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31596. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31597. </TYPE>
  31598. <TYPE>
  31599. <NAME>Date</NAME>
  31600. <ID>110</ID>
  31601. <GUID>{E5EE1CC8-04CD-493C-A3D6-FF9E57C75614}</GUID>
  31602. <PHNAME>Date</PHNAME>
  31603. <LLENGTH>0</LLENGTH>
  31604. <LDECIMAL>0</LDECIMAL>
  31605. <MAXLENGTH>0</MAXLENGTH>
  31606. <MINLENGTH>0</MINLENGTH>
  31607. <MAXDECIMAL>0</MAXDECIMAL>
  31608. <MINDECIMAL>0</MINDECIMAL>
  31609. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31610. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31611. <TRANSFORMCODE>D</TRANSFORMCODE>
  31612. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  31613. <EXPORTTO>0</EXPORTTO>
  31614. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31615. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31616. </TYPE>
  31617. <TYPE>
  31618. <NAME>Long</NAME>
  31619. <ID>120</ID>
  31620. <GUID>{FC440876-9D17-4395-99B3-24E3ACFA23A8}</GUID>
  31621. <PHNAME>Long</PHNAME>
  31622. <LLENGTH>0</LLENGTH>
  31623. <LDECIMAL>0</LDECIMAL>
  31624. <MAXLENGTH>0</MAXLENGTH>
  31625. <MINLENGTH>0</MINLENGTH>
  31626. <MAXDECIMAL>0</MAXDECIMAL>
  31627. <MINDECIMAL>0</MINDECIMAL>
  31628. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31629. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31630. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  31631. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  31632. <EXPORTTO>0</EXPORTTO>
  31633. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31634. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31635. </TYPE>
  31636. <TYPE>
  31637. <NAME>Blob</NAME>
  31638. <ID>130</ID>
  31639. <GUID>{C542ED71-B2A2-4E77-A92A-ACC8D99A3299}</GUID>
  31640. <PHNAME>Blob</PHNAME>
  31641. <LLENGTH>0</LLENGTH>
  31642. <LDECIMAL>0</LDECIMAL>
  31643. <MAXLENGTH>0</MAXLENGTH>
  31644. <MINLENGTH>0</MINLENGTH>
  31645. <MAXDECIMAL>0</MAXDECIMAL>
  31646. <MINDECIMAL>0</MINDECIMAL>
  31647. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31648. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31649. <TRANSFORMCODE>LBLOB</TRANSFORMCODE>
  31650. <TRANSFORMTO>LBLOB;LBIN;BLOB;</TRANSFORMTO>
  31651. <EXPORTTO>0</EXPORTTO>
  31652. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31653. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31654. </TYPE>
  31655. <TYPE>
  31656. <NAME>Clob</NAME>
  31657. <ID>140</ID>
  31658. <GUID>{8AB874B6-8DDE-4259-9CE4-A819ABF26898}</GUID>
  31659. <PHNAME>Clob</PHNAME>
  31660. <LLENGTH>0</LLENGTH>
  31661. <LDECIMAL>0</LDECIMAL>
  31662. <MAXLENGTH>0</MAXLENGTH>
  31663. <MINLENGTH>0</MINLENGTH>
  31664. <MAXDECIMAL>0</MAXDECIMAL>
  31665. <MINDECIMAL>0</MINDECIMAL>
  31666. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31667. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31668. <TRANSFORMCODE>LCLOB</TRANSFORMCODE>
  31669. <TRANSFORMTO>LCLOB;CLOB;TXT;BLOB;</TRANSFORMTO>
  31670. <EXPORTTO>0</EXPORTTO>
  31671. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31672. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31673. </TYPE>
  31674. <TYPE>
  31675. <NAME>NClob</NAME>
  31676. <ID>145</ID>
  31677. <GUID>{628A03FB-6CC5-4DA7-A451-D1EAE78BDA47}</GUID>
  31678. <PHNAME>NClob</PHNAME>
  31679. <LLENGTH>0</LLENGTH>
  31680. <LDECIMAL>0</LDECIMAL>
  31681. <MAXLENGTH>0</MAXLENGTH>
  31682. <MINLENGTH>0</MINLENGTH>
  31683. <MAXDECIMAL>0</MAXDECIMAL>
  31684. <MINDECIMAL>0</MINDECIMAL>
  31685. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31686. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31687. <TRANSFORMCODE>NLCLOB</TRANSFORMCODE>
  31688. <TRANSFORMTO>NLCLOB;NCLOB;CLOB;TXT;BLOB;</TRANSFORMTO>
  31689. <EXPORTTO>0</EXPORTTO>
  31690. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31691. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31692. </TYPE>
  31693. <TYPE>
  31694. <NAME>Long raw</NAME>
  31695. <ID>150</ID>
  31696. <GUID>{DEE94FAF-01CD-4655-9D51-9120F8F0B81C}</GUID>
  31697. <PHNAME>Long raw</PHNAME>
  31698. <LLENGTH>0</LLENGTH>
  31699. <LDECIMAL>0</LDECIMAL>
  31700. <MAXLENGTH>0</MAXLENGTH>
  31701. <MINLENGTH>0</MINLENGTH>
  31702. <MAXDECIMAL>0</MAXDECIMAL>
  31703. <MINDECIMAL>0</MINDECIMAL>
  31704. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31705. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31706. <TRANSFORMCODE>LRAW</TRANSFORMCODE>
  31707. <TRANSFORMTO>LRAW;LBIN;</TRANSFORMTO>
  31708. <EXPORTTO>0</EXPORTTO>
  31709. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31710. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31711. </TYPE>
  31712. <TYPE>
  31713. <NAME>Raw</NAME>
  31714. <ID>160</ID>
  31715. <GUID>{BC87D9B8-DCBD-49C5-BF20-24421DD35E93}</GUID>
  31716. <PHNAME>Raw</PHNAME>
  31717. <LLENGTH>1</LLENGTH>
  31718. <LDECIMAL>0</LDECIMAL>
  31719. <MAXLENGTH>2000</MAXLENGTH>
  31720. <MINLENGTH>1</MINLENGTH>
  31721. <MAXDECIMAL>0</MAXDECIMAL>
  31722. <MINDECIMAL>0</MINDECIMAL>
  31723. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  31724. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31725. <TRANSFORMCODE>RAW</TRANSFORMCODE>
  31726. <TRANSFORMTO>RAW;LBIN;</TRANSFORMTO>
  31727. <EXPORTTO>0</EXPORTTO>
  31728. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31729. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31730. </TYPE>
  31731. <TYPE>
  31732. <NAME>Rowid</NAME>
  31733. <ID>170</ID>
  31734. <GUID>{08DB3BF4-C1C5-4157-A6DD-C9B5B20DD4BE}</GUID>
  31735. <PHNAME>Rowid</PHNAME>
  31736. <LLENGTH>0</LLENGTH>
  31737. <LDECIMAL>0</LDECIMAL>
  31738. <MAXLENGTH>0</MAXLENGTH>
  31739. <MINLENGTH>0</MINLENGTH>
  31740. <MAXDECIMAL>0</MAXDECIMAL>
  31741. <MINDECIMAL>0</MINDECIMAL>
  31742. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31743. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31744. <TRANSFORMCODE>RID</TRANSFORMCODE>
  31745. <TRANSFORMTO>RID;I;</TRANSFORMTO>
  31746. <EXPORTTO>0</EXPORTTO>
  31747. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31748. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31749. </TYPE>
  31750. <TYPE>
  31751. <NAME>Urowid</NAME>
  31752. <ID>175</ID>
  31753. <GUID>{CA01B50F-8D4F-4EBA-B873-C1BDBCC43282}</GUID>
  31754. <PHNAME>Urowid</PHNAME>
  31755. <LLENGTH>1</LLENGTH>
  31756. <LDECIMAL>0</LDECIMAL>
  31757. <MAXLENGTH>4000</MAXLENGTH>
  31758. <MINLENGTH>0</MINLENGTH>
  31759. <MAXDECIMAL>0</MAXDECIMAL>
  31760. <MINDECIMAL>0</MINDECIMAL>
  31761. <DEFAULTLENGTH>4000</DEFAULTLENGTH>
  31762. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31763. <TRANSFORMCODE>URID</TRANSFORMCODE>
  31764. <TRANSFORMTO>URID;I;</TRANSFORMTO>
  31765. <EXPORTTO>0</EXPORTTO>
  31766. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31767. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31768. </TYPE>
  31769. <TYPE>
  31770. <NAME>Bfile</NAME>
  31771. <ID>190</ID>
  31772. <GUID>{FCCDCACD-8F0C-4BB7-9815-381CB7F128A9}</GUID>
  31773. <PHNAME>Bfile</PHNAME>
  31774. <LLENGTH>0</LLENGTH>
  31775. <LDECIMAL>0</LDECIMAL>
  31776. <MAXLENGTH>0</MAXLENGTH>
  31777. <MINLENGTH>0</MINLENGTH>
  31778. <MAXDECIMAL>0</MAXDECIMAL>
  31779. <MINDECIMAL>0</MINDECIMAL>
  31780. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31781. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31782. <TRANSFORMCODE>BFILE</TRANSFORMCODE>
  31783. <TRANSFORMTO>BFILE;</TRANSFORMTO>
  31784. <EXPORTTO>0</EXPORTTO>
  31785. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31786. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31787. </TYPE>
  31788. <TYPE>
  31789. <NAME>Timestamp</NAME>
  31790. <ID>200</ID>
  31791. <GUID>{0190F7F9-48C3-48D0-839B-9294B1DDE23C}</GUID>
  31792. <PHNAME>Timestamp</PHNAME>
  31793. <LLENGTH>1</LLENGTH>
  31794. <LDECIMAL>0</LDECIMAL>
  31795. <MAXLENGTH>9</MAXLENGTH>
  31796. <MINLENGTH>0</MINLENGTH>
  31797. <MAXDECIMAL>0</MAXDECIMAL>
  31798. <MINDECIMAL>0</MINDECIMAL>
  31799. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  31800. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31801. <TRANSFORMCODE>DT_TS</TRANSFORMCODE>
  31802. <TRANSFORMTO>DT_TS;DT;D;</TRANSFORMTO>
  31803. <EXPORTTO>0</EXPORTTO>
  31804. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31805. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31806. </TYPE>
  31807. <TYPE>
  31808. <NAME>Timestamp with time zone</NAME>
  31809. <ID>210</ID>
  31810. <GUID>{2CCBAF8E-DCAE-46FD-BCD6-4B5CD3986FB9}</GUID>
  31811. <PHNAME>Timestamp</PHNAME>
  31812. <LLENGTH>1</LLENGTH>
  31813. <LDECIMAL>0</LDECIMAL>
  31814. <MAXLENGTH>9</MAXLENGTH>
  31815. <MINLENGTH>0</MINLENGTH>
  31816. <MAXDECIMAL>0</MAXDECIMAL>
  31817. <MINDECIMAL>0</MINDECIMAL>
  31818. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  31819. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31820. <TRANSFORMCODE>DT_TSTZ</TRANSFORMCODE>
  31821. <TRANSFORMTO>DT_TSTZ;DT;D;</TRANSFORMTO>
  31822. <EXPORTTO>0</EXPORTTO>
  31823. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31824. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31825. </TYPE>
  31826. <TYPE>
  31827. <NAME>Timestamp with local time zone</NAME>
  31828. <ID>220</ID>
  31829. <GUID>{F37FAF3B-8DC5-4464-AEE6-5148B32E2D3E}</GUID>
  31830. <PHNAME>Timestamp</PHNAME>
  31831. <LLENGTH>1</LLENGTH>
  31832. <LDECIMAL>0</LDECIMAL>
  31833. <MAXLENGTH>9</MAXLENGTH>
  31834. <MINLENGTH>0</MINLENGTH>
  31835. <MAXDECIMAL>0</MAXDECIMAL>
  31836. <MINDECIMAL>0</MINDECIMAL>
  31837. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  31838. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31839. <TRANSFORMCODE>DT_TSLTZ</TRANSFORMCODE>
  31840. <TRANSFORMTO>DT_TSLTZ;DT;D;</TRANSFORMTO>
  31841. <EXPORTTO>0</EXPORTTO>
  31842. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31843. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31844. </TYPE>
  31845. <TYPE>
  31846. <NAME>Interval year to month</NAME>
  31847. <ID>230</ID>
  31848. <GUID>{C6CA5594-FE0B-4661-8BFF-6260F4402A64}</GUID>
  31849. <PHNAME>Interval year</PHNAME>
  31850. <LLENGTH>1</LLENGTH>
  31851. <LDECIMAL>0</LDECIMAL>
  31852. <MAXLENGTH>9</MAXLENGTH>
  31853. <MINLENGTH>0</MINLENGTH>
  31854. <MAXDECIMAL>0</MAXDECIMAL>
  31855. <MINDECIMAL>0</MINDECIMAL>
  31856. <DEFAULTLENGTH>2</DEFAULTLENGTH>
  31857. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31858. <TRANSFORMCODE>DT_IYM</TRANSFORMCODE>
  31859. <TRANSFORMTO>DT_IYM;DT;D;</TRANSFORMTO>
  31860. <EXPORTTO>0</EXPORTTO>
  31861. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31862. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31863. </TYPE>
  31864. <TYPE>
  31865. <NAME>Interval day to seconds</NAME>
  31866. <ID>240</ID>
  31867. <GUID>{A714B116-AD0F-4519-A3D8-C0EF7820814A}</GUID>
  31868. <PHNAME>Interval day</PHNAME>
  31869. <LLENGTH>1</LLENGTH>
  31870. <LDECIMAL>1</LDECIMAL>
  31871. <MAXLENGTH>9</MAXLENGTH>
  31872. <MINLENGTH>0</MINLENGTH>
  31873. <MAXDECIMAL>9</MAXDECIMAL>
  31874. <MINDECIMAL>0</MINDECIMAL>
  31875. <DEFAULTLENGTH>2</DEFAULTLENGTH>
  31876. <DEFAULTDECIMAL>6</DEFAULTDECIMAL>
  31877. <TRANSFORMCODE>DT_IDS</TRANSFORMCODE>
  31878. <TRANSFORMTO>DT_IDS;DT;D;</TRANSFORMTO>
  31879. <EXPORTTO>0</EXPORTTO>
  31880. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31881. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31882. </TYPE>
  31883. <TYPE>
  31884. <NAME>Empty</NAME>
  31885. <ID>400</ID>
  31886. <GUID>{BC7FC1DC-7EAE-499F-9BCE-D67B89BE6CD9}</GUID>
  31887. <PHNAME></PHNAME>
  31888. <LLENGTH>0</LLENGTH>
  31889. <LDECIMAL>0</LDECIMAL>
  31890. <MAXLENGTH>0</MAXLENGTH>
  31891. <MINLENGTH>0</MINLENGTH>
  31892. <MAXDECIMAL>0</MAXDECIMAL>
  31893. <MINDECIMAL>0</MINDECIMAL>
  31894. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  31895. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  31896. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  31897. <TRANSFORMTO>EMP;</TRANSFORMTO>
  31898. <EXPORTTO>0</EXPORTTO>
  31899. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  31900. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  31901. </TYPE>
  31902. </TYPELIST>
  31903. <TEXTOBJECTTYPES>
  31904. <TEXTOBJECTTYPE>
  31905. <NAME>Functions</NAME>
  31906. <ID>1</ID>
  31907. <GUID>{804378A9-AEBA-458A-8B8C-97D1422D1762}</GUID>
  31908. <TEXTOBJECTTYPE>10</TEXTOBJECTTYPE>
  31909. <DEFAULTNAME>Function%d"</DEFAULTNAME>
  31910. </TEXTOBJECTTYPE>
  31911. <TEXTOBJECTTYPE>
  31912. <NAME>Packages</NAME>
  31913. <ID>2</ID>
  31914. <GUID>{64053C6A-8DBF-4FD6-9CA1-5A1C56C37B7F}</GUID>
  31915. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  31916. <DEFAULTNAME>Package%d</DEFAULTNAME>
  31917. </TEXTOBJECTTYPE>
  31918. <TEXTOBJECTTYPE>
  31919. <NAME>Package bodies</NAME>
  31920. <ID>3</ID>
  31921. <GUID>{9779481B-0D5D-47E4-B7CC-2B100605E41D}</GUID>
  31922. <TEXTOBJECTTYPE>21</TEXTOBJECTTYPE>
  31923. <DEFAULTNAME>Package_body%d</DEFAULTNAME>
  31924. </TEXTOBJECTTYPE>
  31925. <TEXTOBJECTTYPE>
  31926. <NAME>Object types</NAME>
  31927. <ID>4</ID>
  31928. <GUID>{460FFCE7-598C-48C2-B1BF-9EFF166E1286}</GUID>
  31929. <TEXTOBJECTTYPE>30</TEXTOBJECTTYPE>
  31930. <DEFAULTNAME>ObjectType%d</DEFAULTNAME>
  31931. </TEXTOBJECTTYPE>
  31932. <TEXTOBJECTTYPE>
  31933. <NAME>Object type bodies</NAME>
  31934. <ID>5</ID>
  31935. <GUID>{3A7A1D2B-AA72-4883-91BA-F5965FFC8E9C}</GUID>
  31936. <TEXTOBJECTTYPE>31</TEXTOBJECTTYPE>
  31937. <DEFAULTNAME>ObjectType_body%d</DEFAULTNAME>
  31938. </TEXTOBJECTTYPE>
  31939. <TEXTOBJECTTYPE>
  31940. <NAME>Sequences</NAME>
  31941. <ID>6</ID>
  31942. <GUID>{DE515893-49ED-4A64-8D10-F8AC299E60A7}</GUID>
  31943. <TEXTOBJECTTYPE>40</TEXTOBJECTTYPE>
  31944. <DEFAULTNAME>Sequence%d</DEFAULTNAME>
  31945. </TEXTOBJECTTYPE>
  31946. <TEXTOBJECTTYPE>
  31947. <NAME>Synonyms</NAME>
  31948. <ID>7</ID>
  31949. <GUID>{ACA5BC04-9E42-41EE-AC22-BD1551119250}</GUID>
  31950. <TEXTOBJECTTYPE>50</TEXTOBJECTTYPE>
  31951. <DEFAULTNAME>Synonyms%d</DEFAULTNAME>
  31952. </TEXTOBJECTTYPE>
  31953. </TEXTOBJECTTYPES>
  31954. <DISABLED>0</DISABLED>
  31955. <MAXLENGTHTABLENAME>30</MAXLENGTHTABLENAME>
  31956. <MAXLENGTHCOLNAME>30</MAXLENGTHCOLNAME>
  31957. <MAXLENGTHINDEXNAME>30</MAXLENGTHINDEXNAME>
  31958. <DEFAULTCHAR>_</DEFAULTCHAR>
  31959. <INVALIDCHARACTERS>!"#$%&'()*+,-./:;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  31960. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  31961. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  31962. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  31963. <DEFAULTTYPEID>20</DEFAULTTYPEID>
  31964. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  31965. <KEYWORDS><![CDATA[ACCESS
  31966. ADD
  31967. ALL
  31968. ALTER
  31969. AND
  31970. ANY
  31971. AS
  31972. ASC
  31973. AUDIT
  31974. BETWEEN
  31975. BY
  31976. CHAR
  31977. CHECK
  31978. CLUSTER
  31979. COLUMN
  31980. COMMENT
  31981. COMPRESS
  31982. CONNECT
  31983. CREATE
  31984. CURRENT
  31985. DATE
  31986. DECIMAL
  31987. DEFAULT
  31988. DELETE
  31989. DESC
  31990. DISTINCT
  31991. DROP
  31992. ELSE
  31993. EXCLUSIVE
  31994. EXISTS
  31995. FILE
  31996. FLOAT
  31997. FOR
  31998. FROM
  31999. GRANT
  32000. GROUP
  32001. HAVING
  32002. IDENTIFIED
  32003. IMMEDIATE
  32004. IN
  32005. INCREMENT
  32006. INDEX
  32007. INITIAL
  32008. INSERT
  32009. INTEGER
  32010. INTERSECT
  32011. INTO
  32012. IS
  32013. LEVEL
  32014. LIKE
  32015. LOCK
  32016. LONG
  32017. MAXEXTENTS
  32018. MINUS
  32019. MLSLABEL
  32020. MODE
  32021. MODIFY
  32022. NOAUDIT
  32023. NOCOMPRESS
  32024. NOT
  32025. NOWAIT
  32026. NULL
  32027. NUMBER
  32028. OF
  32029. OFFLINE
  32030. ON
  32031. ONLINE
  32032. OPTION
  32033. OR
  32034. ORDER
  32035. PCTFREE
  32036. PRIOR
  32037. PRIVILEGES
  32038. PUBLIC
  32039. RAW
  32040. RENAME
  32041. RESOURCE
  32042. REVOKE
  32043. ROW
  32044. ROWID
  32045. ROWNUM
  32046. ROWS
  32047. SELECT
  32048. SESSION
  32049. SET
  32050. SHARE
  32051. SIZE
  32052. SMALLINT
  32053. START
  32054. SUCCESSFUL
  32055. SYNONYM
  32056. SYSDATE
  32057. TABLE
  32058. THEN
  32059. TO
  32060. TRIGGER
  32061. UID
  32062. UNION
  32063. UNIQUE
  32064. UPDATE
  32065. USER
  32066. VALIDATE
  32067. VALUES
  32068. VARCHAR
  32069. VARCHAR2
  32070. VIEW
  32071. WHENEVER
  32072. WHERE
  32073. WITH
  32074. ]]></KEYWORDS>
  32075. </SERVER>
  32076. <SERVER>
  32077. <NAME>Paradox</NAME>
  32078. <ID>1</ID>
  32079. <GUID>{C8ACE144-635F-453D-BAE8-14595CAE7886}</GUID>
  32080. <TEMPLATES>
  32081. <TEMPLATE>
  32082. <NAME>CREATEDATABASE</NAME>
  32083. <ID>1</ID>
  32084. <GUID>{AA127809-0053-4046-AEEC-8FCF9B220B9C}</GUID>
  32085. <CAPTION></CAPTION>
  32086. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32087. <ENABLED>1</ENABLED>
  32088. <LEVEL>2</LEVEL>
  32089. <IDPARENT>0</IDPARENT>
  32090. <VALUE><![CDATA[/*
  32091. Created        %createddate%
  32092. Modified        %modifieddate%
  32093. Project        %projectname%
  32094. Model        %modelname%
  32095. Company        %company%
  32096. Author        %authorname%
  32097. Version        %version%
  32098. Database        %databasetype%
  32099. */
  32100. {lBeforeScript}
  32101. %beforescript%
  32102. @SetFlag(1,true)
  32103. {lTableGener}
  32104. @showmessage("Create tables")
  32105. @template(createtables)
  32106. {lIndexGener}
  32107. @showmessage("Create indexes")
  32108. @template(createindexs)
  32109. {lTriggersUserGener}
  32110. @template(createtriggers)
  32111. {lAfterScript}
  32112. %afterscript%
  32113. {true}
  32114.  @template(UserTempl)
  32115. ]]></VALUE>
  32116. <LANGUAGE>0</LANGUAGE>
  32117. <LANGUAGEWIN>---</LANGUAGEWIN>
  32118. <CATEGORY>2</CATEGORY>
  32119. <MAINSCRIPT>0</MAINSCRIPT>
  32120. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32121. <DESCRIPTION><![CDATA[ggggg]]></DESCRIPTION>
  32122. <AUTHOR></AUTHOR>
  32123. <COMPANY></COMPANY>
  32124. <VERSION></VERSION>
  32125. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32126. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32127. </TEMPLATE>
  32128. <TEMPLATE>
  32129. <NAME>CREATETABLES</NAME>
  32130. <ID>2</ID>
  32131. <GUID>{DBF9DAB3-58EF-4B0B-A01B-F47EE0B8E09B}</GUID>
  32132. <CAPTION></CAPTION>
  32133. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32134. <ENABLED>1</ENABLED>
  32135. <LEVEL>2</LEVEL>
  32136. <IDPARENT>0</IDPARENT>
  32137. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  32138. ]]></VALUE>
  32139. <LANGUAGE>0</LANGUAGE>
  32140. <LANGUAGEWIN>---</LANGUAGEWIN>
  32141. <CATEGORY>2</CATEGORY>
  32142. <MAINSCRIPT>0</MAINSCRIPT>
  32143. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32144. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32145. <AUTHOR></AUTHOR>
  32146. <COMPANY></COMPANY>
  32147. <VERSION></VERSION>
  32148. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32149. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32150. </TEMPLATE>
  32151. <TEMPLATE>
  32152. <NAME>CREATETABLE</NAME>
  32153. <ID>3</ID>
  32154. <GUID>{35DBCF31-89B1-49BE-9222-CCA2DF8D33EF}</GUID>
  32155. <CAPTION></CAPTION>
  32156. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32157. <ENABLED>1</ENABLED>
  32158. <LEVEL>2</LEVEL>
  32159. <IDPARENT>0</IDPARENT>
  32160. <VALUE><![CDATA[cr+if(ldroptablegener,"Drop table '%TableStorage%%tablename%.db';","")+cr+
  32161. "Create table '%TableStorage%%tablename%.db' ("+
  32162. forcol("", "", cr+tb+"%ColName% %typsql% "+
  32163. if(defexist," %defvalue%", "")+
  32164. if(def2exist," %def2value%", "") , ",", "")+
  32165. if(existpk and lPkGener, ","+cr+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  32166. ");"+cr+showmessage("Create table %tablename%")
  32167. ]]></VALUE>
  32168. <LANGUAGE>0</LANGUAGE>
  32169. <LANGUAGEWIN>---</LANGUAGEWIN>
  32170. <CATEGORY>2</CATEGORY>
  32171. <MAINSCRIPT>0</MAINSCRIPT>
  32172. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32173. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32174. <AUTHOR></AUTHOR>
  32175. <COMPANY></COMPANY>
  32176. <VERSION></VERSION>
  32177. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32178. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32179. </TEMPLATE>
  32180. <TEMPLATE>
  32181. <NAME>CREATEINDEXS</NAME>
  32182. <ID>4</ID>
  32183. <GUID>{3E5759EE-B138-4052-B521-D27CB3B5ED8E}</GUID>
  32184. <CAPTION></CAPTION>
  32185. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32186. <ENABLED>1</ENABLED>
  32187. <LEVEL>2</LEVEL>
  32188. <IDPARENT>0</IDPARENT>
  32189. <VALUE><![CDATA[{lindexexist}
  32190. @fortable("","",macro(createindex),"","")
  32191. ]]></VALUE>
  32192. <LANGUAGE>0</LANGUAGE>
  32193. <LANGUAGEWIN>---</LANGUAGEWIN>
  32194. <CATEGORY>2</CATEGORY>
  32195. <MAINSCRIPT>0</MAINSCRIPT>
  32196. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32197. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32198. <AUTHOR></AUTHOR>
  32199. <COMPANY></COMPANY>
  32200. <VERSION></VERSION>
  32201. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32202. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32203. </TEMPLATE>
  32204. <TEMPLATE>
  32205. <NAME>CREATEINDEX</NAME>
  32206. <ID>5</ID>
  32207. <GUID>{A7C8DEF8-14F3-46B0-B802-5FACB49A893E}</GUID>
  32208. <CAPTION></CAPTION>
  32209. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32210. <ENABLED>1</ENABLED>
  32211. <LEVEL>2</LEVEL>
  32212. <IDPARENT>0</IDPARENT>
  32213. <VALUE><![CDATA[forindex("","" ,"Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  32214. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",")")
  32215. +showmessage("Create index %indexname% for table %tablename%")+";%cr%" ,"",cr+cr)
  32216. ]]></VALUE>
  32217. <LANGUAGE>0</LANGUAGE>
  32218. <LANGUAGEWIN>---</LANGUAGEWIN>
  32219. <CATEGORY>2</CATEGORY>
  32220. <MAINSCRIPT>0</MAINSCRIPT>
  32221. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32222. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32223. <AUTHOR></AUTHOR>
  32224. <COMPANY></COMPANY>
  32225. <VERSION></VERSION>
  32226. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32227. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32228. </TEMPLATE>
  32229. <TEMPLATE>
  32230. <NAME>CREATETRIGGERS</NAME>
  32231. <ID>6</ID>
  32232. <GUID>{A52F279D-0D64-4C32-9BBB-B5805D2DF39D}</GUID>
  32233. <CAPTION></CAPTION>
  32234. <PACKAGEGUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</PACKAGEGUID>
  32235. <ENABLED>1</ENABLED>
  32236. <LEVEL>2</LEVEL>
  32237. <IDPARENT>0</IDPARENT>
  32238. <VALUE><![CDATA[@fortable("", "", usertrigger, "", "" )
  32239. ]]></VALUE>
  32240. <LANGUAGE>0</LANGUAGE>
  32241. <LANGUAGEWIN>---</LANGUAGEWIN>
  32242. <CATEGORY>2</CATEGORY>
  32243. <MAINSCRIPT>0</MAINSCRIPT>
  32244. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32245. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32246. <AUTHOR></AUTHOR>
  32247. <COMPANY></COMPANY>
  32248. <VERSION></VERSION>
  32249. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></CREATED>
  32250. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:06</TIME></MODIFIED>
  32251. </TEMPLATE>
  32252. </TEMPLATES>
  32253. <VARIABLES><![CDATA[lDriParUpdRestrict 0
  32254. lDriParUpdCascade 0
  32255. lDriParUpdSetNull 0
  32256. lDriParUpdSetDefault 0
  32257. lDriParDelRestrict 0
  32258. lDriParDelCascade 0
  32259. lDriParDelSetNull 0
  32260. lDriParDelSetDefault 0
  32261. lDriChildInsRestrict 0
  32262. lDriChildUpdRestrict 0
  32263. lDriParUpdRestrictSupp 0
  32264. lDriParUpdCascadeSupp 0
  32265. lDriParUpdSetNullSupp 0
  32266. lDriParUpdSetDefaultSupp 0
  32267. lDriParDelRestrictSupp 0
  32268. lDriParDelCascadeSupp 0
  32269. lDriParDelSetNullSupp 0
  32270. lDriParDelSetDefaultSupp 0
  32271. lDriChildInsRestrictSupp 0
  32272. lDriChildUpdRestrictSupp 0
  32273. lIndexDescendSupp 1
  32274. lIndexItDescendSupp 0
  32275. lIndexUpperSupp 0
  32276. lIndexExprSupp 0
  32277. lIndexUniqueSupp 1
  32278. lIndexFilterSupp 0
  32279. lIndexStandSupp 1
  32280. lIndexClusterSupp 0
  32281. lIndexNameUnique 0
  32282. lPkSupp 1
  32283. lPkNotNull 0
  32284. lDRISupp 0
  32285. lTriggerSupp 0
  32286. lAtrUniqueSupp 0
  32287. lAtrNotNullSupp 1
  32288. lAtrCheckSupp 0
  32289. lAtrDefaultSupp 0
  32290. ]]></VARIABLES>
  32291. <USEREDITS>
  32292. </USEREDITS>
  32293. <TYPELIST>
  32294. <TYPE>
  32295. <NAME>Character</NAME>
  32296. <ID>1</ID>
  32297. <GUID>{6F2BAF3F-E8E1-47E7-AE88-E6B2A03B3527}</GUID>
  32298. <PHNAME>Char</PHNAME>
  32299. <LLENGTH>1</LLENGTH>
  32300. <LDECIMAL>0</LDECIMAL>
  32301. <MAXLENGTH>255</MAXLENGTH>
  32302. <MINLENGTH>1</MINLENGTH>
  32303. <MAXDECIMAL>0</MAXDECIMAL>
  32304. <MINDECIMAL>0</MINDECIMAL>
  32305. <DEFAULTLENGTH>15</DEFAULTLENGTH>
  32306. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32307. <TRANSFORMCODE>A</TRANSFORMCODE>
  32308. <TRANSFORMTO>A;LA;</TRANSFORMTO>
  32309. <EXPORTTO>0</EXPORTTO>
  32310. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32311. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32312. </TYPE>
  32313. <TYPE>
  32314. <NAME>Integer</NAME>
  32315. <ID>2</ID>
  32316. <GUID>{C0F3AAED-95B4-4614-8D43-44EAFC1CC0B0}</GUID>
  32317. <PHNAME>Integer</PHNAME>
  32318. <LLENGTH>0</LLENGTH>
  32319. <LDECIMAL>0</LDECIMAL>
  32320. <MAXLENGTH>0</MAXLENGTH>
  32321. <MINLENGTH>0</MINLENGTH>
  32322. <MAXDECIMAL>0</MAXDECIMAL>
  32323. <MINDECIMAL>0</MINDECIMAL>
  32324. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32325. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32326. <TRANSFORMCODE>I</TRANSFORMCODE>
  32327. <TRANSFORMTO>I;LI;</TRANSFORMTO>
  32328. <EXPORTTO>0</EXPORTTO>
  32329. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32330. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32331. </TYPE>
  32332. <TYPE>
  32333. <NAME>Decimal</NAME>
  32334. <ID>3</ID>
  32335. <GUID>{2DB631D5-5946-45CE-BEE3-F9AA2F40720C}</GUID>
  32336. <PHNAME>Decimal</PHNAME>
  32337. <LLENGTH>1</LLENGTH>
  32338. <LDECIMAL>0</LDECIMAL>
  32339. <MAXLENGTH>10</MAXLENGTH>
  32340. <MINLENGTH>1</MINLENGTH>
  32341. <MAXDECIMAL>0</MAXDECIMAL>
  32342. <MINDECIMAL>0</MINDECIMAL>
  32343. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  32344. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32345. <TRANSFORMCODE>DC</TRANSFORMCODE>
  32346. <TRANSFORMTO>DC;N;</TRANSFORMTO>
  32347. <EXPORTTO>0</EXPORTTO>
  32348. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32349. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32350. </TYPE>
  32351. <TYPE>
  32352. <NAME>Numeric</NAME>
  32353. <ID>4</ID>
  32354. <GUID>{A2585783-D2A4-43E9-9C66-A2BCE732272F}</GUID>
  32355. <PHNAME>Numeric</PHNAME>
  32356. <LLENGTH>0</LLENGTH>
  32357. <LDECIMAL>0</LDECIMAL>
  32358. <MAXLENGTH>0</MAXLENGTH>
  32359. <MINLENGTH>0</MINLENGTH>
  32360. <MAXDECIMAL>0</MAXDECIMAL>
  32361. <MINDECIMAL>0</MINDECIMAL>
  32362. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32363. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32364. <TRANSFORMCODE>N</TRANSFORMCODE>
  32365. <TRANSFORMTO>N;DC;</TRANSFORMTO>
  32366. <EXPORTTO>0</EXPORTTO>
  32367. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32368. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32369. </TYPE>
  32370. <TYPE>
  32371. <NAME>Date</NAME>
  32372. <ID>5</ID>
  32373. <GUID>{D46AF55A-7E30-4608-BA57-38D80B7D5F0E}</GUID>
  32374. <PHNAME>Date</PHNAME>
  32375. <LLENGTH>0</LLENGTH>
  32376. <LDECIMAL>0</LDECIMAL>
  32377. <MAXLENGTH>0</MAXLENGTH>
  32378. <MINLENGTH>0</MINLENGTH>
  32379. <MAXDECIMAL>0</MAXDECIMAL>
  32380. <MINDECIMAL>0</MINDECIMAL>
  32381. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32382. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32383. <TRANSFORMCODE>D</TRANSFORMCODE>
  32384. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  32385. <EXPORTTO>0</EXPORTTO>
  32386. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32387. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32388. </TYPE>
  32389. <TYPE>
  32390. <NAME>Time</NAME>
  32391. <ID>6</ID>
  32392. <GUID>{9CD59E4C-1E5B-4DB5-8F79-8D025B330556}</GUID>
  32393. <PHNAME>Time</PHNAME>
  32394. <LLENGTH>0</LLENGTH>
  32395. <LDECIMAL>0</LDECIMAL>
  32396. <MAXLENGTH>0</MAXLENGTH>
  32397. <MINLENGTH>0</MINLENGTH>
  32398. <MAXDECIMAL>0</MAXDECIMAL>
  32399. <MINDECIMAL>0</MINDECIMAL>
  32400. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32401. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32402. <TRANSFORMCODE>T</TRANSFORMCODE>
  32403. <TRANSFORMTO>T;DT;</TRANSFORMTO>
  32404. <EXPORTTO>0</EXPORTTO>
  32405. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32406. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32407. </TYPE>
  32408. <TYPE>
  32409. <NAME>Timestamp</NAME>
  32410. <ID>7</ID>
  32411. <GUID>{568ABE54-2ACF-44E7-BD19-E6D1BEEDFD4E}</GUID>
  32412. <PHNAME>Timestamp</PHNAME>
  32413. <LLENGTH>0</LLENGTH>
  32414. <LDECIMAL>0</LDECIMAL>
  32415. <MAXLENGTH>0</MAXLENGTH>
  32416. <MINLENGTH>0</MINLENGTH>
  32417. <MAXDECIMAL>0</MAXDECIMAL>
  32418. <MINDECIMAL>0</MINDECIMAL>
  32419. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32420. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32421. <TRANSFORMCODE>TS</TRANSFORMCODE>
  32422. <TRANSFORMTO>TS;T;DT;</TRANSFORMTO>
  32423. <EXPORTTO>0</EXPORTTO>
  32424. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32425. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32426. </TYPE>
  32427. <TYPE>
  32428. <NAME>Money</NAME>
  32429. <ID>8</ID>
  32430. <GUID>{B49A2C71-78B8-4683-89B5-EA5A07980D08}</GUID>
  32431. <PHNAME>Money</PHNAME>
  32432. <LLENGTH>0</LLENGTH>
  32433. <LDECIMAL>0</LDECIMAL>
  32434. <MAXLENGTH>0</MAXLENGTH>
  32435. <MINLENGTH>0</MINLENGTH>
  32436. <MAXDECIMAL>0</MAXDECIMAL>
  32437. <MINDECIMAL>0</MINDECIMAL>
  32438. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32439. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32440. <TRANSFORMCODE>MN</TRANSFORMCODE>
  32441. <TRANSFORMTO>MN;N,15,2;</TRANSFORMTO>
  32442. <EXPORTTO>0</EXPORTTO>
  32443. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32444. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32445. </TYPE>
  32446. <TYPE>
  32447. <NAME>Autoinc</NAME>
  32448. <ID>9</ID>
  32449. <GUID>{915AA258-F8BB-4DE8-A8F9-A5EF924449B7}</GUID>
  32450. <PHNAME>Autoinc</PHNAME>
  32451. <LLENGTH>0</LLENGTH>
  32452. <LDECIMAL>0</LDECIMAL>
  32453. <MAXLENGTH>0</MAXLENGTH>
  32454. <MINLENGTH>0</MINLENGTH>
  32455. <MAXDECIMAL>0</MAXDECIMAL>
  32456. <MINDECIMAL>0</MINDECIMAL>
  32457. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32458. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32459. <TRANSFORMCODE>NO</TRANSFORMCODE>
  32460. <TRANSFORMTO>NO;LI;I;N,10,0;</TRANSFORMTO>
  32461. <EXPORTTO>2</EXPORTTO>
  32462. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32463. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32464. </TYPE>
  32465. <TYPE>
  32466. <NAME>Blob</NAME>
  32467. <ID>10</ID>
  32468. <GUID>{D74653F7-A0C9-49D0-9A9B-9F414C4B0597}</GUID>
  32469. <PHNAME>Blob</PHNAME>
  32470. <LLENGTH>1</LLENGTH>
  32471. <LDECIMAL>1</LDECIMAL>
  32472. <MAXLENGTH>240</MAXLENGTH>
  32473. <MINLENGTH>1</MINLENGTH>
  32474. <MAXDECIMAL>5</MAXDECIMAL>
  32475. <MINDECIMAL>1</MINDECIMAL>
  32476. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  32477. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  32478. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  32479. <TRANSFORMTO>BLOB;BIN;</TRANSFORMTO>
  32480. <EXPORTTO>0</EXPORTTO>
  32481. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32482. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32483. </TYPE>
  32484. <TYPE>
  32485. <NAME>Boolean</NAME>
  32486. <ID>11</ID>
  32487. <GUID>{368454B6-FC65-49C2-B62D-C6E752EDFE5F}</GUID>
  32488. <PHNAME>Boolean</PHNAME>
  32489. <LLENGTH>0</LLENGTH>
  32490. <LDECIMAL>0</LDECIMAL>
  32491. <MAXLENGTH>0</MAXLENGTH>
  32492. <MINLENGTH>0</MINLENGTH>
  32493. <MAXDECIMAL>0</MAXDECIMAL>
  32494. <MINDECIMAL>0</MINDECIMAL>
  32495. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32496. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32497. <TRANSFORMCODE>BL</TRANSFORMCODE>
  32498. <TRANSFORMTO>BL;BIT;A,1,0</TRANSFORMTO>
  32499. <EXPORTTO>0</EXPORTTO>
  32500. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32501. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32502. </TYPE>
  32503. <TYPE>
  32504. <NAME>Smallint</NAME>
  32505. <ID>20</ID>
  32506. <GUID>{E23F2A58-5878-42EF-A611-654DEE5C242A}</GUID>
  32507. <PHNAME>Smallint</PHNAME>
  32508. <LLENGTH>0</LLENGTH>
  32509. <LDECIMAL>0</LDECIMAL>
  32510. <MAXLENGTH>0</MAXLENGTH>
  32511. <MINLENGTH>0</MINLENGTH>
  32512. <MAXDECIMAL>0</MAXDECIMAL>
  32513. <MINDECIMAL>0</MINDECIMAL>
  32514. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32515. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32516. <TRANSFORMCODE>SI</TRANSFORMCODE>
  32517. <TRANSFORMTO>SI;I;LI;</TRANSFORMTO>
  32518. <EXPORTTO>0</EXPORTTO>
  32519. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32520. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32521. </TYPE>
  32522. <TYPE>
  32523. <NAME>Empty</NAME>
  32524. <ID>200</ID>
  32525. <GUID>{004FC177-3B69-40FF-ABD9-47B1FA271E09}</GUID>
  32526. <PHNAME></PHNAME>
  32527. <LLENGTH>0</LLENGTH>
  32528. <LDECIMAL>0</LDECIMAL>
  32529. <MAXLENGTH>0</MAXLENGTH>
  32530. <MINLENGTH>0</MINLENGTH>
  32531. <MAXDECIMAL>0</MAXDECIMAL>
  32532. <MINDECIMAL>0</MINDECIMAL>
  32533. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  32534. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  32535. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  32536. <TRANSFORMTO>EMP;</TRANSFORMTO>
  32537. <EXPORTTO>0</EXPORTTO>
  32538. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  32539. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  32540. </TYPE>
  32541. </TYPELIST>
  32542. <TEXTOBJECTTYPES>
  32543. </TEXTOBJECTTYPES>
  32544. <DISABLED>0</DISABLED>
  32545. <MAXLENGTHTABLENAME>24</MAXLENGTHTABLENAME>
  32546. <MAXLENGTHCOLNAME>14</MAXLENGTHCOLNAME>
  32547. <MAXLENGTHINDEXNAME>24</MAXLENGTHINDEXNAME>
  32548. <DEFAULTCHAR>_</DEFAULTCHAR>
  32549. <INVALIDCHARACTERS>"#$%&'()*+,/;@^</INVALIDCHARACTERS>
  32550. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  32551. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  32552. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  32553. <DEFAULTTYPEID>1</DEFAULTTYPEID>
  32554. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32555. <KEYWORDS><![CDATA[]]></KEYWORDS>
  32556. </SERVER>
  32557. <SERVER>
  32558. <NAME>PostgreSQL 7</NAME>
  32559. <ID>50</ID>
  32560. <GUID>{D1B50255-9910-4B63-B15B-5A89E5088E49}</GUID>
  32561. <TEMPLATES>
  32562. <TEMPLATE>
  32563. <NAME>CreateTableComments</NAME>
  32564. <ID>1</ID>
  32565. <GUID>{DF2B108B-0E29-41BC-851D-0E644F0BE234}</GUID>
  32566. <CAPTION>CreateTableComments</CAPTION>
  32567. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32568. <ENABLED>1</ENABLED>
  32569. <LEVEL>2</LEVEL>
  32570. <IDPARENT>0</IDPARENT>
  32571. <VALUE><![CDATA[@ForTable( "", "", if(Not Empty(EntDescription), "Comment on table %TableName% Is %c6%%EntDescription%%c6%;%cr%", ""), "", "")
  32572. ]]></VALUE>
  32573. <LANGUAGE>0</LANGUAGE>
  32574. <LANGUAGEWIN>---</LANGUAGEWIN>
  32575. <CATEGORY>2</CATEGORY>
  32576. <MAINSCRIPT>0</MAINSCRIPT>
  32577. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32578. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32579. <AUTHOR></AUTHOR>
  32580. <COMPANY></COMPANY>
  32581. <VERSION></VERSION>
  32582. <CREATED><DATE>9/8/2002</DATE><TIME>11:49:26</TIME></CREATED>
  32583. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32584. </TEMPLATE>
  32585. <TEMPLATE>
  32586. <NAME>CreateColumnComments</NAME>
  32587. <ID>2</ID>
  32588. <GUID>{BF231964-AFC2-4E3D-8912-CD1E52BE6B5F}</GUID>
  32589. <CAPTION>CreateColumnComments</CAPTION>
  32590. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32591. <ENABLED>1</ENABLED>
  32592. <LEVEL>2</LEVEL>
  32593. <IDPARENT>0</IDPARENT>
  32594. <VALUE><![CDATA[@ForTable( "", "", ForCol( "", "", if(Not Empty(attrdescription), "Comment on column %TableName%.%ColName% Is %c6%%AttrDescription%%c6%;%cr%", "") , "", ""), "", "")
  32595. ]]></VALUE>
  32596. <LANGUAGE>0</LANGUAGE>
  32597. <LANGUAGEWIN>---</LANGUAGEWIN>
  32598. <CATEGORY>2</CATEGORY>
  32599. <MAINSCRIPT>0</MAINSCRIPT>
  32600. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32601. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32602. <AUTHOR></AUTHOR>
  32603. <COMPANY></COMPANY>
  32604. <VERSION></VERSION>
  32605. <CREATED><DATE>9/8/2002</DATE><TIME>12:15:46</TIME></CREATED>
  32606. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32607. </TEMPLATE>
  32608. <TEMPLATE>
  32609. <NAME>CreateDatabase</NAME>
  32610. <ID>3</ID>
  32611. <GUID>{2FDE1BFA-3F92-4AD8-8520-4F6B3F737798}</GUID>
  32612. <CAPTION>CreateDatabase</CAPTION>
  32613. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32614. <ENABLED>1</ENABLED>
  32615. <LEVEL>2</LEVEL>
  32616. <IDPARENT>0</IDPARENT>
  32617. <VALUE><![CDATA[/*
  32618. Created        %createddate%
  32619. Modified        %modifieddate%
  32620. Project        %projectname%
  32621. Model        %modelname%
  32622. Company        %company%
  32623. Author        %authorname%
  32624. Version        %version%
  32625. Database        %databasetype% 
  32626. */
  32627.  
  32628. {lBeforeScript}
  32629. %BeforeScript%
  32630. {lDropTriggerGener}
  32631. @ShowMessage("Drop Referential Integrity Triggers")
  32632. @template(DropTriggers)
  32633. {lDropTriggersListGener}
  32634. @ShowMessage("Drop User-Defined Triggers")
  32635. @template(DropTriggersList)
  32636. {lDropUserTypesGener}
  32637. @showmessage("Drop User-Defined Types")
  32638. @template(DropUserTypes)
  32639. {lDropUserTypesProcGener}
  32640. @showmessage("Drop User-Defined Types' Procedures")
  32641. @template(DropUserTypesProc)
  32642. {lDropProceduresGener}
  32643. @ShowMessage("Drop Procedures")
  32644. @template(DropProcedures)
  32645. {lDropViewsGener}
  32646. @ShowMessage("Drop Views")
  32647. @template(DropViews)
  32648. {lDropIndexGener}
  32649. @ShowMessage("Drop Indexes")
  32650. @template(DropIndexs)
  32651. {lDropTableGener}
  32652. @showmessage("Drop Tables")
  32653. @template(DropTables)
  32654. {lUserTypesProcGener}
  32655. @showmessage("Create User-Defined Types' Procedures")
  32656. @template(CreateUserTypesProc)
  32657. {lUserTypesGener}
  32658. @showmessage("Create User-Defined Types")
  32659. @template(CreateUserTypes)
  32660. {lTableGener}
  32661. @ShowMessage("Create Tables")
  32662. @template(CreateTables)
  32663. {lTableDescriptions}
  32664. @showmessage("Create comments on tables")
  32665. @template(CreateTableComments)
  32666. {lColumnDescriptions}
  32667. @showmessage("Create comments on columns")
  32668. @template(CreateColumnComments)
  32669. {lEntityOthers}
  32670. @showmessage("Create tab 'Others' for selected tables")
  32671. @template(CreateTableOthers)
  32672. {lAlterKeysGener}
  32673. @ShowMessage("Create Alter Keys")
  32674. @template(CreateAlterKeys)
  32675. {lIndexGener}
  32676. @ShowMessage("Create Indexes")
  32677. @template(CreateIndexs)
  32678. {lRefIntegGener}
  32679. @ShowMessage("Create References")
  32680. @template(RefIntegritys)
  32681. {lProceduresGener}
  32682. @ShowMessage("Create Procedures")
  32683. @template(CreateProcedures)
  32684. {lViewsGener}
  32685. @ShowMessage("Create Views")
  32686. @template(CreateViews)
  32687. {lTriggersGener}
  32688. @ShowMessage("Create Referential Integrity Triggers")
  32689. @template(CreateTriggers)
  32690. {lTriggersUserGener}
  32691. @ShowMessage("Create User-Defined Triggers")
  32692. @template(CreateTriggersList)
  32693. {lRoleGener}
  32694. @ShowMessage("Create Group")
  32695. @template(CreateGroup)
  32696. {lUserToRoleGener}
  32697. @ShowMessage("Users Permissions To Groups")
  32698. @template(GrantUserToGroup)
  32699. {lRolePermissGener}
  32700. @ShowMessage("Groups Permissions")
  32701. @template(CreateRolePermission)
  32702. {lUserPermissGener}
  32703. @ShowMessage("Users Permissions")
  32704. @template(CreateUserPermission)
  32705. {lAfterScript}
  32706. %AfterScript%
  32707. {true}
  32708. @template(UserTempl)
  32709. ]]></VALUE>
  32710. <LANGUAGE>0</LANGUAGE>
  32711. <LANGUAGEWIN>---</LANGUAGEWIN>
  32712. <CATEGORY>2</CATEGORY>
  32713. <MAINSCRIPT>0</MAINSCRIPT>
  32714. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32715. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32716. <AUTHOR></AUTHOR>
  32717. <COMPANY></COMPANY>
  32718. <VERSION></VERSION>
  32719. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32720. <MODIFIED><DATE>9/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32721. </TEMPLATE>
  32722. <TEMPLATE>
  32723. <NAME>DropTriggerInsert</NAME>
  32724. <ID>4</ID>
  32725. <GUID>{7BD53E2E-81B9-49E6-B173-58B1F7D71BD8}</GUID>
  32726. <CAPTION></CAPTION>
  32727. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32728. <ENABLED>1</ENABLED>
  32729. <LEVEL>2</LEVEL>
  32730. <IDPARENT>0</IDPARENT>
  32731. <VALUE><![CDATA[{lEntChildInsTrig  }
  32732. Drop trigger ti_%tablename% on %tablename%;
  32733. Drop function fn_ti_%tablename%;
  32734. ]]></VALUE>
  32735. <LANGUAGE>0</LANGUAGE>
  32736. <LANGUAGEWIN>---</LANGUAGEWIN>
  32737. <CATEGORY>2</CATEGORY>
  32738. <MAINSCRIPT>0</MAINSCRIPT>
  32739. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32740. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32741. <AUTHOR></AUTHOR>
  32742. <COMPANY></COMPANY>
  32743. <VERSION></VERSION>
  32744. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32745. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32746. </TEMPLATE>
  32747. <TEMPLATE>
  32748. <NAME>DropTriggerUpdate</NAME>
  32749. <ID>5</ID>
  32750. <GUID>{048019B6-B439-45F2-A688-17F848001C43}</GUID>
  32751. <CAPTION></CAPTION>
  32752. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32753. <ENABLED>1</ENABLED>
  32754. <LEVEL>2</LEVEL>
  32755. <IDPARENT>0</IDPARENT>
  32756. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  32757. Drop trigger tu_%tablename% on %tablename%;
  32758. Drop function fn_tu_%tablename%;
  32759. ]]></VALUE>
  32760. <LANGUAGE>0</LANGUAGE>
  32761. <LANGUAGEWIN>---</LANGUAGEWIN>
  32762. <CATEGORY>2</CATEGORY>
  32763. <MAINSCRIPT>0</MAINSCRIPT>
  32764. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32765. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32766. <AUTHOR></AUTHOR>
  32767. <COMPANY></COMPANY>
  32768. <VERSION></VERSION>
  32769. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32770. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32771. </TEMPLATE>
  32772. <TEMPLATE>
  32773. <NAME>DropTriggerDelete</NAME>
  32774. <ID>6</ID>
  32775. <GUID>{40AD490B-A217-4CE6-B8ED-0FC6322BB9CC}</GUID>
  32776. <CAPTION></CAPTION>
  32777. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32778. <ENABLED>1</ENABLED>
  32779. <LEVEL>2</LEVEL>
  32780. <IDPARENT>0</IDPARENT>
  32781. <VALUE><![CDATA[{lEntParDelTrig}
  32782. Drop trigger td_%tablename% on %tablename%;
  32783. Drop function fn_td_%tablename%;
  32784. ]]></VALUE>
  32785. <LANGUAGE>0</LANGUAGE>
  32786. <LANGUAGEWIN>---</LANGUAGEWIN>
  32787. <CATEGORY>2</CATEGORY>
  32788. <MAINSCRIPT>0</MAINSCRIPT>
  32789. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32790. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32791. <AUTHOR></AUTHOR>
  32792. <COMPANY></COMPANY>
  32793. <VERSION></VERSION>
  32794. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32795. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32796. </TEMPLATE>
  32797. <TEMPLATE>
  32798. <NAME>CreateTable</NAME>
  32799. <ID>7</ID>
  32800. <GUID>{C3BF2EB5-9345-4BE3-A26B-C5BCA8E029D4}</GUID>
  32801. <CAPTION></CAPTION>
  32802. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32803. <ENABLED>1</ENABLED>
  32804. <LEVEL>2</LEVEL>
  32805. <IDPARENT>0</IDPARENT>
  32806. <VALUE><![CDATA[ShowMessage("-Table %tablename%")+
  32807. cr+cr+
  32808. "Create table "+if(lTempTable,"temporary","")+" %tablename%%cr%("+
  32809. forcol("","", cr+tb+"%ColName%"+
  32810. if(AtrIsDict,if(not Empty(UserDataType)," %UserDataType%", " %DictName%"), if(not Empty(UserDataType)," %UserDataType%", " %typsql%"))+
  32811. if(DefExist," %DefValue% ","")+
  32812. if(NotNull," NOT NULL"," NULL ")+
  32813. if(DefaultExist," Default "+DefaultValue,"")+
  32814. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  32815. if(CheckExist,if(ConstraintExist," Constraint %constraint%","")+" Check ("+ EvalCheck+" )",""),",", "")+
  32816. if(Def2Exist," %Def2Value% ","")+
  32817. if(lPkGener and ExistPK,","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"constraint %ConstraintPkName%","")+" primary key ("+ForPkCol("", "","%ColName%", ",", ")"),"")+
  32818. cr+")"+
  32819. if(Empty(cInherited),""," inherits ("+cInherited+")" )+";"
  32820. ]]></VALUE>
  32821. <LANGUAGE>0</LANGUAGE>
  32822. <LANGUAGEWIN>---</LANGUAGEWIN>
  32823. <CATEGORY>2</CATEGORY>
  32824. <MAINSCRIPT>0</MAINSCRIPT>
  32825. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32826. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32827. <AUTHOR></AUTHOR>
  32828. <COMPANY></COMPANY>
  32829. <VERSION></VERSION>
  32830. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32831. <MODIFIED><DATE>10/23/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32832. </TEMPLATE>
  32833. <TEMPLATE>
  32834. <NAME>CreateAlterKey</NAME>
  32835. <ID>8</ID>
  32836. <GUID>{F7E48EDC-ED78-4DCA-98E3-2DEDAD643100}</GUID>
  32837. <CAPTION></CAPTION>
  32838. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32839. <ENABLED>1</ENABLED>
  32840. <LEVEL>2</LEVEL>
  32841. <IDPARENT>0</IDPARENT>
  32842. <VALUE><![CDATA[@ForAlterKey("","","Create unique index %AlterKeyConstraintName% on %TableName% (%AlterKeyKeys%);"+cr+ShowMessage("Alternate key %AlterKeyConstraintName% for table %tablename%"),"","")
  32843. ]]></VALUE>
  32844. <LANGUAGE>0</LANGUAGE>
  32845. <LANGUAGEWIN>---</LANGUAGEWIN>
  32846. <CATEGORY>2</CATEGORY>
  32847. <MAINSCRIPT>0</MAINSCRIPT>
  32848. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32849. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32850. <AUTHOR></AUTHOR>
  32851. <COMPANY></COMPANY>
  32852. <VERSION></VERSION>
  32853. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32854. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32855. </TEMPLATE>
  32856. <TEMPLATE>
  32857. <NAME>CreateIndex</NAME>
  32858. <ID>9</ID>
  32859. <GUID>{5C732578-541D-4C93-B5F1-B22531671D09}</GUID>
  32860. <CAPTION></CAPTION>
  32861. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32862. <ENABLED>1</ENABLED>
  32863. <LEVEL>2</LEVEL>
  32864. <IDPARENT>0</IDPARENT>
  32865. <VALUE><![CDATA[if( not( Index.ExprType ),"Create "+if(unique,"unique ","")+"index %Indexname% on %TableName% using %eIxAccess%( "+ForIndexCol(if(empty(cIxFunction),"",cIxFunction+"("),"",colname,",",if(empty(cIxFunction),"",")")+" );"),IndexExpr)+cr+
  32866. ShowMessage("Index %Indexname% for table %tablename%")
  32867. ]]></VALUE>
  32868. <LANGUAGE>0</LANGUAGE>
  32869. <LANGUAGEWIN>---</LANGUAGEWIN>
  32870. <CATEGORY>2</CATEGORY>
  32871. <MAINSCRIPT>0</MAINSCRIPT>
  32872. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32873. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32874. <AUTHOR></AUTHOR>
  32875. <COMPANY></COMPANY>
  32876. <VERSION></VERSION>
  32877. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32878. <MODIFIED><DATE>7/31/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32879. </TEMPLATE>
  32880. <TEMPLATE>
  32881. <NAME>RefIntegrity</NAME>
  32882. <ID>10</ID>
  32883. <GUID>{A17521E2-1F25-48E3-9CC7-132D0B0F2790}</GUID>
  32884. <CAPTION>RefIntegrity</CAPTION>
  32885. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32886. <ENABLED>1</ENABLED>
  32887. <LEVEL>2</LEVEL>
  32888. <IDPARENT>0</IDPARENT>
  32889. <VALUE><![CDATA[{(lRelParUpdDekl or lRelParDelDekl) and (not lRelParNone)}
  32890. Alter table %childtablename% add @if(lFkAsConstraint and (not empty(fRelName)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(RefIntUpdate) @macro(RefIntDelete) @macro(RefIntOptions)
  32891. ]]></VALUE>
  32892. <LANGUAGE>0</LANGUAGE>
  32893. <LANGUAGEWIN>---</LANGUAGEWIN>
  32894. <CATEGORY>2</CATEGORY>
  32895. <MAINSCRIPT>0</MAINSCRIPT>
  32896. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32897. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32898. <AUTHOR></AUTHOR>
  32899. <COMPANY></COMPANY>
  32900. <VERSION></VERSION>
  32901. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32902. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  32903. </TEMPLATE>
  32904. <TEMPLATE>
  32905. <NAME>RefIntUpdate</NAME>
  32906. <ID>11</ID>
  32907. <GUID>{6522FD5B-930E-4E80-8318-0393E3837CED}</GUID>
  32908. <CAPTION></CAPTION>
  32909. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32910. <ENABLED>1</ENABLED>
  32911. <LEVEL>2</LEVEL>
  32912. <IDPARENT>0</IDPARENT>
  32913. <VALUE><![CDATA[if(empty(cMatchType),""," match "+cMatchType+" ")+
  32914. if(lRelParUpdRestDekl, " on update restrict" , "")+
  32915. if(lRelParUpdCascDekl, " on update cascade" , "")+
  32916. if(lRelParUpdSetnullDekl, " on update set null" , "")+
  32917. if(lRelParUpdSetDefaultDekl, " on update set default" , "")
  32918. ]]></VALUE>
  32919. <LANGUAGE>0</LANGUAGE>
  32920. <LANGUAGEWIN>---</LANGUAGEWIN>
  32921. <CATEGORY>2</CATEGORY>
  32922. <MAINSCRIPT>0</MAINSCRIPT>
  32923. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32924. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32925. <AUTHOR></AUTHOR>
  32926. <COMPANY></COMPANY>
  32927. <VERSION></VERSION>
  32928. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32929. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32930. </TEMPLATE>
  32931. <TEMPLATE>
  32932. <NAME>RefIntDelete</NAME>
  32933. <ID>12</ID>
  32934. <GUID>{6BCACB50-2643-469E-A7D9-96C09426B2E5}</GUID>
  32935. <CAPTION></CAPTION>
  32936. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32937. <ENABLED>1</ENABLED>
  32938. <LEVEL>2</LEVEL>
  32939. <IDPARENT>0</IDPARENT>
  32940. <VALUE><![CDATA[if(empty(cMatchType),""," match "+cMatchType+" ")+
  32941. if(lRelParDelRestDekl, " on delete restrict" , "")+
  32942. if(lRelParDelCascDekl, " on delete cascade" , "")+
  32943. if(lRelParDelSetNullDekl, " on delete set null" , "")+
  32944. if(lRelParDelSetDefaultDekl, " on delete set default" , "")
  32945. ]]></VALUE>
  32946. <LANGUAGE>0</LANGUAGE>
  32947. <LANGUAGEWIN>---</LANGUAGEWIN>
  32948. <CATEGORY>2</CATEGORY>
  32949. <MAINSCRIPT>0</MAINSCRIPT>
  32950. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32951. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32952. <AUTHOR></AUTHOR>
  32953. <COMPANY></COMPANY>
  32954. <VERSION></VERSION>
  32955. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32956. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32957. </TEMPLATE>
  32958. <TEMPLATE>
  32959. <NAME>RefIntOptions</NAME>
  32960. <ID>13</ID>
  32961. <GUID>{EC5176EF-562C-4AA1-B52A-60FC13FC3B4E}</GUID>
  32962. <CAPTION></CAPTION>
  32963. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32964. <ENABLED>1</ENABLED>
  32965. <LEVEL>2</LEVEL>
  32966. <IDPARENT>0</IDPARENT>
  32967. <VALUE><![CDATA[if(lDeferrable," deferrable","")+if(lImmediate,""," initially deferred")+";"
  32968. ]]></VALUE>
  32969. <LANGUAGE>0</LANGUAGE>
  32970. <LANGUAGEWIN>---</LANGUAGEWIN>
  32971. <CATEGORY>2</CATEGORY>
  32972. <MAINSCRIPT>0</MAINSCRIPT>
  32973. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  32974. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  32975. <AUTHOR></AUTHOR>
  32976. <COMPANY></COMPANY>
  32977. <VERSION></VERSION>
  32978. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  32979. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  32980. </TEMPLATE>
  32981. <TEMPLATE>
  32982. <NAME>CreateTriggerInsert</NAME>
  32983. <ID>14</ID>
  32984. <GUID>{937C38F5-C5FA-448B-9607-C0A6B14FDBE9}</GUID>
  32985. <CAPTION></CAPTION>
  32986. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  32987. <ENABLED>1</ENABLED>
  32988. <LEVEL>2</LEVEL>
  32989. <IDPARENT>0</IDPARENT>
  32990. <VALUE><![CDATA[{lEntChildInsTrig}
  32991.  
  32992. /* === Referential integrity on insert for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  32993.  
  32994. /* Create function fn_ti_%TableName%() */
  32995. Create function fn_ti_%TableName%() returns opaque as '
  32996. DECLARE
  32997. nRows integer;                                             
  32998.  
  32999. BEGIN
  33000.     @ForParent("", "", template(TriggerChildInsert), "", "" )
  33001. return new;
  33002. END;'
  33003. language 'plpgsql';
  33004.                     
  33005. /* Insert trigger for referential integrity on parent table %TableName%. */
  33006. Create trigger ti_%TableName% before insert
  33007. on %TableName% for each row execute procedure fn_ti_%TableName%();
  33008. ]]></VALUE>
  33009. <LANGUAGE>0</LANGUAGE>
  33010. <LANGUAGEWIN>---</LANGUAGEWIN>
  33011. <CATEGORY>2</CATEGORY>
  33012. <MAINSCRIPT>0</MAINSCRIPT>
  33013. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33014. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33015. <AUTHOR></AUTHOR>
  33016. <COMPANY></COMPANY>
  33017. <VERSION></VERSION>
  33018. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33019. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33020. </TEMPLATE>
  33021. <TEMPLATE>
  33022. <NAME>CreateTriggerUpdate</NAME>
  33023. <ID>15</ID>
  33024. <GUID>{2383ABFB-C766-496E-8CF3-83E18E0C2166}</GUID>
  33025. <CAPTION></CAPTION>
  33026. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33027. <ENABLED>1</ENABLED>
  33028. <LEVEL>2</LEVEL>
  33029. <IDPARENT>0</IDPARENT>
  33030. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  33031.  
  33032. /* === Referential integrity on update for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  33033.  
  33034. /* Create function fn_tu_ %TableName%() */
  33035. Create function fn_tu_%TableName%() returns opaque as '
  33036. DECLARE
  33037. nRows integer;                                             
  33038.  
  33039. BEGIN
  33040.     @ForChild( "", "", template(TriggerParentUpdate),"", "" ) 
  33041.     @ForParent("", "", template(TriggerChildUpdate), "", "" )
  33042. return old;
  33043. END;'
  33044. language 'plpgsql';
  33045.                     
  33046. /* Update trigger for referential integrity on parent table %TableName%. */
  33047. Create trigger tu_%TableName% after update
  33048. on %TableName% for each row execute procedure fn_tu_%TableName%();
  33049. ]]></VALUE>
  33050. <LANGUAGE>0</LANGUAGE>
  33051. <LANGUAGEWIN>---</LANGUAGEWIN>
  33052. <CATEGORY>2</CATEGORY>
  33053. <MAINSCRIPT>0</MAINSCRIPT>
  33054. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33055. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33056. <AUTHOR></AUTHOR>
  33057. <COMPANY></COMPANY>
  33058. <VERSION></VERSION>
  33059. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33060. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33061. </TEMPLATE>
  33062. <TEMPLATE>
  33063. <NAME>CreateTriggerDelete</NAME>
  33064. <ID>16</ID>
  33065. <GUID>{1D1DE6EC-17D8-42BA-AA23-E9C84BB056DB}</GUID>
  33066. <CAPTION></CAPTION>
  33067. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33068. <ENABLED>1</ENABLED>
  33069. <LEVEL>2</LEVEL>
  33070. <IDPARENT>0</IDPARENT>
  33071. <VALUE><![CDATA[{lEntParDelTrig}
  33072.  
  33073. /* === Referential integrity on delete for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  33074.  
  33075. /* Create function fn_td_ %TableName%() */
  33076. Create function fn_td_%TableName%() returns opaque as '
  33077. DECLARE
  33078. nRows integer;                                 
  33079.  
  33080. BEGIN
  33081.     @ForChild("", "", template(TriggerParentDelete), "", "" )
  33082. return old;
  33083. END;'
  33084. language 'plpgsql';
  33085.                     
  33086. /* Delete trigger for referential integrity on parent table %TableName%. */
  33087. Create trigger td_%TableName% after delete
  33088. on %TableName% for each row execute procedure fn_td_%TableName%();
  33089. ]]></VALUE>
  33090. <LANGUAGE>0</LANGUAGE>
  33091. <LANGUAGEWIN>---</LANGUAGEWIN>
  33092. <CATEGORY>2</CATEGORY>
  33093. <MAINSCRIPT>0</MAINSCRIPT>
  33094. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33095. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33096. <AUTHOR></AUTHOR>
  33097. <COMPANY></COMPANY>
  33098. <VERSION></VERSION>
  33099. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33100. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33101. </TEMPLATE>
  33102. <TEMPLATE>
  33103. <NAME>TriggerChildInsert</NAME>
  33104. <ID>17</ID>
  33105. <GUID>{F85B716A-38EE-40C6-AB75-3B2972BB1D97}</GUID>
  33106. <CAPTION></CAPTION>
  33107. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33108. <ENABLED>1</ENABLED>
  33109. <LEVEL>2</LEVEL>
  33110. <IDPARENT>0</IDPARENT>
  33111. <VALUE><![CDATA[{ChildInsRestrict and (not lRelChildInsRestDekl)}
  33112.  
  33113. /* Check parent table %ParentTableName%, when values inserted into child table %ChildTableName% */
  33114. select count(*)
  33115. into nRows
  33116. from %ParentTableName%
  33117. where    @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  33118. if nRows = 0 then
  33119.     raise exception ''Parent doesn''''t exist in table %ParentTableName%. Cannot insert values into child table %ChildTableName%.'';
  33120. end if;
  33121. ]]></VALUE>
  33122. <LANGUAGE>0</LANGUAGE>
  33123. <LANGUAGEWIN>---</LANGUAGEWIN>
  33124. <CATEGORY>2</CATEGORY>
  33125. <MAINSCRIPT>0</MAINSCRIPT>
  33126. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33127. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33128. <AUTHOR></AUTHOR>
  33129. <COMPANY></COMPANY>
  33130. <VERSION></VERSION>
  33131. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33132. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33133. </TEMPLATE>
  33134. <TEMPLATE>
  33135. <NAME>TriggerParentUpdate</NAME>
  33136. <ID>18</ID>
  33137. <GUID>{2BBB3516-100B-4E66-9429-C30C397F646F}</GUID>
  33138. <CAPTION></CAPTION>
  33139. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33140. <ENABLED>1</ENABLED>
  33141. <LEVEL>2</LEVEL>
  33142. <IDPARENT>0</IDPARENT>
  33143. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  33144.  
  33145. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  33146. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  33147.     update %ChildTableName%
  33148.     set @ForRelPk( "", "", "%PkChildName% = new.%PkParentName%" , " ,"+cr+tb+tb, "")
  33149.     where @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  33150. end if;
  33151. {ParUpdSetNULL and (not lRelParUpdSetNullDekl)} 
  33152.  
  33153. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  33154. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  33155.     update %ChildTableName%
  33156.     set @ForRelPk( "", "", "%PkChildName% = NULL" , ", "+cr+tb+tb, "")
  33157.     where @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  33158. end if;
  33159. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  33160.  
  33161. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  33162. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  33163.     update %ChildTableName%
  33164.     set @ForRelPk( "", "", "%PkChildName% = %PkChildDefaultValue%" , ", "+cr+tb+tb, "")
  33165.     where @ForRelPk( "", "", "%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  33166. end if;
  33167. {ParUpdRestrict and (not lRelParUpdRestDekl)}
  33168.  
  33169. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  33170. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  33171.     select count(*) 
  33172.     into nRows
  33173.     from %childtablename%
  33174.     where    @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  33175.     
  33176.     if nRows > 0 then
  33177.         raise exception ''Children still exist in child table %ChildTableName%.'';
  33178.     end if;
  33179. end if;
  33180. ]]></VALUE>
  33181. <LANGUAGE>0</LANGUAGE>
  33182. <LANGUAGEWIN>---</LANGUAGEWIN>
  33183. <CATEGORY>2</CATEGORY>
  33184. <MAINSCRIPT>0</MAINSCRIPT>
  33185. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33186. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33187. <AUTHOR></AUTHOR>
  33188. <COMPANY></COMPANY>
  33189. <VERSION></VERSION>
  33190. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33191. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33192. </TEMPLATE>
  33193. <TEMPLATE>
  33194. <NAME>TriggerChildUpdate</NAME>
  33195. <ID>19</ID>
  33196. <GUID>{4BF15817-A1BC-4AA9-AEFA-D91BF897693E}</GUID>
  33197. <CAPTION></CAPTION>
  33198. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33199. <ENABLED>1</ENABLED>
  33200. <LEVEL>2</LEVEL>
  33201. <IDPARENT>0</IDPARENT>
  33202. <VALUE><![CDATA[{ChildUpdRestrict and (not lRelChildUpdRestDekl)}
  33203.  
  33204. /* Check parent table %ParentTableName%, when child table %ChildTableName% changes. */
  33205. if @forrelpk( "", tb , "new.%PkChildName% != old.%PkChildName%", " OR ", "" ) then
  33206.     select count(*) 
  33207.     into nRows
  33208.     from %ParentTableName%
  33209.     where    @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  33210.     
  33211.     if nRows = 0 then
  33212.         raise exception ''Parent doesn''''t exist in table %ParentTableName%. Cannot update child table %ChildTableName%.'';
  33213.     end if;
  33214. end if;
  33215. ]]></VALUE>
  33216. <LANGUAGE>0</LANGUAGE>
  33217. <LANGUAGEWIN>---</LANGUAGEWIN>
  33218. <CATEGORY>2</CATEGORY>
  33219. <MAINSCRIPT>0</MAINSCRIPT>
  33220. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33221. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33222. <AUTHOR></AUTHOR>
  33223. <COMPANY></COMPANY>
  33224. <VERSION></VERSION>
  33225. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33226. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33227. </TEMPLATE>
  33228. <TEMPLATE>
  33229. <NAME>TriggerParentDelete</NAME>
  33230. <ID>20</ID>
  33231. <GUID>{95A6FA91-11DD-4434-846B-8E2C9F0D2AE9}</GUID>
  33232. <CAPTION></CAPTION>
  33233. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33234. <ENABLED>1</ENABLED>
  33235. <LEVEL>2</LEVEL>
  33236. <IDPARENT>0</IDPARENT>
  33237. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  33238.  
  33239. /* Cascade child %ChildTableName% delete when parent in %ParentTableName% deleted. */
  33240. delete from %ChildTableName%
  33241. where @ForRelPk( tb, tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and %cr%", "");
  33242. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  33243.  
  33244. /* Cascade setnull when parent in %ParentTableName% deleted */
  33245. update %ChildTableName%
  33246. set @ForRelPk( tb , tb+tb , "%PkChildName% = NULL" , ",%cr%" , "")
  33247. where @ForRelPk( tb , tb+tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr, "");
  33248. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  33249.  
  33250. /* Cascade setdefault when parent in  %ParentTableName% deleted */
  33251. update %ChildTableName%
  33252. set @ForRelPk( tb , tb+tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  33253. where @ForRelPk( tb , tb+tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr, "");
  33254. {ParDelRestrict and (not lParDelRestDekl)} 
  33255.  
  33256. /* Restrict child %ChildTableName%, when parent in %ParentTableName% deleted */
  33257. select count(*) 
  33258. into nRows
  33259. from %ChildTableName%
  33260. where    @ForRelPk( "", tb+tb+tb, "%ChildTableName%.%PkChildName% =  old.%PkParentName%", " and "+cr, "" );
  33261. if nRows > 0 then
  33262.     raise exception ''Children still exist in child table %ChildTableName%. Cannot delete parent.'';
  33263. end if;
  33264. ]]></VALUE>
  33265. <LANGUAGE>0</LANGUAGE>
  33266. <LANGUAGEWIN>---</LANGUAGEWIN>
  33267. <CATEGORY>2</CATEGORY>
  33268. <MAINSCRIPT>0</MAINSCRIPT>
  33269. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33270. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33271. <AUTHOR></AUTHOR>
  33272. <COMPANY></COMPANY>
  33273. <VERSION></VERSION>
  33274. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33275. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33276. </TEMPLATE>
  33277. <TEMPLATE>
  33278. <NAME>CreateGroup</NAME>
  33279. <ID>21</ID>
  33280. <GUID>{53656E4E-8D90-45B5-A049-5EF487B5E465}</GUID>
  33281. <CAPTION></CAPTION>
  33282. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33283. <ENABLED>1</ENABLED>
  33284. <LEVEL>2</LEVEL>
  33285. <IDPARENT>0</IDPARENT>
  33286. <VALUE><![CDATA[/* Creating roles */
  33287. @ForRole("","",if(lRole,"Create group %RoleName%;%cr%",""),"","")
  33288. ]]></VALUE>
  33289. <LANGUAGE>0</LANGUAGE>
  33290. <LANGUAGEWIN>---</LANGUAGEWIN>
  33291. <CATEGORY>2</CATEGORY>
  33292. <MAINSCRIPT>0</MAINSCRIPT>
  33293. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33294. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33295. <AUTHOR></AUTHOR>
  33296. <COMPANY></COMPANY>
  33297. <VERSION></VERSION>
  33298. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33299. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33300. </TEMPLATE>
  33301. <TEMPLATE>
  33302. <NAME>GrantUserToGroup</NAME>
  33303. <ID>22</ID>
  33304. <GUID>{7EB922B6-A1DE-4657-B818-F076F9591D6E}</GUID>
  33305. <CAPTION></CAPTION>
  33306. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33307. <ENABLED>1</ENABLED>
  33308. <LEVEL>2</LEVEL>
  33309. <IDPARENT>0</IDPARENT>
  33310. <VALUE><![CDATA[/* Adding users to roles */
  33311. @ForRole("","",ForUser("","",UserRoleUser("Alter group %rolename% add user %username%;%cr%"),"",""),"","")
  33312. ]]></VALUE>
  33313. <LANGUAGE>0</LANGUAGE>
  33314. <LANGUAGEWIN>---</LANGUAGEWIN>
  33315. <CATEGORY>2</CATEGORY>
  33316. <MAINSCRIPT>0</MAINSCRIPT>
  33317. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33318. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33319. <AUTHOR></AUTHOR>
  33320. <COMPANY></COMPANY>
  33321. <VERSION></VERSION>
  33322. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33323. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33324. </TEMPLATE>
  33325. <TEMPLATE>
  33326. <NAME>CreateUserPermission</NAME>
  33327. <ID>23</ID>
  33328. <GUID>{8D3E4D9C-28E7-46E7-A212-364254EF7DCE}</GUID>
  33329. <CAPTION></CAPTION>
  33330. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33331. <ENABLED>1</ENABLED>
  33332. <LEVEL>2</LEVEL>
  33333. <IDPARENT>0</IDPARENT>
  33334. <VALUE><![CDATA[/* Users permissions */
  33335. @ForTable("","",ForUser("","",PermissTableUser(Macro(CreateTablePermiss)),"",""),"","")
  33336. @ForView("","",ForUser("","",PermissViewUser(Macro(CreateViewPermiss)),"",""),"","")
  33337. ]]></VALUE>
  33338. <LANGUAGE>0</LANGUAGE>
  33339. <LANGUAGEWIN>---</LANGUAGEWIN>
  33340. <CATEGORY>2</CATEGORY>
  33341. <MAINSCRIPT>0</MAINSCRIPT>
  33342. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33343. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33344. <AUTHOR></AUTHOR>
  33345. <COMPANY></COMPANY>
  33346. <VERSION></VERSION>
  33347. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33348. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33349. </TEMPLATE>
  33350. <TEMPLATE>
  33351. <NAME>CreateRolePermission</NAME>
  33352. <ID>24</ID>
  33353. <GUID>{4A6A7198-871D-46F0-A663-A268DCB3FAD5}</GUID>
  33354. <CAPTION></CAPTION>
  33355. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33356. <ENABLED>1</ENABLED>
  33357. <LEVEL>2</LEVEL>
  33358. <IDPARENT>0</IDPARENT>
  33359. <VALUE><![CDATA[/* Groups permissions for tables */
  33360. @ForTable("","",ForRole("","",PermissTableRole(Macro(CreateTablePermissForRole)),"",""),"","")
  33361. /* Groups permissions for views */
  33362. @ForView("","",ForRole("","",PermissViewRole(Macro(CreateViewPermissForRole)),"",""),"","")
  33363. ]]></VALUE>
  33364. <LANGUAGE>0</LANGUAGE>
  33365. <LANGUAGEWIN>---</LANGUAGEWIN>
  33366. <CATEGORY>2</CATEGORY>
  33367. <MAINSCRIPT>0</MAINSCRIPT>
  33368. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33369. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33370. <AUTHOR></AUTHOR>
  33371. <COMPANY></COMPANY>
  33372. <VERSION></VERSION>
  33373. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33374. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33375. </TEMPLATE>
  33376. <TEMPLATE>
  33377. <NAME>CreateTablePermissForUser</NAME>
  33378. <ID>25</ID>
  33379. <GUID>{96DF1C89-ABCA-4854-B757-51B02BC746B7}</GUID>
  33380. <CAPTION></CAPTION>
  33381. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33382. <ENABLED>1</ENABLED>
  33383. <LEVEL>2</LEVEL>
  33384. <IDPARENT>0</IDPARENT>
  33385. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%;%cr%","")+
  33386. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%;%cr%","")+
  33387. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%;%cr%","")+
  33388. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%;%cr%","")
  33389. ]]></VALUE>
  33390. <LANGUAGE>0</LANGUAGE>
  33391. <LANGUAGEWIN>---</LANGUAGEWIN>
  33392. <CATEGORY>2</CATEGORY>
  33393. <MAINSCRIPT>0</MAINSCRIPT>
  33394. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33395. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33396. <AUTHOR></AUTHOR>
  33397. <COMPANY></COMPANY>
  33398. <VERSION></VERSION>
  33399. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33400. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33401. </TEMPLATE>
  33402. <TEMPLATE>
  33403. <NAME>CreateTablePermissForRole</NAME>
  33404. <ID>26</ID>
  33405. <GUID>{99487790-6528-4A70-9E36-4284D90C1D20}</GUID>
  33406. <CAPTION></CAPTION>
  33407. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33408. <ENABLED>1</ENABLED>
  33409. <LEVEL>2</LEVEL>
  33410. <IDPARENT>0</IDPARENT>
  33411. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to group %UserOrRoleName%;%cr%","")+
  33412. if(lPermissUpdate,"Grant update on %TableName% to group %UserOrRoleName%;%cr%","")+
  33413. if(lPermissDelete,"Grant delete on %TableName% to group %UserOrRoleName%;%cr%","")+
  33414. if(lPermissInsert,"Grant insert on %TableName% to group %UserOrRoleName%;%cr%","")
  33415. ]]></VALUE>
  33416. <LANGUAGE>0</LANGUAGE>
  33417. <LANGUAGEWIN>---</LANGUAGEWIN>
  33418. <CATEGORY>2</CATEGORY>
  33419. <MAINSCRIPT>0</MAINSCRIPT>
  33420. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33421. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33422. <AUTHOR></AUTHOR>
  33423. <COMPANY></COMPANY>
  33424. <VERSION></VERSION>
  33425. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33426. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33427. </TEMPLATE>
  33428. <TEMPLATE>
  33429. <NAME>CreateViewPermissForRole</NAME>
  33430. <ID>27</ID>
  33431. <GUID>{2B6F2E7B-B66E-45AF-9444-8407D30CBFBC}</GUID>
  33432. <CAPTION></CAPTION>
  33433. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33434. <ENABLED>1</ENABLED>
  33435. <LEVEL>2</LEVEL>
  33436. <IDPARENT>0</IDPARENT>
  33437. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to group %UserOrRoleName%;%cr%","")+
  33438. if(lPermissUpdate,"Grant update on %ViewName% to group %UserOrRoleName%;%cr%","")+
  33439. if(lPermissDelete,"Grant delete on %ViewName% to group %UserOrRoleName%;%cr%","")+
  33440. if(lPermissInsert,"Grant insert on %ViewName% to group %UserOrRoleName%;%cr%","")
  33441. ]]></VALUE>
  33442. <LANGUAGE>0</LANGUAGE>
  33443. <LANGUAGEWIN>---</LANGUAGEWIN>
  33444. <CATEGORY>2</CATEGORY>
  33445. <MAINSCRIPT>0</MAINSCRIPT>
  33446. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33447. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33448. <AUTHOR></AUTHOR>
  33449. <COMPANY></COMPANY>
  33450. <VERSION></VERSION>
  33451. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33452. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33453. </TEMPLATE>
  33454. <TEMPLATE>
  33455. <NAME>DropProcedures</NAME>
  33456. <ID>28</ID>
  33457. <GUID>{49A95CD3-126B-4F64-9A90-2939AC497998}</GUID>
  33458. <CAPTION></CAPTION>
  33459. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33460. <ENABLED>1</ENABLED>
  33461. <LEVEL>2</LEVEL>
  33462. <IDPARENT>0</IDPARENT>
  33463. <VALUE><![CDATA[@ForProcedureR( "", "", "drop function "+ScriptProc( FunctionName, Main, ProcedureName, Procedure)+ ";", cr, "")
  33464. ]]></VALUE>
  33465. <LANGUAGE>0</LANGUAGE>
  33466. <LANGUAGEWIN>---</LANGUAGEWIN>
  33467. <CATEGORY>2</CATEGORY>
  33468. <MAINSCRIPT>0</MAINSCRIPT>
  33469. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33470. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33471. <AUTHOR></AUTHOR>
  33472. <COMPANY></COMPANY>
  33473. <VERSION></VERSION>
  33474. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33475. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33476. </TEMPLATE>
  33477. <TEMPLATE>
  33478. <NAME>DropTriggersList</NAME>
  33479. <ID>29</ID>
  33480. <GUID>{98603A47-D878-4765-B3A7-C5ED8B9C2780}</GUID>
  33481. <CAPTION></CAPTION>
  33482. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33483. <ENABLED>1</ENABLED>
  33484. <LEVEL>2</LEVEL>
  33485. <IDPARENT>0</IDPARENT>
  33486. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName% on %TableName%;%cr%","",""),"","")
  33487. ]]></VALUE>
  33488. <LANGUAGE>0</LANGUAGE>
  33489. <LANGUAGEWIN>---</LANGUAGEWIN>
  33490. <CATEGORY>2</CATEGORY>
  33491. <MAINSCRIPT>0</MAINSCRIPT>
  33492. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33493. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33494. <AUTHOR></AUTHOR>
  33495. <COMPANY></COMPANY>
  33496. <VERSION></VERSION>
  33497. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  33498. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  33499. </TEMPLATE>
  33500. <TEMPLATE>
  33501. <NAME>DropUserTypes</NAME>
  33502. <ID>30</ID>
  33503. <GUID>{B9EDC35C-55FF-4786-8405-75BF8469F303}</GUID>
  33504. <CAPTION>DropUserTypes</CAPTION>
  33505. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33506. <ENABLED>1</ENABLED>
  33507. <LEVEL>2</LEVEL>
  33508. <IDPARENT>0</IDPARENT>
  33509. <VALUE><![CDATA[@ForTextObject( 20, "", "","drop type %TextObjectName%;", cr, "")
  33510. ]]></VALUE>
  33511. <LANGUAGE>0</LANGUAGE>
  33512. <LANGUAGEWIN>---</LANGUAGEWIN>
  33513. <CATEGORY>2</CATEGORY>
  33514. <MAINSCRIPT>0</MAINSCRIPT>
  33515. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33516. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33517. <AUTHOR></AUTHOR>
  33518. <COMPANY></COMPANY>
  33519. <VERSION></VERSION>
  33520. <CREATED><DATE>10/1/2002</DATE><TIME>16:23:50</TIME></CREATED>
  33521. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33522. </TEMPLATE>
  33523. <TEMPLATE>
  33524. <NAME>CreateUserTypes</NAME>
  33525. <ID>31</ID>
  33526. <GUID>{1CFE221E-1EC8-468D-A7B2-06D9E4301C9C}</GUID>
  33527. <CAPTION>CreateUserTypes</CAPTION>
  33528. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33529. <ENABLED>1</ENABLED>
  33530. <LEVEL>2</LEVEL>
  33531. <IDPARENT>0</IDPARENT>
  33532. <VALUE><![CDATA[@ForTextObject( 20, "", "", TextObject, cr, "")
  33533. ]]></VALUE>
  33534. <LANGUAGE>0</LANGUAGE>
  33535. <LANGUAGEWIN>---</LANGUAGEWIN>
  33536. <CATEGORY>2</CATEGORY>
  33537. <MAINSCRIPT>0</MAINSCRIPT>
  33538. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33539. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33540. <AUTHOR></AUTHOR>
  33541. <COMPANY></COMPANY>
  33542. <VERSION></VERSION>
  33543. <CREATED><DATE>10/1/2002</DATE><TIME>16:26:19</TIME></CREATED>
  33544. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33545. </TEMPLATE>
  33546. <TEMPLATE>
  33547. <NAME>FunctionName</NAME>
  33548. <ID>32</ID>
  33549. <GUID>{5166B809-012E-4C5B-96E4-CDF99FE8E99B}</GUID>
  33550. <CAPTION>FunctionName</CAPTION>
  33551. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33552. <ENABLED>1</ENABLED>
  33553. <LEVEL>2</LEVEL>
  33554. <IDPARENT>0</IDPARENT>
  33555. <VALUE><![CDATA[function Main(name, str) 
  33556. {
  33557.     var first, last, type;
  33558.     first = str.indexOf('(', 0);
  33559.     last = str.indexOf(')', 0);
  33560.     
  33561.     if (first != last)
  33562.     {
  33563.         type = trim((str.substring(first + 1, last)));
  33564.         return (name + "(" + type + ")");
  33565.     }
  33566.     else return;
  33567. }
  33568. ]]></VALUE>
  33569. <LANGUAGE>1</LANGUAGE>
  33570. <LANGUAGEWIN>---</LANGUAGEWIN>
  33571. <CATEGORY>2</CATEGORY>
  33572. <MAINSCRIPT>0</MAINSCRIPT>
  33573. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33574. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33575. <AUTHOR></AUTHOR>
  33576. <COMPANY></COMPANY>
  33577. <VERSION></VERSION>
  33578. <CREATED><DATE>10/1/2002</DATE><TIME>16:26:38</TIME></CREATED>
  33579. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33580. </TEMPLATE>
  33581. <TEMPLATE>
  33582. <NAME>CreateUserTypesProc</NAME>
  33583. <ID>33</ID>
  33584. <GUID>{BBCA1F4C-7114-4DB1-AAE1-0CF5112E5E21}</GUID>
  33585. <CAPTION>CreateUserTypesProc</CAPTION>
  33586. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33587. <ENABLED>1</ENABLED>
  33588. <LEVEL>2</LEVEL>
  33589. <IDPARENT>0</IDPARENT>
  33590. <VALUE><![CDATA[@ForTextObject( 30, "", "", TextObject, cr, "")
  33591. ]]></VALUE>
  33592. <LANGUAGE>0</LANGUAGE>
  33593. <LANGUAGEWIN>---</LANGUAGEWIN>
  33594. <CATEGORY>2</CATEGORY>
  33595. <MAINSCRIPT>0</MAINSCRIPT>
  33596. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33597. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33598. <AUTHOR></AUTHOR>
  33599. <COMPANY></COMPANY>
  33600. <VERSION></VERSION>
  33601. <CREATED><DATE>9/17/2002</DATE><TIME>10:50:10</TIME></CREATED>
  33602. <MODIFIED><DATE>9/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33603. </TEMPLATE>
  33604. <TEMPLATE>
  33605. <NAME>DropUserTypesProc</NAME>
  33606. <ID>34</ID>
  33607. <GUID>{97BF5E3E-A4C0-41A2-957E-CF222DDF146A}</GUID>
  33608. <CAPTION>DropUserTypesProc</CAPTION>
  33609. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33610. <ENABLED>1</ENABLED>
  33611. <LEVEL>2</LEVEL>
  33612. <IDPARENT>0</IDPARENT>
  33613. <VALUE><![CDATA[@ForTextObject( 30, "", "", "drop function "+ScriptProc( FunctionName, Main, TextObjectName, TextObject)+ ";", cr, "")
  33614. ]]></VALUE>
  33615. <LANGUAGE>0</LANGUAGE>
  33616. <LANGUAGEWIN>---</LANGUAGEWIN>
  33617. <CATEGORY>2</CATEGORY>
  33618. <MAINSCRIPT>0</MAINSCRIPT>
  33619. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  33620. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  33621. <AUTHOR></AUTHOR>
  33622. <COMPANY></COMPANY>
  33623. <VERSION></VERSION>
  33624. <CREATED><DATE>9/17/2002</DATE><TIME>10:50:29</TIME></CREATED>
  33625. <MODIFIED><DATE>9/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  33626. </TEMPLATE>
  33627. </TEMPLATES>
  33628. <VARIABLES><![CDATA[lDomainSupp  0
  33629. lAtrDefaultConstraintSupp 0
  33630. lAtrCheckConstraintSupp 1
  33631. lAlterKeySupp 1
  33632. lProceduresSupp 1
  33633. lViewsSupp 1
  33634. lConstraintPkSupp 1
  33635. lConstraintFkSupp 1
  33636. lAtrUniqueConstraintSupp 1
  33637. lPermissUserToRoleSupp 1
  33638. lPermissUserToObjectSupp 1
  33639. lPermissRoleToObjectSupp 1
  33640. lRoleSupp 1
  33641. lUserTypeAttrSupp 1
  33642. lUserTypeDomainSupp 1
  33643. lDriParUpdRestrict 1
  33644. lDriParUpdCascade 1
  33645. lDriParUpdSetNull 1
  33646. lDriParUpdSetDefault 1
  33647. lDriParDelRestrict 1
  33648. lDriParDelCascade 1
  33649. lDriParDelSetNull 1
  33650. lDriParDelSetDefault 1
  33651. lDriChildInsRestrict 0
  33652. lDriChildUpdRestrict 0
  33653. lDriParUpdRestrictSupp 1
  33654. lDriParUpdCascadeSupp 1
  33655. lDriParUpdSetNullSupp 1
  33656. lDriParUpdSetDefaultSupp 1
  33657. lDriParDelRestrictSupp 1
  33658. lDriParDelCascadeSupp 1
  33659. lDriParDelSetNullSupp 1
  33660. lDriParDelSetDefaultSupp 1
  33661. lDriChildInsRestrictSupp 0
  33662. lDriChildUpdRestrictSupp 0
  33663. lIndexDescendSupp 0
  33664. lIndexItDescendSupp 0
  33665. lIndexUpperSupp 0
  33666. lIndexExprSupp 1
  33667. lIndexUniqueSupp 1
  33668. lIndexFilterSupp 0
  33669. lIndexStandSupp 1
  33670. lIndexClusterSupp 0
  33671. lIndexNameUnique 1
  33672. lPkSupp 1
  33673. lPkNotNull 1
  33674. lDRISupp 1
  33675. lTriggerSupp 1
  33676. lAtrUniqueSupp 1
  33677. lAtrNotNullSupp 1
  33678. lAtrCheckSupp 1
  33679. lAtrDefaultSupp 1
  33680. lDomainSupp  0
  33681. lAtrDefaultConstraintSupp 0
  33682. lAtrCheckConstraintSupp 1
  33683. lAlterKeySupp 1
  33684. lProceduresSupp 1
  33685. lViewsSupp 1
  33686. lConstraintPkSupp 1
  33687. lConstraintFkSupp 1
  33688. lAtrUniqueConstraintSupp 1
  33689. lPermissUserToRoleSupp 1
  33690. lPermissUserToObjectSupp 1
  33691. lPermissRoleToObjectSupp 1
  33692. lRoleSupp 1
  33693. lUserTypeAttrSupp 1
  33694. lUserTypeDomainSupp 1
  33695. ]]></VARIABLES>
  33696. <USEREDITS>
  33697. <USEREDIT>
  33698. <NAME>lColumnDescriptions</NAME>
  33699. <ID>1</ID>
  33700. <GUID>{EFA5B9BB-89EF-4A7F-A886-D7B307F4A205}</GUID>
  33701. <CAPTION>Generate descriptions on columns</CAPTION>
  33702. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33703. <TYPE>1</TYPE>
  33704. <LEVEL>1</LEVEL>
  33705. <DEFAULT></DEFAULT>
  33706. <ORD>20</ORD>
  33707. <LENGTH>0</LENGTH>
  33708. <ENABLED>1</ENABLED>
  33709. <ITEMS></ITEMS>
  33710. </USEREDIT>
  33711. <USEREDIT>
  33712. <NAME>lTableDescriptions</NAME>
  33713. <ID>2</ID>
  33714. <GUID>{4C0371E3-2843-413C-86B5-EB62F5E10C41}</GUID>
  33715. <CAPTION>Generate descriptions on tables</CAPTION>
  33716. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33717. <TYPE>1</TYPE>
  33718. <LEVEL>1</LEVEL>
  33719. <DEFAULT></DEFAULT>
  33720. <ORD>10</ORD>
  33721. <LENGTH>0</LENGTH>
  33722. <ENABLED>1</ENABLED>
  33723. <ITEMS></ITEMS>
  33724. </USEREDIT>
  33725. <USEREDIT>
  33726. <NAME>lTempTable</NAME>
  33727. <ID>3</ID>
  33728. <GUID>{48BD3FBA-68D5-4865-B065-536CC083D10B}</GUID>
  33729. <CAPTION>Temporary table</CAPTION>
  33730. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33731. <TYPE>1</TYPE>
  33732. <LEVEL>2</LEVEL>
  33733. <DEFAULT></DEFAULT>
  33734. <ORD>10</ORD>
  33735. <LENGTH>0</LENGTH>
  33736. <ENABLED>1</ENABLED>
  33737. <ITEMS></ITEMS>
  33738. </USEREDIT>
  33739. <USEREDIT>
  33740. <NAME>cInherited</NAME>
  33741. <ID>4</ID>
  33742. <GUID>{CAE17A97-A474-42B8-A9DA-3C4F9D4745AD}</GUID>
  33743. <CAPTION>Inherited tables</CAPTION>
  33744. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33745. <TYPE>0</TYPE>
  33746. <LEVEL>2</LEVEL>
  33747. <DEFAULT></DEFAULT>
  33748. <ORD>20</ORD>
  33749. <LENGTH>400</LENGTH>
  33750. <ENABLED>1</ENABLED>
  33751. <ITEMS></ITEMS>
  33752. </USEREDIT>
  33753. <USEREDIT>
  33754. <NAME>cMatchType</NAME>
  33755. <ID>5</ID>
  33756. <GUID>{84B9326F-6107-458B-B396-3A895C4EA434}</GUID>
  33757. <CAPTION>Match type (empty or FULL)</CAPTION>
  33758. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33759. <TYPE>0</TYPE>
  33760. <LEVEL>5</LEVEL>
  33761. <DEFAULT></DEFAULT>
  33762. <ORD>30</ORD>
  33763. <LENGTH>200</LENGTH>
  33764. <ENABLED>1</ENABLED>
  33765. <ITEMS></ITEMS>
  33766. </USEREDIT>
  33767. <USEREDIT>
  33768. <NAME>lDeferrable</NAME>
  33769. <ID>6</ID>
  33770. <GUID>{62B45304-4370-453C-ABF7-7850BF6A08A9}</GUID>
  33771. <CAPTION>Deferrable (Deferre constrain to the end of the transaction)</CAPTION>
  33772. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33773. <TYPE>1</TYPE>
  33774. <LEVEL>5</LEVEL>
  33775. <DEFAULT>0</DEFAULT>
  33776. <ORD>40</ORD>
  33777. <LENGTH>0</LENGTH>
  33778. <ENABLED>1</ENABLED>
  33779. <ITEMS></ITEMS>
  33780. </USEREDIT>
  33781. <USEREDIT>
  33782. <NAME>lImmediate</NAME>
  33783. <ID>7</ID>
  33784. <GUID>{FC7C4513-F3E6-42E0-8FEC-C0402D4700C8}</GUID>
  33785. <CAPTION>Immediate (Check constraint after each statement)</CAPTION>
  33786. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33787. <TYPE>1</TYPE>
  33788. <LEVEL>5</LEVEL>
  33789. <DEFAULT>-1</DEFAULT>
  33790. <ORD>50</ORD>
  33791. <LENGTH>0</LENGTH>
  33792. <ENABLED>1</ENABLED>
  33793. <ITEMS></ITEMS>
  33794. </USEREDIT>
  33795. <USEREDIT>
  33796. <NAME>cIxFunction</NAME>
  33797. <ID>8</ID>
  33798. <GUID>{3E9D7B73-5B7F-46F5-9996-DE9DD05A6DD1}</GUID>
  33799. <CAPTION>Index function</CAPTION>
  33800. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33801. <TYPE>0</TYPE>
  33802. <LEVEL>4</LEVEL>
  33803. <DEFAULT></DEFAULT>
  33804. <ORD>20</ORD>
  33805. <LENGTH>0</LENGTH>
  33806. <ENABLED>1</ENABLED>
  33807. <ITEMS></ITEMS>
  33808. </USEREDIT>
  33809. <USEREDIT>
  33810. <NAME>eIxAccess</NAME>
  33811. <ID>9</ID>
  33812. <GUID>{D41C24C2-38B3-4FE4-B7EF-D7A05EEE550B}</GUID>
  33813. <CAPTION>Index access method</CAPTION>
  33814. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33815. <TYPE>2</TYPE>
  33816. <LEVEL>4</LEVEL>
  33817. <DEFAULT>btree</DEFAULT>
  33818. <ORD>10</ORD>
  33819. <LENGTH>0</LENGTH>
  33820. <ENABLED>1</ENABLED>
  33821. <ITEMS>"btree","rtree","hash","gist"</ITEMS>
  33822. </USEREDIT>
  33823. <USEREDIT>
  33824. <NAME>lUserTypesGener</NAME>
  33825. <ID>10</ID>
  33826. <GUID>{4EA4DBF4-2033-4E1D-AB5D-BAA600CE52EB}</GUID>
  33827. <CAPTION>Generate User-Defined Types</CAPTION>
  33828. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33829. <TYPE>1</TYPE>
  33830. <LEVEL>1</LEVEL>
  33831. <DEFAULT></DEFAULT>
  33832. <ORD>1</ORD>
  33833. <LENGTH>0</LENGTH>
  33834. <ENABLED>1</ENABLED>
  33835. <ITEMS></ITEMS>
  33836. </USEREDIT>
  33837. <USEREDIT>
  33838. <NAME>lDropUserTypesGener</NAME>
  33839. <ID>11</ID>
  33840. <GUID>{38DB691F-FBFC-492D-83D1-4DCCF719AF39}</GUID>
  33841. <CAPTION>Drop User-Defined Types</CAPTION>
  33842. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33843. <TYPE>1</TYPE>
  33844. <LEVEL>1</LEVEL>
  33845. <DEFAULT></DEFAULT>
  33846. <ORD>30</ORD>
  33847. <LENGTH>0</LENGTH>
  33848. <ENABLED>1</ENABLED>
  33849. <ITEMS></ITEMS>
  33850. </USEREDIT>
  33851. <USEREDIT>
  33852. <NAME>lUserTypesProcGener</NAME>
  33853. <ID>12</ID>
  33854. <GUID>{8CC7142C-6BF4-4FDE-85FB-CDFDBCA4226A}</GUID>
  33855. <CAPTION>Generate User-Types Procedures</CAPTION>
  33856. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33857. <TYPE>1</TYPE>
  33858. <LEVEL>1</LEVEL>
  33859. <DEFAULT></DEFAULT>
  33860. <ORD>5</ORD>
  33861. <LENGTH>0</LENGTH>
  33862. <ENABLED>1</ENABLED>
  33863. <ITEMS></ITEMS>
  33864. </USEREDIT>
  33865. <USEREDIT>
  33866. <NAME>lDropUserTypesProcGener</NAME>
  33867. <ID>13</ID>
  33868. <GUID>{B4E38335-D201-4012-A01D-682D69E62DC3}</GUID>
  33869. <CAPTION>Drop User-Types Procedures</CAPTION>
  33870. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  33871. <TYPE>1</TYPE>
  33872. <LEVEL>1</LEVEL>
  33873. <DEFAULT></DEFAULT>
  33874. <ORD>40</ORD>
  33875. <LENGTH>0</LENGTH>
  33876. <ENABLED>1</ENABLED>
  33877. <ITEMS></ITEMS>
  33878. </USEREDIT>
  33879. </USEREDITS>
  33880. <TYPELIST>
  33881. <TYPE>
  33882. <NAME>Smallint</NAME>
  33883. <ID>10</ID>
  33884. <GUID>{18F49D43-2A9D-43AA-A2D4-2C5E3E50D773}</GUID>
  33885. <PHNAME>Smallint</PHNAME>
  33886. <LLENGTH>0</LLENGTH>
  33887. <LDECIMAL>0</LDECIMAL>
  33888. <MAXLENGTH>0</MAXLENGTH>
  33889. <MINLENGTH>0</MINLENGTH>
  33890. <MAXDECIMAL>0</MAXDECIMAL>
  33891. <MINDECIMAL>0</MINDECIMAL>
  33892. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  33893. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  33894. <TRANSFORMCODE>SI</TRANSFORMCODE>
  33895. <TRANSFORMTO>SI;I;LI;N;</TRANSFORMTO>
  33896. <EXPORTTO>0</EXPORTTO>
  33897. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33898. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33899. </TYPE>
  33900. <TYPE>
  33901. <NAME>Integer</NAME>
  33902. <ID>20</ID>
  33903. <GUID>{D66DA6C4-ABB9-488A-93E5-BAC2D5C388EE}</GUID>
  33904. <PHNAME>Integer</PHNAME>
  33905. <LLENGTH>0</LLENGTH>
  33906. <LDECIMAL>0</LDECIMAL>
  33907. <MAXLENGTH>0</MAXLENGTH>
  33908. <MINLENGTH>0</MINLENGTH>
  33909. <MAXDECIMAL>0</MAXDECIMAL>
  33910. <MINDECIMAL>0</MINDECIMAL>
  33911. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  33912. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  33913. <TRANSFORMCODE>I</TRANSFORMCODE>
  33914. <TRANSFORMTO>I;LI;N;</TRANSFORMTO>
  33915. <EXPORTTO>0</EXPORTTO>
  33916. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33917. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33918. </TYPE>
  33919. <TYPE>
  33920. <NAME>Bigint</NAME>
  33921. <ID>30</ID>
  33922. <GUID>{C334C8E4-00A0-4699-B84C-4F9BF4E8563F}</GUID>
  33923. <PHNAME>BigInt</PHNAME>
  33924. <LLENGTH>0</LLENGTH>
  33925. <LDECIMAL>0</LDECIMAL>
  33926. <MAXLENGTH>0</MAXLENGTH>
  33927. <MINLENGTH>0</MINLENGTH>
  33928. <MAXDECIMAL>0</MAXDECIMAL>
  33929. <MINDECIMAL>0</MINDECIMAL>
  33930. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  33931. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  33932. <TRANSFORMCODE>BI</TRANSFORMCODE>
  33933. <TRANSFORMTO>BI;I;D;</TRANSFORMTO>
  33934. <EXPORTTO>0</EXPORTTO>
  33935. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33936. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33937. </TYPE>
  33938. <TYPE>
  33939. <NAME>Numeric</NAME>
  33940. <ID>40</ID>
  33941. <GUID>{83E8A05D-80F2-4FBE-BC66-2B34D059900B}</GUID>
  33942. <PHNAME>Numeric</PHNAME>
  33943. <LLENGTH>1</LLENGTH>
  33944. <LDECIMAL>1</LDECIMAL>
  33945. <MAXLENGTH>1000</MAXLENGTH>
  33946. <MINLENGTH>1</MINLENGTH>
  33947. <MAXDECIMAL>1000</MAXDECIMAL>
  33948. <MINDECIMAL>0</MINDECIMAL>
  33949. <DEFAULTLENGTH>30</DEFAULTLENGTH>
  33950. <DEFAULTDECIMAL>6</DEFAULTDECIMAL>
  33951. <TRANSFORMCODE>N</TRANSFORMCODE>
  33952. <TRANSFORMTO>N;DC;LF;</TRANSFORMTO>
  33953. <EXPORTTO>0</EXPORTTO>
  33954. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33955. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33956. </TYPE>
  33957. <TYPE>
  33958. <NAME>Real</NAME>
  33959. <ID>60</ID>
  33960. <GUID>{603A5FF5-34A2-402C-80E2-BC58B6F30A4B}</GUID>
  33961. <PHNAME>Real</PHNAME>
  33962. <LLENGTH>0</LLENGTH>
  33963. <LDECIMAL>0</LDECIMAL>
  33964. <MAXLENGTH>0</MAXLENGTH>
  33965. <MINLENGTH>0</MINLENGTH>
  33966. <MAXDECIMAL>0</MAXDECIMAL>
  33967. <MINDECIMAL>0</MINDECIMAL>
  33968. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  33969. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  33970. <TRANSFORMCODE>R</TRANSFORMCODE>
  33971. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  33972. <EXPORTTO>0</EXPORTTO>
  33973. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33974. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33975. </TYPE>
  33976. <TYPE>
  33977. <NAME>Double precision</NAME>
  33978. <ID>70</ID>
  33979. <GUID>{FECB9D20-6446-4663-925F-1566A5ED2551}</GUID>
  33980. <PHNAME>Double precision</PHNAME>
  33981. <LLENGTH>0</LLENGTH>
  33982. <LDECIMAL>0</LDECIMAL>
  33983. <MAXLENGTH>0</MAXLENGTH>
  33984. <MINLENGTH>0</MINLENGTH>
  33985. <MAXDECIMAL>0</MAXDECIMAL>
  33986. <MINDECIMAL>0</MINDECIMAL>
  33987. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  33988. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  33989. <TRANSFORMCODE>LF</TRANSFORMCODE>
  33990. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  33991. <EXPORTTO>0</EXPORTTO>
  33992. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  33993. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  33994. </TYPE>
  33995. <TYPE>
  33996. <NAME>Serial</NAME>
  33997. <ID>80</ID>
  33998. <GUID>{FB112E35-B1AA-4F4D-9520-CD7367677E3D}</GUID>
  33999. <PHNAME>Serial</PHNAME>
  34000. <LLENGTH>0</LLENGTH>
  34001. <LDECIMAL>0</LDECIMAL>
  34002. <MAXLENGTH>0</MAXLENGTH>
  34003. <MINLENGTH>0</MINLENGTH>
  34004. <MAXDECIMAL>0</MAXDECIMAL>
  34005. <MINDECIMAL>0</MINDECIMAL>
  34006. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34007. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34008. <TRANSFORMCODE>NO</TRANSFORMCODE>
  34009. <TRANSFORMTO>NO;LI;I;N,10,0;</TRANSFORMTO>
  34010. <EXPORTTO>20</EXPORTTO>
  34011. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34012. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34013. </TYPE>
  34014. <TYPE>
  34015. <NAME>Money</NAME>
  34016. <ID>90</ID>
  34017. <GUID>{ADB4BB25-95CA-428A-BD18-65ECD64DC8DE}</GUID>
  34018. <PHNAME>Money</PHNAME>
  34019. <LLENGTH>0</LLENGTH>
  34020. <LDECIMAL>0</LDECIMAL>
  34021. <MAXLENGTH>0</MAXLENGTH>
  34022. <MINLENGTH>0</MINLENGTH>
  34023. <MAXDECIMAL>0</MAXDECIMAL>
  34024. <MINDECIMAL>0</MINDECIMAL>
  34025. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34026. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34027. <TRANSFORMCODE>MN</TRANSFORMCODE>
  34028. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  34029. <EXPORTTO>0</EXPORTTO>
  34030. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34031. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34032. </TYPE>
  34033. <TYPE>
  34034. <NAME>Char</NAME>
  34035. <ID>100</ID>
  34036. <GUID>{3E8DD0C3-9345-46A8-B9D6-A95A67E30975}</GUID>
  34037. <PHNAME>Char</PHNAME>
  34038. <LLENGTH>1</LLENGTH>
  34039. <LDECIMAL>0</LDECIMAL>
  34040. <MAXLENGTH>10485760</MAXLENGTH>
  34041. <MINLENGTH>1</MINLENGTH>
  34042. <MAXDECIMAL>0</MAXDECIMAL>
  34043. <MINDECIMAL>0</MINDECIMAL>
  34044. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  34045. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34046. <TRANSFORMCODE>A</TRANSFORMCODE>
  34047. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  34048. <EXPORTTO>0</EXPORTTO>
  34049. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34050. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34051. </TYPE>
  34052. <TYPE>
  34053. <NAME>Varchar</NAME>
  34054. <ID>110</ID>
  34055. <GUID>{A2CB22AA-16C3-4E9D-B24C-339909C359C9}</GUID>
  34056. <PHNAME>Varchar</PHNAME>
  34057. <LLENGTH>1</LLENGTH>
  34058. <LDECIMAL>0</LDECIMAL>
  34059. <MAXLENGTH>10485760</MAXLENGTH>
  34060. <MINLENGTH>1</MINLENGTH>
  34061. <MAXDECIMAL>0</MAXDECIMAL>
  34062. <MINDECIMAL>0</MINDECIMAL>
  34063. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  34064. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34065. <TRANSFORMCODE>VA</TRANSFORMCODE>
  34066. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  34067. <EXPORTTO>0</EXPORTTO>
  34068. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34069. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34070. </TYPE>
  34071. <TYPE>
  34072. <NAME>Text</NAME>
  34073. <ID>120</ID>
  34074. <GUID>{F52F580F-C95C-49A8-B6F3-A4D8C212D084}</GUID>
  34075. <PHNAME>Text</PHNAME>
  34076. <LLENGTH>0</LLENGTH>
  34077. <LDECIMAL>0</LDECIMAL>
  34078. <MAXLENGTH>0</MAXLENGTH>
  34079. <MINLENGTH>0</MINLENGTH>
  34080. <MAXDECIMAL>0</MAXDECIMAL>
  34081. <MINDECIMAL>0</MINDECIMAL>
  34082. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34083. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34084. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  34085. <TRANSFORMTO>TXT;LVA;LA;LBIN;</TRANSFORMTO>
  34086. <EXPORTTO>0</EXPORTTO>
  34087. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34088. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34089. </TYPE>
  34090. <TYPE>
  34091. <NAME>Timestamp</NAME>
  34092. <ID>130</ID>
  34093. <GUID>{1E155402-5417-408A-976F-B15B4592A353}</GUID>
  34094. <PHNAME>Timestamp</PHNAME>
  34095. <LLENGTH>0</LLENGTH>
  34096. <LDECIMAL>0</LDECIMAL>
  34097. <MAXLENGTH>0</MAXLENGTH>
  34098. <MINLENGTH>0</MINLENGTH>
  34099. <MAXDECIMAL>0</MAXDECIMAL>
  34100. <MINDECIMAL>0</MINDECIMAL>
  34101. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34102. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34103. <TRANSFORMCODE>DT</TRANSFORMCODE>
  34104. <TRANSFORMTO>DT;D;A</TRANSFORMTO>
  34105. <EXPORTTO>0</EXPORTTO>
  34106. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34107. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34108. </TYPE>
  34109. <TYPE>
  34110. <NAME>Timestamp with time zone</NAME>
  34111. <ID>135</ID>
  34112. <GUID>{E5D479AD-714A-4A41-B4E2-2176D6D9C8A7}</GUID>
  34113. <PHNAME>Timestamp with time zone</PHNAME>
  34114. <LLENGTH>0</LLENGTH>
  34115. <LDECIMAL>0</LDECIMAL>
  34116. <MAXLENGTH>0</MAXLENGTH>
  34117. <MINLENGTH>0</MINLENGTH>
  34118. <MAXDECIMAL>0</MAXDECIMAL>
  34119. <MINDECIMAL>0</MINDECIMAL>
  34120. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34121. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34122. <TRANSFORMCODE>DT</TRANSFORMCODE>
  34123. <TRANSFORMTO>DT;D;A</TRANSFORMTO>
  34124. <EXPORTTO>0</EXPORTTO>
  34125. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34126. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34127. </TYPE>
  34128. <TYPE>
  34129. <NAME>Interval</NAME>
  34130. <ID>140</ID>
  34131. <GUID>{A6FD42F1-0616-4582-8B07-4A007147E9E7}</GUID>
  34132. <PHNAME>Interval</PHNAME>
  34133. <LLENGTH>0</LLENGTH>
  34134. <LDECIMAL>0</LDECIMAL>
  34135. <MAXLENGTH>0</MAXLENGTH>
  34136. <MINLENGTH>0</MINLENGTH>
  34137. <MAXDECIMAL>0</MAXDECIMAL>
  34138. <MINDECIMAL>0</MINDECIMAL>
  34139. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34140. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34141. <TRANSFORMCODE>INV</TRANSFORMCODE>
  34142. <TRANSFORMTO>INV;</TRANSFORMTO>
  34143. <EXPORTTO>0</EXPORTTO>
  34144. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34145. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34146. </TYPE>
  34147. <TYPE>
  34148. <NAME>Date</NAME>
  34149. <ID>150</ID>
  34150. <GUID>{C48AA9C8-E8CB-4735-856C-586603B6A2A6}</GUID>
  34151. <PHNAME>Date</PHNAME>
  34152. <LLENGTH>0</LLENGTH>
  34153. <LDECIMAL>0</LDECIMAL>
  34154. <MAXLENGTH>0</MAXLENGTH>
  34155. <MINLENGTH>0</MINLENGTH>
  34156. <MAXDECIMAL>0</MAXDECIMAL>
  34157. <MINDECIMAL>0</MINDECIMAL>
  34158. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34159. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34160. <TRANSFORMCODE>D</TRANSFORMCODE>
  34161. <TRANSFORMTO>D;DT;A</TRANSFORMTO>
  34162. <EXPORTTO>0</EXPORTTO>
  34163. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34164. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34165. </TYPE>
  34166. <TYPE>
  34167. <NAME>Time</NAME>
  34168. <ID>160</ID>
  34169. <GUID>{9E4F420A-E51D-4306-B1DA-7ADD98E3F2A4}</GUID>
  34170. <PHNAME>Time</PHNAME>
  34171. <LLENGTH>0</LLENGTH>
  34172. <LDECIMAL>0</LDECIMAL>
  34173. <MAXLENGTH>0</MAXLENGTH>
  34174. <MINLENGTH>0</MINLENGTH>
  34175. <MAXDECIMAL>0</MAXDECIMAL>
  34176. <MINDECIMAL>0</MINDECIMAL>
  34177. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34178. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34179. <TRANSFORMCODE>T</TRANSFORMCODE>
  34180. <TRANSFORMTO>T;DT;A</TRANSFORMTO>
  34181. <EXPORTTO>0</EXPORTTO>
  34182. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34183. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34184. </TYPE>
  34185. <TYPE>
  34186. <NAME>Time with time zone</NAME>
  34187. <ID>165</ID>
  34188. <GUID>{8B0EFFD3-9472-4D65-9074-62659223E314}</GUID>
  34189. <PHNAME>Time with time zone</PHNAME>
  34190. <LLENGTH>0</LLENGTH>
  34191. <LDECIMAL>0</LDECIMAL>
  34192. <MAXLENGTH>0</MAXLENGTH>
  34193. <MINLENGTH>0</MINLENGTH>
  34194. <MAXDECIMAL>0</MAXDECIMAL>
  34195. <MINDECIMAL>0</MINDECIMAL>
  34196. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34197. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34198. <TRANSFORMCODE>T</TRANSFORMCODE>
  34199. <TRANSFORMTO>T;DT;A</TRANSFORMTO>
  34200. <EXPORTTO>0</EXPORTTO>
  34201. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34202. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34203. </TYPE>
  34204. <TYPE>
  34205. <NAME>Boolean</NAME>
  34206. <ID>170</ID>
  34207. <GUID>{7810BA34-9759-4523-8263-179C790B34B7}</GUID>
  34208. <PHNAME>Boolean</PHNAME>
  34209. <LLENGTH>0</LLENGTH>
  34210. <LDECIMAL>0</LDECIMAL>
  34211. <MAXLENGTH>0</MAXLENGTH>
  34212. <MINLENGTH>0</MINLENGTH>
  34213. <MAXDECIMAL>0</MAXDECIMAL>
  34214. <MINDECIMAL>0</MINDECIMAL>
  34215. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34216. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34217. <TRANSFORMCODE>BL</TRANSFORMCODE>
  34218. <TRANSFORMTO>BL;BIT;A,1,0;</TRANSFORMTO>
  34219. <EXPORTTO>0</EXPORTTO>
  34220. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34221. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34222. </TYPE>
  34223. <TYPE>
  34224. <NAME>Point</NAME>
  34225. <ID>180</ID>
  34226. <GUID>{5EC78966-585B-48E2-814F-3ACCB11EA904}</GUID>
  34227. <PHNAME>Point</PHNAME>
  34228. <LLENGTH>0</LLENGTH>
  34229. <LDECIMAL>0</LDECIMAL>
  34230. <MAXLENGTH>0</MAXLENGTH>
  34231. <MINLENGTH>0</MINLENGTH>
  34232. <MAXDECIMAL>0</MAXDECIMAL>
  34233. <MINDECIMAL>0</MINDECIMAL>
  34234. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34235. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34236. <TRANSFORMCODE>PI</TRANSFORMCODE>
  34237. <TRANSFORMTO>PI;</TRANSFORMTO>
  34238. <EXPORTTO>0</EXPORTTO>
  34239. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34240. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34241. </TYPE>
  34242. <TYPE>
  34243. <NAME>Line</NAME>
  34244. <ID>190</ID>
  34245. <GUID>{52036F86-DF88-41C9-A0A9-F575680C5AD2}</GUID>
  34246. <PHNAME>Line</PHNAME>
  34247. <LLENGTH>0</LLENGTH>
  34248. <LDECIMAL>0</LDECIMAL>
  34249. <MAXLENGTH>0</MAXLENGTH>
  34250. <MINLENGTH>0</MINLENGTH>
  34251. <MAXDECIMAL>0</MAXDECIMAL>
  34252. <MINDECIMAL>0</MINDECIMAL>
  34253. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34254. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34255. <TRANSFORMCODE>LN</TRANSFORMCODE>
  34256. <TRANSFORMTO>LN;</TRANSFORMTO>
  34257. <EXPORTTO>0</EXPORTTO>
  34258. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34259. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34260. </TYPE>
  34261. <TYPE>
  34262. <NAME>Lseg</NAME>
  34263. <ID>200</ID>
  34264. <GUID>{59C83F45-E149-42EB-84AB-15BF5E459909}</GUID>
  34265. <PHNAME>Lseg</PHNAME>
  34266. <LLENGTH>0</LLENGTH>
  34267. <LDECIMAL>0</LDECIMAL>
  34268. <MAXLENGTH>0</MAXLENGTH>
  34269. <MINLENGTH>0</MINLENGTH>
  34270. <MAXDECIMAL>0</MAXDECIMAL>
  34271. <MINDECIMAL>0</MINDECIMAL>
  34272. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34273. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34274. <TRANSFORMCODE>LS</TRANSFORMCODE>
  34275. <TRANSFORMTO>LS;</TRANSFORMTO>
  34276. <EXPORTTO>0</EXPORTTO>
  34277. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34278. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34279. </TYPE>
  34280. <TYPE>
  34281. <NAME>Box</NAME>
  34282. <ID>210</ID>
  34283. <GUID>{1CEB9525-B82F-4838-ACDC-53C342000C2D}</GUID>
  34284. <PHNAME>Box</PHNAME>
  34285. <LLENGTH>0</LLENGTH>
  34286. <LDECIMAL>0</LDECIMAL>
  34287. <MAXLENGTH>0</MAXLENGTH>
  34288. <MINLENGTH>0</MINLENGTH>
  34289. <MAXDECIMAL>0</MAXDECIMAL>
  34290. <MINDECIMAL>0</MINDECIMAL>
  34291. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34292. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34293. <TRANSFORMCODE>BX</TRANSFORMCODE>
  34294. <TRANSFORMTO>BX;</TRANSFORMTO>
  34295. <EXPORTTO>0</EXPORTTO>
  34296. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34297. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34298. </TYPE>
  34299. <TYPE>
  34300. <NAME>Path</NAME>
  34301. <ID>220</ID>
  34302. <GUID>{F31DF25D-328E-4CE3-AE48-0F6227837180}</GUID>
  34303. <PHNAME>Path</PHNAME>
  34304. <LLENGTH>0</LLENGTH>
  34305. <LDECIMAL>0</LDECIMAL>
  34306. <MAXLENGTH>0</MAXLENGTH>
  34307. <MINLENGTH>0</MINLENGTH>
  34308. <MAXDECIMAL>0</MAXDECIMAL>
  34309. <MINDECIMAL>0</MINDECIMAL>
  34310. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34311. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34312. <TRANSFORMCODE>PA</TRANSFORMCODE>
  34313. <TRANSFORMTO>PA;</TRANSFORMTO>
  34314. <EXPORTTO>0</EXPORTTO>
  34315. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34316. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34317. </TYPE>
  34318. <TYPE>
  34319. <NAME>Polygon</NAME>
  34320. <ID>230</ID>
  34321. <GUID>{65EB9DF2-03D2-45C3-BF93-76E158C8E7EE}</GUID>
  34322. <PHNAME>Polygon</PHNAME>
  34323. <LLENGTH>0</LLENGTH>
  34324. <LDECIMAL>0</LDECIMAL>
  34325. <MAXLENGTH>0</MAXLENGTH>
  34326. <MINLENGTH>0</MINLENGTH>
  34327. <MAXDECIMAL>0</MAXDECIMAL>
  34328. <MINDECIMAL>0</MINDECIMAL>
  34329. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34330. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34331. <TRANSFORMCODE>PY</TRANSFORMCODE>
  34332. <TRANSFORMTO>PY;</TRANSFORMTO>
  34333. <EXPORTTO>0</EXPORTTO>
  34334. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34335. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34336. </TYPE>
  34337. <TYPE>
  34338. <NAME>Circle</NAME>
  34339. <ID>240</ID>
  34340. <GUID>{F0043EB8-2594-4515-B12D-98F6D785A623}</GUID>
  34341. <PHNAME>Circle</PHNAME>
  34342. <LLENGTH>0</LLENGTH>
  34343. <LDECIMAL>0</LDECIMAL>
  34344. <MAXLENGTH>0</MAXLENGTH>
  34345. <MINLENGTH>0</MINLENGTH>
  34346. <MAXDECIMAL>0</MAXDECIMAL>
  34347. <MINDECIMAL>0</MINDECIMAL>
  34348. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34349. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34350. <TRANSFORMCODE>CI</TRANSFORMCODE>
  34351. <TRANSFORMTO>CI;</TRANSFORMTO>
  34352. <EXPORTTO>0</EXPORTTO>
  34353. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34354. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34355. </TYPE>
  34356. <TYPE>
  34357. <NAME>Cidr</NAME>
  34358. <ID>250</ID>
  34359. <GUID>{4C76DC5D-ED51-4311-9F87-917ED80109C7}</GUID>
  34360. <PHNAME>Cidr</PHNAME>
  34361. <LLENGTH>0</LLENGTH>
  34362. <LDECIMAL>0</LDECIMAL>
  34363. <MAXLENGTH>0</MAXLENGTH>
  34364. <MINLENGTH>0</MINLENGTH>
  34365. <MAXDECIMAL>0</MAXDECIMAL>
  34366. <MINDECIMAL>0</MINDECIMAL>
  34367. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34368. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34369. <TRANSFORMCODE>CR</TRANSFORMCODE>
  34370. <TRANSFORMTO>CR;</TRANSFORMTO>
  34371. <EXPORTTO>0</EXPORTTO>
  34372. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34373. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34374. </TYPE>
  34375. <TYPE>
  34376. <NAME>Inet</NAME>
  34377. <ID>260</ID>
  34378. <GUID>{DB632F2B-D82C-4B4D-84FD-1883F5234FAB}</GUID>
  34379. <PHNAME>Inet</PHNAME>
  34380. <LLENGTH>0</LLENGTH>
  34381. <LDECIMAL>0</LDECIMAL>
  34382. <MAXLENGTH>0</MAXLENGTH>
  34383. <MINLENGTH>0</MINLENGTH>
  34384. <MAXDECIMAL>0</MAXDECIMAL>
  34385. <MINDECIMAL>0</MINDECIMAL>
  34386. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34387. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34388. <TRANSFORMCODE>IN</TRANSFORMCODE>
  34389. <TRANSFORMTO>IN;</TRANSFORMTO>
  34390. <EXPORTTO>0</EXPORTTO>
  34391. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34392. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34393. </TYPE>
  34394. <TYPE>
  34395. <NAME>Macaddr</NAME>
  34396. <ID>270</ID>
  34397. <GUID>{50BD556C-85E0-4943-9621-25C731C98987}</GUID>
  34398. <PHNAME>Macaddr</PHNAME>
  34399. <LLENGTH>0</LLENGTH>
  34400. <LDECIMAL>0</LDECIMAL>
  34401. <MAXLENGTH>0</MAXLENGTH>
  34402. <MINLENGTH>0</MINLENGTH>
  34403. <MAXDECIMAL>0</MAXDECIMAL>
  34404. <MINDECIMAL>0</MINDECIMAL>
  34405. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34406. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34407. <TRANSFORMCODE>MAC</TRANSFORMCODE>
  34408. <TRANSFORMTO>MAC;</TRANSFORMTO>
  34409. <EXPORTTO>0</EXPORTTO>
  34410. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34411. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34412. </TYPE>
  34413. <TYPE>
  34414. <NAME>Bit</NAME>
  34415. <ID>290</ID>
  34416. <GUID>{61F65E2D-5186-4FC9-88CE-60DD774D08E6}</GUID>
  34417. <PHNAME>Bit</PHNAME>
  34418. <LLENGTH>1</LLENGTH>
  34419. <LDECIMAL>0</LDECIMAL>
  34420. <MAXLENGTH>83886080</MAXLENGTH>
  34421. <MINLENGTH>1</MINLENGTH>
  34422. <MAXDECIMAL>0</MAXDECIMAL>
  34423. <MINDECIMAL>0</MINDECIMAL>
  34424. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  34425. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34426. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  34427. <TRANSFORMTO>BIT;BL;A,1,0</TRANSFORMTO>
  34428. <EXPORTTO>0</EXPORTTO>
  34429. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34430. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34431. </TYPE>
  34432. <TYPE>
  34433. <NAME>Bit varying</NAME>
  34434. <ID>300</ID>
  34435. <GUID>{00460E88-9C27-4169-8D16-6778E21B0DC8}</GUID>
  34436. <PHNAME>Bit varying</PHNAME>
  34437. <LLENGTH>1</LLENGTH>
  34438. <LDECIMAL>0</LDECIMAL>
  34439. <MAXLENGTH>83886080</MAXLENGTH>
  34440. <MINLENGTH>1</MINLENGTH>
  34441. <MAXDECIMAL>0</MAXDECIMAL>
  34442. <MINDECIMAL>0</MINDECIMAL>
  34443. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34444. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34445. <TRANSFORMCODE>BITVAR</TRANSFORMCODE>
  34446. <TRANSFORMTO>BITVAR;BL;A,1,0</TRANSFORMTO>
  34447. <EXPORTTO>0</EXPORTTO>
  34448. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34449. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34450. </TYPE>
  34451. <TYPE>
  34452. <NAME>(other data type)</NAME>
  34453. <ID>310</ID>
  34454. <GUID>{482BC9EC-4E8E-40EE-965D-F0485D5CE497}</GUID>
  34455. <PHNAME></PHNAME>
  34456. <LLENGTH>0</LLENGTH>
  34457. <LDECIMAL>0</LDECIMAL>
  34458. <MAXLENGTH>0</MAXLENGTH>
  34459. <MINLENGTH>0</MINLENGTH>
  34460. <MAXDECIMAL>0</MAXDECIMAL>
  34461. <MINDECIMAL>0</MINDECIMAL>
  34462. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34463. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34464. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  34465. <TRANSFORMTO>EMP;</TRANSFORMTO>
  34466. <EXPORTTO>0</EXPORTTO>
  34467. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34468. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34469. </TYPE>
  34470. <TYPE>
  34471. <NAME>Oid</NAME>
  34472. <ID>320</ID>
  34473. <GUID>{D448C738-C1D0-43BB-808D-3D42F0C3C0E5}</GUID>
  34474. <PHNAME>Oid</PHNAME>
  34475. <LLENGTH>0</LLENGTH>
  34476. <LDECIMAL>0</LDECIMAL>
  34477. <MAXLENGTH>0</MAXLENGTH>
  34478. <MINLENGTH>0</MINLENGTH>
  34479. <MAXDECIMAL>0</MAXDECIMAL>
  34480. <MINDECIMAL>0</MINDECIMAL>
  34481. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  34482. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  34483. <TRANSFORMCODE>I</TRANSFORMCODE>
  34484. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  34485. <EXPORTTO>0</EXPORTTO>
  34486. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  34487. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  34488. </TYPE>
  34489. </TYPELIST>
  34490. <TEXTOBJECTTYPES>
  34491. <TEXTOBJECTTYPE>
  34492. <NAME>User-Types Definitions</NAME>
  34493. <ID>1</ID>
  34494. <GUID>{DEDD88D9-2831-4805-92AB-A13147D812D3}</GUID>
  34495. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  34496. <DEFAULTNAME>Usertypesdef%d</DEFAULTNAME>
  34497. </TEXTOBJECTTYPE>
  34498. <TEXTOBJECTTYPE>
  34499. <NAME>User-Types Procedures</NAME>
  34500. <ID>2</ID>
  34501. <GUID>{C5E0DADA-A319-47AD-886B-AEA2624B02F8}</GUID>
  34502. <TEXTOBJECTTYPE>30</TEXTOBJECTTYPE>
  34503. <DEFAULTNAME>Usertypesproc%d</DEFAULTNAME>
  34504. </TEXTOBJECTTYPE>
  34505. </TEXTOBJECTTYPES>
  34506. <DISABLED>0</DISABLED>
  34507. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  34508. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  34509. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  34510. <DEFAULTCHAR>_</DEFAULTCHAR>
  34511. <INVALIDCHARACTERS>!"#$%&'()*+,.</INVALIDCHARACTERS>
  34512. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  34513. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  34514. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  34515. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  34516. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34517. <KEYWORDS><![CDATA[]]></KEYWORDS>
  34518. </SERVER>
  34519. <SERVER>
  34520. <NAME>PostgreSQL 7.3 (beta)</NAME>
  34521. <ID>280</ID>
  34522. <GUID>{800A9E46-1F0C-4F2B-A96B-C7007333B838}</GUID>
  34523. <TEMPLATES>
  34524. <TEMPLATE>
  34525. <NAME>GetUserTypeInt</NAME>
  34526. <ID>1</ID>
  34527. <GUID>{28B9248F-FA83-4632-B99A-85987BAF84CE}</GUID>
  34528. <CAPTION>GetUserTypeInt</CAPTION>
  34529. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34530. <ENABLED>1</ENABLED>
  34531. <LEVEL>2</LEVEL>
  34532. <IDPARENT>0</IDPARENT>
  34533. <VALUE><![CDATA[function Main(objTxtName)
  34534. {
  34535.     var i, objDict;
  34536.     var integrity = '';
  34537.     for (i=0;i<Model.CountDictTypes;i++)
  34538.     {
  34539.         objDict = Model.DictTypes(i);
  34540.         if (objTxtName.toLowerCase()==objDict.Name.toLowerCase())
  34541.             integrity = objDict.GetUserVariable("eDropUserTypes");        
  34542.     }
  34543.     return integrity;
  34544. }
  34545. ]]></VALUE>
  34546. <LANGUAGE>1</LANGUAGE>
  34547. <LANGUAGEWIN>---</LANGUAGEWIN>
  34548. <CATEGORY>2</CATEGORY>
  34549. <MAINSCRIPT>0</MAINSCRIPT>
  34550. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34551. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34552. <AUTHOR></AUTHOR>
  34553. <COMPANY></COMPANY>
  34554. <VERSION></VERSION>
  34555. <CREATED><DATE>8/21/2002</DATE><TIME>14:06:40</TIME></CREATED>
  34556. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34557. </TEMPLATE>
  34558. <TEMPLATE>
  34559. <NAME>DropUserTypesProc</NAME>
  34560. <ID>2</ID>
  34561. <GUID>{FAFD5943-C6AC-4ECF-9798-DF282346F28B}</GUID>
  34562. <CAPTION>DropUserTypesProc</CAPTION>
  34563. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34564. <ENABLED>1</ENABLED>
  34565. <LEVEL>2</LEVEL>
  34566. <IDPARENT>0</IDPARENT>
  34567. <VALUE><![CDATA[@ForTextObject( 30, "", "", "drop function "+ScriptProc( FunctionName, Main, TextObjectName, TextObject)+ ";", cr, "")
  34568. ]]></VALUE>
  34569. <LANGUAGE>0</LANGUAGE>
  34570. <LANGUAGEWIN>---</LANGUAGEWIN>
  34571. <CATEGORY>2</CATEGORY>
  34572. <MAINSCRIPT>0</MAINSCRIPT>
  34573. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34574. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34575. <AUTHOR></AUTHOR>
  34576. <COMPANY></COMPANY>
  34577. <VERSION></VERSION>
  34578. <CREATED><DATE>8/21/2002</DATE><TIME>15:16:55</TIME></CREATED>
  34579. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34580. </TEMPLATE>
  34581. <TEMPLATE>
  34582. <NAME>CreateUserTypesProc</NAME>
  34583. <ID>3</ID>
  34584. <GUID>{048F9B47-130C-42A6-A041-DC48012C20D9}</GUID>
  34585. <CAPTION>CreateUserTypesProc</CAPTION>
  34586. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34587. <ENABLED>1</ENABLED>
  34588. <LEVEL>2</LEVEL>
  34589. <IDPARENT>0</IDPARENT>
  34590. <VALUE><![CDATA[@ForTextObject( 30, "", "", TextObject, cr, "")
  34591. ]]></VALUE>
  34592. <LANGUAGE>0</LANGUAGE>
  34593. <LANGUAGEWIN>---</LANGUAGEWIN>
  34594. <CATEGORY>2</CATEGORY>
  34595. <MAINSCRIPT>0</MAINSCRIPT>
  34596. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34597. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34598. <AUTHOR></AUTHOR>
  34599. <COMPANY></COMPANY>
  34600. <VERSION></VERSION>
  34601. <CREATED><DATE>8/21/2002</DATE><TIME>15:17:55</TIME></CREATED>
  34602. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34603. </TEMPLATE>
  34604. <TEMPLATE>
  34605. <NAME>CreateDatabase</NAME>
  34606. <ID>4</ID>
  34607. <GUID>{7F6A3784-21AD-4909-8D9B-4E8FBB3B6ABE}</GUID>
  34608. <CAPTION>CreateDatabase</CAPTION>
  34609. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34610. <ENABLED>1</ENABLED>
  34611. <LEVEL>2</LEVEL>
  34612. <IDPARENT>0</IDPARENT>
  34613. <VALUE><![CDATA[/*
  34614. Created        %createddate%
  34615. Modified        %modifieddate%
  34616. Project        %projectname%
  34617. Model        %modelname%
  34618. Company        %company%
  34619. Author        %authorname%
  34620. Version        %version%
  34621. Database        %databasetype% 
  34622. */
  34623.  
  34624. {lBeforeScript}
  34625. %BeforeScript%
  34626. {lDropTriggerGener}
  34627. @ShowMessage("Drop Referential Integrity Triggers")
  34628. @template(DropTriggers)
  34629. {lDropTriggersListGener}
  34630. @ShowMessage("Drop User-Defined Triggers")
  34631. @template(DropTriggersList)
  34632. {lDropDomainGener}
  34633. @showmessage("Drop Domains")
  34634. @template(DropDomains)
  34635. {lDropUserTypesGener}
  34636. @showmessage("Drop User-defined types")
  34637. @template(DropUserTypes)
  34638. {lDropUserTypesProcGener}
  34639. @showmessage("Drop User-Defined Types' Procedures")
  34640. @template(DropUserTypesProc)
  34641. {lDropProceduresGener}
  34642. @ShowMessage("Drop Procedures")
  34643. @template(DropProcedures)
  34644. {lDropViewsGener}
  34645. @ShowMessage("Drop Views")
  34646. @template(DropViews)
  34647. {lDropIndexGener}
  34648. @ShowMessage("Drop Indexes")
  34649. @template(DropIndexs)
  34650. {lDropTableGener}
  34651. @showmessage("Drop Tables")
  34652. @template(DropTables)
  34653. {lDomainGener}
  34654. @showmessage("Create Domains")
  34655. @template(CreateDomains)
  34656. {lUserTypesProcGener}
  34657. @showmessage("Create User-Defined Types' Procedures")
  34658. @template(CreateUserTypesProc)
  34659. {lUserTypesGener}
  34660. @showmessage("Create User-defined types")
  34661. @template(CreateUserTypes)
  34662. {lTableGener}
  34663. @ShowMessage("Create Tables")
  34664. @template(CreateTables)
  34665. {lTableDescriptions}
  34666. @showmessage("Create comments on tables")
  34667. @template(CreateTableComments)
  34668. {lColumnDescriptions}
  34669. @showmessage("Create comments on columns")
  34670. @template(CreateColumnComments)
  34671. {lEntityOthers}
  34672. @showmessage("Create tab 'Others' for selected tables")
  34673. @template(CreateTableOthers)
  34674. {lAlterKeysGener}
  34675. @ShowMessage("Create Alter Keys")
  34676. @template(CreateAlterKeys)
  34677. {lIndexGener}
  34678. @ShowMessage("Create Indexes")
  34679. @template(CreateIndexs)
  34680. {lRefIntegGener}
  34681. @ShowMessage("Create References")
  34682. @template(RefIntegritys)
  34683. {lProceduresGener}
  34684. @ShowMessage("Create Procedures")
  34685. @template(CreateProcedures)
  34686. {lViewsGener}
  34687. @ShowMessage("Create Views")
  34688. @template(CreateViews)
  34689. {lTriggersGener}
  34690. @ShowMessage("Create Referential Integrity Triggers")
  34691. @template(CreateTriggers)
  34692. {lTriggersUserGener}
  34693. @ShowMessage("Create User-Defined Triggers")
  34694. @template(CreateTriggersList)
  34695. {lRoleGener}
  34696. @ShowMessage("Create Group")
  34697. @template(CreateGroup)
  34698. {lUserToRoleGener}
  34699. @ShowMessage("Users Permissions To Groups")
  34700. @template(GrantUserToGroup)
  34701. {lRolePermissGener}
  34702. @ShowMessage("Groups Permissions")
  34703. @template(CreateRolePermission)
  34704. {lUserPermissGener}
  34705. @ShowMessage("Users Permissions")
  34706. @template(CreateUserPermission)
  34707. {lAfterScript}
  34708. %AfterScript%
  34709. {true}
  34710. @template(UserTempl)
  34711. ]]></VALUE>
  34712. <LANGUAGE>0</LANGUAGE>
  34713. <LANGUAGEWIN>---</LANGUAGEWIN>
  34714. <CATEGORY>2</CATEGORY>
  34715. <MAINSCRIPT>0</MAINSCRIPT>
  34716. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34717. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34718. <AUTHOR></AUTHOR>
  34719. <COMPANY></COMPANY>
  34720. <VERSION></VERSION>
  34721. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34722. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34723. </TEMPLATE>
  34724. <TEMPLATE>
  34725. <NAME>DropTriggerInsert</NAME>
  34726. <ID>5</ID>
  34727. <GUID>{7729091B-AE47-490D-A39C-F097BCAD14C7}</GUID>
  34728. <CAPTION></CAPTION>
  34729. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34730. <ENABLED>1</ENABLED>
  34731. <LEVEL>2</LEVEL>
  34732. <IDPARENT>0</IDPARENT>
  34733. <VALUE><![CDATA[{lEntChildInsTrig  }
  34734. Drop trigger ti_%tablename% on %tablename%;
  34735. Drop function fn_ti_%tablename%;
  34736. ]]></VALUE>
  34737. <LANGUAGE>0</LANGUAGE>
  34738. <LANGUAGEWIN>---</LANGUAGEWIN>
  34739. <CATEGORY>2</CATEGORY>
  34740. <MAINSCRIPT>0</MAINSCRIPT>
  34741. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34742. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34743. <AUTHOR></AUTHOR>
  34744. <COMPANY></COMPANY>
  34745. <VERSION></VERSION>
  34746. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34747. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34748. </TEMPLATE>
  34749. <TEMPLATE>
  34750. <NAME>DropTriggerUpdate</NAME>
  34751. <ID>6</ID>
  34752. <GUID>{63FD4376-C458-47BF-A6C4-FB44CA6F0A92}</GUID>
  34753. <CAPTION></CAPTION>
  34754. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34755. <ENABLED>1</ENABLED>
  34756. <LEVEL>2</LEVEL>
  34757. <IDPARENT>0</IDPARENT>
  34758. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  34759. Drop trigger tu_%tablename% on %tablename%;
  34760. Drop function fn_tu_%tablename%;
  34761. ]]></VALUE>
  34762. <LANGUAGE>0</LANGUAGE>
  34763. <LANGUAGEWIN>---</LANGUAGEWIN>
  34764. <CATEGORY>2</CATEGORY>
  34765. <MAINSCRIPT>0</MAINSCRIPT>
  34766. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34767. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34768. <AUTHOR></AUTHOR>
  34769. <COMPANY></COMPANY>
  34770. <VERSION></VERSION>
  34771. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34772. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34773. </TEMPLATE>
  34774. <TEMPLATE>
  34775. <NAME>DropTriggerDelete</NAME>
  34776. <ID>7</ID>
  34777. <GUID>{D4D3A296-2A3F-4341-B6A3-C24F4DBB5CB4}</GUID>
  34778. <CAPTION></CAPTION>
  34779. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34780. <ENABLED>1</ENABLED>
  34781. <LEVEL>2</LEVEL>
  34782. <IDPARENT>0</IDPARENT>
  34783. <VALUE><![CDATA[{lEntParDelTrig}
  34784. Drop trigger td_%tablename% on %tablename%;
  34785. Drop function fn_td_%tablename%;
  34786. ]]></VALUE>
  34787. <LANGUAGE>0</LANGUAGE>
  34788. <LANGUAGEWIN>---</LANGUAGEWIN>
  34789. <CATEGORY>2</CATEGORY>
  34790. <MAINSCRIPT>0</MAINSCRIPT>
  34791. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34792. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34793. <AUTHOR></AUTHOR>
  34794. <COMPANY></COMPANY>
  34795. <VERSION></VERSION>
  34796. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34797. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34798. </TEMPLATE>
  34799. <TEMPLATE>
  34800. <NAME>CreateAlterKey</NAME>
  34801. <ID>8</ID>
  34802. <GUID>{1F1E0B6A-534A-42E2-8027-1DBFB62C50D4}</GUID>
  34803. <CAPTION></CAPTION>
  34804. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34805. <ENABLED>1</ENABLED>
  34806. <LEVEL>2</LEVEL>
  34807. <IDPARENT>0</IDPARENT>
  34808. <VALUE><![CDATA[@ForAlterKey("","","Create unique index %AlterKeyConstraintName% on %TableName% (%AlterKeyKeys%);"+cr+ShowMessage("Alternate key %AlterKeyConstraintName% for table %tablename%"),"","")
  34809. ]]></VALUE>
  34810. <LANGUAGE>0</LANGUAGE>
  34811. <LANGUAGEWIN>---</LANGUAGEWIN>
  34812. <CATEGORY>2</CATEGORY>
  34813. <MAINSCRIPT>0</MAINSCRIPT>
  34814. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34815. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34816. <AUTHOR></AUTHOR>
  34817. <COMPANY></COMPANY>
  34818. <VERSION></VERSION>
  34819. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34820. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34821. </TEMPLATE>
  34822. <TEMPLATE>
  34823. <NAME>CreateTable</NAME>
  34824. <ID>9</ID>
  34825. <GUID>{33B9575D-8D52-48B6-B88E-7B5950A78E51}</GUID>
  34826. <CAPTION></CAPTION>
  34827. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34828. <ENABLED>1</ENABLED>
  34829. <LEVEL>2</LEVEL>
  34830. <IDPARENT>0</IDPARENT>
  34831. <VALUE><![CDATA[ShowMessage("-Table %c6%%tablename%%c6%")+
  34832. cr+cr+
  34833. "Create table "+if(lTempTable,"temporary","")+" %tablename%%cr%("+
  34834. forcol("","", cr+tb+"%ColName%"+
  34835. if(AtrIsDict,if(not Empty(UserDataType)," %UserDataType%", " %DictName%"),if(not Empty(UserDataType)," %UserDataType%", " %typsql%"+
  34836. if(DefExist," %DefValue% ","")+
  34837. if(NotNull," NOT NULL"," NULL ")+
  34838. if(DefaultExist," Default "+DefaultValue,"")+
  34839. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")))+
  34840. if(CheckExist,if(ConstraintExist," Constraint %constraint%","")+" Check ("+ EvalCheck+" )",""),",", "")+
  34841. if(Def2Exist," %Def2Value% ","")+
  34842. if(lPkGener and ExistPK,","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"constraint %ConstraintPkName%","")+" primary key ("+ForPkCol("", "","%ColName%", ",", ")"),"")+
  34843. cr+")"+
  34844. if(Empty(cInherited),""," inherits ("+cInherited+")")+";"
  34845. ]]></VALUE>
  34846. <LANGUAGE>0</LANGUAGE>
  34847. <LANGUAGEWIN>---</LANGUAGEWIN>
  34848. <CATEGORY>2</CATEGORY>
  34849. <MAINSCRIPT>0</MAINSCRIPT>
  34850. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34851. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34852. <AUTHOR></AUTHOR>
  34853. <COMPANY></COMPANY>
  34854. <VERSION></VERSION>
  34855. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34856. <MODIFIED><DATE>10/23/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34857. </TEMPLATE>
  34858. <TEMPLATE>
  34859. <NAME>CreateIndex</NAME>
  34860. <ID>10</ID>
  34861. <GUID>{0FF1981B-716E-4FDA-84EE-60A2CBDFDFB4}</GUID>
  34862. <CAPTION></CAPTION>
  34863. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34864. <ENABLED>1</ENABLED>
  34865. <LEVEL>2</LEVEL>
  34866. <IDPARENT>0</IDPARENT>
  34867. <VALUE><![CDATA[if( not( Index.ExprType ),"Create "+if(unique,"unique ","")+"index %Indexname% on %TableName% using %eIxAccess%( "+ForIndexCol(if(empty(cIxFunction),"",cIxFunction+"("),"",colname,",",if(empty(cIxFunction),"",")")+" );"),IndexExpr)+cr+
  34868. ShowMessage("Index %Indexname% for table %tablename%")
  34869. ]]></VALUE>
  34870. <LANGUAGE>0</LANGUAGE>
  34871. <LANGUAGEWIN>---</LANGUAGEWIN>
  34872. <CATEGORY>2</CATEGORY>
  34873. <MAINSCRIPT>0</MAINSCRIPT>
  34874. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34875. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34876. <AUTHOR></AUTHOR>
  34877. <COMPANY></COMPANY>
  34878. <VERSION></VERSION>
  34879. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34880. <MODIFIED><DATE>7/31/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34881. </TEMPLATE>
  34882. <TEMPLATE>
  34883. <NAME>RefIntegrity</NAME>
  34884. <ID>11</ID>
  34885. <GUID>{98783BA5-5197-4850-BC67-9FCCE9CDDA44}</GUID>
  34886. <CAPTION>RefIntegrity</CAPTION>
  34887. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34888. <ENABLED>1</ENABLED>
  34889. <LEVEL>2</LEVEL>
  34890. <IDPARENT>0</IDPARENT>
  34891. <VALUE><![CDATA[{(lRelParUpdDekl or lRelParDelDekl) and (not lRelParNone)}
  34892. Alter table %childtablename% add @if(lFkAsConstraint and (not empty(fRelName)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(RefIntUpdate) @macro(RefIntDelete) @macro(RefIntOptions)
  34893. ]]></VALUE>
  34894. <LANGUAGE>0</LANGUAGE>
  34895. <LANGUAGEWIN>---</LANGUAGEWIN>
  34896. <CATEGORY>2</CATEGORY>
  34897. <MAINSCRIPT>0</MAINSCRIPT>
  34898. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34899. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34900. <AUTHOR></AUTHOR>
  34901. <COMPANY></COMPANY>
  34902. <VERSION></VERSION>
  34903. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34904. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  34905. </TEMPLATE>
  34906. <TEMPLATE>
  34907. <NAME>RefIntUpdate</NAME>
  34908. <ID>12</ID>
  34909. <GUID>{CB25B26F-C079-47FE-8579-649BCA4DEA7F}</GUID>
  34910. <CAPTION></CAPTION>
  34911. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34912. <ENABLED>1</ENABLED>
  34913. <LEVEL>2</LEVEL>
  34914. <IDPARENT>0</IDPARENT>
  34915. <VALUE><![CDATA[if(empty(cMatchType),""," match "+cMatchType+" ")+
  34916. if(lRelParUpdRestDekl, " on update restrict" , "")+
  34917. if(lRelParUpdCascDekl, " on update cascade" , "")+
  34918. if(lRelParUpdSetnullDekl, " on update set null" , "")+
  34919. if(lRelParUpdSetDefaultDekl, " on update set default" , "")
  34920. ]]></VALUE>
  34921. <LANGUAGE>0</LANGUAGE>
  34922. <LANGUAGEWIN>---</LANGUAGEWIN>
  34923. <CATEGORY>2</CATEGORY>
  34924. <MAINSCRIPT>0</MAINSCRIPT>
  34925. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34926. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34927. <AUTHOR></AUTHOR>
  34928. <COMPANY></COMPANY>
  34929. <VERSION></VERSION>
  34930. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34931. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34932. </TEMPLATE>
  34933. <TEMPLATE>
  34934. <NAME>RefIntDelete</NAME>
  34935. <ID>13</ID>
  34936. <GUID>{D942729F-5E01-4971-9D46-E6E8921ACDD8}</GUID>
  34937. <CAPTION></CAPTION>
  34938. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34939. <ENABLED>1</ENABLED>
  34940. <LEVEL>2</LEVEL>
  34941. <IDPARENT>0</IDPARENT>
  34942. <VALUE><![CDATA[if(empty(cMatchType),""," match "+cMatchType+" ")+
  34943. if(lRelParDelRestDekl, " on delete restrict" , "")+
  34944. if(lRelParDelCascDekl, " on delete cascade" , "")+
  34945. if(lRelParDelSetNullDekl, " on delete set null" , "")+
  34946. if(lRelParDelSetDefaultDekl, " on delete set default" , "")
  34947. ]]></VALUE>
  34948. <LANGUAGE>0</LANGUAGE>
  34949. <LANGUAGEWIN>---</LANGUAGEWIN>
  34950. <CATEGORY>2</CATEGORY>
  34951. <MAINSCRIPT>0</MAINSCRIPT>
  34952. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34953. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34954. <AUTHOR></AUTHOR>
  34955. <COMPANY></COMPANY>
  34956. <VERSION></VERSION>
  34957. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34958. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34959. </TEMPLATE>
  34960. <TEMPLATE>
  34961. <NAME>RefIntOptions</NAME>
  34962. <ID>14</ID>
  34963. <GUID>{4C1CE410-D59C-47EF-B794-87CECAB0A6A6}</GUID>
  34964. <CAPTION></CAPTION>
  34965. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34966. <ENABLED>1</ENABLED>
  34967. <LEVEL>2</LEVEL>
  34968. <IDPARENT>0</IDPARENT>
  34969. <VALUE><![CDATA[if(lDeferrable," deferrable","")+if(lImmediate,""," initially deferred")+";"
  34970. ]]></VALUE>
  34971. <LANGUAGE>0</LANGUAGE>
  34972. <LANGUAGEWIN>---</LANGUAGEWIN>
  34973. <CATEGORY>2</CATEGORY>
  34974. <MAINSCRIPT>0</MAINSCRIPT>
  34975. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  34976. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  34977. <AUTHOR></AUTHOR>
  34978. <COMPANY></COMPANY>
  34979. <VERSION></VERSION>
  34980. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  34981. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  34982. </TEMPLATE>
  34983. <TEMPLATE>
  34984. <NAME>CreateTriggerInsert</NAME>
  34985. <ID>15</ID>
  34986. <GUID>{F5C22F57-997B-4485-89A7-049DB940A308}</GUID>
  34987. <CAPTION></CAPTION>
  34988. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  34989. <ENABLED>1</ENABLED>
  34990. <LEVEL>2</LEVEL>
  34991. <IDPARENT>0</IDPARENT>
  34992. <VALUE><![CDATA[{lEntChildInsTrig}
  34993.  
  34994. /* === Referential integrity on insert for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  34995.  
  34996. /* Create function fn_ti_%TableName%() */
  34997. Create function fn_ti_%TableName%() returns opaque as '
  34998. DECLARE
  34999. nRows integer;                                             
  35000.  
  35001. BEGIN
  35002.     @ForParent("", "", template(TriggerChildInsert), "", "" )
  35003. return new;
  35004. END;'
  35005. language 'plpgsql';
  35006.                     
  35007. /* Insert trigger for referential integrity on parent table %TableName%. */
  35008. Create trigger ti_%TableName% before insert
  35009. on %TableName% for each row execute procedure fn_ti_%TableName%();
  35010. ]]></VALUE>
  35011. <LANGUAGE>0</LANGUAGE>
  35012. <LANGUAGEWIN>---</LANGUAGEWIN>
  35013. <CATEGORY>2</CATEGORY>
  35014. <MAINSCRIPT>0</MAINSCRIPT>
  35015. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35016. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35017. <AUTHOR></AUTHOR>
  35018. <COMPANY></COMPANY>
  35019. <VERSION></VERSION>
  35020. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35021. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35022. </TEMPLATE>
  35023. <TEMPLATE>
  35024. <NAME>CreateTriggerUpdate</NAME>
  35025. <ID>16</ID>
  35026. <GUID>{4E637CCB-2A11-45B1-88CE-788B9CAD9486}</GUID>
  35027. <CAPTION></CAPTION>
  35028. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35029. <ENABLED>1</ENABLED>
  35030. <LEVEL>2</LEVEL>
  35031. <IDPARENT>0</IDPARENT>
  35032. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  35033.  
  35034. /* === Referential integrity on update for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  35035.  
  35036. /* Create function fn_tu_ %TableName%() */
  35037. Create function fn_tu_%TableName%() returns opaque as '
  35038. DECLARE
  35039. nRows integer;                                             
  35040.  
  35041. BEGIN
  35042.     @ForChild( "", "", template(TriggerParentUpdate),"", "" ) 
  35043.     @ForParent("", "", template(TriggerChildUpdate), "", "" )
  35044. return old;
  35045. END;'
  35046. language 'plpgsql';
  35047.                     
  35048. /* Update trigger for referential integrity on parent table %TableName%. */
  35049. Create trigger tu_%TableName% after update
  35050. on %TableName% for each row execute procedure fn_tu_%TableName%();
  35051. ]]></VALUE>
  35052. <LANGUAGE>0</LANGUAGE>
  35053. <LANGUAGEWIN>---</LANGUAGEWIN>
  35054. <CATEGORY>2</CATEGORY>
  35055. <MAINSCRIPT>0</MAINSCRIPT>
  35056. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35057. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35058. <AUTHOR></AUTHOR>
  35059. <COMPANY></COMPANY>
  35060. <VERSION></VERSION>
  35061. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35062. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35063. </TEMPLATE>
  35064. <TEMPLATE>
  35065. <NAME>CreateTriggerDelete</NAME>
  35066. <ID>17</ID>
  35067. <GUID>{05517317-A78B-44A1-B4BC-81742F857F3D}</GUID>
  35068. <CAPTION></CAPTION>
  35069. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35070. <ENABLED>1</ENABLED>
  35071. <LEVEL>2</LEVEL>
  35072. <IDPARENT>0</IDPARENT>
  35073. <VALUE><![CDATA[{lEntParDelTrig}
  35074.  
  35075. /* === Referential integrity on delete for table %TableName% =========================== */ @showmessage( "Trigger for %TableName%" ) 
  35076.  
  35077. /* Create function fn_td_ %TableName%() */
  35078. Create function fn_td_%TableName%() returns opaque as '
  35079. DECLARE
  35080. nRows integer;                                 
  35081.  
  35082. BEGIN
  35083.     @ForChild("", "", template(TriggerParentDelete), "", "" )
  35084. return old;
  35085. END;'
  35086. language 'plpgsql';
  35087.                     
  35088. /* Delete trigger for referential integrity on parent table %TableName%. */
  35089. Create trigger td_%TableName% after delete
  35090. on %TableName% for each row execute procedure fn_td_%TableName%();
  35091. ]]></VALUE>
  35092. <LANGUAGE>0</LANGUAGE>
  35093. <LANGUAGEWIN>---</LANGUAGEWIN>
  35094. <CATEGORY>2</CATEGORY>
  35095. <MAINSCRIPT>0</MAINSCRIPT>
  35096. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35097. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35098. <AUTHOR></AUTHOR>
  35099. <COMPANY></COMPANY>
  35100. <VERSION></VERSION>
  35101. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35102. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35103. </TEMPLATE>
  35104. <TEMPLATE>
  35105. <NAME>TriggerChildInsert</NAME>
  35106. <ID>18</ID>
  35107. <GUID>{11B12AC1-B036-4EF6-9295-71094EB7A17A}</GUID>
  35108. <CAPTION></CAPTION>
  35109. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35110. <ENABLED>1</ENABLED>
  35111. <LEVEL>2</LEVEL>
  35112. <IDPARENT>0</IDPARENT>
  35113. <VALUE><![CDATA[{ChildInsRestrict and (not lRelChildInsRestDekl)}
  35114.  
  35115. /* Check parent table %ParentTableName%, when values inserted into child table %ChildTableName% */
  35116. select count(*)
  35117. into nRows
  35118. from %ParentTableName%
  35119. where    @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  35120. if nRows = 0 then
  35121.     raise exception ''Parent doesn''''t exist in table %ParentTableName%. Cannot insert values into child table %ChildTableName%.'';
  35122. end if;
  35123. ]]></VALUE>
  35124. <LANGUAGE>0</LANGUAGE>
  35125. <LANGUAGEWIN>---</LANGUAGEWIN>
  35126. <CATEGORY>2</CATEGORY>
  35127. <MAINSCRIPT>0</MAINSCRIPT>
  35128. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35129. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35130. <AUTHOR></AUTHOR>
  35131. <COMPANY></COMPANY>
  35132. <VERSION></VERSION>
  35133. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35134. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35135. </TEMPLATE>
  35136. <TEMPLATE>
  35137. <NAME>TriggerParentUpdate</NAME>
  35138. <ID>19</ID>
  35139. <GUID>{0A8D9D29-C5DB-44B7-9978-165D3C4346F1}</GUID>
  35140. <CAPTION></CAPTION>
  35141. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35142. <ENABLED>1</ENABLED>
  35143. <LEVEL>2</LEVEL>
  35144. <IDPARENT>0</IDPARENT>
  35145. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  35146.  
  35147. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  35148. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  35149.     update %ChildTableName%
  35150.     set @ForRelPk( "", "", "%PkChildName% = new.%PkParentName%" , " ,"+cr+tb+tb, "")
  35151.     where @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  35152. end if;
  35153. {ParUpdSetNULL and (not lRelParUpdSetNullDekl)} 
  35154.  
  35155. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  35156. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  35157.     update %ChildTableName%
  35158.     set @ForRelPk( "", "", "%PkChildName% = NULL" , ", "+cr+tb+tb, "")
  35159.     where @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  35160. end if;
  35161. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  35162.  
  35163. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  35164. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  35165.     update %ChildTableName%
  35166.     set @ForRelPk( "", "", "%PkChildName% = %PkChildDefaultValue%" , ", "+cr+tb+tb, "")
  35167.     where @ForRelPk( "", "", "%PkChildName% = old.%PkParentName%" , " and "+cr+tb+tb+tb, "");
  35168. end if;
  35169. {ParUpdRestrict and (not lRelParUpdRestDekl)}
  35170.  
  35171. /* Check child table %ChildTableName%, when parent table %ParentTableName% changes. */
  35172. if @ForRelPk( "", tb , "new.%PkParentName% != old.%PkParentName%", " or ", "" ) then
  35173.     select count(*) 
  35174.     into nRows
  35175.     from %childtablename%
  35176.     where    @ForRelPk( "", "", "%ChildTableName%.%PkChildName% = old.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  35177.     
  35178.     if nRows > 0 then
  35179.         raise exception ''Children still exist in child table %ChildTableName%.'';
  35180.     end if;
  35181. end if;
  35182. ]]></VALUE>
  35183. <LANGUAGE>0</LANGUAGE>
  35184. <LANGUAGEWIN>---</LANGUAGEWIN>
  35185. <CATEGORY>2</CATEGORY>
  35186. <MAINSCRIPT>0</MAINSCRIPT>
  35187. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35188. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35189. <AUTHOR></AUTHOR>
  35190. <COMPANY></COMPANY>
  35191. <VERSION></VERSION>
  35192. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35193. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35194. </TEMPLATE>
  35195. <TEMPLATE>
  35196. <NAME>TriggerChildUpdate</NAME>
  35197. <ID>20</ID>
  35198. <GUID>{38CAA334-B58E-4725-8903-A5BBE2203057}</GUID>
  35199. <CAPTION></CAPTION>
  35200. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35201. <ENABLED>1</ENABLED>
  35202. <LEVEL>2</LEVEL>
  35203. <IDPARENT>0</IDPARENT>
  35204. <VALUE><![CDATA[{ChildUpdRestrict and (not lRelChildUpdRestDekl)}
  35205.  
  35206. /* Check parent table %ParentTableName%, when child table %ChildTableName% changes. */
  35207. if @forrelpk( "", tb , "new.%PkChildName% != old.%PkChildName%", " OR ", "" ) then
  35208.     select count(*) 
  35209.     into nRows
  35210.     from %ParentTableName%
  35211.     where    @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " and "+cr+tb+tb+tb, "" );
  35212.     
  35213.     if nRows = 0 then
  35214.         raise exception ''Parent doesn''''t exist in table %ParentTableName%. Cannot update child table %ChildTableName%.'';
  35215.     end if;
  35216. end if;
  35217. ]]></VALUE>
  35218. <LANGUAGE>0</LANGUAGE>
  35219. <LANGUAGEWIN>---</LANGUAGEWIN>
  35220. <CATEGORY>2</CATEGORY>
  35221. <MAINSCRIPT>0</MAINSCRIPT>
  35222. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35223. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35224. <AUTHOR></AUTHOR>
  35225. <COMPANY></COMPANY>
  35226. <VERSION></VERSION>
  35227. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35228. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35229. </TEMPLATE>
  35230. <TEMPLATE>
  35231. <NAME>TriggerParentDelete</NAME>
  35232. <ID>21</ID>
  35233. <GUID>{BA72D1A2-C640-4C8D-B432-56207EC840B7}</GUID>
  35234. <CAPTION></CAPTION>
  35235. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35236. <ENABLED>1</ENABLED>
  35237. <LEVEL>2</LEVEL>
  35238. <IDPARENT>0</IDPARENT>
  35239. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  35240.  
  35241. /* Cascade child %ChildTableName% delete when parent in %ParentTableName% deleted. */
  35242. delete from %ChildTableName%
  35243. where @ForRelPk( tb, tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and %cr%", "");
  35244. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  35245.  
  35246. /* Cascade setnull when parent in %ParentTableName% deleted */
  35247. update %ChildTableName%
  35248. set @ForRelPk( tb , tb+tb , "%PkChildName% = NULL" , ",%cr%" , "")
  35249. where @ForRelPk( tb , tb+tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr, "");
  35250. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  35251.  
  35252. /* Cascade setdefault when parent in  %ParentTableName% deleted */
  35253. update %ChildTableName%
  35254. set @ForRelPk( tb , tb+tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  35255. where @ForRelPk( tb , tb+tb+tb , "%ChildTableName%.%PkChildName% = old.%PkParentName%" , " and "+cr, "");
  35256. {ParDelRestrict and (not lParDelRestDekl)} 
  35257.  
  35258. /* Restrict child %ChildTableName%, when parent in %ParentTableName% deleted */
  35259. select count(*) 
  35260. into nRows
  35261. from %ChildTableName%
  35262. where    @ForRelPk( "", tb+tb+tb, "%ChildTableName%.%PkChildName% =  old.%PkParentName%", " and "+cr, "" );
  35263. if nRows > 0 then
  35264.     raise exception ''Children still exist in child table %ChildTableName%. Cannot delete parent.'';
  35265. end if;
  35266. ]]></VALUE>
  35267. <LANGUAGE>0</LANGUAGE>
  35268. <LANGUAGEWIN>---</LANGUAGEWIN>
  35269. <CATEGORY>2</CATEGORY>
  35270. <MAINSCRIPT>0</MAINSCRIPT>
  35271. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35272. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35273. <AUTHOR></AUTHOR>
  35274. <COMPANY></COMPANY>
  35275. <VERSION></VERSION>
  35276. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35277. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35278. </TEMPLATE>
  35279. <TEMPLATE>
  35280. <NAME>CreateGroup</NAME>
  35281. <ID>22</ID>
  35282. <GUID>{A61ED14C-D593-4FF0-94C9-F35A9E90EA4D}</GUID>
  35283. <CAPTION></CAPTION>
  35284. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35285. <ENABLED>1</ENABLED>
  35286. <LEVEL>2</LEVEL>
  35287. <IDPARENT>0</IDPARENT>
  35288. <VALUE><![CDATA[/* Creating roles */
  35289. @ForRole("","",if(lRole,"Create group %RoleName%;%cr%",""),"","")
  35290. ]]></VALUE>
  35291. <LANGUAGE>0</LANGUAGE>
  35292. <LANGUAGEWIN>---</LANGUAGEWIN>
  35293. <CATEGORY>2</CATEGORY>
  35294. <MAINSCRIPT>0</MAINSCRIPT>
  35295. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35296. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35297. <AUTHOR></AUTHOR>
  35298. <COMPANY></COMPANY>
  35299. <VERSION></VERSION>
  35300. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35301. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35302. </TEMPLATE>
  35303. <TEMPLATE>
  35304. <NAME>GrantUserToGroup</NAME>
  35305. <ID>23</ID>
  35306. <GUID>{FF2D4C70-6F36-49F9-9319-492CD2E6C09E}</GUID>
  35307. <CAPTION></CAPTION>
  35308. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35309. <ENABLED>1</ENABLED>
  35310. <LEVEL>2</LEVEL>
  35311. <IDPARENT>0</IDPARENT>
  35312. <VALUE><![CDATA[/* Adding users to roles */
  35313. @ForRole("","",ForUser("","",UserRoleUser("Alter group %rolename% add user %username%;%cr%"),"",""),"","")
  35314. ]]></VALUE>
  35315. <LANGUAGE>0</LANGUAGE>
  35316. <LANGUAGEWIN>---</LANGUAGEWIN>
  35317. <CATEGORY>2</CATEGORY>
  35318. <MAINSCRIPT>0</MAINSCRIPT>
  35319. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35320. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35321. <AUTHOR></AUTHOR>
  35322. <COMPANY></COMPANY>
  35323. <VERSION></VERSION>
  35324. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35325. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35326. </TEMPLATE>
  35327. <TEMPLATE>
  35328. <NAME>CreateUserPermission</NAME>
  35329. <ID>24</ID>
  35330. <GUID>{95B936EA-FA0E-473A-9111-8EC6950E39C7}</GUID>
  35331. <CAPTION></CAPTION>
  35332. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35333. <ENABLED>1</ENABLED>
  35334. <LEVEL>2</LEVEL>
  35335. <IDPARENT>0</IDPARENT>
  35336. <VALUE><![CDATA[/* Users permissions */
  35337. @ForTable("","",ForUser("","",PermissTableUser(Macro(CreateTablePermiss)),"",""),"","")
  35338. @ForView("","",ForUser("","",PermissViewUser(Macro(CreateViewPermiss)),"",""),"","")
  35339. ]]></VALUE>
  35340. <LANGUAGE>0</LANGUAGE>
  35341. <LANGUAGEWIN>---</LANGUAGEWIN>
  35342. <CATEGORY>2</CATEGORY>
  35343. <MAINSCRIPT>0</MAINSCRIPT>
  35344. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35345. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35346. <AUTHOR></AUTHOR>
  35347. <COMPANY></COMPANY>
  35348. <VERSION></VERSION>
  35349. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35350. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35351. </TEMPLATE>
  35352. <TEMPLATE>
  35353. <NAME>CreateRolePermission</NAME>
  35354. <ID>25</ID>
  35355. <GUID>{F11E8225-97CE-444A-965C-A2BC0C8D8607}</GUID>
  35356. <CAPTION></CAPTION>
  35357. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35358. <ENABLED>1</ENABLED>
  35359. <LEVEL>2</LEVEL>
  35360. <IDPARENT>0</IDPARENT>
  35361. <VALUE><![CDATA[/* Groups permissions for tables */
  35362. @ForTable("","",ForRole("","",PermissTableRole(Macro(CreateTablePermissForRole)),"",""),"","")
  35363. /* Groups permissions for views */
  35364. @ForView("","",ForRole("","",PermissViewRole(Macro(CreateViewPermissForRole)),"",""),"","")
  35365. ]]></VALUE>
  35366. <LANGUAGE>0</LANGUAGE>
  35367. <LANGUAGEWIN>---</LANGUAGEWIN>
  35368. <CATEGORY>2</CATEGORY>
  35369. <MAINSCRIPT>0</MAINSCRIPT>
  35370. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35371. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35372. <AUTHOR></AUTHOR>
  35373. <COMPANY></COMPANY>
  35374. <VERSION></VERSION>
  35375. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35376. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35377. </TEMPLATE>
  35378. <TEMPLATE>
  35379. <NAME>CreateTablePermissForUser</NAME>
  35380. <ID>26</ID>
  35381. <GUID>{8FDBBA25-5A81-41B1-9189-76DC9920609C}</GUID>
  35382. <CAPTION></CAPTION>
  35383. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35384. <ENABLED>1</ENABLED>
  35385. <LEVEL>2</LEVEL>
  35386. <IDPARENT>0</IDPARENT>
  35387. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%;%cr%","")+
  35388. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%;%cr%","")+
  35389. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%;%cr%","")+
  35390. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%;%cr%","")
  35391. ]]></VALUE>
  35392. <LANGUAGE>0</LANGUAGE>
  35393. <LANGUAGEWIN>---</LANGUAGEWIN>
  35394. <CATEGORY>2</CATEGORY>
  35395. <MAINSCRIPT>0</MAINSCRIPT>
  35396. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35397. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35398. <AUTHOR></AUTHOR>
  35399. <COMPANY></COMPANY>
  35400. <VERSION></VERSION>
  35401. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35402. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35403. </TEMPLATE>
  35404. <TEMPLATE>
  35405. <NAME>CreateTablePermissForRole</NAME>
  35406. <ID>27</ID>
  35407. <GUID>{195C1C9C-71B7-4E00-82CB-3168C0A5B242}</GUID>
  35408. <CAPTION></CAPTION>
  35409. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35410. <ENABLED>1</ENABLED>
  35411. <LEVEL>2</LEVEL>
  35412. <IDPARENT>0</IDPARENT>
  35413. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to group %UserOrRoleName%;%cr%","")+
  35414. if(lPermissUpdate,"Grant update on %TableName% to group %UserOrRoleName%;%cr%","")+
  35415. if(lPermissDelete,"Grant delete on %TableName% to group %UserOrRoleName%;%cr%","")+
  35416. if(lPermissInsert,"Grant insert on %TableName% to group %UserOrRoleName%;%cr%","")
  35417. ]]></VALUE>
  35418. <LANGUAGE>0</LANGUAGE>
  35419. <LANGUAGEWIN>---</LANGUAGEWIN>
  35420. <CATEGORY>2</CATEGORY>
  35421. <MAINSCRIPT>0</MAINSCRIPT>
  35422. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35423. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35424. <AUTHOR></AUTHOR>
  35425. <COMPANY></COMPANY>
  35426. <VERSION></VERSION>
  35427. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35428. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35429. </TEMPLATE>
  35430. <TEMPLATE>
  35431. <NAME>CreateViewPermissForRole</NAME>
  35432. <ID>28</ID>
  35433. <GUID>{5A3CABB4-35C7-4474-9692-AD345BBAFFBD}</GUID>
  35434. <CAPTION></CAPTION>
  35435. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35436. <ENABLED>1</ENABLED>
  35437. <LEVEL>2</LEVEL>
  35438. <IDPARENT>0</IDPARENT>
  35439. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to group %UserOrRoleName%;%cr%","")+
  35440. if(lPermissUpdate,"Grant update on %ViewName% to group %UserOrRoleName%;%cr%","")+
  35441. if(lPermissDelete,"Grant delete on %ViewName% to group %UserOrRoleName%;%cr%","")+
  35442. if(lPermissInsert,"Grant insert on %ViewName% to group %UserOrRoleName%;%cr%","")
  35443. ]]></VALUE>
  35444. <LANGUAGE>0</LANGUAGE>
  35445. <LANGUAGEWIN>---</LANGUAGEWIN>
  35446. <CATEGORY>2</CATEGORY>
  35447. <MAINSCRIPT>0</MAINSCRIPT>
  35448. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35449. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35450. <AUTHOR></AUTHOR>
  35451. <COMPANY></COMPANY>
  35452. <VERSION></VERSION>
  35453. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35454. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35455. </TEMPLATE>
  35456. <TEMPLATE>
  35457. <NAME>DropProcedures</NAME>
  35458. <ID>29</ID>
  35459. <GUID>{985AC817-8FFD-48C5-BC35-13F0F5D54863}</GUID>
  35460. <CAPTION></CAPTION>
  35461. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35462. <ENABLED>1</ENABLED>
  35463. <LEVEL>2</LEVEL>
  35464. <IDPARENT>0</IDPARENT>
  35465. <VALUE><![CDATA[@ForProcedureR( "", "", "drop function "+ScriptProc( FunctionName, Main, ProcedureName, Procedure)+ ";", cr, "")
  35466. ]]></VALUE>
  35467. <LANGUAGE>0</LANGUAGE>
  35468. <LANGUAGEWIN>---</LANGUAGEWIN>
  35469. <CATEGORY>2</CATEGORY>
  35470. <MAINSCRIPT>0</MAINSCRIPT>
  35471. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35472. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35473. <AUTHOR></AUTHOR>
  35474. <COMPANY></COMPANY>
  35475. <VERSION></VERSION>
  35476. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35477. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35478. </TEMPLATE>
  35479. <TEMPLATE>
  35480. <NAME>DropTriggersList</NAME>
  35481. <ID>30</ID>
  35482. <GUID>{862B84C8-4F0C-44F3-A41E-E0BDD8D942F6}</GUID>
  35483. <CAPTION></CAPTION>
  35484. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35485. <ENABLED>1</ENABLED>
  35486. <LEVEL>2</LEVEL>
  35487. <IDPARENT>0</IDPARENT>
  35488. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName% on %TableName%;%cr%","",""),"","")
  35489. ]]></VALUE>
  35490. <LANGUAGE>0</LANGUAGE>
  35491. <LANGUAGEWIN>---</LANGUAGEWIN>
  35492. <CATEGORY>2</CATEGORY>
  35493. <MAINSCRIPT>0</MAINSCRIPT>
  35494. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35495. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35496. <AUTHOR></AUTHOR>
  35497. <COMPANY></COMPANY>
  35498. <VERSION></VERSION>
  35499. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  35500. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  35501. </TEMPLATE>
  35502. <TEMPLATE>
  35503. <NAME>DropDomains</NAME>
  35504. <ID>31</ID>
  35505. <GUID>{DBA87A0B-B987-4466-A639-D641117AB19B}</GUID>
  35506. <CAPTION>DropDomains</CAPTION>
  35507. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35508. <ENABLED>1</ENABLED>
  35509. <LEVEL>2</LEVEL>
  35510. <IDPARENT>0</IDPARENT>
  35511. <VALUE><![CDATA[@ForDict( "", "", ScriptProc( GetDictType, Main, DictType.ID, false), "", "")
  35512. ]]></VALUE>
  35513. <LANGUAGE>0</LANGUAGE>
  35514. <LANGUAGEWIN>---</LANGUAGEWIN>
  35515. <CATEGORY>2</CATEGORY>
  35516. <MAINSCRIPT>0</MAINSCRIPT>
  35517. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35518. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35519. <AUTHOR></AUTHOR>
  35520. <COMPANY></COMPANY>
  35521. <VERSION></VERSION>
  35522. <CREATED><DATE>10/1/2002</DATE><TIME>16:23:50</TIME></CREATED>
  35523. <MODIFIED><DATE>8/18/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35524. </TEMPLATE>
  35525. <TEMPLATE>
  35526. <NAME>CreateDomains</NAME>
  35527. <ID>32</ID>
  35528. <GUID>{C41DDC03-B300-493B-9FAD-129DAF063BAD}</GUID>
  35529. <CAPTION>CreateDomains</CAPTION>
  35530. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35531. <ENABLED>1</ENABLED>
  35532. <LEVEL>2</LEVEL>
  35533. <IDPARENT>0</IDPARENT>
  35534. <VALUE><![CDATA[@ForDict( "", "", ScriptProc( GetDictType, Main, DictType.ID, true), "", "")
  35535. ]]></VALUE>
  35536. <LANGUAGE>0</LANGUAGE>
  35537. <LANGUAGEWIN>---</LANGUAGEWIN>
  35538. <CATEGORY>2</CATEGORY>
  35539. <MAINSCRIPT>0</MAINSCRIPT>
  35540. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35541. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35542. <AUTHOR></AUTHOR>
  35543. <COMPANY></COMPANY>
  35544. <VERSION></VERSION>
  35545. <CREATED><DATE>10/1/2002</DATE><TIME>16:26:19</TIME></CREATED>
  35546. <MODIFIED><DATE>8/18/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35547. </TEMPLATE>
  35548. <TEMPLATE>
  35549. <NAME>FunctionName</NAME>
  35550. <ID>33</ID>
  35551. <GUID>{7111F21D-55CD-44F8-81DC-04A3F236C777}</GUID>
  35552. <CAPTION>FunctionName</CAPTION>
  35553. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35554. <ENABLED>1</ENABLED>
  35555. <LEVEL>2</LEVEL>
  35556. <IDPARENT>0</IDPARENT>
  35557. <VALUE><![CDATA[function Main(name, str) 
  35558. {
  35559.     var first, last, type;
  35560.     first = str.indexOf('(', 0);
  35561.     last = str.indexOf(')', 0);
  35562.     
  35563.     if (first != last)
  35564.     {
  35565.         type = trim((str.substring(first + 1, last)));
  35566.         return (name + "(" + type + ")");
  35567.     }
  35568.     else return;
  35569. }
  35570. ]]></VALUE>
  35571. <LANGUAGE>1</LANGUAGE>
  35572. <LANGUAGEWIN>---</LANGUAGEWIN>
  35573. <CATEGORY>2</CATEGORY>
  35574. <MAINSCRIPT>0</MAINSCRIPT>
  35575. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35576. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35577. <AUTHOR></AUTHOR>
  35578. <COMPANY></COMPANY>
  35579. <VERSION></VERSION>
  35580. <CREATED><DATE>10/1/2002</DATE><TIME>16:26:38</TIME></CREATED>
  35581. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35582. </TEMPLATE>
  35583. <TEMPLATE>
  35584. <NAME>CreateTableComments</NAME>
  35585. <ID>34</ID>
  35586. <GUID>{EE1952C3-73E8-4ECA-9F19-A782D9EC534A}</GUID>
  35587. <CAPTION>CreateTableComments</CAPTION>
  35588. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35589. <ENABLED>1</ENABLED>
  35590. <LEVEL>2</LEVEL>
  35591. <IDPARENT>0</IDPARENT>
  35592. <VALUE><![CDATA[@ForTable( "", "", if(Not Empty(EntDescription), "Comment on table %TableName% Is %c6%%EntDescription%%c6%;%cr%", ""), "", "")
  35593. ]]></VALUE>
  35594. <LANGUAGE>0</LANGUAGE>
  35595. <LANGUAGEWIN>---</LANGUAGEWIN>
  35596. <CATEGORY>2</CATEGORY>
  35597. <MAINSCRIPT>0</MAINSCRIPT>
  35598. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35599. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35600. <AUTHOR></AUTHOR>
  35601. <COMPANY></COMPANY>
  35602. <VERSION></VERSION>
  35603. <CREATED><DATE>9/8/2002</DATE><TIME>11:49:26</TIME></CREATED>
  35604. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35605. </TEMPLATE>
  35606. <TEMPLATE>
  35607. <NAME>CreateColumnComments</NAME>
  35608. <ID>35</ID>
  35609. <GUID>{CEACD0DF-FED0-4CB5-A629-1B4C9EDB72F5}</GUID>
  35610. <CAPTION>CreateColumnComments</CAPTION>
  35611. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35612. <ENABLED>1</ENABLED>
  35613. <LEVEL>2</LEVEL>
  35614. <IDPARENT>0</IDPARENT>
  35615. <VALUE><![CDATA[@ForTable( "", "", ForCol( "", "", if(Not Empty(attrdescription), "Comment on column %TableName%.%ColName% Is %c6%%AttrDescription%%c6%;%cr%", "") , "", ""), "", "")
  35616. ]]></VALUE>
  35617. <LANGUAGE>0</LANGUAGE>
  35618. <LANGUAGEWIN>---</LANGUAGEWIN>
  35619. <CATEGORY>2</CATEGORY>
  35620. <MAINSCRIPT>0</MAINSCRIPT>
  35621. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35622. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35623. <AUTHOR></AUTHOR>
  35624. <COMPANY></COMPANY>
  35625. <VERSION></VERSION>
  35626. <CREATED><DATE>9/8/2002</DATE><TIME>12:15:46</TIME></CREATED>
  35627. <MODIFIED><DATE>9/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35628. </TEMPLATE>
  35629. <TEMPLATE>
  35630. <NAME>GetDictType </NAME>
  35631. <ID>36</ID>
  35632. <GUID>{18845B13-DBF9-4AE2-A871-485BA435FB99}</GUID>
  35633. <CAPTION>GetDictType </CAPTION>
  35634. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35635. <ENABLED>1</ENABLED>
  35636. <LEVEL>2</LEVEL>
  35637. <IDPARENT>0</IDPARENT>
  35638. <VALUE><![CDATA[function Main(ID, blnCreate)
  35639. {
  35640.     var t, txtObj, len, dec, def, isDict = true;
  35641.     var sDomain = '';
  35642.     var objDict = Model.GetDictType(ID);
  35643.     var sDictName = objDict.Name.toLowerCase();
  35644.     
  35645.     for (t=0; t<Model.CountTextObjects; t++)
  35646.     {
  35647.         txtObj = Model.TextObjects(t);
  35648.         if (sDictName==txtObj.Name.toLowerCase())
  35649.             isDict = false;      
  35650.     }
  35651.     
  35652.     if (isDict)
  35653.     {
  35654.         if (blnCreate)
  35655.         {
  35656.             var objDictType = Model.GetDataType(objDict.DataTypeId);
  35657.             len = objDict.Length;
  35658.             dec = objDict.Decimal;
  35659.             def = objDict.Default;
  35660.             sDomain = 'Create domain '+sDictName+' '+objDictType.Name;
  35661.             if (len>0)
  35662.             {
  35663.                 sDomain += '('+len;
  35664.                 if (dec>0)
  35665.                     sDomain += dec;
  35666.                 sDomain += ')';
  35667.             }
  35668.                           
  35669.             if (def!='')
  35670.                 sDomain += ' default '+def;
  35671.         }
  35672.         else
  35673.             sDomain = 'Drop domain '+sDictName+' '+objDict.GetUserVariable("eDropUserTypes"); 
  35674.         sDomain += ';\n';    
  35675.     }    
  35676.     return sDomain;
  35677. }
  35678. ]]></VALUE>
  35679. <LANGUAGE>1</LANGUAGE>
  35680. <LANGUAGEWIN>---</LANGUAGEWIN>
  35681. <CATEGORY>2</CATEGORY>
  35682. <MAINSCRIPT>0</MAINSCRIPT>
  35683. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35684. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35685. <AUTHOR></AUTHOR>
  35686. <COMPANY></COMPANY>
  35687. <VERSION></VERSION>
  35688. <CREATED><DATE>9/15/2002</DATE><TIME>14:12:21</TIME></CREATED>
  35689. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35690. </TEMPLATE>
  35691. <TEMPLATE>
  35692. <NAME>CreateUserTypes</NAME>
  35693. <ID>37</ID>
  35694. <GUID>{3827EFCA-5948-455D-B291-C2F734406F20}</GUID>
  35695. <CAPTION>CreateUserTypes</CAPTION>
  35696. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35697. <ENABLED>1</ENABLED>
  35698. <LEVEL>2</LEVEL>
  35699. <IDPARENT>0</IDPARENT>
  35700. <VALUE><![CDATA[@ForTextObject( 20, "", "", TextObject, cr, "")
  35701. ]]></VALUE>
  35702. <LANGUAGE>0</LANGUAGE>
  35703. <LANGUAGEWIN>---</LANGUAGEWIN>
  35704. <CATEGORY>2</CATEGORY>
  35705. <MAINSCRIPT>0</MAINSCRIPT>
  35706. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35707. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35708. <AUTHOR></AUTHOR>
  35709. <COMPANY></COMPANY>
  35710. <VERSION></VERSION>
  35711. <CREATED><DATE>9/16/2002</DATE><TIME>9:12:45</TIME></CREATED>
  35712. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35713. </TEMPLATE>
  35714. <TEMPLATE>
  35715. <NAME>DropUserTypes</NAME>
  35716. <ID>38</ID>
  35717. <GUID>{B12EB10D-744F-4ED5-9CFF-7F0D06707323}</GUID>
  35718. <CAPTION>DropUserTypes</CAPTION>
  35719. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35720. <ENABLED>1</ENABLED>
  35721. <LEVEL>2</LEVEL>
  35722. <IDPARENT>0</IDPARENT>
  35723. <VALUE><![CDATA[@ForTextObject( 20, "", "", "Drop type %TextObjectName% "+ScriptProc( GetUserTypeInt, Main, TextObjectName)+";%cr%", "", "")
  35724. ]]></VALUE>
  35725. <LANGUAGE>0</LANGUAGE>
  35726. <LANGUAGEWIN>---</LANGUAGEWIN>
  35727. <CATEGORY>2</CATEGORY>
  35728. <MAINSCRIPT>0</MAINSCRIPT>
  35729. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  35730. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  35731. <AUTHOR></AUTHOR>
  35732. <COMPANY></COMPANY>
  35733. <VERSION></VERSION>
  35734. <CREATED><DATE>9/16/2002</DATE><TIME>9:13:06</TIME></CREATED>
  35735. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  35736. </TEMPLATE>
  35737. </TEMPLATES>
  35738. <VARIABLES><![CDATA[lDomainSupp  1
  35739. lAtrDefaultConstraintSupp 0
  35740. lAtrCheckConstraintSupp 1
  35741. lAlterKeySupp 1
  35742. lProceduresSupp 1
  35743. lViewsSupp 1
  35744. lConstraintPkSupp 1
  35745. lConstraintFkSupp 1
  35746. lAtrUniqueConstraintSupp 1
  35747. lPermissUserToRoleSupp 1
  35748. lPermissUserToObjectSupp 1
  35749. lPermissRoleToObjectSupp 1
  35750. lRoleSupp 1
  35751. lUserTypeAttrSupp 1
  35752. lUserTypeDomainSupp 1
  35753. lDriParUpdRestrict 1
  35754. lDriParUpdCascade 1
  35755. lDriParUpdSetNull 1
  35756. lDriParUpdSetDefault 1
  35757. lDriParDelRestrict 1
  35758. lDriParDelCascade 1
  35759. lDriParDelSetNull 1
  35760. lDriParDelSetDefault 1
  35761. lDriChildInsRestrict 0
  35762. lDriChildUpdRestrict 0
  35763. lDriParUpdRestrictSupp 1
  35764. lDriParUpdCascadeSupp 1
  35765. lDriParUpdSetNullSupp 1
  35766. lDriParUpdSetDefaultSupp 1
  35767. lDriParDelRestrictSupp 1
  35768. lDriParDelCascadeSupp 1
  35769. lDriParDelSetNullSupp 1
  35770. lDriParDelSetDefaultSupp 1
  35771. lDriChildInsRestrictSupp 0
  35772. lDriChildUpdRestrictSupp 0
  35773. lIndexDescendSupp 0
  35774. lIndexItDescendSupp 0
  35775. lIndexUpperSupp 0
  35776. lIndexExprSupp 1
  35777. lIndexUniqueSupp 1
  35778. lIndexFilterSupp 0
  35779. lIndexStandSupp 1
  35780. lIndexClusterSupp 0
  35781. lIndexNameUnique 1
  35782. lPkSupp 1
  35783. lPkNotNull 1
  35784. lDRISupp 1
  35785. lTriggerSupp 1
  35786. lAtrUniqueSupp 1
  35787. lAtrNotNullSupp 1
  35788. lAtrCheckSupp 1
  35789. lAtrDefaultSupp 1
  35790. lDomainSupp  1
  35791. lAtrDefaultConstraintSupp 0
  35792. lAtrCheckConstraintSupp 1
  35793. lAlterKeySupp 1
  35794. lProceduresSupp 1
  35795. lViewsSupp 1
  35796. lConstraintPkSupp 1
  35797. lConstraintFkSupp 1
  35798. lAtrUniqueConstraintSupp 1
  35799. lPermissUserToRoleSupp 1
  35800. lPermissUserToObjectSupp 1
  35801. lPermissRoleToObjectSupp 1
  35802. lRoleSupp 1
  35803. lUserTypeAttrSupp 1
  35804. lUserTypeDomainSupp 1
  35805. ]]></VARIABLES>
  35806. <USEREDITS>
  35807. <USEREDIT>
  35808. <NAME>lColumnDescriptions</NAME>
  35809. <ID>1</ID>
  35810. <GUID>{6B95302A-7A44-4BF9-AA0B-1FC3F23CE358}</GUID>
  35811. <CAPTION>Generate descriptions on columns</CAPTION>
  35812. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35813. <TYPE>1</TYPE>
  35814. <LEVEL>1</LEVEL>
  35815. <DEFAULT></DEFAULT>
  35816. <ORD>20</ORD>
  35817. <LENGTH>0</LENGTH>
  35818. <ENABLED>1</ENABLED>
  35819. <ITEMS></ITEMS>
  35820. </USEREDIT>
  35821. <USEREDIT>
  35822. <NAME>lTableDescriptions</NAME>
  35823. <ID>2</ID>
  35824. <GUID>{F77236D1-3B65-4422-B17C-A056E86683D3}</GUID>
  35825. <CAPTION>Generate descriptions on tables</CAPTION>
  35826. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35827. <TYPE>1</TYPE>
  35828. <LEVEL>1</LEVEL>
  35829. <DEFAULT></DEFAULT>
  35830. <ORD>10</ORD>
  35831. <LENGTH>0</LENGTH>
  35832. <ENABLED>1</ENABLED>
  35833. <ITEMS></ITEMS>
  35834. </USEREDIT>
  35835. <USEREDIT>
  35836. <NAME>lTempTable</NAME>
  35837. <ID>3</ID>
  35838. <GUID>{2FAAAF61-4D0F-4801-972A-7BC16D49501D}</GUID>
  35839. <CAPTION>Temporary table</CAPTION>
  35840. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35841. <TYPE>1</TYPE>
  35842. <LEVEL>2</LEVEL>
  35843. <DEFAULT></DEFAULT>
  35844. <ORD>10</ORD>
  35845. <LENGTH>0</LENGTH>
  35846. <ENABLED>1</ENABLED>
  35847. <ITEMS></ITEMS>
  35848. </USEREDIT>
  35849. <USEREDIT>
  35850. <NAME>cInherited</NAME>
  35851. <ID>4</ID>
  35852. <GUID>{F7AB6CCE-1CA2-48E6-8F2B-30596892935C}</GUID>
  35853. <CAPTION>Inherited tables</CAPTION>
  35854. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35855. <TYPE>0</TYPE>
  35856. <LEVEL>2</LEVEL>
  35857. <DEFAULT></DEFAULT>
  35858. <ORD>20</ORD>
  35859. <LENGTH>400</LENGTH>
  35860. <ENABLED>1</ENABLED>
  35861. <ITEMS></ITEMS>
  35862. </USEREDIT>
  35863. <USEREDIT>
  35864. <NAME>cMatchType</NAME>
  35865. <ID>5</ID>
  35866. <GUID>{DCA106B5-8617-4F4E-B0BF-FB6FC91AC144}</GUID>
  35867. <CAPTION>Match type (empty or FULL)</CAPTION>
  35868. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35869. <TYPE>0</TYPE>
  35870. <LEVEL>5</LEVEL>
  35871. <DEFAULT></DEFAULT>
  35872. <ORD>30</ORD>
  35873. <LENGTH>200</LENGTH>
  35874. <ENABLED>1</ENABLED>
  35875. <ITEMS></ITEMS>
  35876. </USEREDIT>
  35877. <USEREDIT>
  35878. <NAME>lDeferrable</NAME>
  35879. <ID>6</ID>
  35880. <GUID>{BD041465-5B6D-4BEA-B56F-44E553C8B73E}</GUID>
  35881. <CAPTION>Deferrable (Deferre constrain to the end of the transaction)</CAPTION>
  35882. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35883. <TYPE>1</TYPE>
  35884. <LEVEL>5</LEVEL>
  35885. <DEFAULT>0</DEFAULT>
  35886. <ORD>40</ORD>
  35887. <LENGTH>0</LENGTH>
  35888. <ENABLED>1</ENABLED>
  35889. <ITEMS></ITEMS>
  35890. </USEREDIT>
  35891. <USEREDIT>
  35892. <NAME>lImmediate</NAME>
  35893. <ID>7</ID>
  35894. <GUID>{BCDE63FD-F400-4097-9549-F5B61AC77508}</GUID>
  35895. <CAPTION>Immediate (Check constraint after each statement)</CAPTION>
  35896. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35897. <TYPE>1</TYPE>
  35898. <LEVEL>5</LEVEL>
  35899. <DEFAULT>-1</DEFAULT>
  35900. <ORD>50</ORD>
  35901. <LENGTH>0</LENGTH>
  35902. <ENABLED>1</ENABLED>
  35903. <ITEMS></ITEMS>
  35904. </USEREDIT>
  35905. <USEREDIT>
  35906. <NAME>cIxFunction</NAME>
  35907. <ID>8</ID>
  35908. <GUID>{71EF7F99-2419-4512-A9EB-BD5D73B28AD9}</GUID>
  35909. <CAPTION>Index function</CAPTION>
  35910. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35911. <TYPE>0</TYPE>
  35912. <LEVEL>4</LEVEL>
  35913. <DEFAULT></DEFAULT>
  35914. <ORD>20</ORD>
  35915. <LENGTH>0</LENGTH>
  35916. <ENABLED>1</ENABLED>
  35917. <ITEMS></ITEMS>
  35918. </USEREDIT>
  35919. <USEREDIT>
  35920. <NAME>eIxAccess</NAME>
  35921. <ID>9</ID>
  35922. <GUID>{27468BD1-6CCB-4230-97EF-3EC514F178FB}</GUID>
  35923. <CAPTION>Index access method</CAPTION>
  35924. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35925. <TYPE>2</TYPE>
  35926. <LEVEL>4</LEVEL>
  35927. <DEFAULT>btree</DEFAULT>
  35928. <ORD>10</ORD>
  35929. <LENGTH>0</LENGTH>
  35930. <ENABLED>1</ENABLED>
  35931. <ITEMS>"btree","rtree","hash","gist"</ITEMS>
  35932. </USEREDIT>
  35933. <USEREDIT>
  35934. <NAME>lUserTypesGener</NAME>
  35935. <ID>10</ID>
  35936. <GUID>{A71C0810-2514-4ECC-8BD8-EF7FC15A9BC3}</GUID>
  35937. <CAPTION>Generate User-defined types</CAPTION>
  35938. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35939. <TYPE>1</TYPE>
  35940. <LEVEL>1</LEVEL>
  35941. <DEFAULT>1</DEFAULT>
  35942. <ORD>1</ORD>
  35943. <LENGTH>0</LENGTH>
  35944. <ENABLED>1</ENABLED>
  35945. <ITEMS></ITEMS>
  35946. </USEREDIT>
  35947. <USEREDIT>
  35948. <NAME>eDropUserTypes</NAME>
  35949. <ID>11</ID>
  35950. <GUID>{9B99E04D-6A79-4C91-B397-5FCA2EBDDEC3}</GUID>
  35951. <CAPTION>Drop integrity</CAPTION>
  35952. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35953. <TYPE>2</TYPE>
  35954. <LEVEL>6</LEVEL>
  35955. <DEFAULT>Restrict</DEFAULT>
  35956. <ORD>10</ORD>
  35957. <LENGTH>20</LENGTH>
  35958. <ENABLED>1</ENABLED>
  35959. <ITEMS>Restrict Cascade</ITEMS>
  35960. </USEREDIT>
  35961. <USEREDIT>
  35962. <NAME>lDropUserTypesGener</NAME>
  35963. <ID>12</ID>
  35964. <GUID>{9A1E725E-A89B-4CDD-BFD8-869533C1C921}</GUID>
  35965. <CAPTION>Drop User-Defined Types</CAPTION>
  35966. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35967. <TYPE>1</TYPE>
  35968. <LEVEL>1</LEVEL>
  35969. <DEFAULT>0</DEFAULT>
  35970. <ORD>30</ORD>
  35971. <LENGTH>0</LENGTH>
  35972. <ENABLED>1</ENABLED>
  35973. <ITEMS></ITEMS>
  35974. </USEREDIT>
  35975. <USEREDIT>
  35976. <NAME>lUserTypesProcGener</NAME>
  35977. <ID>13</ID>
  35978. <GUID>{290D58D0-8862-48BA-A396-EE808BD876C5}</GUID>
  35979. <CAPTION>Generate User-Types Procedures</CAPTION>
  35980. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35981. <TYPE>1</TYPE>
  35982. <LEVEL>1</LEVEL>
  35983. <DEFAULT></DEFAULT>
  35984. <ORD>5</ORD>
  35985. <LENGTH>0</LENGTH>
  35986. <ENABLED>1</ENABLED>
  35987. <ITEMS></ITEMS>
  35988. </USEREDIT>
  35989. <USEREDIT>
  35990. <NAME>lDropUserTypesProcGener</NAME>
  35991. <ID>14</ID>
  35992. <GUID>{46E76074-1E18-4E76-89BC-31DC1B0E732E}</GUID>
  35993. <CAPTION>Drop User-Types Procedures</CAPTION>
  35994. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  35995. <TYPE>1</TYPE>
  35996. <LEVEL>1</LEVEL>
  35997. <DEFAULT></DEFAULT>
  35998. <ORD>40</ORD>
  35999. <LENGTH>0</LENGTH>
  36000. <ENABLED>1</ENABLED>
  36001. <ITEMS></ITEMS>
  36002. </USEREDIT>
  36003. </USEREDITS>
  36004. <TYPELIST>
  36005. <TYPE>
  36006. <NAME>Smallint</NAME>
  36007. <ID>10</ID>
  36008. <GUID>{2B0E0E4E-5603-4FEB-88E5-3D79B31743FA}</GUID>
  36009. <PHNAME>Smallint</PHNAME>
  36010. <LLENGTH>0</LLENGTH>
  36011. <LDECIMAL>0</LDECIMAL>
  36012. <MAXLENGTH>0</MAXLENGTH>
  36013. <MINLENGTH>0</MINLENGTH>
  36014. <MAXDECIMAL>0</MAXDECIMAL>
  36015. <MINDECIMAL>0</MINDECIMAL>
  36016. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36017. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36018. <TRANSFORMCODE>SI</TRANSFORMCODE>
  36019. <TRANSFORMTO>SI;I;LI;N;</TRANSFORMTO>
  36020. <EXPORTTO>0</EXPORTTO>
  36021. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36022. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36023. </TYPE>
  36024. <TYPE>
  36025. <NAME>Integer</NAME>
  36026. <ID>20</ID>
  36027. <GUID>{9840AB7F-23AF-44F5-ADF8-EA13EF66ECB0}</GUID>
  36028. <PHNAME>integer</PHNAME>
  36029. <LLENGTH>0</LLENGTH>
  36030. <LDECIMAL>0</LDECIMAL>
  36031. <MAXLENGTH>0</MAXLENGTH>
  36032. <MINLENGTH>0</MINLENGTH>
  36033. <MAXDECIMAL>0</MAXDECIMAL>
  36034. <MINDECIMAL>0</MINDECIMAL>
  36035. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36036. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36037. <TRANSFORMCODE>I</TRANSFORMCODE>
  36038. <TRANSFORMTO>I;LI;N;</TRANSFORMTO>
  36039. <EXPORTTO>0</EXPORTTO>
  36040. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36041. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36042. </TYPE>
  36043. <TYPE>
  36044. <NAME>Bigint</NAME>
  36045. <ID>30</ID>
  36046. <GUID>{70BCA5A2-17C4-4007-945C-31885C5249C7}</GUID>
  36047. <PHNAME>Bigint</PHNAME>
  36048. <LLENGTH>0</LLENGTH>
  36049. <LDECIMAL>0</LDECIMAL>
  36050. <MAXLENGTH>0</MAXLENGTH>
  36051. <MINLENGTH>0</MINLENGTH>
  36052. <MAXDECIMAL>0</MAXDECIMAL>
  36053. <MINDECIMAL>0</MINDECIMAL>
  36054. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36055. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36056. <TRANSFORMCODE>BI</TRANSFORMCODE>
  36057. <TRANSFORMTO>BI;I;D;</TRANSFORMTO>
  36058. <EXPORTTO>0</EXPORTTO>
  36059. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36060. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36061. </TYPE>
  36062. <TYPE>
  36063. <NAME>Numeric</NAME>
  36064. <ID>40</ID>
  36065. <GUID>{E93AAC5D-478C-40FF-A2B7-25FC872DF220}</GUID>
  36066. <PHNAME>Numeric</PHNAME>
  36067. <LLENGTH>1</LLENGTH>
  36068. <LDECIMAL>1</LDECIMAL>
  36069. <MAXLENGTH>1000</MAXLENGTH>
  36070. <MINLENGTH>1</MINLENGTH>
  36071. <MAXDECIMAL>1000</MAXDECIMAL>
  36072. <MINDECIMAL>0</MINDECIMAL>
  36073. <DEFAULTLENGTH>30</DEFAULTLENGTH>
  36074. <DEFAULTDECIMAL>6</DEFAULTDECIMAL>
  36075. <TRANSFORMCODE>N</TRANSFORMCODE>
  36076. <TRANSFORMTO>N;DC;LF;</TRANSFORMTO>
  36077. <EXPORTTO>0</EXPORTTO>
  36078. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36079. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36080. </TYPE>
  36081. <TYPE>
  36082. <NAME>Real</NAME>
  36083. <ID>60</ID>
  36084. <GUID>{2320D68E-304A-4F26-A029-573165DEC1F0}</GUID>
  36085. <PHNAME>Real</PHNAME>
  36086. <LLENGTH>0</LLENGTH>
  36087. <LDECIMAL>0</LDECIMAL>
  36088. <MAXLENGTH>0</MAXLENGTH>
  36089. <MINLENGTH>0</MINLENGTH>
  36090. <MAXDECIMAL>0</MAXDECIMAL>
  36091. <MINDECIMAL>0</MINDECIMAL>
  36092. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36093. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36094. <TRANSFORMCODE>R</TRANSFORMCODE>
  36095. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  36096. <EXPORTTO>0</EXPORTTO>
  36097. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36098. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36099. </TYPE>
  36100. <TYPE>
  36101. <NAME>Double precision</NAME>
  36102. <ID>70</ID>
  36103. <GUID>{B4553781-6C0F-4DDE-A08A-67F88EAEAA53}</GUID>
  36104. <PHNAME>Double precision</PHNAME>
  36105. <LLENGTH>0</LLENGTH>
  36106. <LDECIMAL>0</LDECIMAL>
  36107. <MAXLENGTH>0</MAXLENGTH>
  36108. <MINLENGTH>0</MINLENGTH>
  36109. <MAXDECIMAL>0</MAXDECIMAL>
  36110. <MINDECIMAL>0</MINDECIMAL>
  36111. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36112. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36113. <TRANSFORMCODE>LF</TRANSFORMCODE>
  36114. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  36115. <EXPORTTO>0</EXPORTTO>
  36116. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36117. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36118. </TYPE>
  36119. <TYPE>
  36120. <NAME>Serial</NAME>
  36121. <ID>80</ID>
  36122. <GUID>{8386FB29-6A55-49FD-AC52-70A16009E150}</GUID>
  36123. <PHNAME>Serial</PHNAME>
  36124. <LLENGTH>0</LLENGTH>
  36125. <LDECIMAL>0</LDECIMAL>
  36126. <MAXLENGTH>0</MAXLENGTH>
  36127. <MINLENGTH>0</MINLENGTH>
  36128. <MAXDECIMAL>0</MAXDECIMAL>
  36129. <MINDECIMAL>0</MINDECIMAL>
  36130. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36131. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36132. <TRANSFORMCODE>NO</TRANSFORMCODE>
  36133. <TRANSFORMTO>NO;LI;I;N,10,0;</TRANSFORMTO>
  36134. <EXPORTTO>20</EXPORTTO>
  36135. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36136. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36137. </TYPE>
  36138. <TYPE>
  36139. <NAME>Money</NAME>
  36140. <ID>90</ID>
  36141. <GUID>{01337F81-2C05-47CB-B815-6C412ACDD81D}</GUID>
  36142. <PHNAME>Money</PHNAME>
  36143. <LLENGTH>0</LLENGTH>
  36144. <LDECIMAL>0</LDECIMAL>
  36145. <MAXLENGTH>0</MAXLENGTH>
  36146. <MINLENGTH>0</MINLENGTH>
  36147. <MAXDECIMAL>0</MAXDECIMAL>
  36148. <MINDECIMAL>0</MINDECIMAL>
  36149. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36150. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36151. <TRANSFORMCODE>MN</TRANSFORMCODE>
  36152. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  36153. <EXPORTTO>0</EXPORTTO>
  36154. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36155. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36156. </TYPE>
  36157. <TYPE>
  36158. <NAME>Char</NAME>
  36159. <ID>100</ID>
  36160. <GUID>{C44F6014-F46C-47FF-B5F3-BE029157725D}</GUID>
  36161. <PHNAME>Char</PHNAME>
  36162. <LLENGTH>1</LLENGTH>
  36163. <LDECIMAL>0</LDECIMAL>
  36164. <MAXLENGTH>10485760</MAXLENGTH>
  36165. <MINLENGTH>1</MINLENGTH>
  36166. <MAXDECIMAL>0</MAXDECIMAL>
  36167. <MINDECIMAL>0</MINDECIMAL>
  36168. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  36169. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36170. <TRANSFORMCODE>A</TRANSFORMCODE>
  36171. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  36172. <EXPORTTO>0</EXPORTTO>
  36173. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36174. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36175. </TYPE>
  36176. <TYPE>
  36177. <NAME>Varchar</NAME>
  36178. <ID>110</ID>
  36179. <GUID>{AF106D2E-0918-4DEB-8166-DCBE7A52F4D8}</GUID>
  36180. <PHNAME>Varchar</PHNAME>
  36181. <LLENGTH>1</LLENGTH>
  36182. <LDECIMAL>0</LDECIMAL>
  36183. <MAXLENGTH>10485760</MAXLENGTH>
  36184. <MINLENGTH>1</MINLENGTH>
  36185. <MAXDECIMAL>0</MAXDECIMAL>
  36186. <MINDECIMAL>0</MINDECIMAL>
  36187. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  36188. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36189. <TRANSFORMCODE>VA</TRANSFORMCODE>
  36190. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  36191. <EXPORTTO>0</EXPORTTO>
  36192. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36193. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36194. </TYPE>
  36195. <TYPE>
  36196. <NAME>Text</NAME>
  36197. <ID>120</ID>
  36198. <GUID>{4E07DF35-B1CE-40A6-9C95-D328AF713774}</GUID>
  36199. <PHNAME>Text</PHNAME>
  36200. <LLENGTH>0</LLENGTH>
  36201. <LDECIMAL>0</LDECIMAL>
  36202. <MAXLENGTH>0</MAXLENGTH>
  36203. <MINLENGTH>0</MINLENGTH>
  36204. <MAXDECIMAL>0</MAXDECIMAL>
  36205. <MINDECIMAL>0</MINDECIMAL>
  36206. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36207. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36208. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  36209. <TRANSFORMTO>TXT;LVA;LA;LBIN;</TRANSFORMTO>
  36210. <EXPORTTO>0</EXPORTTO>
  36211. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36212. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36213. </TYPE>
  36214. <TYPE>
  36215. <NAME>Timestamp</NAME>
  36216. <ID>130</ID>
  36217. <GUID>{A65E624E-233B-400E-9CE3-FFCBAEAD52E9}</GUID>
  36218. <PHNAME>Timestamp</PHNAME>
  36219. <LLENGTH>0</LLENGTH>
  36220. <LDECIMAL>0</LDECIMAL>
  36221. <MAXLENGTH>0</MAXLENGTH>
  36222. <MINLENGTH>0</MINLENGTH>
  36223. <MAXDECIMAL>0</MAXDECIMAL>
  36224. <MINDECIMAL>0</MINDECIMAL>
  36225. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36226. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36227. <TRANSFORMCODE>DT</TRANSFORMCODE>
  36228. <TRANSFORMTO>DT;D;A</TRANSFORMTO>
  36229. <EXPORTTO>0</EXPORTTO>
  36230. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36231. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36232. </TYPE>
  36233. <TYPE>
  36234. <NAME>Timestamp with time zone</NAME>
  36235. <ID>135</ID>
  36236. <GUID>{7AF01E7E-7EB0-4CA8-B7C8-A37E4513FA64}</GUID>
  36237. <PHNAME>Timestamp with time zone</PHNAME>
  36238. <LLENGTH>0</LLENGTH>
  36239. <LDECIMAL>0</LDECIMAL>
  36240. <MAXLENGTH>0</MAXLENGTH>
  36241. <MINLENGTH>0</MINLENGTH>
  36242. <MAXDECIMAL>0</MAXDECIMAL>
  36243. <MINDECIMAL>0</MINDECIMAL>
  36244. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36245. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36246. <TRANSFORMCODE>DT</TRANSFORMCODE>
  36247. <TRANSFORMTO>DT;D;A</TRANSFORMTO>
  36248. <EXPORTTO>0</EXPORTTO>
  36249. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36250. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36251. </TYPE>
  36252. <TYPE>
  36253. <NAME>Interval</NAME>
  36254. <ID>140</ID>
  36255. <GUID>{DE783E51-0266-46E9-8F51-90712FD1698A}</GUID>
  36256. <PHNAME>Interval</PHNAME>
  36257. <LLENGTH>0</LLENGTH>
  36258. <LDECIMAL>0</LDECIMAL>
  36259. <MAXLENGTH>0</MAXLENGTH>
  36260. <MINLENGTH>0</MINLENGTH>
  36261. <MAXDECIMAL>0</MAXDECIMAL>
  36262. <MINDECIMAL>0</MINDECIMAL>
  36263. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36264. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36265. <TRANSFORMCODE>INV</TRANSFORMCODE>
  36266. <TRANSFORMTO>INV;</TRANSFORMTO>
  36267. <EXPORTTO>0</EXPORTTO>
  36268. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36269. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36270. </TYPE>
  36271. <TYPE>
  36272. <NAME>Date</NAME>
  36273. <ID>150</ID>
  36274. <GUID>{6FF0815D-129F-4908-8E7D-387A6B7C83FA}</GUID>
  36275. <PHNAME>Date</PHNAME>
  36276. <LLENGTH>0</LLENGTH>
  36277. <LDECIMAL>0</LDECIMAL>
  36278. <MAXLENGTH>0</MAXLENGTH>
  36279. <MINLENGTH>0</MINLENGTH>
  36280. <MAXDECIMAL>0</MAXDECIMAL>
  36281. <MINDECIMAL>0</MINDECIMAL>
  36282. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36283. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36284. <TRANSFORMCODE>D</TRANSFORMCODE>
  36285. <TRANSFORMTO>D;DT;A</TRANSFORMTO>
  36286. <EXPORTTO>0</EXPORTTO>
  36287. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36288. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36289. </TYPE>
  36290. <TYPE>
  36291. <NAME>Time</NAME>
  36292. <ID>160</ID>
  36293. <GUID>{B8A3AA6F-2DE5-4D6C-925B-BC2E86B5CB58}</GUID>
  36294. <PHNAME>Time</PHNAME>
  36295. <LLENGTH>0</LLENGTH>
  36296. <LDECIMAL>0</LDECIMAL>
  36297. <MAXLENGTH>0</MAXLENGTH>
  36298. <MINLENGTH>0</MINLENGTH>
  36299. <MAXDECIMAL>0</MAXDECIMAL>
  36300. <MINDECIMAL>0</MINDECIMAL>
  36301. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36302. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36303. <TRANSFORMCODE>T</TRANSFORMCODE>
  36304. <TRANSFORMTO>T;DT;A</TRANSFORMTO>
  36305. <EXPORTTO>0</EXPORTTO>
  36306. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36307. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36308. </TYPE>
  36309. <TYPE>
  36310. <NAME>Time with time zone</NAME>
  36311. <ID>165</ID>
  36312. <GUID>{054EFD6F-7584-4262-87D1-83B099E97C68}</GUID>
  36313. <PHNAME>Time with time zone</PHNAME>
  36314. <LLENGTH>0</LLENGTH>
  36315. <LDECIMAL>0</LDECIMAL>
  36316. <MAXLENGTH>0</MAXLENGTH>
  36317. <MINLENGTH>0</MINLENGTH>
  36318. <MAXDECIMAL>0</MAXDECIMAL>
  36319. <MINDECIMAL>0</MINDECIMAL>
  36320. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36321. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36322. <TRANSFORMCODE>T</TRANSFORMCODE>
  36323. <TRANSFORMTO>T;DT;A</TRANSFORMTO>
  36324. <EXPORTTO>0</EXPORTTO>
  36325. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36326. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36327. </TYPE>
  36328. <TYPE>
  36329. <NAME>Boolean</NAME>
  36330. <ID>170</ID>
  36331. <GUID>{E31B8F2A-7902-4C2D-BF5C-106B43F4AD76}</GUID>
  36332. <PHNAME>Boolean</PHNAME>
  36333. <LLENGTH>0</LLENGTH>
  36334. <LDECIMAL>0</LDECIMAL>
  36335. <MAXLENGTH>0</MAXLENGTH>
  36336. <MINLENGTH>0</MINLENGTH>
  36337. <MAXDECIMAL>0</MAXDECIMAL>
  36338. <MINDECIMAL>0</MINDECIMAL>
  36339. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36340. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36341. <TRANSFORMCODE>BL</TRANSFORMCODE>
  36342. <TRANSFORMTO>BL;BIT;A,1,0;</TRANSFORMTO>
  36343. <EXPORTTO>0</EXPORTTO>
  36344. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36345. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36346. </TYPE>
  36347. <TYPE>
  36348. <NAME>Point</NAME>
  36349. <ID>180</ID>
  36350. <GUID>{B234648C-ABFA-4A67-B5B7-3BFD76E1254F}</GUID>
  36351. <PHNAME>Point</PHNAME>
  36352. <LLENGTH>0</LLENGTH>
  36353. <LDECIMAL>0</LDECIMAL>
  36354. <MAXLENGTH>0</MAXLENGTH>
  36355. <MINLENGTH>0</MINLENGTH>
  36356. <MAXDECIMAL>0</MAXDECIMAL>
  36357. <MINDECIMAL>0</MINDECIMAL>
  36358. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36359. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36360. <TRANSFORMCODE>PI</TRANSFORMCODE>
  36361. <TRANSFORMTO>PI;</TRANSFORMTO>
  36362. <EXPORTTO>0</EXPORTTO>
  36363. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36364. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36365. </TYPE>
  36366. <TYPE>
  36367. <NAME>Line</NAME>
  36368. <ID>190</ID>
  36369. <GUID>{177D832C-FD9A-4BC0-AEF9-601834743582}</GUID>
  36370. <PHNAME>Line</PHNAME>
  36371. <LLENGTH>0</LLENGTH>
  36372. <LDECIMAL>0</LDECIMAL>
  36373. <MAXLENGTH>0</MAXLENGTH>
  36374. <MINLENGTH>0</MINLENGTH>
  36375. <MAXDECIMAL>0</MAXDECIMAL>
  36376. <MINDECIMAL>0</MINDECIMAL>
  36377. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36378. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36379. <TRANSFORMCODE>LN</TRANSFORMCODE>
  36380. <TRANSFORMTO>LN;</TRANSFORMTO>
  36381. <EXPORTTO>0</EXPORTTO>
  36382. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36383. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36384. </TYPE>
  36385. <TYPE>
  36386. <NAME>Lseg</NAME>
  36387. <ID>200</ID>
  36388. <GUID>{FBFF15B6-6F1E-40EA-84C6-B708FE02B7D0}</GUID>
  36389. <PHNAME>Lseg</PHNAME>
  36390. <LLENGTH>0</LLENGTH>
  36391. <LDECIMAL>0</LDECIMAL>
  36392. <MAXLENGTH>0</MAXLENGTH>
  36393. <MINLENGTH>0</MINLENGTH>
  36394. <MAXDECIMAL>0</MAXDECIMAL>
  36395. <MINDECIMAL>0</MINDECIMAL>
  36396. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36397. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36398. <TRANSFORMCODE>LS</TRANSFORMCODE>
  36399. <TRANSFORMTO>LS;</TRANSFORMTO>
  36400. <EXPORTTO>0</EXPORTTO>
  36401. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36402. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36403. </TYPE>
  36404. <TYPE>
  36405. <NAME>Box</NAME>
  36406. <ID>210</ID>
  36407. <GUID>{95130679-3034-48BA-9203-517CB31D5600}</GUID>
  36408. <PHNAME>Box</PHNAME>
  36409. <LLENGTH>0</LLENGTH>
  36410. <LDECIMAL>0</LDECIMAL>
  36411. <MAXLENGTH>0</MAXLENGTH>
  36412. <MINLENGTH>0</MINLENGTH>
  36413. <MAXDECIMAL>0</MAXDECIMAL>
  36414. <MINDECIMAL>0</MINDECIMAL>
  36415. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36416. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36417. <TRANSFORMCODE>BX</TRANSFORMCODE>
  36418. <TRANSFORMTO>BX;</TRANSFORMTO>
  36419. <EXPORTTO>0</EXPORTTO>
  36420. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36421. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36422. </TYPE>
  36423. <TYPE>
  36424. <NAME>Path</NAME>
  36425. <ID>220</ID>
  36426. <GUID>{3D479426-3435-4F34-BDA9-17D8E1C32126}</GUID>
  36427. <PHNAME>Path</PHNAME>
  36428. <LLENGTH>0</LLENGTH>
  36429. <LDECIMAL>0</LDECIMAL>
  36430. <MAXLENGTH>0</MAXLENGTH>
  36431. <MINLENGTH>0</MINLENGTH>
  36432. <MAXDECIMAL>0</MAXDECIMAL>
  36433. <MINDECIMAL>0</MINDECIMAL>
  36434. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36435. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36436. <TRANSFORMCODE>PA</TRANSFORMCODE>
  36437. <TRANSFORMTO>PA;</TRANSFORMTO>
  36438. <EXPORTTO>0</EXPORTTO>
  36439. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36440. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36441. </TYPE>
  36442. <TYPE>
  36443. <NAME>Polygon</NAME>
  36444. <ID>230</ID>
  36445. <GUID>{D2CBD74C-FB2C-47B3-BEF8-400C654094C0}</GUID>
  36446. <PHNAME>Polygon</PHNAME>
  36447. <LLENGTH>0</LLENGTH>
  36448. <LDECIMAL>0</LDECIMAL>
  36449. <MAXLENGTH>0</MAXLENGTH>
  36450. <MINLENGTH>0</MINLENGTH>
  36451. <MAXDECIMAL>0</MAXDECIMAL>
  36452. <MINDECIMAL>0</MINDECIMAL>
  36453. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36454. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36455. <TRANSFORMCODE>PY</TRANSFORMCODE>
  36456. <TRANSFORMTO>PY;</TRANSFORMTO>
  36457. <EXPORTTO>0</EXPORTTO>
  36458. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36459. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36460. </TYPE>
  36461. <TYPE>
  36462. <NAME>Circle</NAME>
  36463. <ID>240</ID>
  36464. <GUID>{8295487F-6822-4D0D-850E-B6E02C31155F}</GUID>
  36465. <PHNAME>Circle</PHNAME>
  36466. <LLENGTH>0</LLENGTH>
  36467. <LDECIMAL>0</LDECIMAL>
  36468. <MAXLENGTH>0</MAXLENGTH>
  36469. <MINLENGTH>0</MINLENGTH>
  36470. <MAXDECIMAL>0</MAXDECIMAL>
  36471. <MINDECIMAL>0</MINDECIMAL>
  36472. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36473. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36474. <TRANSFORMCODE>CI</TRANSFORMCODE>
  36475. <TRANSFORMTO>CI;</TRANSFORMTO>
  36476. <EXPORTTO>0</EXPORTTO>
  36477. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36478. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36479. </TYPE>
  36480. <TYPE>
  36481. <NAME>Cidr</NAME>
  36482. <ID>250</ID>
  36483. <GUID>{8645DAA1-916B-42D1-92D0-F47BBB1A5F6B}</GUID>
  36484. <PHNAME>Cidr</PHNAME>
  36485. <LLENGTH>0</LLENGTH>
  36486. <LDECIMAL>0</LDECIMAL>
  36487. <MAXLENGTH>0</MAXLENGTH>
  36488. <MINLENGTH>0</MINLENGTH>
  36489. <MAXDECIMAL>0</MAXDECIMAL>
  36490. <MINDECIMAL>0</MINDECIMAL>
  36491. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36492. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36493. <TRANSFORMCODE>CR</TRANSFORMCODE>
  36494. <TRANSFORMTO>CR;</TRANSFORMTO>
  36495. <EXPORTTO>0</EXPORTTO>
  36496. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36497. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36498. </TYPE>
  36499. <TYPE>
  36500. <NAME>Inet</NAME>
  36501. <ID>260</ID>
  36502. <GUID>{13888EAC-5F73-4C4C-B112-30E81C3CDBE8}</GUID>
  36503. <PHNAME>Inet</PHNAME>
  36504. <LLENGTH>0</LLENGTH>
  36505. <LDECIMAL>0</LDECIMAL>
  36506. <MAXLENGTH>0</MAXLENGTH>
  36507. <MINLENGTH>0</MINLENGTH>
  36508. <MAXDECIMAL>0</MAXDECIMAL>
  36509. <MINDECIMAL>0</MINDECIMAL>
  36510. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36511. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36512. <TRANSFORMCODE>IN</TRANSFORMCODE>
  36513. <TRANSFORMTO>IN;</TRANSFORMTO>
  36514. <EXPORTTO>0</EXPORTTO>
  36515. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36516. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36517. </TYPE>
  36518. <TYPE>
  36519. <NAME>Macaddr</NAME>
  36520. <ID>270</ID>
  36521. <GUID>{5546FA86-FA64-4564-8C52-11D617E78995}</GUID>
  36522. <PHNAME>Macaddr</PHNAME>
  36523. <LLENGTH>0</LLENGTH>
  36524. <LDECIMAL>0</LDECIMAL>
  36525. <MAXLENGTH>0</MAXLENGTH>
  36526. <MINLENGTH>0</MINLENGTH>
  36527. <MAXDECIMAL>0</MAXDECIMAL>
  36528. <MINDECIMAL>0</MINDECIMAL>
  36529. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36530. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36531. <TRANSFORMCODE>MAC</TRANSFORMCODE>
  36532. <TRANSFORMTO>MAC;</TRANSFORMTO>
  36533. <EXPORTTO>0</EXPORTTO>
  36534. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36535. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36536. </TYPE>
  36537. <TYPE>
  36538. <NAME>Bit</NAME>
  36539. <ID>290</ID>
  36540. <GUID>{425AD15D-0CD7-43F2-8019-D13CE783A1E2}</GUID>
  36541. <PHNAME>Bit</PHNAME>
  36542. <LLENGTH>1</LLENGTH>
  36543. <LDECIMAL>0</LDECIMAL>
  36544. <MAXLENGTH>83886080</MAXLENGTH>
  36545. <MINLENGTH>1</MINLENGTH>
  36546. <MAXDECIMAL>0</MAXDECIMAL>
  36547. <MINDECIMAL>0</MINDECIMAL>
  36548. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  36549. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36550. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  36551. <TRANSFORMTO>BIT;BL;A,1,0</TRANSFORMTO>
  36552. <EXPORTTO>0</EXPORTTO>
  36553. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36554. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36555. </TYPE>
  36556. <TYPE>
  36557. <NAME>Bit varying</NAME>
  36558. <ID>300</ID>
  36559. <GUID>{DBDB6785-7B9C-4569-96AF-14FFAF958955}</GUID>
  36560. <PHNAME>Bit varying</PHNAME>
  36561. <LLENGTH>1</LLENGTH>
  36562. <LDECIMAL>0</LDECIMAL>
  36563. <MAXLENGTH>83886080</MAXLENGTH>
  36564. <MINLENGTH>1</MINLENGTH>
  36565. <MAXDECIMAL>0</MAXDECIMAL>
  36566. <MINDECIMAL>0</MINDECIMAL>
  36567. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36568. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36569. <TRANSFORMCODE>BITVAR</TRANSFORMCODE>
  36570. <TRANSFORMTO>BITVAR;BL;A,1,0</TRANSFORMTO>
  36571. <EXPORTTO>0</EXPORTTO>
  36572. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36573. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36574. </TYPE>
  36575. <TYPE>
  36576. <NAME>(other data type)</NAME>
  36577. <ID>310</ID>
  36578. <GUID>{8B2B9FF7-3FD2-4742-8AB5-B944E514753D}</GUID>
  36579. <PHNAME></PHNAME>
  36580. <LLENGTH>0</LLENGTH>
  36581. <LDECIMAL>0</LDECIMAL>
  36582. <MAXLENGTH>0</MAXLENGTH>
  36583. <MINLENGTH>0</MINLENGTH>
  36584. <MAXDECIMAL>0</MAXDECIMAL>
  36585. <MINDECIMAL>0</MINDECIMAL>
  36586. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36587. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36588. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  36589. <TRANSFORMTO>EMP;</TRANSFORMTO>
  36590. <EXPORTTO>0</EXPORTTO>
  36591. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36592. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36593. </TYPE>
  36594. <TYPE>
  36595. <NAME>Oid</NAME>
  36596. <ID>320</ID>
  36597. <GUID>{62B449E1-5788-40B9-BADB-BF2F40002FD4}</GUID>
  36598. <PHNAME>Oid</PHNAME>
  36599. <LLENGTH>0</LLENGTH>
  36600. <LDECIMAL>0</LDECIMAL>
  36601. <MAXLENGTH>0</MAXLENGTH>
  36602. <MINLENGTH>0</MINLENGTH>
  36603. <MAXDECIMAL>0</MAXDECIMAL>
  36604. <MINDECIMAL>0</MINDECIMAL>
  36605. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  36606. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  36607. <TRANSFORMCODE>I</TRANSFORMCODE>
  36608. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  36609. <EXPORTTO>0</EXPORTTO>
  36610. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  36611. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  36612. </TYPE>
  36613. </TYPELIST>
  36614. <TEXTOBJECTTYPES>
  36615. <TEXTOBJECTTYPE>
  36616. <NAME>User-Types Definitions</NAME>
  36617. <ID>1</ID>
  36618. <GUID>{1751EF0E-38AE-4A04-AB8F-2A47C6A36E61}</GUID>
  36619. <TEXTOBJECTTYPE>20</TEXTOBJECTTYPE>
  36620. <DEFAULTNAME>Usertypesdef%d</DEFAULTNAME>
  36621. </TEXTOBJECTTYPE>
  36622. <TEXTOBJECTTYPE>
  36623. <NAME>User-Types Procedures</NAME>
  36624. <ID>2</ID>
  36625. <GUID>{8B02C757-8139-4C51-8ABE-52BC6FCBC01B}</GUID>
  36626. <TEXTOBJECTTYPE>30</TEXTOBJECTTYPE>
  36627. <DEFAULTNAME>Usertypesproc%d</DEFAULTNAME>
  36628. </TEXTOBJECTTYPE>
  36629. </TEXTOBJECTTYPES>
  36630. <DISABLED>0</DISABLED>
  36631. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  36632. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  36633. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  36634. <DEFAULTCHAR>_</DEFAULTCHAR>
  36635. <INVALIDCHARACTERS>!"#$%&'()+,.</INVALIDCHARACTERS>
  36636. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  36637. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  36638. <DEFAULTFOREIGNKEYNAME>%relname%</DEFAULTFOREIGNKEYNAME>
  36639. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  36640. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36641. <KEYWORDS><![CDATA[]]></KEYWORDS>
  36642. </SERVER>
  36643. <SERVER>
  36644. <NAME>Sybase Anywhere</NAME>
  36645. <ID>40</ID>
  36646. <GUID>{778CCDB3-5B32-48DB-81AE-645D7C3E56B5}</GUID>
  36647. <TEMPLATES>
  36648. <TEMPLATE>
  36649. <NAME>CreateDatabase</NAME>
  36650. <ID>1</ID>
  36651. <GUID>{B549A01C-C8CA-45F8-88E1-AC36CB9BD695}</GUID>
  36652. <CAPTION>CreateDatabase</CAPTION>
  36653. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36654. <ENABLED>1</ENABLED>
  36655. <LEVEL>2</LEVEL>
  36656. <IDPARENT>0</IDPARENT>
  36657. <VALUE><![CDATA[/*
  36658. Created        %createddate%
  36659. Modified        %modifieddate%
  36660. Project        %projectname%
  36661. Model        %modelname%
  36662. Company        %company%
  36663. Author        %authorname%
  36664. Version        %version%
  36665. Database        %databasetype% 
  36666. */
  36667.  
  36668. {lbeforescript}
  36669. %beforescript%
  36670. {lDropDomainGener}
  36671. @showmessage("Drop domains")
  36672. @template(dropdomains)
  36673. {ldroptriggerGener}
  36674. @showmessage("Drop triggers")
  36675. @template(droptriggers)
  36676. {lDropIndexGener}
  36677. @template(DropIndexs)
  36678. {lDropTableGener}
  36679. @showmessage("Drop tables")
  36680. @template(DropRefIntegritys)
  36681. @template(droptables)
  36682. {lDomainGener}
  36683. @showmessage("Create domains")
  36684. @template(CreateDomains)
  36685. {lTableGener}
  36686. @showmessage("Create tables")
  36687. @template(createtables)
  36688. {lEntityOthers}
  36689. @showmessage("Create tab 'Others' for selected tables")
  36690. @template(CreateTableOthers)
  36691. {lalterkeysgener}
  36692. @template(CreateAlterKeys)
  36693. {lIndexGener}
  36694. @showmessage("Create indexes")
  36695. @template(createindexs)
  36696. {lRefIntegGener}
  36697. @template(refintegritys)
  36698. {lTriggersGener}
  36699. @template(createtriggers)
  36700. {lTriggersUserGener}
  36701. @template(CreateTriggersList)
  36702. {lProceduresGener}
  36703. @template(CreateProcedures)
  36704. {lViewsGener}
  36705. @template(CreateViews)
  36706. {lUserToRoleGener}
  36707. @ShowMessage("Users permissions to roles")
  36708. @template(GrantUserToRole)
  36709. {lRolePermissGener}
  36710. @ShowMessage("Roles permissions")
  36711. @template(CreateRolePermiss)
  36712. {lUserPermissGener}
  36713. @ShowMessage("Users permissions")
  36714. @template(CreateUserPermiss)
  36715. {lafterscript}
  36716. %afterscript%
  36717.  
  36718.  
  36719. ]]></VALUE>
  36720. <LANGUAGE>0</LANGUAGE>
  36721. <LANGUAGEWIN>---</LANGUAGEWIN>
  36722. <CATEGORY>2</CATEGORY>
  36723. <MAINSCRIPT>0</MAINSCRIPT>
  36724. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36725. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36726. <AUTHOR></AUTHOR>
  36727. <COMPANY></COMPANY>
  36728. <VERSION></VERSION>
  36729. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36730. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  36731. </TEMPLATE>
  36732. <TEMPLATE>
  36733. <NAME>CreateTable</NAME>
  36734. <ID>2</ID>
  36735. <GUID>{A90EBC5C-0430-473F-A607-DBED1A26D19E}</GUID>
  36736. <CAPTION></CAPTION>
  36737. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36738. <ENABLED>1</ENABLED>
  36739. <LEVEL>2</LEVEL>
  36740. <IDPARENT>0</IDPARENT>
  36741. <VALUE><![CDATA[cr+
  36742. "Create table %tablename% ("+
  36743. forcol("", "", cr+tb+ if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) ,",", "")+
  36744. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint,"Constraint %ConstraintPkName% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  36745. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  36746. ]]></VALUE>
  36747. <LANGUAGE>0</LANGUAGE>
  36748. <LANGUAGEWIN>---</LANGUAGEWIN>
  36749. <CATEGORY>2</CATEGORY>
  36750. <MAINSCRIPT>0</MAINSCRIPT>
  36751. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36752. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36753. <AUTHOR></AUTHOR>
  36754. <COMPANY></COMPANY>
  36755. <VERSION></VERSION>
  36756. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36757. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36758. </TEMPLATE>
  36759. <TEMPLATE>
  36760. <NAME>CreateIndex</NAME>
  36761. <ID>3</ID>
  36762. <GUID>{BFCBFF84-359A-4454-98CB-7AFC91378F89}</GUID>
  36763. <CAPTION></CAPTION>
  36764. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36765. <ENABLED>1</ENABLED>
  36766. <LEVEL>2</LEVEL>
  36767. <IDPARENT>0</IDPARENT>
  36768. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  36769. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  36770. +ShowMessage("Index %Indexname% for table %tablename%")
  36771. ]]></VALUE>
  36772. <LANGUAGE>0</LANGUAGE>
  36773. <LANGUAGEWIN>---</LANGUAGEWIN>
  36774. <CATEGORY>2</CATEGORY>
  36775. <MAINSCRIPT>0</MAINSCRIPT>
  36776. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36777. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36778. <AUTHOR></AUTHOR>
  36779. <COMPANY></COMPANY>
  36780. <VERSION></VERSION>
  36781. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36782. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36783. </TEMPLATE>
  36784. <TEMPLATE>
  36785. <NAME>DROPINDEXS</NAME>
  36786. <ID>4</ID>
  36787. <GUID>{C1D1BF24-5381-4329-AE0D-F1F0C76A2A7F}</GUID>
  36788. <CAPTION></CAPTION>
  36789. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36790. <ENABLED>1</ENABLED>
  36791. <LEVEL>2</LEVEL>
  36792. <IDPARENT>0</IDPARENT>
  36793. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  36794. ]]></VALUE>
  36795. <LANGUAGE>0</LANGUAGE>
  36796. <LANGUAGEWIN>---</LANGUAGEWIN>
  36797. <CATEGORY>2</CATEGORY>
  36798. <MAINSCRIPT>0</MAINSCRIPT>
  36799. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36800. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36801. <AUTHOR></AUTHOR>
  36802. <COMPANY></COMPANY>
  36803. <VERSION></VERSION>
  36804. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36805. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36806. </TEMPLATE>
  36807. <TEMPLATE>
  36808. <NAME>TRIGGERPARENTUPDATE</NAME>
  36809. <ID>5</ID>
  36810. <GUID>{96E82568-CDF4-482F-B393-580815D9E0B5}</GUID>
  36811. <CAPTION></CAPTION>
  36812. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36813. <ENABLED>1</ENABLED>
  36814. <LEVEL>2</LEVEL>
  36815. <IDPARENT>0</IDPARENT>
  36816. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  36817. /* cascade child %childtablename% update when parent %parenttablename% changed */
  36818. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  36819.     begin
  36820.     update %childtablename%
  36821.     set @ForRelPk( tb , tb , "%PkChildName% = new_upd.%PkParentName%" , ",%cr%" , "")
  36822.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND %cr%", "") ;
  36823.     end;
  36824. end if;
  36825.  
  36826. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  36827. /* cascade setnull when parent changed */
  36828. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  36829.     begin
  36830.     update %childtablename%
  36831.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  36832.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "");
  36833.     end;
  36834. end if;
  36835.  
  36836.  
  36837. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  36838. /* cascade setdefault when parent changed */
  36839. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  36840.     begin
  36841.     update %childtablename%
  36842.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  36843.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "");
  36844.     end;
  36845. end if;
  36846.  
  36847. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  36848. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  36849. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  36850.     begin
  36851.     select count( * ) 
  36852.     into numrows
  36853.     from %childtablename%
  36854.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = old_upd.%PkParentName%", " AND "+cr+tb+tb, "" );
  36855.  
  36856.     if ( numrows > 0 ) then
  36857.         begin
  36858.         signal update_child_restrict_except;
  36859.         end;
  36860.     end if;
  36861.     end;
  36862. end if;
  36863.  
  36864. ]]></VALUE>
  36865. <LANGUAGE>0</LANGUAGE>
  36866. <LANGUAGEWIN>---</LANGUAGEWIN>
  36867. <CATEGORY>2</CATEGORY>
  36868. <MAINSCRIPT>0</MAINSCRIPT>
  36869. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36870. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36871. <AUTHOR></AUTHOR>
  36872. <COMPANY></COMPANY>
  36873. <VERSION></VERSION>
  36874. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36875. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36876. </TEMPLATE>
  36877. <TEMPLATE>
  36878. <NAME>TRIGGERCHILDUPDATE</NAME>
  36879. <ID>6</ID>
  36880. <GUID>{84FC1522-EAE0-4F21-839A-CC1BED3E0397}</GUID>
  36881. <CAPTION></CAPTION>
  36882. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36883. <ENABLED>1</ENABLED>
  36884. <LEVEL>2</LEVEL>
  36885. <IDPARENT>0</IDPARENT>
  36886. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  36887. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  36888. IF @forrelpk( "", "", "new_upd.%PkChildName% !=  old_upd.%PkChildName%", " OR "+cr+tb+tb, "" ) then
  36889.     begin
  36890.     select count( * ) 
  36891.     into numrows
  36892.     from %ParentTableName%
  36893.     where     @forrelpk( "", "", "new_upd.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  36894.     if ( numrows = 0 ) then
  36895.         begin
  36896.         signal update_parent_restrict_except;
  36897.         end;
  36898.     end if;
  36899.     end;
  36900. end if;
  36901. ]]></VALUE>
  36902. <LANGUAGE>0</LANGUAGE>
  36903. <LANGUAGEWIN>---</LANGUAGEWIN>
  36904. <CATEGORY>2</CATEGORY>
  36905. <MAINSCRIPT>0</MAINSCRIPT>
  36906. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36907. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36908. <AUTHOR></AUTHOR>
  36909. <COMPANY></COMPANY>
  36910. <VERSION></VERSION>
  36911. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36912. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36913. </TEMPLATE>
  36914. <TEMPLATE>
  36915. <NAME>CREATETRIGGERUPDATE</NAME>
  36916. <ID>7</ID>
  36917. <GUID>{8B7F8FAA-52D2-40E7-B32E-60F76FBB6AB8}</GUID>
  36918. <CAPTION></CAPTION>
  36919. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36920. <ENABLED>1</ENABLED>
  36921. <LEVEL>2</LEVEL>
  36922. <IDPARENT>0</IDPARENT>
  36923. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  36924. /* Update trigger for %tablename% */
  36925.  
  36926. CREATE Trigger tu_%tablename% after update   
  36927. of @forPFkCol("", "", colname, ",", "" )
  36928. on  %tablename% @showmessage("Trigger for %tablename% ")
  36929. referencing new as new_upd old as old_upd for each row
  36930.  
  36931. begin
  36932. declare numrows integer;
  36933. declare user_defined_exception exception for SQLSTATE '99999';
  36934. declare update_parent_restrict_except exception for SQLSTATE '99991';
  36935. declare update_child_restrict_except exception for SQLSTATE '99992';
  36936.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  36937.      @forparent("", "", template(triggerchildupdate), "", "" )
  36938. exception
  36939. when update_parent_restrict_except then
  36940.    message 'Error: Trigger(tib_referenti) of table REFERENTI';
  36941.    message '  Parent does not exist. Cannot update child ';
  36942.    signal user_defined_exception;
  36943. when update_child_restrict_except then
  36944.    message 'Children still exist in child table.';  
  36945.    signal user_defined_exception;
  36946. when others then
  36947.    message 'Other';
  36948.    resignal;
  36949. end;
  36950.  
  36951. ]]></VALUE>
  36952. <LANGUAGE>0</LANGUAGE>
  36953. <LANGUAGEWIN>---</LANGUAGEWIN>
  36954. <CATEGORY>2</CATEGORY>
  36955. <MAINSCRIPT>0</MAINSCRIPT>
  36956. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  36957. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  36958. <AUTHOR></AUTHOR>
  36959. <COMPANY></COMPANY>
  36960. <VERSION></VERSION>
  36961. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  36962. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  36963. </TEMPLATE>
  36964. <TEMPLATE>
  36965. <NAME>CREATETRIGGERINSERT</NAME>
  36966. <ID>8</ID>
  36967. <GUID>{115BE978-A1A9-4922-A5CE-5A5DDC0C835D}</GUID>
  36968. <CAPTION></CAPTION>
  36969. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  36970. <ENABLED>1</ENABLED>
  36971. <LEVEL>2</LEVEL>
  36972. <IDPARENT>0</IDPARENT>
  36973. <VALUE><![CDATA[{lEntChildInsTrig  }
  36974. /* Insert trigger for %tablename% */
  36975.  
  36976. CREATE Trigger ti_%tablename% after insert
  36977. on %tablename% @showmessage("Trigger for %tablename% ")
  36978.  
  36979. referencing new as new_ins for each row
  36980. begin
  36981. declare numrows integer;
  36982. declare user_defined_exception exception for SQLSTATE '99999';
  36983. declare insert_parent_restrict_except exception for SQLSTATE '99991';
  36984. @forparent("", "", template(TriggerParentInsert), "", "")
  36985. exception
  36986. when insert_parent_restrict_except then
  36987.    message 'Error: Trigger(tib_referenti) of table REFERENTI';
  36988.    message 'Parent does not exist. Cannot create child  ';
  36989.    signal user_defined_exception;
  36990. when others then
  36991.    message 'Other';
  36992.    resignal;
  36993. end;
  36994.  
  36995. ]]></VALUE>
  36996. <LANGUAGE>0</LANGUAGE>
  36997. <LANGUAGEWIN>---</LANGUAGEWIN>
  36998. <CATEGORY>2</CATEGORY>
  36999. <MAINSCRIPT>0</MAINSCRIPT>
  37000. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37001. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37002. <AUTHOR></AUTHOR>
  37003. <COMPANY></COMPANY>
  37004. <VERSION></VERSION>
  37005. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37006. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37007. </TEMPLATE>
  37008. <TEMPLATE>
  37009. <NAME>CREATETRIGGERDELETE</NAME>
  37010. <ID>9</ID>
  37011. <GUID>{6F0A8BC4-6F3C-460D-A34F-4C7FA5742166}</GUID>
  37012. <CAPTION></CAPTION>
  37013. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37014. <ENABLED>1</ENABLED>
  37015. <LEVEL>2</LEVEL>
  37016. <IDPARENT>0</IDPARENT>
  37017. <VALUE><![CDATA[{lEntParDelTrig}
  37018. /* Delete trigger for %tablename% */
  37019.  
  37020. CREATE Trigger td_%tablename% after delete 
  37021. on %tablename% @showmessage("Trigger for %tablename% ")
  37022.  
  37023. referencing old as old_del for each row
  37024. begin
  37025. declare numrows integer;
  37026. declare user_defined_exception exception for SQLSTATE '99999';
  37027. declare delete_child_restrict_except exception for SQLSTATE '99991';
  37028. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  37029. exception
  37030. when delete_child_restrict_except then
  37031.    message 'Children still exist in child table. Cannot delete parent ';
  37032.    signal user_defined_exception;
  37033. when others then
  37034.    message 'Other';
  37035.    resignal;
  37036. end;
  37037.  
  37038. ]]></VALUE>
  37039. <LANGUAGE>0</LANGUAGE>
  37040. <LANGUAGEWIN>---</LANGUAGEWIN>
  37041. <CATEGORY>2</CATEGORY>
  37042. <MAINSCRIPT>0</MAINSCRIPT>
  37043. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37044. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37045. <AUTHOR></AUTHOR>
  37046. <COMPANY></COMPANY>
  37047. <VERSION></VERSION>
  37048. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37049. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37050. </TEMPLATE>
  37051. <TEMPLATE>
  37052. <NAME>TRIGGERPARENTDELETE</NAME>
  37053. <ID>10</ID>
  37054. <GUID>{CEC09292-8CE2-4424-A931-7B2206D2C3A8}</GUID>
  37055. <CAPTION></CAPTION>
  37056. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37057. <ENABLED>1</ENABLED>
  37058. <LEVEL>2</LEVEL>
  37059. <IDPARENT>0</IDPARENT>
  37060. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  37061. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  37062.  
  37063.  
  37064.     delete from %childtablename%
  37065.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND %cr%", "");
  37066.  
  37067.  
  37068. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  37069. /* cascade setnull when parent deleted */
  37070.  
  37071.  
  37072.     update %childtablename%
  37073.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  37074.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  37075.  
  37076.  
  37077. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  37078. /* cascade setdefault when parent deleted */
  37079.  
  37080.  
  37081.     update %childtablename%
  37082.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  37083.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  37084.  
  37085.  
  37086.  
  37087. {ParDelRestrict and (not lParDelRestDekl)} 
  37088. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  37089.  
  37090.  
  37091.     select count( * ) 
  37092.     into numrows
  37093.     from %childtablename%
  37094.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% =  old_del.%PkParentName%", " AND "+cr+tb+tb, "" );
  37095.     
  37096.     IF ( numrows > 0 ) then
  37097.         begin
  37098.         signal delete_child_restrict_except;
  37099.         end;
  37100.     end if;
  37101. ]]></VALUE>
  37102. <LANGUAGE>0</LANGUAGE>
  37103. <LANGUAGEWIN>---</LANGUAGEWIN>
  37104. <CATEGORY>2</CATEGORY>
  37105. <MAINSCRIPT>0</MAINSCRIPT>
  37106. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37107. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37108. <AUTHOR></AUTHOR>
  37109. <COMPANY></COMPANY>
  37110. <VERSION></VERSION>
  37111. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37112. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37113. </TEMPLATE>
  37114. <TEMPLATE>
  37115. <NAME>TRIGGERPARENTINSERT</NAME>
  37116. <ID>11</ID>
  37117. <GUID>{412F0D34-218D-4367-BBFD-DC44D9E5B252}</GUID>
  37118. <CAPTION></CAPTION>
  37119. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37120. <ENABLED>1</ENABLED>
  37121. <LEVEL>2</LEVEL>
  37122. <IDPARENT>0</IDPARENT>
  37123. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  37124. /* restrict child %childtablename% when parent %parenttablename% insert */
  37125.  
  37126. if @forrelpk( "(", tb, "new_ins.%pkchildname% is not null", " AND %cr%", ")" ) then
  37127.      begin
  37128.     select count( * ) 
  37129.     into numrows
  37130.     from %ParentTableName%
  37131.     where     @forrelpk( "", "", "new_ins.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  37132.     
  37133.     IF ( numrows = 0 ) then
  37134.         begin
  37135.         signal insert_parent_restrict_except;
  37136.         end;
  37137.     end if;
  37138.     end;
  37139. end if;
  37140. ]]></VALUE>
  37141. <LANGUAGE>0</LANGUAGE>
  37142. <LANGUAGEWIN>---</LANGUAGEWIN>
  37143. <CATEGORY>2</CATEGORY>
  37144. <MAINSCRIPT>0</MAINSCRIPT>
  37145. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37146. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37147. <AUTHOR></AUTHOR>
  37148. <COMPANY></COMPANY>
  37149. <VERSION></VERSION>
  37150. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37151. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37152. </TEMPLATE>
  37153. <TEMPLATE>
  37154. <NAME>REFINTEGRITY2</NAME>
  37155. <ID>12</ID>
  37156. <GUID>{DA3BF42B-F31C-4A0F-BDC2-4A0583524EA7}</GUID>
  37157. <CAPTION></CAPTION>
  37158. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37159. <ENABLED>1</ENABLED>
  37160. <LEVEL>2</LEVEL>
  37161. <IDPARENT>0</IDPARENT>
  37162. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, " restrict " ,if(lRelParUpdCascDekl  " cascade", if(lRelParUpdSetnullDekl , "Set Null",if(lRelParUpdSetDefaultDekl, "Set Default", "") ) )), "" )+
  37163. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " restrict " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl, "Set Default","") ) )), "" )+";"
  37164. ]]></VALUE>
  37165. <LANGUAGE>0</LANGUAGE>
  37166. <LANGUAGEWIN>---</LANGUAGEWIN>
  37167. <CATEGORY>2</CATEGORY>
  37168. <MAINSCRIPT>0</MAINSCRIPT>
  37169. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37170. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37171. <AUTHOR></AUTHOR>
  37172. <COMPANY></COMPANY>
  37173. <VERSION></VERSION>
  37174. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37175. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37176. </TEMPLATE>
  37177. <TEMPLATE>
  37178. <NAME>REFINTEGRITY</NAME>
  37179. <ID>13</ID>
  37180. <GUID>{2F38A9CC-F217-47CC-998E-D6593B4FB4C2}</GUID>
  37181. <CAPTION></CAPTION>
  37182. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37183. <ENABLED>1</ENABLED>
  37184. <LEVEL>2</LEVEL>
  37185. <IDPARENT>0</IDPARENT>
  37186. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  37187. alter table %childtablename% add @if(lFkAsConstraint,"Constraint %frelname%","")  foreign key(%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  37188.  
  37189. ]]></VALUE>
  37190. <LANGUAGE>0</LANGUAGE>
  37191. <LANGUAGEWIN>---</LANGUAGEWIN>
  37192. <CATEGORY>2</CATEGORY>
  37193. <MAINSCRIPT>0</MAINSCRIPT>
  37194. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37195. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37196. <AUTHOR></AUTHOR>
  37197. <COMPANY></COMPANY>
  37198. <VERSION></VERSION>
  37199. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37200. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37201. </TEMPLATE>
  37202. <TEMPLATE>
  37203. <NAME>DROPTABLES</NAME>
  37204. <ID>14</ID>
  37205. <GUID>{475B1BA3-9A3A-479C-9C55-4806503EB569}</GUID>
  37206. <CAPTION></CAPTION>
  37207. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37208. <ENABLED>1</ENABLED>
  37209. <LEVEL>2</LEVEL>
  37210. <IDPARENT>0</IDPARENT>
  37211. <VALUE><![CDATA[@ForTableR("%cr%", "", "drop table %tablename%;%cr%", "", "" )
  37212. ]]></VALUE>
  37213. <LANGUAGE>0</LANGUAGE>
  37214. <LANGUAGEWIN>---</LANGUAGEWIN>
  37215. <CATEGORY>2</CATEGORY>
  37216. <MAINSCRIPT>0</MAINSCRIPT>
  37217. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37218. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37219. <AUTHOR></AUTHOR>
  37220. <COMPANY></COMPANY>
  37221. <VERSION></VERSION>
  37222. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37223. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37224. </TEMPLATE>
  37225. <TEMPLATE>
  37226. <NAME>CREATEATRIB</NAME>
  37227. <ID>15</ID>
  37228. <GUID>{7B921505-64C0-4E4B-918A-3FD9376737D8}</GUID>
  37229. <CAPTION></CAPTION>
  37230. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37231. <ENABLED>1</ENABLED>
  37232. <LEVEL>2</LEVEL>
  37233. <IDPARENT>0</IDPARENT>
  37234. <VALUE><![CDATA["%ColName% %typsql% "+ 
  37235. if(defexist," %defvalue%", "")+
  37236. if(defaultexist," Default %defaultvalue% "  ,"")+
  37237. if(notnull," NOT NULL "," ")+
  37238. if( UniqueAtr," UNIQUE", "")+
  37239. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  37240. if(checkexist," Check ("+ evalcheck +" )","")+
  37241. if(def2exist," %def2value%", "")
  37242. ]]></VALUE>
  37243. <LANGUAGE>0</LANGUAGE>
  37244. <LANGUAGEWIN>---</LANGUAGEWIN>
  37245. <CATEGORY>2</CATEGORY>
  37246. <MAINSCRIPT>0</MAINSCRIPT>
  37247. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37248. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37249. <AUTHOR></AUTHOR>
  37250. <COMPANY></COMPANY>
  37251. <VERSION></VERSION>
  37252. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37253. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37254. </TEMPLATE>
  37255. <TEMPLATE>
  37256. <NAME>CREATEATRIB2</NAME>
  37257. <ID>16</ID>
  37258. <GUID>{5DD03B8A-7AA9-4385-B11E-D1640AA5B201}</GUID>
  37259. <CAPTION></CAPTION>
  37260. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37261. <ENABLED>1</ENABLED>
  37262. <LEVEL>2</LEVEL>
  37263. <IDPARENT>0</IDPARENT>
  37264. <VALUE><![CDATA["%colname% %DictName%" + if(notnull," NOT NULL "," ")
  37265. ]]></VALUE>
  37266. <LANGUAGE>0</LANGUAGE>
  37267. <LANGUAGEWIN>---</LANGUAGEWIN>
  37268. <CATEGORY>2</CATEGORY>
  37269. <MAINSCRIPT>0</MAINSCRIPT>
  37270. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37271. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37272. <AUTHOR></AUTHOR>
  37273. <COMPANY></COMPANY>
  37274. <VERSION></VERSION>
  37275. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37276. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37277. </TEMPLATE>
  37278. <TEMPLATE>
  37279. <NAME>CREATEDOMAINS</NAME>
  37280. <ID>17</ID>
  37281. <GUID>{77EEF78D-84C6-4BFF-8E41-65D1AEC6410E}</GUID>
  37282. <CAPTION></CAPTION>
  37283. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37284. <ENABLED>1</ENABLED>
  37285. <LEVEL>2</LEVEL>
  37286. <IDPARENT>0</IDPARENT>
  37287. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  37288. ]]></VALUE>
  37289. <LANGUAGE>0</LANGUAGE>
  37290. <LANGUAGEWIN>---</LANGUAGEWIN>
  37291. <CATEGORY>2</CATEGORY>
  37292. <MAINSCRIPT>0</MAINSCRIPT>
  37293. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37294. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37295. <AUTHOR></AUTHOR>
  37296. <COMPANY></COMPANY>
  37297. <VERSION></VERSION>
  37298. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37299. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37300. </TEMPLATE>
  37301. <TEMPLATE>
  37302. <NAME>CREATEDOMAIN</NAME>
  37303. <ID>18</ID>
  37304. <GUID>{D05AA015-DF9D-4ACF-984A-8B7CE46C3FB3}</GUID>
  37305. <CAPTION></CAPTION>
  37306. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37307. <ENABLED>1</ENABLED>
  37308. <LEVEL>2</LEVEL>
  37309. <IDPARENT>0</IDPARENT>
  37310. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+if(DefaultExist, " Default %default%","")+if(CheckExist," Check ("+evalcheck2(dictname)+" )", "")+";"
  37311. ]]></VALUE>
  37312. <LANGUAGE>0</LANGUAGE>
  37313. <LANGUAGEWIN>---</LANGUAGEWIN>
  37314. <CATEGORY>2</CATEGORY>
  37315. <MAINSCRIPT>0</MAINSCRIPT>
  37316. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37317. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37318. <AUTHOR></AUTHOR>
  37319. <COMPANY></COMPANY>
  37320. <VERSION></VERSION>
  37321. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37322. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37323. </TEMPLATE>
  37324. <TEMPLATE>
  37325. <NAME>DROPDOMAINS</NAME>
  37326. <ID>19</ID>
  37327. <GUID>{61686EE8-600C-4874-8F3C-0249FBD5FB46}</GUID>
  37328. <CAPTION></CAPTION>
  37329. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37330. <ENABLED>1</ENABLED>
  37331. <LEVEL>2</LEVEL>
  37332. <IDPARENT>0</IDPARENT>
  37333. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  37334. ]]></VALUE>
  37335. <LANGUAGE>0</LANGUAGE>
  37336. <LANGUAGEWIN>---</LANGUAGEWIN>
  37337. <CATEGORY>2</CATEGORY>
  37338. <MAINSCRIPT>0</MAINSCRIPT>
  37339. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37340. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37341. <AUTHOR></AUTHOR>
  37342. <COMPANY></COMPANY>
  37343. <VERSION></VERSION>
  37344. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37345. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37346. </TEMPLATE>
  37347. <TEMPLATE>
  37348. <NAME>DropTriggerUpdate</NAME>
  37349. <ID>20</ID>
  37350. <GUID>{F23D242B-388D-449B-9998-4B973EED507B}</GUID>
  37351. <CAPTION></CAPTION>
  37352. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37353. <ENABLED>1</ENABLED>
  37354. <LEVEL>2</LEVEL>
  37355. <IDPARENT>0</IDPARENT>
  37356. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  37357. drop trigger tu_%tablename%;
  37358. ]]></VALUE>
  37359. <LANGUAGE>0</LANGUAGE>
  37360. <LANGUAGEWIN>---</LANGUAGEWIN>
  37361. <CATEGORY>2</CATEGORY>
  37362. <MAINSCRIPT>0</MAINSCRIPT>
  37363. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37364. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37365. <AUTHOR></AUTHOR>
  37366. <COMPANY></COMPANY>
  37367. <VERSION></VERSION>
  37368. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37369. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37370. </TEMPLATE>
  37371. <TEMPLATE>
  37372. <NAME>DropTriggerDelete</NAME>
  37373. <ID>21</ID>
  37374. <GUID>{496F4722-CE3F-4EE5-9FB1-7FF38C6590D3}</GUID>
  37375. <CAPTION></CAPTION>
  37376. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37377. <ENABLED>1</ENABLED>
  37378. <LEVEL>2</LEVEL>
  37379. <IDPARENT>0</IDPARENT>
  37380. <VALUE><![CDATA[{lEntParDelTrig}
  37381. drop trigger td_%tablename%;
  37382. ]]></VALUE>
  37383. <LANGUAGE>0</LANGUAGE>
  37384. <LANGUAGEWIN>---</LANGUAGEWIN>
  37385. <CATEGORY>2</CATEGORY>
  37386. <MAINSCRIPT>0</MAINSCRIPT>
  37387. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37388. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37389. <AUTHOR></AUTHOR>
  37390. <COMPANY></COMPANY>
  37391. <VERSION></VERSION>
  37392. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37393. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37394. </TEMPLATE>
  37395. <TEMPLATE>
  37396. <NAME>DropTriggerInsert</NAME>
  37397. <ID>22</ID>
  37398. <GUID>{6723C361-1019-4B3B-9290-2477B24D5757}</GUID>
  37399. <CAPTION></CAPTION>
  37400. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37401. <ENABLED>1</ENABLED>
  37402. <LEVEL>2</LEVEL>
  37403. <IDPARENT>0</IDPARENT>
  37404. <VALUE><![CDATA[{lEntChildInsTrig  }
  37405. drop trigger ti_%tablename%;
  37406. ]]></VALUE>
  37407. <LANGUAGE>0</LANGUAGE>
  37408. <LANGUAGEWIN>---</LANGUAGEWIN>
  37409. <CATEGORY>2</CATEGORY>
  37410. <MAINSCRIPT>0</MAINSCRIPT>
  37411. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37412. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37413. <AUTHOR></AUTHOR>
  37414. <COMPANY></COMPANY>
  37415. <VERSION></VERSION>
  37416. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37417. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37418. </TEMPLATE>
  37419. <TEMPLATE>
  37420. <NAME>CreateAlterKey</NAME>
  37421. <ID>23</ID>
  37422. <GUID>{C65A9CFA-DF1A-4F1F-9D5E-490A65B0B77B}</GUID>
  37423. <CAPTION></CAPTION>
  37424. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37425. <ENABLED>1</ENABLED>
  37426. <LEVEL>2</LEVEL>
  37427. <IDPARENT>0</IDPARENT>
  37428. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  37429. ]]></VALUE>
  37430. <LANGUAGE>0</LANGUAGE>
  37431. <LANGUAGEWIN>---</LANGUAGEWIN>
  37432. <CATEGORY>2</CATEGORY>
  37433. <MAINSCRIPT>0</MAINSCRIPT>
  37434. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37435. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37436. <AUTHOR></AUTHOR>
  37437. <COMPANY></COMPANY>
  37438. <VERSION></VERSION>
  37439. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37440. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37441. </TEMPLATE>
  37442. <TEMPLATE>
  37443. <NAME>GrantUserToRole</NAME>
  37444. <ID>24</ID>
  37445. <GUID>{E2D850FC-4A7D-4A53-B40E-8EC611C73988}</GUID>
  37446. <CAPTION></CAPTION>
  37447. <PACKAGEGUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</PACKAGEGUID>
  37448. <ENABLED>1</ENABLED>
  37449. <LEVEL>2</LEVEL>
  37450. <IDPARENT>0</IDPARENT>
  37451. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("grant membership in group %rolename% to %username%;%cr%"),"",""),"","")
  37452. ]]></VALUE>
  37453. <LANGUAGE>0</LANGUAGE>
  37454. <LANGUAGEWIN>---</LANGUAGEWIN>
  37455. <CATEGORY>2</CATEGORY>
  37456. <MAINSCRIPT>0</MAINSCRIPT>
  37457. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37458. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37459. <AUTHOR></AUTHOR>
  37460. <COMPANY></COMPANY>
  37461. <VERSION></VERSION>
  37462. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></CREATED>
  37463. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:07</TIME></MODIFIED>
  37464. </TEMPLATE>
  37465. </TEMPLATES>
  37466. <VARIABLES><![CDATA[lDomainSupp 1
  37467. lConstraintPkSupp  1
  37468. lConstraintFkSupp  1
  37469. lAtrCheckConstraintSupp 0
  37470. lAtrUniqueConstraintSupp 0 
  37471. lAlterKeySupp 1
  37472. lProceduresSupp 1
  37473. lViewsSupp 1
  37474. lPermissUserToRoleSupp 1
  37475. lPermissUserToObjectSupp 1
  37476. lPermissRoleToObjectSupp 1
  37477. lDriParUpdRestrict 1
  37478. lDriParUpdCascade 1
  37479. lDriParUpdSetNull 1
  37480. lDriParUpdSetDefault 1
  37481. lDriParDelRestrict 1
  37482. lDriParDelCascade 1
  37483. lDriParDelSetNull 1
  37484. lDriParDelSetDefault 1
  37485. lDriChildInsRestrict 0
  37486. lDriChildUpdRestrict 0
  37487. lDriParUpdRestrictSupp 1
  37488. lDriParUpdCascadeSupp 1
  37489. lDriParUpdSetNullSupp 1
  37490. lDriParUpdSetDefaultSupp 1
  37491. lDriParDelRestrictSupp 1
  37492. lDriParDelCascadeSupp 1
  37493. lDriParDelSetNullSupp 1
  37494. lDriParDelSetDefaultSupp 1
  37495. lDriChildInsRestrictSupp 0
  37496. lDriChildUpdRestrictSupp 0
  37497. lIndexDescendSupp 1
  37498. lIndexItDescendSupp 1
  37499. lIndexUpperSupp 0
  37500. lIndexExprSupp 0
  37501. lIndexUniqueSupp 1
  37502. lIndexFilterSupp 0
  37503. lIndexStandSupp 1
  37504. lIndexClusterSupp 0
  37505. lIndexNameUnique 1
  37506. lPkSupp 1
  37507. lPkNotNull 1
  37508. lDRISupp 1
  37509. lTriggerSupp 1
  37510. lAtrUniqueSupp 1
  37511. lAtrNotNullSupp 1
  37512. lAtrCheckSupp 1
  37513. lAtrDefaultSupp 1
  37514. lDomainSupp 1
  37515. lConstraintPkSupp  1
  37516. lConstraintFkSupp  1
  37517. lAtrCheckConstraintSupp 0
  37518. lAtrUniqueConstraintSupp 0 
  37519. lAlterKeySupp 1
  37520. lProceduresSupp 1
  37521. lViewsSupp 1
  37522. lPermissUserToRoleSupp 1
  37523. lPermissUserToObjectSupp 1
  37524. lPermissRoleToObjectSupp 1
  37525. ]]></VARIABLES>
  37526. <USEREDITS>
  37527. </USEREDITS>
  37528. <TYPELIST>
  37529. <TYPE>
  37530. <NAME>Char</NAME>
  37531. <ID>10</ID>
  37532. <GUID>{CBBEA6AC-95FF-4A4D-98CD-0607561F5037}</GUID>
  37533. <PHNAME>Char</PHNAME>
  37534. <LLENGTH>1</LLENGTH>
  37535. <LDECIMAL>0</LDECIMAL>
  37536. <MAXLENGTH>32767</MAXLENGTH>
  37537. <MINLENGTH>1</MINLENGTH>
  37538. <MAXDECIMAL>0</MAXDECIMAL>
  37539. <MINDECIMAL>0</MINDECIMAL>
  37540. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  37541. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37542. <TRANSFORMCODE>A</TRANSFORMCODE>
  37543. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  37544. <EXPORTTO>0</EXPORTTO>
  37545. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37546. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37547. </TYPE>
  37548. <TYPE>
  37549. <NAME>Varchar</NAME>
  37550. <ID>20</ID>
  37551. <GUID>{A140498A-8622-4E7E-8878-E2D5DE7A6FBA}</GUID>
  37552. <PHNAME>Varchar</PHNAME>
  37553. <LLENGTH>1</LLENGTH>
  37554. <LDECIMAL>0</LDECIMAL>
  37555. <MAXLENGTH>32767</MAXLENGTH>
  37556. <MINLENGTH>1</MINLENGTH>
  37557. <MAXDECIMAL>0</MAXDECIMAL>
  37558. <MINDECIMAL>0</MINDECIMAL>
  37559. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  37560. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37561. <TRANSFORMCODE>VA</TRANSFORMCODE>
  37562. <TRANSFORMTO>VA;LA;LVA;</TRANSFORMTO>
  37563. <EXPORTTO>0</EXPORTTO>
  37564. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37565. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37566. </TYPE>
  37567. <TYPE>
  37568. <NAME>Long Var</NAME>
  37569. <ID>30</ID>
  37570. <GUID>{6B4C840A-C558-4F3F-BFB9-5E12E837A56D}</GUID>
  37571. <PHNAME>Long Var</PHNAME>
  37572. <LLENGTH>0</LLENGTH>
  37573. <LDECIMAL>0</LDECIMAL>
  37574. <MAXLENGTH>0</MAXLENGTH>
  37575. <MINLENGTH>0</MINLENGTH>
  37576. <MAXDECIMAL>0</MAXDECIMAL>
  37577. <MINDECIMAL>0</MINDECIMAL>
  37578. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37579. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37580. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  37581. <TRANSFORMTO>TXT;LBIN;</TRANSFORMTO>
  37582. <EXPORTTO>0</EXPORTTO>
  37583. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37584. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37585. </TYPE>
  37586. <TYPE>
  37587. <NAME>Decimal</NAME>
  37588. <ID>40</ID>
  37589. <GUID>{C001FFFB-C881-4F3D-A3EB-6B2FE37EF027}</GUID>
  37590. <PHNAME>Decimal</PHNAME>
  37591. <LLENGTH>1</LLENGTH>
  37592. <LDECIMAL>1</LDECIMAL>
  37593. <MAXLENGTH>32768</MAXLENGTH>
  37594. <MINLENGTH>0</MINLENGTH>
  37595. <MAXDECIMAL>32768</MAXDECIMAL>
  37596. <MINDECIMAL>0</MINDECIMAL>
  37597. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  37598. <DEFAULTDECIMAL>30</DEFAULTDECIMAL>
  37599. <TRANSFORMCODE>DC</TRANSFORMCODE>
  37600. <TRANSFORMTO>DC;N;</TRANSFORMTO>
  37601. <EXPORTTO>0</EXPORTTO>
  37602. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37603. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37604. </TYPE>
  37605. <TYPE>
  37606. <NAME>Double</NAME>
  37607. <ID>50</ID>
  37608. <GUID>{EFB5738C-3B2A-4538-AA0B-C7F2D257E01B}</GUID>
  37609. <PHNAME>Double</PHNAME>
  37610. <LLENGTH>0</LLENGTH>
  37611. <LDECIMAL>0</LDECIMAL>
  37612. <MAXLENGTH>0</MAXLENGTH>
  37613. <MINLENGTH>0</MINLENGTH>
  37614. <MAXDECIMAL>0</MAXDECIMAL>
  37615. <MINDECIMAL>0</MINDECIMAL>
  37616. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37617. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37618. <TRANSFORMCODE>LF</TRANSFORMCODE>
  37619. <TRANSFORMTO>LF;F;N;</TRANSFORMTO>
  37620. <EXPORTTO>0</EXPORTTO>
  37621. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37622. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37623. </TYPE>
  37624. <TYPE>
  37625. <NAME>Float</NAME>
  37626. <ID>60</ID>
  37627. <GUID>{80D6DD89-C054-4D51-B800-1969E17773E8}</GUID>
  37628. <PHNAME>Float</PHNAME>
  37629. <LLENGTH>0</LLENGTH>
  37630. <LDECIMAL>0</LDECIMAL>
  37631. <MAXLENGTH>0</MAXLENGTH>
  37632. <MINLENGTH>0</MINLENGTH>
  37633. <MAXDECIMAL>0</MAXDECIMAL>
  37634. <MINDECIMAL>0</MINDECIMAL>
  37635. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37636. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37637. <TRANSFORMCODE>F</TRANSFORMCODE>
  37638. <TRANSFORMTO>F;LF;N;</TRANSFORMTO>
  37639. <EXPORTTO>0</EXPORTTO>
  37640. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37641. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37642. </TYPE>
  37643. <TYPE>
  37644. <NAME>Integer</NAME>
  37645. <ID>70</ID>
  37646. <GUID>{3D6DC07F-6EA4-4CCE-9582-41733D0BBB16}</GUID>
  37647. <PHNAME>Integer</PHNAME>
  37648. <LLENGTH>0</LLENGTH>
  37649. <LDECIMAL>0</LDECIMAL>
  37650. <MAXLENGTH>0</MAXLENGTH>
  37651. <MINLENGTH>0</MINLENGTH>
  37652. <MAXDECIMAL>0</MAXDECIMAL>
  37653. <MINDECIMAL>0</MINDECIMAL>
  37654. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37655. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37656. <TRANSFORMCODE>I</TRANSFORMCODE>
  37657. <TRANSFORMTO>I;LI;N;</TRANSFORMTO>
  37658. <EXPORTTO>0</EXPORTTO>
  37659. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37660. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37661. </TYPE>
  37662. <TYPE>
  37663. <NAME>Numeric</NAME>
  37664. <ID>80</ID>
  37665. <GUID>{2F5FFC19-30AF-4A10-A050-25A61633F0FF}</GUID>
  37666. <PHNAME>Numeric</PHNAME>
  37667. <LLENGTH>1</LLENGTH>
  37668. <LDECIMAL>1</LDECIMAL>
  37669. <MAXLENGTH>32767</MAXLENGTH>
  37670. <MINLENGTH>0</MINLENGTH>
  37671. <MAXDECIMAL>32767</MAXDECIMAL>
  37672. <MINDECIMAL>0</MINDECIMAL>
  37673. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  37674. <DEFAULTDECIMAL>30</DEFAULTDECIMAL>
  37675. <TRANSFORMCODE>N</TRANSFORMCODE>
  37676. <TRANSFORMTO>N;DC;</TRANSFORMTO>
  37677. <EXPORTTO>0</EXPORTTO>
  37678. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37679. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37680. </TYPE>
  37681. <TYPE>
  37682. <NAME>Real</NAME>
  37683. <ID>90</ID>
  37684. <GUID>{602DBACF-D4FB-4F1F-BFE7-1EADC31A979F}</GUID>
  37685. <PHNAME>Real</PHNAME>
  37686. <LLENGTH>0</LLENGTH>
  37687. <LDECIMAL>0</LDECIMAL>
  37688. <MAXLENGTH>0</MAXLENGTH>
  37689. <MINLENGTH>0</MINLENGTH>
  37690. <MAXDECIMAL>0</MAXDECIMAL>
  37691. <MINDECIMAL>0</MINDECIMAL>
  37692. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37693. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37694. <TRANSFORMCODE>R</TRANSFORMCODE>
  37695. <TRANSFORMTO>R;LF;N;</TRANSFORMTO>
  37696. <EXPORTTO>0</EXPORTTO>
  37697. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37698. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37699. </TYPE>
  37700. <TYPE>
  37701. <NAME>Smallint</NAME>
  37702. <ID>100</ID>
  37703. <GUID>{59E72052-37F9-43AA-9E19-8F9AC353C91F}</GUID>
  37704. <PHNAME>Smallint</PHNAME>
  37705. <LLENGTH>0</LLENGTH>
  37706. <LDECIMAL>0</LDECIMAL>
  37707. <MAXLENGTH>0</MAXLENGTH>
  37708. <MINLENGTH>0</MINLENGTH>
  37709. <MAXDECIMAL>0</MAXDECIMAL>
  37710. <MINDECIMAL>0</MINDECIMAL>
  37711. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37712. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37713. <TRANSFORMCODE>SI</TRANSFORMCODE>
  37714. <TRANSFORMTO>SI;I;N;</TRANSFORMTO>
  37715. <EXPORTTO>0</EXPORTTO>
  37716. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37717. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37718. </TYPE>
  37719. <TYPE>
  37720. <NAME>Date</NAME>
  37721. <ID>110</ID>
  37722. <GUID>{B4CBD891-6FA0-470F-AC4B-1BA6C95095F1}</GUID>
  37723. <PHNAME>Date</PHNAME>
  37724. <LLENGTH>0</LLENGTH>
  37725. <LDECIMAL>0</LDECIMAL>
  37726. <MAXLENGTH>0</MAXLENGTH>
  37727. <MINLENGTH>0</MINLENGTH>
  37728. <MAXDECIMAL>0</MAXDECIMAL>
  37729. <MINDECIMAL>0</MINDECIMAL>
  37730. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37731. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37732. <TRANSFORMCODE>D</TRANSFORMCODE>
  37733. <TRANSFORMTO>D;DT;</TRANSFORMTO>
  37734. <EXPORTTO>0</EXPORTTO>
  37735. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37736. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37737. </TYPE>
  37738. <TYPE>
  37739. <NAME>Time</NAME>
  37740. <ID>120</ID>
  37741. <GUID>{2C70C1B8-A037-48F4-9EF1-2FE54F275BA4}</GUID>
  37742. <PHNAME>Time</PHNAME>
  37743. <LLENGTH>0</LLENGTH>
  37744. <LDECIMAL>0</LDECIMAL>
  37745. <MAXLENGTH>0</MAXLENGTH>
  37746. <MINLENGTH>0</MINLENGTH>
  37747. <MAXDECIMAL>0</MAXDECIMAL>
  37748. <MINDECIMAL>0</MINDECIMAL>
  37749. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37750. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37751. <TRANSFORMCODE>T</TRANSFORMCODE>
  37752. <TRANSFORMTO>T;DT;</TRANSFORMTO>
  37753. <EXPORTTO>0</EXPORTTO>
  37754. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37755. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37756. </TYPE>
  37757. <TYPE>
  37758. <NAME>Timestamp</NAME>
  37759. <ID>130</ID>
  37760. <GUID>{9323B480-6329-462A-944F-C02C354F3CAE}</GUID>
  37761. <PHNAME>Timestamp</PHNAME>
  37762. <LLENGTH>0</LLENGTH>
  37763. <LDECIMAL>0</LDECIMAL>
  37764. <MAXLENGTH>0</MAXLENGTH>
  37765. <MINLENGTH>0</MINLENGTH>
  37766. <MAXDECIMAL>0</MAXDECIMAL>
  37767. <MINDECIMAL>0</MINDECIMAL>
  37768. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37769. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37770. <TRANSFORMCODE>TS</TRANSFORMCODE>
  37771. <TRANSFORMTO>TS;DT;</TRANSFORMTO>
  37772. <EXPORTTO>0</EXPORTTO>
  37773. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37774. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37775. </TYPE>
  37776. <TYPE>
  37777. <NAME>Binary</NAME>
  37778. <ID>140</ID>
  37779. <GUID>{28C97008-C704-4AD6-B610-50C49D79CAC8}</GUID>
  37780. <PHNAME>Binary</PHNAME>
  37781. <LLENGTH>1</LLENGTH>
  37782. <LDECIMAL>0</LDECIMAL>
  37783. <MAXLENGTH>32737</MAXLENGTH>
  37784. <MINLENGTH>1</MINLENGTH>
  37785. <MAXDECIMAL>0</MAXDECIMAL>
  37786. <MINDECIMAL>0</MINDECIMAL>
  37787. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  37788. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37789. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  37790. <TRANSFORMTO>BIN;LBIN;</TRANSFORMTO>
  37791. <EXPORTTO>0</EXPORTTO>
  37792. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37793. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37794. </TYPE>
  37795. <TYPE>
  37796. <NAME>Long Binary</NAME>
  37797. <ID>150</ID>
  37798. <GUID>{0DA5190D-3416-454E-A781-5FCAF713763C}</GUID>
  37799. <PHNAME>Long Binary</PHNAME>
  37800. <LLENGTH>0</LLENGTH>
  37801. <LDECIMAL>0</LDECIMAL>
  37802. <MAXLENGTH>0</MAXLENGTH>
  37803. <MINLENGTH>0</MINLENGTH>
  37804. <MAXDECIMAL>0</MAXDECIMAL>
  37805. <MINDECIMAL>0</MINDECIMAL>
  37806. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37807. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37808. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  37809. <TRANSFORMTO>LBIN;BIN;</TRANSFORMTO>
  37810. <EXPORTTO>0</EXPORTTO>
  37811. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37812. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37813. </TYPE>
  37814. <TYPE>
  37815. <NAME>Bigint</NAME>
  37816. <ID>160</ID>
  37817. <GUID>{431F248E-73D0-4A33-A674-E9F5CD683592}</GUID>
  37818. <PHNAME>BigInt</PHNAME>
  37819. <LLENGTH>0</LLENGTH>
  37820. <LDECIMAL>0</LDECIMAL>
  37821. <MAXLENGTH>0</MAXLENGTH>
  37822. <MINLENGTH>0</MINLENGTH>
  37823. <MAXDECIMAL>0</MAXDECIMAL>
  37824. <MINDECIMAL>0</MINDECIMAL>
  37825. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37826. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37827. <TRANSFORMCODE>LI</TRANSFORMCODE>
  37828. <TRANSFORMTO>LI;I;D,20,0;</TRANSFORMTO>
  37829. <EXPORTTO>0</EXPORTTO>
  37830. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37831. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37832. </TYPE>
  37833. <TYPE>
  37834. <NAME>Empty</NAME>
  37835. <ID>300</ID>
  37836. <GUID>{57D7D98C-E03E-4C5C-8A97-30D7C94F3908}</GUID>
  37837. <PHNAME></PHNAME>
  37838. <LLENGTH>0</LLENGTH>
  37839. <LDECIMAL>0</LDECIMAL>
  37840. <MAXLENGTH>0</MAXLENGTH>
  37841. <MINLENGTH>0</MINLENGTH>
  37842. <MAXDECIMAL>0</MAXDECIMAL>
  37843. <MINDECIMAL>0</MINDECIMAL>
  37844. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  37845. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  37846. <TRANSFORMCODE>EMP</TRANSFORMCODE>
  37847. <TRANSFORMTO>EMP;</TRANSFORMTO>
  37848. <EXPORTTO>0</EXPORTTO>
  37849. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  37850. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  37851. </TYPE>
  37852. </TYPELIST>
  37853. <TEXTOBJECTTYPES>
  37854. </TEXTOBJECTTYPES>
  37855. <DISABLED>0</DISABLED>
  37856. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  37857. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  37858. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  37859. <DEFAULTCHAR>_</DEFAULTCHAR>
  37860. <INVALIDCHARACTERS>!%&'()*+,-./:;<=>?[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</INVALIDCHARACTERS>
  37861. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  37862. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  37863. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  37864. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  37865. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37866. <KEYWORDS><![CDATA[]]></KEYWORDS>
  37867. </SERVER>
  37868. <SERVER>
  37869. <NAME>Sybase ASE 12.5</NAME>
  37870. <ID>210</ID>
  37871. <GUID>{84329FF7-FDDC-493A-BD13-377C9FBFEEAE}</GUID>
  37872. <TEMPLATES>
  37873. <TEMPLATE>
  37874. <NAME>CreateDatabase</NAME>
  37875. <ID>1</ID>
  37876. <GUID>{E22694B4-DA53-4676-90DA-59AA5B032C99}</GUID>
  37877. <CAPTION>CreateDatabase</CAPTION>
  37878. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  37879. <ENABLED>1</ENABLED>
  37880. <LEVEL>2</LEVEL>
  37881. <IDPARENT>0</IDPARENT>
  37882. <VALUE><![CDATA[/*
  37883. Created        %createddate%
  37884. Modified        %modifieddate%
  37885. Project        %projectname%
  37886. Model            %modelname%
  37887. Company        %company%
  37888. Author        %authorname%
  37889. Version        %version%
  37890. Database        %databasetype% 
  37891. */
  37892.  
  37893. {lbeforescript}
  37894. %beforescript%
  37895. {ldroptriggerGener}
  37896. @showmessage("Drop triggers")
  37897. @template(droptriggers)
  37898. {lDropTriggersListGener}
  37899. @template(DropTriggersList)
  37900. {lDropProceduresGener}
  37901. @template(DropProcedures)
  37902. {lDropFunctionsGener}
  37903. @template(DropFunctions)
  37904. {lDropViewsGener}
  37905. @template(DropViews)
  37906. {lDropIndexGener}
  37907. @template(DropIndexs)
  37908. {lDropTableGener}
  37909. @showmessage("Drop tables")
  37910. @template(DropRefIntegritys)
  37911. @template(DropTable)
  37912. {lDropDomainGener}
  37913. @showmessage("Drop domains")
  37914. @template(DropDomains)
  37915. {lDomainGener}
  37916. @showmessage("Create domains")
  37917. @template(CreateDomains)
  37918. {lTableGener}
  37919. @showmessage("Create tables")
  37920. @template(CreateTables)
  37921. {lEntityOthers}
  37922. @showmessage("Create tab 'Others' for selected tables")
  37923. @template(CreateTableOthers)
  37924. {lAlterKeysGener}
  37925. @template(CreateAlterKeys)
  37926. {lIndexGener}
  37927. @showmessage("Create indexes")
  37928. @template(CreateIndexs)
  37929. {lRefIntegGener}
  37930. @template(RefIntegritys)
  37931. {true}
  37932. {lProceduresGener}
  37933. @template(CreateProcedures)
  37934. {lFunctionsGener}
  37935. @template(CreateFunctions)
  37936. {lViewsGener}
  37937. @template(CreateViews)
  37938. {lTriggersGener}
  37939. @template(CreateTriggers)
  37940. {lTriggersUserGener}
  37941. @template(CreateTriggersList)
  37942. {true}
  37943. {lRoleGener}
  37944. @showmessage("Role")
  37945. @template(CreateRole)
  37946. {lUserToRoleGener}
  37947. @ShowMessage("Users permissions to roles")
  37948. @template(GrantUserToRole)
  37949. {lRolePermissGener}
  37950. @ShowMessage("Roles permissions")
  37951. @template(CreateRolePermiss)
  37952. {lUserPermissGener}
  37953. @ShowMessage("Users permissions")
  37954. @template(CreateUserPermiss)
  37955. {lafterscript}
  37956. %afterscript%
  37957. {true}
  37958. @template(UserTempl)
  37959. ]]></VALUE>
  37960. <LANGUAGE>0</LANGUAGE>
  37961. <LANGUAGEWIN>---</LANGUAGEWIN>
  37962. <CATEGORY>2</CATEGORY>
  37963. <MAINSCRIPT>0</MAINSCRIPT>
  37964. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37965. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37966. <AUTHOR></AUTHOR>
  37967. <COMPANY></COMPANY>
  37968. <VERSION></VERSION>
  37969. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  37970. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  37971. </TEMPLATE>
  37972. <TEMPLATE>
  37973. <NAME>CreateTable</NAME>
  37974. <ID>2</ID>
  37975. <GUID>{52C7A3C3-1F02-4BE8-9BDF-229C9FACA49C}</GUID>
  37976. <CAPTION></CAPTION>
  37977. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  37978. <ENABLED>1</ENABLED>
  37979. <LEVEL>2</LEVEL>
  37980. <IDPARENT>0</IDPARENT>
  37981. <VALUE><![CDATA[cr+
  37982. "Create table "+macro(GenerateOwner)+"%tablename% ("+
  37983. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAttrib2),macro(CreateAttrib)) , ",", "")+
  37984. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName% ","")+"Primary Key "+if(lPkNonClustered,"nonclustered ","")+" ("+forpkcol("", "", "%ColName%", ",", ")"+cr) , cr )+
  37985. ") "+tablestorage+"%cr%go"+cr+showmessage("Table %tablename%")+
  37986. forcol("","",if(AtrIsDict,"",iff(Column.DataTypeId=0,macro(BindObjToUTypes),macro(BindObjToColumns))),"","")
  37987. ]]></VALUE>
  37988. <LANGUAGE>0</LANGUAGE>
  37989. <LANGUAGEWIN>---</LANGUAGEWIN>
  37990. <CATEGORY>2</CATEGORY>
  37991. <MAINSCRIPT>0</MAINSCRIPT>
  37992. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  37993. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  37994. <AUTHOR></AUTHOR>
  37995. <COMPANY></COMPANY>
  37996. <VERSION></VERSION>
  37997. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  37998. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  37999. </TEMPLATE>
  38000. <TEMPLATE>
  38001. <NAME>CreateAttrib</NAME>
  38002. <ID>3</ID>
  38003. <GUID>{B7CD0E15-88E0-4225-B517-E86CF2AF3A80}</GUID>
  38004. <CAPTION></CAPTION>
  38005. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38006. <ENABLED>1</ENABLED>
  38007. <LEVEL>2</LEVEL>
  38008. <IDPARENT>0</IDPARENT>
  38009. <VALUE><![CDATA["%ColName% %TypSql%"+
  38010. if(DefExist," %DefValue%", "")+
  38011. if(DefaultExist," Default "+DefaultValue  ,"")+
  38012. if(Identity," Identity","")+
  38013. if(NotNull," NOT NULL"," NULL")+
  38014. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  38015. if(ConstraintExist and CheckExist, " Constraint %Constraint%","")+
  38016. if(CheckExist," Check (" +EvalCheck+" )","")+
  38017. if(Def2Exist," %Def2Value%", "")
  38018. ]]></VALUE>
  38019. <LANGUAGE>0</LANGUAGE>
  38020. <LANGUAGEWIN>---</LANGUAGEWIN>
  38021. <CATEGORY>2</CATEGORY>
  38022. <MAINSCRIPT>0</MAINSCRIPT>
  38023. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38024. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38025. <AUTHOR></AUTHOR>
  38026. <COMPANY></COMPANY>
  38027. <VERSION></VERSION>
  38028. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38029. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38030. </TEMPLATE>
  38031. <TEMPLATE>
  38032. <NAME>CreateAttrib2</NAME>
  38033. <ID>4</ID>
  38034. <GUID>{B54F2FC4-8FB9-456B-AE2C-6F18239BE3C3}</GUID>
  38035. <CAPTION></CAPTION>
  38036. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38037. <ENABLED>1</ENABLED>
  38038. <LEVEL>2</LEVEL>
  38039. <IDPARENT>0</IDPARENT>
  38040. <VALUE><![CDATA["%ColName% %DictName%"+
  38041. if(DefExist," %DefValue%", "")+
  38042. if(DefaultExist," Default "+DefaultValue  ,"")+
  38043. if(Identity," Identity","")+
  38044. if(NotNull," NOT NULL"," NULL")+
  38045. if(UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  38046. if(ConstraintExist and CheckExist, " Constraint %Constraint%","")+
  38047. if(CheckExist," Check ("+ EvalCheck+" )","")+
  38048. if(Def2Exist," %Def2Value%", "")
  38049. ]]></VALUE>
  38050. <LANGUAGE>0</LANGUAGE>
  38051. <LANGUAGEWIN>---</LANGUAGEWIN>
  38052. <CATEGORY>2</CATEGORY>
  38053. <MAINSCRIPT>0</MAINSCRIPT>
  38054. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38055. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38056. <AUTHOR></AUTHOR>
  38057. <COMPANY></COMPANY>
  38058. <VERSION></VERSION>
  38059. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38060. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38061. </TEMPLATE>
  38062. <TEMPLATE>
  38063. <NAME>CreateIndex</NAME>
  38064. <ID>5</ID>
  38065. <GUID>{5AF1ABAA-EC35-40F8-895E-B823E9852183}</GUID>
  38066. <CAPTION></CAPTION>
  38067. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38068. <ENABLED>1</ENABLED>
  38069. <LEVEL>2</LEVEL>
  38070. <IDPARENT>0</IDPARENT>
  38071. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  38072. +if(clustered,"CLUSTERED ","")
  38073. +"Index %Indexname%  ON "+macro(GenerateOwner)+"%tablename% ("+ForIndexCol("","",""+colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+"%cr%go%cr%")+cr
  38074. +ShowMessage("Index %Indexname% for table %tablename%")
  38075. ]]></VALUE>
  38076. <LANGUAGE>0</LANGUAGE>
  38077. <LANGUAGEWIN>---</LANGUAGEWIN>
  38078. <CATEGORY>2</CATEGORY>
  38079. <MAINSCRIPT>0</MAINSCRIPT>
  38080. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38081. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38082. <AUTHOR></AUTHOR>
  38083. <COMPANY></COMPANY>
  38084. <VERSION></VERSION>
  38085. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38086. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38087. </TEMPLATE>
  38088. <TEMPLATE>
  38089. <NAME>RefIntegrity</NAME>
  38090. <ID>6</ID>
  38091. <GUID>{8CC08D95-FCC1-4DA5-90CA-E0FFE14AC9FC}</GUID>
  38092. <CAPTION></CAPTION>
  38093. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38094. <ENABLED>1</ENABLED>
  38095. <LEVEL>2</LEVEL>
  38096. <IDPARENT>0</IDPARENT>
  38097. <VALUE><![CDATA[{lRelAnyDekl} 
  38098. Alter table @macro(GenerateOwner)%childtablename% add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","") foreign key(@ForRelPk("","","%PkChildName%",",","")) references @macro(GenerateOwner)%parenttablename% (@ForRelPk("","","%PkParentName%",",","")) %cr%go%cr%
  38099. ]]></VALUE>
  38100. <LANGUAGE>0</LANGUAGE>
  38101. <LANGUAGEWIN>---</LANGUAGEWIN>
  38102. <CATEGORY>2</CATEGORY>
  38103. <MAINSCRIPT>0</MAINSCRIPT>
  38104. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38105. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38106. <AUTHOR></AUTHOR>
  38107. <COMPANY></COMPANY>
  38108. <VERSION></VERSION>
  38109. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38110. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38111. </TEMPLATE>
  38112. <TEMPLATE>
  38113. <NAME>DropTable</NAME>
  38114. <ID>7</ID>
  38115. <GUID>{88133D49-FF41-44AE-9809-A1468F458D19}</GUID>
  38116. <CAPTION></CAPTION>
  38117. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38118. <ENABLED>1</ENABLED>
  38119. <LEVEL>2</LEVEL>
  38120. <IDPARENT>0</IDPARENT>
  38121. <VALUE><![CDATA[@ForTableR("%cr%", "", "Drop table "+macro(GenerateOwner)+"%tablename% %cr%go%cr%", "", "" )
  38122. ]]></VALUE>
  38123. <LANGUAGE>0</LANGUAGE>
  38124. <LANGUAGEWIN>---</LANGUAGEWIN>
  38125. <CATEGORY>2</CATEGORY>
  38126. <MAINSCRIPT>0</MAINSCRIPT>
  38127. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38128. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38129. <AUTHOR></AUTHOR>
  38130. <COMPANY></COMPANY>
  38131. <VERSION></VERSION>
  38132. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38133. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38134. </TEMPLATE>
  38135. <TEMPLATE>
  38136. <NAME>DropIndexs</NAME>
  38137. <ID>8</ID>
  38138. <GUID>{E5D76A9D-CE28-4632-A2CB-8238721DE218}</GUID>
  38139. <CAPTION></CAPTION>
  38140. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38141. <ENABLED>1</ENABLED>
  38142. <LEVEL>2</LEVEL>
  38143. <IDPARENT>0</IDPARENT>
  38144. <VALUE><![CDATA[@ForTable("","",ForIndex("", "", "Drop index %tablename%.%indexname% %cr%go%cr%", "", "" ),"","")
  38145. ]]></VALUE>
  38146. <LANGUAGE>0</LANGUAGE>
  38147. <LANGUAGEWIN>---</LANGUAGEWIN>
  38148. <CATEGORY>2</CATEGORY>
  38149. <MAINSCRIPT>0</MAINSCRIPT>
  38150. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38151. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38152. <AUTHOR></AUTHOR>
  38153. <COMPANY></COMPANY>
  38154. <VERSION></VERSION>
  38155. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38156. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38157. </TEMPLATE>
  38158. <TEMPLATE>
  38159. <NAME>CreateAlterKey</NAME>
  38160. <ID>9</ID>
  38161. <GUID>{CCDD5BB3-93E0-44BF-BB50-C958F1D99039}</GUID>
  38162. <CAPTION></CAPTION>
  38163. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38164. <ENABLED>1</ENABLED>
  38165. <LEVEL>2</LEVEL>
  38166. <IDPARENT>0</IDPARENT>
  38167. <VALUE><![CDATA[@ForAlterKey("","","Alter table "+macro(GenerateOwner)+"%TableName% add constraint %AlterKeyConstraintName% unique ("+ForAlterKeyCol("","","%ColName%",",","")+")%cr%go%cr%","","")
  38168. ]]></VALUE>
  38169. <LANGUAGE>0</LANGUAGE>
  38170. <LANGUAGEWIN>---</LANGUAGEWIN>
  38171. <CATEGORY>2</CATEGORY>
  38172. <MAINSCRIPT>0</MAINSCRIPT>
  38173. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38174. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38175. <AUTHOR></AUTHOR>
  38176. <COMPANY></COMPANY>
  38177. <VERSION></VERSION>
  38178. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38179. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38180. </TEMPLATE>
  38181. <TEMPLATE>
  38182. <NAME>CreateRole</NAME>
  38183. <ID>10</ID>
  38184. <GUID>{367E6C43-D8DF-475F-80C4-5DBAE11F4594}</GUID>
  38185. <CAPTION></CAPTION>
  38186. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38187. <ENABLED>1</ENABLED>
  38188. <LEVEL>2</LEVEL>
  38189. <IDPARENT>0</IDPARENT>
  38190. <VALUE><![CDATA[@ForRole("","",if(lRole,"exec sp_addgroup '%RoleName%'%cr%go%cr%",""),"","")
  38191. ]]></VALUE>
  38192. <LANGUAGE>0</LANGUAGE>
  38193. <LANGUAGEWIN>---</LANGUAGEWIN>
  38194. <CATEGORY>2</CATEGORY>
  38195. <MAINSCRIPT>0</MAINSCRIPT>
  38196. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38197. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38198. <AUTHOR></AUTHOR>
  38199. <COMPANY></COMPANY>
  38200. <VERSION></VERSION>
  38201. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38202. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38203. </TEMPLATE>
  38204. <TEMPLATE>
  38205. <NAME>GenerateOwner</NAME>
  38206. <ID>11</ID>
  38207. <GUID>{2312F837-5654-478E-8414-F2255A7B66D3}</GUID>
  38208. <CAPTION></CAPTION>
  38209. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38210. <ENABLED>1</ENABLED>
  38211. <LEVEL>2</LEVEL>
  38212. <IDPARENT>0</IDPARENT>
  38213. <VALUE><![CDATA[if(lGenerOwner,if(empty(Owner),"","%Owner%."),"")
  38214. ]]></VALUE>
  38215. <LANGUAGE>0</LANGUAGE>
  38216. <LANGUAGEWIN>---</LANGUAGEWIN>
  38217. <CATEGORY>2</CATEGORY>
  38218. <MAINSCRIPT>0</MAINSCRIPT>
  38219. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38220. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38221. <AUTHOR></AUTHOR>
  38222. <COMPANY></COMPANY>
  38223. <VERSION></VERSION>
  38224. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38225. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38226. </TEMPLATE>
  38227. <TEMPLATE>
  38228. <NAME>CreateTablePermiss</NAME>
  38229. <ID>12</ID>
  38230. <GUID>{E983335E-55F9-4894-871B-089A45D36162}</GUID>
  38231. <CAPTION></CAPTION>
  38232. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38233. <ENABLED>1</ENABLED>
  38234. <LEVEL>2</LEVEL>
  38235. <IDPARENT>0</IDPARENT>
  38236. <VALUE><![CDATA[if(lPermissSelect,"Grant select on "+macro(GenerateOwner)+"%TableName% to %UserOrRoleName%%cr%go%cr%","")+
  38237. if(lPermissUpdate,"Grant update on "+macro(GenerateOwner)+"%TableName% to %UserOrRoleName%%cr%go%cr%","")+
  38238. if(lPermissDelete,"Grant delete on "+macro(GenerateOwner)+"%TableName% to %UserOrRoleName%%cr%go%cr%","")+
  38239. if(lPermissInsert,"Grant insert on "+macro(GenerateOwner)+"%TableName% to %UserOrRoleName%%cr%go%cr%","")+
  38240. if(lPermissDRI,"Grant references on "+macro(GenerateOwner)+"%TableName% to %UserOrRoleName%%cr%go%cr%","")
  38241. ]]></VALUE>
  38242. <LANGUAGE>0</LANGUAGE>
  38243. <LANGUAGEWIN>---</LANGUAGEWIN>
  38244. <CATEGORY>2</CATEGORY>
  38245. <MAINSCRIPT>0</MAINSCRIPT>
  38246. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38247. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38248. <AUTHOR></AUTHOR>
  38249. <COMPANY></COMPANY>
  38250. <VERSION></VERSION>
  38251. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38252. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38253. </TEMPLATE>
  38254. <TEMPLATE>
  38255. <NAME>CreateViewPermiss</NAME>
  38256. <ID>13</ID>
  38257. <GUID>{91E30778-F389-4906-8858-B65468C8D07E}</GUID>
  38258. <CAPTION></CAPTION>
  38259. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38260. <ENABLED>1</ENABLED>
  38261. <LEVEL>2</LEVEL>
  38262. <IDPARENT>0</IDPARENT>
  38263. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  38264. if(lPermissUpdate,"Grant update on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  38265. if(lPermissDelete,"Grant delete on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  38266. if(lPermissInsert,"Grant insert on %ViewName% to %UserOrRoleName%%cr%go%cr%","")
  38267. ]]></VALUE>
  38268. <LANGUAGE>0</LANGUAGE>
  38269. <LANGUAGEWIN>---</LANGUAGEWIN>
  38270. <CATEGORY>2</CATEGORY>
  38271. <MAINSCRIPT>0</MAINSCRIPT>
  38272. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38273. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38274. <AUTHOR></AUTHOR>
  38275. <COMPANY></COMPANY>
  38276. <VERSION></VERSION>
  38277. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38278. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38279. </TEMPLATE>
  38280. <TEMPLATE>
  38281. <NAME>CreateProcedurePermiss</NAME>
  38282. <ID>14</ID>
  38283. <GUID>{618EA389-937D-42BC-93BD-DDEBE6C4CD19}</GUID>
  38284. <CAPTION></CAPTION>
  38285. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38286. <ENABLED>1</ENABLED>
  38287. <LEVEL>2</LEVEL>
  38288. <IDPARENT>0</IDPARENT>
  38289. <VALUE><![CDATA[if(lPermissExec,"Grant exec on %ProcedureName% to %UserOrRoleName%%cr%go%cr%","")
  38290. ]]></VALUE>
  38291. <LANGUAGE>0</LANGUAGE>
  38292. <LANGUAGEWIN>---</LANGUAGEWIN>
  38293. <CATEGORY>2</CATEGORY>
  38294. <MAINSCRIPT>0</MAINSCRIPT>
  38295. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38296. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38297. <AUTHOR></AUTHOR>
  38298. <COMPANY></COMPANY>
  38299. <VERSION></VERSION>
  38300. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38301. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38302. </TEMPLATE>
  38303. <TEMPLATE>
  38304. <NAME>GrantUserToRole</NAME>
  38305. <ID>15</ID>
  38306. <GUID>{5663A6F3-84A7-410F-A6CF-D3A136F4CA24}</GUID>
  38307. <CAPTION></CAPTION>
  38308. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38309. <ENABLED>1</ENABLED>
  38310. <LEVEL>2</LEVEL>
  38311. <IDPARENT>0</IDPARENT>
  38312. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("exec sp_changegroup '%rolename%', '%username%'%cr%go%cr%"),"",""),"","")
  38313. ]]></VALUE>
  38314. <LANGUAGE>0</LANGUAGE>
  38315. <LANGUAGEWIN>---</LANGUAGEWIN>
  38316. <CATEGORY>2</CATEGORY>
  38317. <MAINSCRIPT>0</MAINSCRIPT>
  38318. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38319. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38320. <AUTHOR></AUTHOR>
  38321. <COMPANY></COMPANY>
  38322. <VERSION></VERSION>
  38323. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38324. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38325. </TEMPLATE>
  38326. <TEMPLATE>
  38327. <NAME>CreateDomains</NAME>
  38328. <ID>16</ID>
  38329. <GUID>{0F3E0FA6-1C81-4FC5-A8EC-66EB7A104E84}</GUID>
  38330. <CAPTION></CAPTION>
  38331. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38332. <ENABLED>1</ENABLED>
  38333. <LEVEL>2</LEVEL>
  38334. <IDPARENT>0</IDPARENT>
  38335. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  38336. ]]></VALUE>
  38337. <LANGUAGE>0</LANGUAGE>
  38338. <LANGUAGEWIN>---</LANGUAGEWIN>
  38339. <CATEGORY>2</CATEGORY>
  38340. <MAINSCRIPT>0</MAINSCRIPT>
  38341. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38342. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38343. <AUTHOR></AUTHOR>
  38344. <COMPANY></COMPANY>
  38345. <VERSION></VERSION>
  38346. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38347. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38348. </TEMPLATE>
  38349. <TEMPLATE>
  38350. <NAME>CreateDomain</NAME>
  38351. <ID>17</ID>
  38352. <GUID>{3DD06864-E835-44A2-8782-9C20BD66ABB1}</GUID>
  38353. <CAPTION></CAPTION>
  38354. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38355. <ENABLED>1</ENABLED>
  38356. <LEVEL>2</LEVEL>
  38357. <IDPARENT>0</IDPARENT>
  38358. <VALUE><![CDATA[if(lGenerOwner and (not empty(UTypeOwner)),"Setuser '%UTypeOwner%'%cr%go%cr%","")+
  38359. "Exec sp_addtype '%DictName%', '%typsql%', '"+if(lNullType,"NULL","NOT NULL")+"'%cr%go%cr%"+
  38360. if(empty(Default)and(not(empty(UTypeDefObject))),"Exec sp_bindefault '%UTypeDefObject%', '%DictName%'%cr%go%cr%","")+
  38361. if(empty(UTypeRuleObject),"","Exec sp_bindrule '%UTypeRuleObject%', '%DictName%'%cr%go%cr%")+
  38362. if(lGenerOwner and (not empty(UTypeOwner)),"Setuser%cr%go%cr%","")
  38363. ]]></VALUE>
  38364. <LANGUAGE>0</LANGUAGE>
  38365. <LANGUAGEWIN>---</LANGUAGEWIN>
  38366. <CATEGORY>2</CATEGORY>
  38367. <MAINSCRIPT>0</MAINSCRIPT>
  38368. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38369. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38370. <AUTHOR></AUTHOR>
  38371. <COMPANY></COMPANY>
  38372. <VERSION></VERSION>
  38373. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38374. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38375. </TEMPLATE>
  38376. <TEMPLATE>
  38377. <NAME>DropDomains</NAME>
  38378. <ID>18</ID>
  38379. <GUID>{884FB57B-701E-4A41-84A3-A03D08D7F8D4}</GUID>
  38380. <CAPTION></CAPTION>
  38381. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38382. <ENABLED>1</ENABLED>
  38383. <LEVEL>2</LEVEL>
  38384. <IDPARENT>0</IDPARENT>
  38385. <VALUE><![CDATA[@ForDict("", "", "Exec sp_droptype %DictName%%cr%go%cr%", "", "" )
  38386. ]]></VALUE>
  38387. <LANGUAGE>0</LANGUAGE>
  38388. <LANGUAGEWIN>---</LANGUAGEWIN>
  38389. <CATEGORY>2</CATEGORY>
  38390. <MAINSCRIPT>0</MAINSCRIPT>
  38391. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38392. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38393. <AUTHOR></AUTHOR>
  38394. <COMPANY></COMPANY>
  38395. <VERSION></VERSION>
  38396. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38397. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38398. </TEMPLATE>
  38399. <TEMPLATE>
  38400. <NAME>CreateTriggers</NAME>
  38401. <ID>19</ID>
  38402. <GUID>{FA7106CC-2756-4D3F-AEE1-DB09D460BEDD}</GUID>
  38403. <CAPTION></CAPTION>
  38404. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38405. <ENABLED>1</ENABLED>
  38406. <LEVEL>2</LEVEL>
  38407. <IDPARENT>0</IDPARENT>
  38408. <VALUE><![CDATA[@fortable("", "", template(createtriggerupdate), "", "")
  38409. @fortable("", "", template(createtriggerdelete), "", "")
  38410. @fortable("", "", template(createtriggerinsert), "", "")
  38411. ]]></VALUE>
  38412. <LANGUAGE>0</LANGUAGE>
  38413. <LANGUAGEWIN>---</LANGUAGEWIN>
  38414. <CATEGORY>2</CATEGORY>
  38415. <MAINSCRIPT>0</MAINSCRIPT>
  38416. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38417. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38418. <AUTHOR></AUTHOR>
  38419. <COMPANY></COMPANY>
  38420. <VERSION></VERSION>
  38421. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38422. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38423. </TEMPLATE>
  38424. <TEMPLATE>
  38425. <NAME>CreateTriggerUpdate</NAME>
  38426. <ID>20</ID>
  38427. <GUID>{C1B26617-BEA3-4682-A992-C88C3AA547D6}</GUID>
  38428. <CAPTION></CAPTION>
  38429. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38430. <ENABLED>1</ENABLED>
  38431. <LEVEL>2</LEVEL>
  38432. <IDPARENT>0</IDPARENT>
  38433. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  38434. @showmessage("Trigger for %tablename% ")
  38435. /* Update trigger for %tablename% */
  38436. Create trigger @macro(GenerateOwner)tu_%tablename% on @macro(GenerateOwner)%tablename% for update as
  38437. begin
  38438.     declare %c1%numrows integer
  38439.  
  38440.     select %c1%numrows = %c1%%c1%rowcount
  38441.     if %c1%numrows = 0
  38442.     return
  38443.  
  38444.     @forchild( "", "", template(triggerparentupdate), "", "" ) 
  38445.     @forparent("", "", template(triggerchildupdate), "", "" )
  38446. end
  38447. go
  38448. ]]></VALUE>
  38449. <LANGUAGE>0</LANGUAGE>
  38450. <LANGUAGEWIN>---</LANGUAGEWIN>
  38451. <CATEGORY>2</CATEGORY>
  38452. <MAINSCRIPT>0</MAINSCRIPT>
  38453. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38454. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38455. <AUTHOR></AUTHOR>
  38456. <COMPANY></COMPANY>
  38457. <VERSION></VERSION>
  38458. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38459. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38460. </TEMPLATE>
  38461. <TEMPLATE>
  38462. <NAME>TriggerParentUpdate</NAME>
  38463. <ID>21</ID>
  38464. <GUID>{B04E8327-4C8B-448D-82D4-49049A332B35}</GUID>
  38465. <CAPTION></CAPTION>
  38466. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38467. <ENABLED>1</ENABLED>
  38468. <LEVEL>2</LEVEL>
  38469. <IDPARENT>0</IDPARENT>
  38470. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  38471. /* cascade child %childtablename% update when parent %parenttablename% changed */
  38472.     if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  38473.     begin
  38474.         update @macro(ChildTableOwner)%childtablename%
  38475.         set @ForRelPk( tb , tb , "%PkChildName% = i.%PkParentName%" , ",%cr%" , "")
  38476.         from @macro(ChildTableOwner)%childtablename% t, inserted i, deleted d
  38477.         where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  38478.         and    @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr%%tb% ", ")" )
  38479.     end
  38480. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  38481. /* cascade setnull when parent changed */
  38482.     if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  38483.     begin
  38484.         update @macro(ChildTableOwner)%childtablename%
  38485.         set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  38486.         from @macro(ChildTableOwner)%childtablename% t, inserted i, deleted d
  38487.         where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  38488.         and    @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  38489.     end
  38490. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  38491. /* cascade setdefault when parent changed */
  38492.     if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  38493.     begin
  38494.         update @macro(ChildTableOwner)%childtablename%
  38495.         set @ForRelPk( tb , tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  38496.         from @macro(ChildTableOwner)%childtablename% t, inserted i, deleted d
  38497.         where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  38498.         and    @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  38499.     end
  38500. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  38501. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  38502.     if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  38503.     begin
  38504.         if ((select count( * ) 
  38505.         from @macro(ChildTableOwner)%childtablename% t, deleted d
  38506.         where @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  38507.         begin
  38508.             raiserror 30001 'Children still exist in child table'
  38509.             rollback transaction
  38510.         end
  38511.     end
  38512. ]]></VALUE>
  38513. <LANGUAGE>0</LANGUAGE>
  38514. <LANGUAGEWIN>---</LANGUAGEWIN>
  38515. <CATEGORY>2</CATEGORY>
  38516. <MAINSCRIPT>0</MAINSCRIPT>
  38517. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38518. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38519. <AUTHOR></AUTHOR>
  38520. <COMPANY></COMPANY>
  38521. <VERSION></VERSION>
  38522. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38523. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38524. </TEMPLATE>
  38525. <TEMPLATE>
  38526. <NAME>ChildTableOwner</NAME>
  38527. <ID>22</ID>
  38528. <GUID>{6812594F-ACCF-4E8D-9F52-C930BD3CB42D}</GUID>
  38529. <CAPTION></CAPTION>
  38530. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38531. <ENABLED>1</ENABLED>
  38532. <LEVEL>2</LEVEL>
  38533. <IDPARENT>0</IDPARENT>
  38534. <VALUE><![CDATA[if(lGenerOwner,if(empty(ChildTable.Owner),"",""+ChildTable.Owner+"."),"")
  38535. ]]></VALUE>
  38536. <LANGUAGE>0</LANGUAGE>
  38537. <LANGUAGEWIN>---</LANGUAGEWIN>
  38538. <CATEGORY>2</CATEGORY>
  38539. <MAINSCRIPT>0</MAINSCRIPT>
  38540. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38541. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38542. <AUTHOR></AUTHOR>
  38543. <COMPANY></COMPANY>
  38544. <VERSION></VERSION>
  38545. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38546. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38547. </TEMPLATE>
  38548. <TEMPLATE>
  38549. <NAME>TriggerChildUpdate</NAME>
  38550. <ID>23</ID>
  38551. <GUID>{779B9701-73C8-4CB6-B3D6-4C1D1CA7FBE4}</GUID>
  38552. <CAPTION></CAPTION>
  38553. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38554. <ENABLED>1</ENABLED>
  38555. <LEVEL>2</LEVEL>
  38556. <IDPARENT>0</IDPARENT>
  38557. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  38558. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  38559.     if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  38560.     begin
  38561.         if ((select count( * ) 
  38562.         from @macro(ParentTableOwner)%ParentTableName% t, inserted i
  38563.         where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  38564.         begin
  38565.             raiserror  30002 'Parent does not exist. Cannot update child'
  38566.             rollback transaction
  38567.         end
  38568.     end
  38569. ]]></VALUE>
  38570. <LANGUAGE>0</LANGUAGE>
  38571. <LANGUAGEWIN>---</LANGUAGEWIN>
  38572. <CATEGORY>2</CATEGORY>
  38573. <MAINSCRIPT>0</MAINSCRIPT>
  38574. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38575. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38576. <AUTHOR></AUTHOR>
  38577. <COMPANY></COMPANY>
  38578. <VERSION></VERSION>
  38579. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38580. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38581. </TEMPLATE>
  38582. <TEMPLATE>
  38583. <NAME>ParentTableOwner</NAME>
  38584. <ID>24</ID>
  38585. <GUID>{FDD2AC29-F5D4-4E97-8293-B705E2727D8A}</GUID>
  38586. <CAPTION></CAPTION>
  38587. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38588. <ENABLED>1</ENABLED>
  38589. <LEVEL>2</LEVEL>
  38590. <IDPARENT>0</IDPARENT>
  38591. <VALUE><![CDATA[if(lGenerOwner,if(empty(ParentTable.Owner),"",""+ParentTable.Owner+"."),"")
  38592. ]]></VALUE>
  38593. <LANGUAGE>0</LANGUAGE>
  38594. <LANGUAGEWIN>---</LANGUAGEWIN>
  38595. <CATEGORY>2</CATEGORY>
  38596. <MAINSCRIPT>0</MAINSCRIPT>
  38597. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38598. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38599. <AUTHOR></AUTHOR>
  38600. <COMPANY></COMPANY>
  38601. <VERSION></VERSION>
  38602. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38603. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38604. </TEMPLATE>
  38605. <TEMPLATE>
  38606. <NAME>CreateTriggerDelete</NAME>
  38607. <ID>25</ID>
  38608. <GUID>{EA892EB7-5B61-4D4F-979A-19958FEBB4B9}</GUID>
  38609. <CAPTION></CAPTION>
  38610. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38611. <ENABLED>1</ENABLED>
  38612. <LEVEL>2</LEVEL>
  38613. <IDPARENT>0</IDPARENT>
  38614. <VALUE><![CDATA[{lEntParDelTrig}
  38615. @showmessage("Trigger for %tablename% ")
  38616. /* Delete trigger for %tablename% */
  38617. Create trigger @macro(GenerateOwner)td_%tablename% on @macro(GenerateOwner)%tablename% for delete as
  38618. begin
  38619.     declare %c1%numrows integer
  38620.  
  38621.     select %c1%numrows = %c1%%c1%rowcount
  38622.     if %c1%numrows = 0
  38623.     return
  38624.  
  38625.     @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  38626. end
  38627. go
  38628. ]]></VALUE>
  38629. <LANGUAGE>0</LANGUAGE>
  38630. <LANGUAGEWIN>---</LANGUAGEWIN>
  38631. <CATEGORY>2</CATEGORY>
  38632. <MAINSCRIPT>0</MAINSCRIPT>
  38633. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38634. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38635. <AUTHOR></AUTHOR>
  38636. <COMPANY></COMPANY>
  38637. <VERSION></VERSION>
  38638. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38639. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38640. </TEMPLATE>
  38641. <TEMPLATE>
  38642. <NAME>CreateTriggerInsert</NAME>
  38643. <ID>26</ID>
  38644. <GUID>{124EC867-E655-4369-863B-0ACBDBE005C8}</GUID>
  38645. <CAPTION></CAPTION>
  38646. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38647. <ENABLED>1</ENABLED>
  38648. <LEVEL>2</LEVEL>
  38649. <IDPARENT>0</IDPARENT>
  38650. <VALUE><![CDATA[{lEntChildInsTrig  }
  38651. @showmessage("Trigger for %tablename% ")
  38652. /* Insert trigger for %tablename% */
  38653. Create trigger @macro(GenerateOwner)ti_%tablename% on @macro(GenerateOwner)%tablename% for insert as
  38654. begin
  38655.     declare %c1%numrows integer
  38656.  
  38657.     select %c1%numrows = %c1%%c1%rowcount
  38658.     if %c1%numrows = 0
  38659.     return
  38660.  
  38661.     @forparent("", "", template(TriggerParentInsert), "", "")
  38662. end
  38663. go
  38664. ]]></VALUE>
  38665. <LANGUAGE>0</LANGUAGE>
  38666. <LANGUAGEWIN>---</LANGUAGEWIN>
  38667. <CATEGORY>2</CATEGORY>
  38668. <MAINSCRIPT>0</MAINSCRIPT>
  38669. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38670. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38671. <AUTHOR></AUTHOR>
  38672. <COMPANY></COMPANY>
  38673. <VERSION></VERSION>
  38674. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38675. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38676. </TEMPLATE>
  38677. <TEMPLATE>
  38678. <NAME>TriggerParentDelete</NAME>
  38679. <ID>27</ID>
  38680. <GUID>{A764C294-7018-4254-BFD1-733FFBB7ACBB}</GUID>
  38681. <CAPTION></CAPTION>
  38682. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38683. <ENABLED>1</ENABLED>
  38684. <LEVEL>2</LEVEL>
  38685. <IDPARENT>0</IDPARENT>
  38686. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  38687. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  38688.      delete @macro(ChildTableOwner)%childtablename% from @macro(ChildTableOwner)%childtablename% t, deleted d
  38689.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "")
  38690. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  38691. /* cascade setnull when parent deleted */
  38692.      update @macro(ChildTableOwner)%childtablename%
  38693.     set @ForRelPk( tb , tb+tb , "%PkChildName% = NULL" , ",%cr%" , "")
  38694.     from @macro(ChildTableOwner)%childtablename% t, deleted d
  38695.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  38696. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  38697. /* cascade setdefault when parent deleted */
  38698.      update @macro(ChildTableOwner)%childtablename%
  38699.     set @ForRelPk( tb , tb+tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  38700.     from @macro(ChildTableOwner)%childtablename% t, deleted d
  38701.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  38702. {ParDelRestrict and (not lParDelRestDekl)} 
  38703. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  38704.     if ((select count( * ) 
  38705.     from @macro(ChildTableOwner)%childtablename% t, deleted d
  38706.     where @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  38707.      begin
  38708.         raiserror  30003 'Children still exist in child table. Cannot delete parent'
  38709.         rollback transaction
  38710.     end
  38711. ]]></VALUE>
  38712. <LANGUAGE>0</LANGUAGE>
  38713. <LANGUAGEWIN>---</LANGUAGEWIN>
  38714. <CATEGORY>2</CATEGORY>
  38715. <MAINSCRIPT>0</MAINSCRIPT>
  38716. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38717. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38718. <AUTHOR></AUTHOR>
  38719. <COMPANY></COMPANY>
  38720. <VERSION></VERSION>
  38721. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38722. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38723. </TEMPLATE>
  38724. <TEMPLATE>
  38725. <NAME>TriggerParentInsert</NAME>
  38726. <ID>28</ID>
  38727. <GUID>{7D827B5B-0DF8-439F-9C06-AAB63D9758C3}</GUID>
  38728. <CAPTION></CAPTION>
  38729. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38730. <ENABLED>1</ENABLED>
  38731. <LEVEL>2</LEVEL>
  38732. <IDPARENT>0</IDPARENT>
  38733. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  38734. /* restrict child %childtablename% when parent %parenttablename% insert */
  38735.     if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  38736.     begin
  38737.         if ((select count( * ) 
  38738.         from @macro(ParentTableOwner)%ParentTableName% t, inserted i
  38739.         where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  38740.         begin
  38741.             raiserror  30004 'Parent does not exist. Cannot insert child'
  38742.             rollback transaction
  38743.         end
  38744.     end
  38745. ]]></VALUE>
  38746. <LANGUAGE>0</LANGUAGE>
  38747. <LANGUAGEWIN>---</LANGUAGEWIN>
  38748. <CATEGORY>2</CATEGORY>
  38749. <MAINSCRIPT>0</MAINSCRIPT>
  38750. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38751. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38752. <AUTHOR></AUTHOR>
  38753. <COMPANY></COMPANY>
  38754. <VERSION></VERSION>
  38755. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38756. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38757. </TEMPLATE>
  38758. <TEMPLATE>
  38759. <NAME>DropRefIntegritys</NAME>
  38760. <ID>29</ID>
  38761. <GUID>{4C7054E9-597E-4983-82FE-DDA22FE358E0}</GUID>
  38762. <CAPTION></CAPTION>
  38763. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38764. <ENABLED>1</ENABLED>
  38765. <LEVEL>2</LEVEL>
  38766. <IDPARENT>0</IDPARENT>
  38767. <VALUE><![CDATA[{lFkAsConstraint}
  38768. @ForTable("", "", ForChild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  38769. ]]></VALUE>
  38770. <LANGUAGE>0</LANGUAGE>
  38771. <LANGUAGEWIN>---</LANGUAGEWIN>
  38772. <CATEGORY>2</CATEGORY>
  38773. <MAINSCRIPT>0</MAINSCRIPT>
  38774. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38775. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38776. <AUTHOR></AUTHOR>
  38777. <COMPANY></COMPANY>
  38778. <VERSION></VERSION>
  38779. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38780. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38781. </TEMPLATE>
  38782. <TEMPLATE>
  38783. <NAME>DropRefIntegrity</NAME>
  38784. <ID>30</ID>
  38785. <GUID>{776D039C-7EC7-43D7-828A-F4BDC6593E8F}</GUID>
  38786. <CAPTION></CAPTION>
  38787. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38788. <ENABLED>1</ENABLED>
  38789. <LEVEL>2</LEVEL>
  38790. <IDPARENT>0</IDPARENT>
  38791. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  38792. Alter table @macro(GenerateOwner)%childtablename% drop constraint @macro(GenerateOwner)%frelname%
  38793. go
  38794. ]]></VALUE>
  38795. <LANGUAGE>0</LANGUAGE>
  38796. <LANGUAGEWIN>---</LANGUAGEWIN>
  38797. <CATEGORY>2</CATEGORY>
  38798. <MAINSCRIPT>0</MAINSCRIPT>
  38799. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38800. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38801. <AUTHOR></AUTHOR>
  38802. <COMPANY></COMPANY>
  38803. <VERSION></VERSION>
  38804. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38805. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38806. </TEMPLATE>
  38807. <TEMPLATE>
  38808. <NAME>DropTriggerUpdate</NAME>
  38809. <ID>31</ID>
  38810. <GUID>{8D83EA9E-3D05-4FEA-9AC3-09630DD18F6E}</GUID>
  38811. <CAPTION></CAPTION>
  38812. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38813. <ENABLED>1</ENABLED>
  38814. <LEVEL>2</LEVEL>
  38815. <IDPARENT>0</IDPARENT>
  38816. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  38817. drop trigger @macro(GenerateOwner)tu_%tablename%
  38818. go
  38819. ]]></VALUE>
  38820. <LANGUAGE>0</LANGUAGE>
  38821. <LANGUAGEWIN>---</LANGUAGEWIN>
  38822. <CATEGORY>2</CATEGORY>
  38823. <MAINSCRIPT>0</MAINSCRIPT>
  38824. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38825. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38826. <AUTHOR></AUTHOR>
  38827. <COMPANY></COMPANY>
  38828. <VERSION></VERSION>
  38829. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38830. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38831. </TEMPLATE>
  38832. <TEMPLATE>
  38833. <NAME>DropTriggerDelete</NAME>
  38834. <ID>32</ID>
  38835. <GUID>{1F3E8BAA-FB04-4B6D-8627-24CA95DB5CD0}</GUID>
  38836. <CAPTION></CAPTION>
  38837. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38838. <ENABLED>1</ENABLED>
  38839. <LEVEL>2</LEVEL>
  38840. <IDPARENT>0</IDPARENT>
  38841. <VALUE><![CDATA[{lEntParDelTrig}
  38842. Drop trigger @macro(GenerateOwner)td_%tablename%
  38843. go
  38844. ]]></VALUE>
  38845. <LANGUAGE>0</LANGUAGE>
  38846. <LANGUAGEWIN>---</LANGUAGEWIN>
  38847. <CATEGORY>2</CATEGORY>
  38848. <MAINSCRIPT>0</MAINSCRIPT>
  38849. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38850. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38851. <AUTHOR></AUTHOR>
  38852. <COMPANY></COMPANY>
  38853. <VERSION></VERSION>
  38854. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38855. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38856. </TEMPLATE>
  38857. <TEMPLATE>
  38858. <NAME>DropTriggerInsert</NAME>
  38859. <ID>33</ID>
  38860. <GUID>{1658C1D8-BA9E-4135-A4DB-5B4C09217B12}</GUID>
  38861. <CAPTION></CAPTION>
  38862. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38863. <ENABLED>1</ENABLED>
  38864. <LEVEL>2</LEVEL>
  38865. <IDPARENT>0</IDPARENT>
  38866. <VALUE><![CDATA[{lEntChildInsTrig  }
  38867. Drop trigger @macro(GenerateOwner)ti_%tablename%
  38868. go
  38869. ]]></VALUE>
  38870. <LANGUAGE>0</LANGUAGE>
  38871. <LANGUAGEWIN>---</LANGUAGEWIN>
  38872. <CATEGORY>2</CATEGORY>
  38873. <MAINSCRIPT>0</MAINSCRIPT>
  38874. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38875. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38876. <AUTHOR></AUTHOR>
  38877. <COMPANY></COMPANY>
  38878. <VERSION></VERSION>
  38879. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38880. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38881. </TEMPLATE>
  38882. <TEMPLATE>
  38883. <NAME>DropTriggersList</NAME>
  38884. <ID>34</ID>
  38885. <GUID>{50F1FFF9-3A3D-4834-A542-5EE6D271CD88}</GUID>
  38886. <CAPTION></CAPTION>
  38887. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38888. <ENABLED>1</ENABLED>
  38889. <LEVEL>2</LEVEL>
  38890. <IDPARENT>0</IDPARENT>
  38891. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName%%cr%go%cr%","",""),"","")
  38892. @ForTriggerR("","","Drop trigger %TriggerName%%cr%go%cr%","","")
  38893. ]]></VALUE>
  38894. <LANGUAGE>0</LANGUAGE>
  38895. <LANGUAGEWIN>---</LANGUAGEWIN>
  38896. <CATEGORY>2</CATEGORY>
  38897. <MAINSCRIPT>0</MAINSCRIPT>
  38898. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38899. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38900. <AUTHOR></AUTHOR>
  38901. <COMPANY></COMPANY>
  38902. <VERSION></VERSION>
  38903. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38904. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  38905. </TEMPLATE>
  38906. <TEMPLATE>
  38907. <NAME>DropProcedures</NAME>
  38908. <ID>35</ID>
  38909. <GUID>{A48E48FC-2B35-4BFC-9EF4-A648DC2566D9}</GUID>
  38910. <CAPTION></CAPTION>
  38911. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38912. <ENABLED>1</ENABLED>
  38913. <LEVEL>2</LEVEL>
  38914. <IDPARENT>0</IDPARENT>
  38915. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure %ProcedureName%%cr%go%cr%","","")
  38916. ]]></VALUE>
  38917. <LANGUAGE>0</LANGUAGE>
  38918. <LANGUAGEWIN>---</LANGUAGEWIN>
  38919. <CATEGORY>2</CATEGORY>
  38920. <MAINSCRIPT>0</MAINSCRIPT>
  38921. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38922. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38923. <AUTHOR></AUTHOR>
  38924. <COMPANY></COMPANY>
  38925. <VERSION></VERSION>
  38926. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38927. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  38928. </TEMPLATE>
  38929. <TEMPLATE>
  38930. <NAME>DropViews</NAME>
  38931. <ID>36</ID>
  38932. <GUID>{0CED3C75-84FE-49B2-B475-DE6326F12759}</GUID>
  38933. <CAPTION></CAPTION>
  38934. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38935. <ENABLED>1</ENABLED>
  38936. <LEVEL>2</LEVEL>
  38937. <IDPARENT>0</IDPARENT>
  38938. <VALUE><![CDATA[@ForViewR("","","Drop view %ViewName%%cr%go%cr%","","")
  38939. ]]></VALUE>
  38940. <LANGUAGE>0</LANGUAGE>
  38941. <LANGUAGEWIN>---</LANGUAGEWIN>
  38942. <CATEGORY>2</CATEGORY>
  38943. <MAINSCRIPT>0</MAINSCRIPT>
  38944. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38945. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38946. <AUTHOR></AUTHOR>
  38947. <COMPANY></COMPANY>
  38948. <VERSION></VERSION>
  38949. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38950. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  38951. </TEMPLATE>
  38952. <TEMPLATE>
  38953. <NAME>BindObjToUTypes</NAME>
  38954. <ID>37</ID>
  38955. <GUID>{C2F93BF6-D90F-4BCD-8360-CAAE2587B7F0}</GUID>
  38956. <CAPTION></CAPTION>
  38957. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38958. <ENABLED>1</ENABLED>
  38959. <LEVEL>2</LEVEL>
  38960. <IDPARENT>0</IDPARENT>
  38961. <VALUE><![CDATA[if((empty(DictType.UTypeDefObject))or(not(empty(DictType.Default))),"","Exec sp_bindefault '%DictType.UTypeDefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  38962. if(empty(DictType.UTypeRuleObject),"","Exec sp_bindrule '%DictType.UTypeRuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  38963. ]]></VALUE>
  38964. <LANGUAGE>0</LANGUAGE>
  38965. <LANGUAGEWIN>---</LANGUAGEWIN>
  38966. <CATEGORY>2</CATEGORY>
  38967. <MAINSCRIPT>0</MAINSCRIPT>
  38968. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38969. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38970. <AUTHOR></AUTHOR>
  38971. <COMPANY></COMPANY>
  38972. <VERSION></VERSION>
  38973. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38974. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38975. </TEMPLATE>
  38976. <TEMPLATE>
  38977. <NAME>BindObjToColumns</NAME>
  38978. <ID>38</ID>
  38979. <GUID>{7909DA7B-421F-4B2E-BBFB-61E1A9F5D692}</GUID>
  38980. <CAPTION></CAPTION>
  38981. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  38982. <ENABLED>1</ENABLED>
  38983. <LEVEL>2</LEVEL>
  38984. <IDPARENT>0</IDPARENT>
  38985. <VALUE><![CDATA[if((empty(DefObject))or(not(empty(Default))),"","Exec sp_bindefault '%DefObject%', '%TableName%.%ColName%'%cr%go%cr%")+
  38986. if(empty(RuleObject),"","Exec sp_bindrule '%RuleObject%', '%TableName%.%ColName%'%cr%go%cr%")
  38987. ]]></VALUE>
  38988. <LANGUAGE>0</LANGUAGE>
  38989. <LANGUAGEWIN>---</LANGUAGEWIN>
  38990. <CATEGORY>2</CATEGORY>
  38991. <MAINSCRIPT>0</MAINSCRIPT>
  38992. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  38993. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  38994. <AUTHOR></AUTHOR>
  38995. <COMPANY></COMPANY>
  38996. <VERSION></VERSION>
  38997. <CREATED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></CREATED>
  38998. <MODIFIED><DATE>7/16/2002</DATE><TIME>10:57:09</TIME></MODIFIED>
  38999. </TEMPLATE>
  39000. <TEMPLATE>
  39001. <NAME>CreateFunctions</NAME>
  39002. <ID>39</ID>
  39003. <GUID>{083D8B49-F33A-4585-AABA-DE650D6B01DD}</GUID>
  39004. <CAPTION></CAPTION>
  39005. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39006. <ENABLED>1</ENABLED>
  39007. <LEVEL>2</LEVEL>
  39008. <IDPARENT>0</IDPARENT>
  39009. <VALUE><![CDATA[@ForTextObject(10, "", "", TextObject+cr, "", "")
  39010. ]]></VALUE>
  39011. <LANGUAGE>0</LANGUAGE>
  39012. <LANGUAGEWIN>---</LANGUAGEWIN>
  39013. <CATEGORY>2</CATEGORY>
  39014. <MAINSCRIPT>0</MAINSCRIPT>
  39015. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39016. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39017. <AUTHOR></AUTHOR>
  39018. <COMPANY></COMPANY>
  39019. <VERSION></VERSION>
  39020. <CREATED><DATE>10/17/2002</DATE><TIME>18:01:50</TIME></CREATED>
  39021. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39022. </TEMPLATE>
  39023. <TEMPLATE>
  39024. <NAME>DropFunctions</NAME>
  39025. <ID>40</ID>
  39026. <GUID>{5EC5B909-F71F-4174-B0D1-23118F0A945F}</GUID>
  39027. <CAPTION></CAPTION>
  39028. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39029. <ENABLED>1</ENABLED>
  39030. <LEVEL>2</LEVEL>
  39031. <IDPARENT>0</IDPARENT>
  39032. <VALUE><![CDATA[@ForTextObject(10, "", "", "Drop function %TextObjectName%%cr%go%cr%", "", "")
  39033. ]]></VALUE>
  39034. <LANGUAGE>0</LANGUAGE>
  39035. <LANGUAGEWIN>---</LANGUAGEWIN>
  39036. <CATEGORY>2</CATEGORY>
  39037. <MAINSCRIPT>0</MAINSCRIPT>
  39038. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39039. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39040. <AUTHOR></AUTHOR>
  39041. <COMPANY></COMPANY>
  39042. <VERSION></VERSION>
  39043. <CREATED><DATE>10/17/2002</DATE><TIME>18:02:06</TIME></CREATED>
  39044. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39045. </TEMPLATE>
  39046. <TEMPLATE>
  39047. <NAME>Ver_Main</NAME>
  39048. <ID>41</ID>
  39049. <GUID>{AF3A2774-FAD4-4AEE-9100-E1056B01BA7C}</GUID>
  39050. <CAPTION>Ver_Main</CAPTION>
  39051. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39052. <ENABLED>1</ENABLED>
  39053. <LEVEL>2</LEVEL>
  39054. <IDPARENT>0</IDPARENT>
  39055. <VALUE><![CDATA[function Main()
  39056. {
  39057. Variables.DefineVariable( 'lCheckSysObjName','', 1 );
  39058. Variables.lCheckSysObjName = true;
  39059.  
  39060. Variables.DefineVariable( 'lCheckSysIndName','', 1 );
  39061. Variables.lCheckSysIndName = true;
  39062.  
  39063. VerifyMain();
  39064. }
  39065.  
  39066. function VerifyMain()
  39067. {
  39068. Scripting.Ver_ASE_Dictionary.ReadVocabulary();
  39069. Scripting.Ver_Dictionary.ReadVocabulary();
  39070.  
  39071. Verify.Clear();
  39072.  
  39073. if (Verify.BasicVerification)
  39074.     {
  39075.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  39076.     Verify.Writeln( ' ' );
  39077.     Verify.VerifyBasic();
  39078.     };
  39079.  
  39080. if ( Variables.lCheckSysObjName )
  39081.     Scripting.Ver_ASE_Constraints.CheckSysObjectsName(false);
  39082.     
  39083. if ( Variables.lCheckSysIndName )
  39084.     Scripting.Ver_ASE_Constraints.CheckSysIndexesName(false);
  39085.  
  39086. Scripting.Ver_Summary.Main();
  39087. }
  39088. ]]></VALUE>
  39089. <LANGUAGE>1</LANGUAGE>
  39090. <LANGUAGEWIN>---</LANGUAGEWIN>
  39091. <CATEGORY>7</CATEGORY>
  39092. <MAINSCRIPT>0</MAINSCRIPT>
  39093. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39094. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39095. <AUTHOR></AUTHOR>
  39096. <COMPANY></COMPANY>
  39097. <VERSION></VERSION>
  39098. <CREATED><DATE>4/10/2002</DATE><TIME>17:21:35</TIME></CREATED>
  39099. <MODIFIED><DATE>5/20/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39100. </TEMPLATE>
  39101. <TEMPLATE>
  39102. <NAME>Ver_ASE_Constraints</NAME>
  39103. <ID>42</ID>
  39104. <GUID>{9AABB52E-F0E8-45F1-AF49-52A3AA47BA21}</GUID>
  39105. <CAPTION>Ver_ASE_Constraints</CAPTION>
  39106. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39107. <ENABLED>1</ENABLED>
  39108. <LEVEL>2</LEVEL>
  39109. <IDPARENT>0</IDPARENT>
  39110. <VALUE><![CDATA[function CheckSysObjectsName( lCaseSensitive )  //check sysobjects
  39111. {
  39112. var i,j;
  39113. var cName = '';
  39114. var NameList = DefineInterfaceList();
  39115. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  39116.     
  39117. Verify.Writeln( ' ' );
  39118. Verify.Writeln( '---------------------------------------------------' );
  39119. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_SO',0 ) );
  39120.  
  39121. for (i=0; i<Model.CountAttributes; i++)
  39122. {
  39123.     Attribute = Model.Attributes( i );
  39124.     cName = Attribute.CheckConstraint;
  39125.     if ( cName != '' )
  39126.     {
  39127.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  39128.         AddName( NameList, cName, lCaseSensitive, Attribute );
  39129.     }
  39130.  
  39131.     cName = Attribute.DefaultConstraint;
  39132.     if ( cName != '' )
  39133.     {
  39134.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  39135.         AddName( NameList, cName, lCaseSensitive, Attribute );
  39136.     }
  39137.  
  39138.     cName = Attribute.GetUserVariable('RuleObject');
  39139.     if (cName != '' )
  39140.     {
  39141.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  39142.         AddName( NameList, cName, lCaseSensitive, Attribute );
  39143.     }
  39144.     
  39145.     cName = Attribute.GetUserVariable('DefObject');
  39146.     if (cName != '' )
  39147.     {
  39148.         cName = Model.GetEntity( Attribute.EntityId ).GetUserVariable('Owner')+'.'+cName;
  39149.         AddName( NameList, cName, lCaseSensitive, Attribute );
  39150.     }
  39151. }
  39152.  
  39153. for (i=0; i<Model.CountEntities; i++)
  39154. {
  39155.     Entity = Model.Entities(i);
  39156.     cName = Entity.TableName;
  39157.     if ( cName != '' )
  39158.     {
  39159.         cName = Entity.GetUserVariable('Owner')+'.'+cName;
  39160.         AddName( NameList, cName, lCaseSensitive, Entity );
  39161.     }
  39162. }
  39163.  
  39164. for (i=0; i<Model.CountRelations; i++)
  39165. {
  39166.     Relation = Model.Relations(i);
  39167.     cName = Relation.FKConstraint;
  39168.     if ( cName != '' )
  39169.     {
  39170.         cName = Model.GetEntity( Relation.ChildEntityId ).GetUserVariable('Owner')+'.'+cName;
  39171.         AddName( NameList, cName, lCaseSensitive, Relation );
  39172.     }
  39173. }
  39174.  
  39175. VerifyName( NameList, 'E_NAME_DUPL' );
  39176.  
  39177. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  39178.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  39179. }
  39180.  
  39181. //======================================================================
  39182.  
  39183. function CheckSysIndexesName( lCaseSensitive ) //check sysindexes
  39184. {
  39185. var i,j;
  39186. var cName = '';
  39187. var NameList = DefineInterfaceList();
  39188. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  39189.     
  39190. Verify.Writeln( ' ' );
  39191. Verify.Writeln( '---------------------------------------------------' );
  39192. Verify.Writeln( Translator.Translate( 'V_CHECK_NAME_DUPL_SI',0 ) );
  39193.  
  39194. for (i=0; i<Model.CountAttributes; i++)
  39195. {
  39196.     Attribute = Model.Attributes( i );
  39197.     cName = Attribute.UniqueConstraint;
  39198.     if ( cName != '' )
  39199.     {
  39200.         cName = Model.GetEntity( Attribute.EntityId ).TableName+'.'+cName;
  39201.         AddName( NameList, cName, lCaseSensitive, Attribute );
  39202.     }
  39203. }
  39204.  
  39205. for (i=0; i<Model.CountEntities; i++)
  39206. {
  39207.     Entity = Model.Entities( i );
  39208.     cName = Entity.PKConstraint;
  39209.     if ( cName != '' )
  39210.     {
  39211.         cName = Entity.TableName+'.'+cName;
  39212.         AddName( NameList, cName, lCaseSensitive, Entity );
  39213.     }
  39214. }
  39215.  
  39216. for (i=0; i<Model.CountAlterKeys; i++)
  39217. {
  39218.     AlterKey = Model.AlterKeys( i );
  39219.     cName = AlterKey.AlterKeyName;
  39220.     if ( cName != '' )
  39221.     {
  39222.         cName = Model.GetEntity( AlterKey.EntityId ).TableName+'.'+cName;
  39223.         AddName( NameList, cName, lCaseSensitive, AlterKey );
  39224.     }
  39225. }
  39226.  
  39227. for (i=0; i<Model.CountIndexes; i++)
  39228. {
  39229.     Index = Model.Indexes( i );
  39230.     cName = Index.Name;
  39231.     if ( cName != '' )
  39232.     {
  39233.         cName = Model.GetEntity( Index.EntityId ).TableName+'.'+cName;
  39234.         AddName( NameList, cName, lCaseSensitive, Index );
  39235.     }
  39236. }
  39237.  
  39238. VerifyName( NameList, 'E_NAME_DUPL' )
  39239.  
  39240. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  39241.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  39242. }
  39243.  
  39244. //======================================================================
  39245.     
  39246. function VerifyName( NameList, cErrMessage )
  39247. {
  39248. var cErrName = '';
  39249. var cName = '';
  39250.  
  39251. NameList.Sorted = true;
  39252.  
  39253. for (i=0; i<NameList.Count; i++)
  39254.     if (cName == NameList.GetInterfaceId( i ))
  39255.     {
  39256.         cName    = NameList.GetInterfaceId( i );
  39257.         por = cName.search( /\./ );
  39258.         cName_parse = cName;
  39259.         if (por != -1)
  39260.         {
  39261.             cName_parse = cName.substr(por+1);
  39262.         }
  39263.         if (cErrName != cName)
  39264.         {
  39265.             Verify.Writeln( '' );
  39266.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cName_parse ));
  39267.             AddError( NameList.GetInterface( i-1 ), NameList.GetInterfaceId( i-1 ) );
  39268.             cErrName = cName;
  39269.         };
  39270.  
  39271.         AddError( NameList.GetInterface( i ), NameList.GetInterfaceId( i ) );
  39272.     }
  39273.     else
  39274.         cName = NameList.GetInterfaceId( i );         
  39275. };
  39276.  
  39277. //======================================================================
  39278.  
  39279. function AddName( NameList, cName, lCaseSensitive, Object )
  39280. {    
  39281. switch ( Object.InterfaceName )
  39282. {
  39283.     case 'IAttribute':
  39284.         cName = cName.replace(/%colname%/gi, Object.ColName ); // replace %colname% macros
  39285.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName ); // replace %tablename% macros
  39286.         break;
  39287.         
  39288.     case 'IEntity':
  39289.         cName = cName.replace(/%tablename%/gi, Object.TableName );
  39290.         break;
  39291.  
  39292.     case 'IRelation':
  39293.         cName = cName.replace(/%parenttablename%/gi, Model.GetEntity( Object.ParentEntityId ).TableName );
  39294.         cName = cName.replace(/%childtablename%/gi, Model.GetEntity( Object.ChildEntityId ).TableName );
  39295.         cName = cName.replace(/%relname%/gi, Object.FKConstraint );
  39296.         break;
  39297.  
  39298.     case 'IAlterKey':
  39299.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  39300.         cName = cName.replace(/%AlterKeyConstraintName%/gi, Object.AlterKeyName );
  39301.         break;
  39302.             
  39303.     case 'IIndex':
  39304.         cName = cName.replace(/%tablename%/gi, Model.GetEntity( Object.EntityId ).TableName );
  39305.         cName = cName.replace(/%indexname%/gi, Object.Name );
  39306.         break;
  39307. }
  39308.  
  39309. if ( !lCaseSensitive )
  39310.     cName = cName.toUpperCase();
  39311.  
  39312. NameList.AddInterface( cName, Object );
  39313. };
  39314.  
  39315. //======================================================================
  39316.  
  39317. function AddError( Object, cName )
  39318. {
  39319.     por = cName.search( /\./ );
  39320.     if (por != -1)
  39321.     {
  39322.         cName = cName.substr(por+1);
  39323.     }
  39324.  
  39325. switch ( Object.InterfaceName )
  39326. {
  39327.     case 'IAttribute':  //CheckConstraint (sysobjects), DefaultConstraint (sysobjects), DefObject (sysobjects), RuleObject (sysobjects), UniqueConstraint (sysindexes)
  39328.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_ATTR_ENT',0 ), Object.ColName, Model.GetEntity( Object.EntityId ).Name ) );
  39329.         break;
  39330.  
  39331.     case 'IEntity':  //PKConstraint (sysindexes), TableName (sysobjects)
  39332.         if (Object.PKConstraint==cName)
  39333.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_PK_ENT',0 ), Object.Name ) );
  39334.         else
  39335.             Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_TABLENAME_ENT',0 ), Object.Name ) );
  39336.         break;
  39337.  
  39338.     case 'IRelation': //FKConstraint (sysobjects)
  39339.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_CN_REL_ENT',0 ), Object.Name, Model.GetEntity( Object.ParentEntityId ).Name, Model.GetEntity( Object.ChildEntityId ).Name ) );
  39340.         break;
  39341.             
  39342.     case 'IAlterKey':
  39343.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ALTERKEY_ENT',0 ), Object.Name, Model.GetEntity( Object.EntityId ).Name ) );
  39344.         break;
  39345.             
  39346.     case 'IIndex':
  39347.         Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_INDEX_ENT',0 ), Model.GetEntity( Object.EntityId ).Name ) );
  39348.         break;
  39349. }
  39350. };
  39351. ]]></VALUE>
  39352. <LANGUAGE>1</LANGUAGE>
  39353. <LANGUAGEWIN>---</LANGUAGEWIN>
  39354. <CATEGORY>7</CATEGORY>
  39355. <MAINSCRIPT>0</MAINSCRIPT>
  39356. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39357. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39358. <AUTHOR></AUTHOR>
  39359. <COMPANY></COMPANY>
  39360. <VERSION></VERSION>
  39361. <CREATED><DATE>4/17/2002</DATE><TIME>13:00:49</TIME></CREATED>
  39362. <MODIFIED><DATE>5/20/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39363. </TEMPLATE>
  39364. <TEMPLATE>
  39365. <NAME>Verification</NAME>
  39366. <ID>43</ID>
  39367. <GUID>{8DBB3402-2AF9-4139-8632-FDCE3C5FD111}</GUID>
  39368. <CAPTION>Verifikace modelu</CAPTION>
  39369. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39370. <ENABLED>1</ENABLED>
  39371. <LEVEL>2</LEVEL>
  39372. <IDPARENT>0</IDPARENT>
  39373. <VALUE><![CDATA[function Main()
  39374. {
  39375. Translator.DefaultLng = 'csy';
  39376. ReadVocabulary();
  39377. Scripting.Ver_Main.VerifyMain();
  39378. }
  39379.  
  39380. //======================================================================
  39381.  
  39382. function DefineVariables()
  39383. {
  39384. Variables.DefineVariable( 'lCheckSysObjName',    'Verifikace stejn²ch nßzvu objekt∙ v tabulce sysobject',1 );
  39385. Variables.lCheckSysObjName = true;
  39386.  
  39387. Variables.DefineVariable( 'lCheckSysIndName',    'Verifikace stejn²ch nßzvu objekt∙ v tabulce sysindexes', 1 );
  39388. Variables.lCheckSysIndName = true;
  39389. };
  39390.  
  39391. //======================================================================
  39392.  
  39393. function ReadVocabulary()
  39394. {
  39395. };
  39396. ]]></VALUE>
  39397. <LANGUAGE>1</LANGUAGE>
  39398. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  39399. <CATEGORY>7</CATEGORY>
  39400. <MAINSCRIPT>1</MAINSCRIPT>
  39401. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39402. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39403. <AUTHOR></AUTHOR>
  39404. <COMPANY></COMPANY>
  39405. <VERSION></VERSION>
  39406. <CREATED><DATE>4/15/2002</DATE><TIME>13:48:46</TIME></CREATED>
  39407. <MODIFIED><DATE>5/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39408. </TEMPLATE>
  39409. <TEMPLATE>
  39410. <NAME>Ver_ASE_Dictionary</NAME>
  39411. <ID>44</ID>
  39412. <GUID>{AACC26BB-77F5-4CE9-A4D1-D7F312FB03EE}</GUID>
  39413. <CAPTION>Ver_ASE_Dictionary</CAPTION>
  39414. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39415. <ENABLED>1</ENABLED>
  39416. <LEVEL>2</LEVEL>
  39417. <IDPARENT>0</IDPARENT>
  39418. <VALUE><![CDATA[//======================================================================
  39419.  
  39420. function ReadVocabulary()
  39421. {
  39422. // Chyby
  39423. Translator.Add( 'E_NAME_DUPL',                'Duplicita nßzvu \'%s\' v' );
  39424.  
  39425. Translator.Add( 'E_CN_ATTR_ENT',                '- nßzvu constraintu v atributu \'%s\' v entit∞ \'%s\'.' );
  39426. Translator.Add( 'E_PK_ENT',                    '- nßzvu primßrnφho klφΦe v entit∞ \'%s\'.' );
  39427. Translator.Add( 'E_TABLENAME_ENT',            '- nßzvu tabulky v entit∞ \'%s\'.' );
  39428. Translator.Add( 'E_CN_REL_ENT',                '- nßzvu constraintu v relaci \'%s\' mezi entitami \'%s\' a \'%s\'.' );
  39429. Translator.Add( 'E_ALTERKEY_ENT',            '- nßzvu alternativnφho klφΦe \'%s\' v entit∞ \'%s\'.' );
  39430. Translator.Add( 'E_INDEX_ENT',                '- nßzvu indexu v entit∞ \'%s\'.' );
  39431.  
  39432. // Ostatnφ
  39433. Translator.Add( 'V_CHECK_NAME_DUPL_SO',    'Kontrola stejn²ch nßzv∙ objekt∙ v tabulce sysobjects' );
  39434. Translator.Add( 'V_CHECK_NAME_DUPL_SI',    'Kontrola stejn²ch nßzv∙ objekt∙ v tabulce sysindexes' );
  39435. };
  39436. ]]></VALUE>
  39437. <LANGUAGE>1</LANGUAGE>
  39438. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  39439. <CATEGORY>7</CATEGORY>
  39440. <MAINSCRIPT>0</MAINSCRIPT>
  39441. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  39442. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  39443. <AUTHOR></AUTHOR>
  39444. <COMPANY></COMPANY>
  39445. <VERSION></VERSION>
  39446. <CREATED><DATE>4/17/2002</DATE><TIME>15:22:46</TIME></CREATED>
  39447. <MODIFIED><DATE>5/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  39448. </TEMPLATE>
  39449. </TEMPLATES>
  39450. <VARIABLES><![CDATA[lDomainSupp  1
  39451. lAtrCheckConstraintSupp 1
  39452. lAlterKeySupp 1
  39453. lProceduresSupp 1
  39454. lViewsSupp 1
  39455. lConstraintPkSupp 1
  39456. lConstraintFkSupp 1
  39457. lAtrUniqueConstraintSupp 1
  39458. lPermissUserToRoleSupp 1
  39459. lPermissUserToObjectSupp 1
  39460. lPermissRoleToObjectSupp 1
  39461. lRoleSupp 1
  39462. lDriParUpdRestrict 1
  39463. lDriParUpdCascade 0
  39464. lDriParUpdSetNull 0
  39465. lDriParUpdSetDefault 0
  39466. lDriParDelRestrict 1
  39467. lDriParDelCascade 0
  39468. lDriParDelSetNull 0
  39469. lDriParDelSetDefault 0
  39470. lDriChildInsRestrict 0
  39471. lDriChildUpdRestrict 0
  39472. lDriParUpdRestrictSupp 1
  39473. lDriParUpdCascadeSupp 0
  39474. lDriParUpdSetNullSupp 0
  39475. lDriParUpdSetDefaultSupp 0
  39476. lDriParDelRestrictSupp 1
  39477. lDriParDelCascadeSupp 0
  39478. lDriParDelSetNullSupp 0
  39479. lDriParDelSetDefaultSupp 0
  39480. lDriChildInsRestrictSupp 0
  39481. lDriChildUpdRestrictSupp 0
  39482. lIndexDescendSupp 0
  39483. lIndexItDescendSupp 1
  39484. lIndexUpperSupp 0
  39485. lIndexExprSupp 0
  39486. lIndexUniqueSupp 1
  39487. lIndexFilterSupp 0
  39488. lIndexStandSupp 1
  39489. lIndexClusterSupp 1
  39490. lIndexNameUnique 1
  39491. lPkSupp 1
  39492. lPkNotNull 1
  39493. lDRISupp 1
  39494. lTriggerSupp 1
  39495. lAtrUniqueSupp 1
  39496. lAtrNotNullSupp 1
  39497. lAtrCheckSupp 1
  39498. lAtrDefaultSupp 1
  39499. lDomainSupp  1
  39500. lAtrCheckConstraintSupp 1
  39501. lAlterKeySupp 1
  39502. lProceduresSupp 1
  39503. lViewsSupp 1
  39504. lConstraintPkSupp 1
  39505. lConstraintFkSupp 1
  39506. lAtrUniqueConstraintSupp 1
  39507. lPermissUserToRoleSupp 1
  39508. lPermissUserToObjectSupp 1
  39509. lPermissRoleToObjectSupp 1
  39510. lRoleSupp 1
  39511. ]]></VARIABLES>
  39512. <USEREDITS>
  39513. <USEREDIT>
  39514. <NAME>lGenerOwner</NAME>
  39515. <ID>1</ID>
  39516. <GUID>{AEEB51F0-3E0D-4054-800D-3E012FC0BAB5}</GUID>
  39517. <CAPTION>Generate owner in tablename</CAPTION>
  39518. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39519. <TYPE>1</TYPE>
  39520. <LEVEL>1</LEVEL>
  39521. <DEFAULT></DEFAULT>
  39522. <ORD>0</ORD>
  39523. <LENGTH>0</LENGTH>
  39524. <ENABLED>1</ENABLED>
  39525. <ITEMS></ITEMS>
  39526. </USEREDIT>
  39527. <USEREDIT>
  39528. <NAME>IDboObj</NAME>
  39529. <ID>2</ID>
  39530. <GUID>{F5AF07A6-5005-4528-B84A-4A70F387EDF1}</GUID>
  39531. <CAPTION>Dbo Objects</CAPTION>
  39532. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39533. <TYPE>1</TYPE>
  39534. <LEVEL>1</LEVEL>
  39535. <DEFAULT></DEFAULT>
  39536. <ORD>5</ORD>
  39537. <LENGTH>0</LENGTH>
  39538. <ENABLED>1</ENABLED>
  39539. <ITEMS></ITEMS>
  39540. </USEREDIT>
  39541. <USEREDIT>
  39542. <NAME>Owner</NAME>
  39543. <ID>3</ID>
  39544. <GUID>{CFA598CC-F171-41A2-8359-943645E1CEB9}</GUID>
  39545. <CAPTION>Owner</CAPTION>
  39546. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39547. <TYPE>0</TYPE>
  39548. <LEVEL>2</LEVEL>
  39549. <DEFAULT></DEFAULT>
  39550. <ORD>0</ORD>
  39551. <LENGTH>0</LENGTH>
  39552. <ENABLED>1</ENABLED>
  39553. <ITEMS></ITEMS>
  39554. </USEREDIT>
  39555. <USEREDIT>
  39556. <NAME>lpkNonclustered</NAME>
  39557. <ID>4</ID>
  39558. <GUID>{D7F325DC-8C3D-4750-85EB-91C68020F8DB}</GUID>
  39559. <CAPTION>Primary key nonclustered</CAPTION>
  39560. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39561. <TYPE>1</TYPE>
  39562. <LEVEL>2</LEVEL>
  39563. <DEFAULT></DEFAULT>
  39564. <ORD>0</ORD>
  39565. <LENGTH>0</LENGTH>
  39566. <ENABLED>1</ENABLED>
  39567. <ITEMS></ITEMS>
  39568. </USEREDIT>
  39569. <USEREDIT>
  39570. <NAME>Identity</NAME>
  39571. <ID>5</ID>
  39572. <GUID>{066446D4-0D3B-4E8A-B249-88CBDAC05081}</GUID>
  39573. <CAPTION>Identity</CAPTION>
  39574. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39575. <TYPE>1</TYPE>
  39576. <LEVEL>3</LEVEL>
  39577. <DEFAULT>0</DEFAULT>
  39578. <ORD>4</ORD>
  39579. <LENGTH>0</LENGTH>
  39580. <ENABLED>1</ENABLED>
  39581. <ITEMS></ITEMS>
  39582. </USEREDIT>
  39583. <USEREDIT>
  39584. <NAME>UTypeOwner</NAME>
  39585. <ID>6</ID>
  39586. <GUID>{7FBBA7FE-FBB8-40BE-A422-8BE0AFDF0433}</GUID>
  39587. <CAPTION>Owner</CAPTION>
  39588. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39589. <TYPE>0</TYPE>
  39590. <LEVEL>6</LEVEL>
  39591. <DEFAULT></DEFAULT>
  39592. <ORD>1</ORD>
  39593. <LENGTH>0</LENGTH>
  39594. <ENABLED>1</ENABLED>
  39595. <ITEMS></ITEMS>
  39596. </USEREDIT>
  39597. <USEREDIT>
  39598. <NAME>LNullType</NAME>
  39599. <ID>7</ID>
  39600. <GUID>{1E34CCE5-9B39-4AC9-8DE9-EABA50AB9B3A}</GUID>
  39601. <CAPTION>Null Type 'Null'</CAPTION>
  39602. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39603. <TYPE>1</TYPE>
  39604. <LEVEL>6</LEVEL>
  39605. <DEFAULT></DEFAULT>
  39606. <ORD>2</ORD>
  39607. <LENGTH>0</LENGTH>
  39608. <ENABLED>1</ENABLED>
  39609. <ITEMS></ITEMS>
  39610. </USEREDIT>
  39611. <USEREDIT>
  39612. <NAME>UTypeDefObject</NAME>
  39613. <ID>8</ID>
  39614. <GUID>{5ABF8283-F3D1-4803-B0FB-1987BDDD4B69}</GUID>
  39615. <CAPTION>Default Object</CAPTION>
  39616. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39617. <TYPE>0</TYPE>
  39618. <LEVEL>6</LEVEL>
  39619. <DEFAULT></DEFAULT>
  39620. <ORD>3</ORD>
  39621. <LENGTH>0</LENGTH>
  39622. <ENABLED>1</ENABLED>
  39623. <ITEMS></ITEMS>
  39624. </USEREDIT>
  39625. <USEREDIT>
  39626. <NAME>UTypeRuleObject</NAME>
  39627. <ID>9</ID>
  39628. <GUID>{925625D3-E2D6-4216-9EAC-4B22AD53CE3A}</GUID>
  39629. <CAPTION>Rule Object</CAPTION>
  39630. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39631. <TYPE>0</TYPE>
  39632. <LEVEL>6</LEVEL>
  39633. <DEFAULT></DEFAULT>
  39634. <ORD>4</ORD>
  39635. <LENGTH>0</LENGTH>
  39636. <ENABLED>1</ENABLED>
  39637. <ITEMS></ITEMS>
  39638. </USEREDIT>
  39639. <USEREDIT>
  39640. <NAME>DefObject</NAME>
  39641. <ID>10</ID>
  39642. <GUID>{C7269954-6C41-428D-9C04-F603DA31F615}</GUID>
  39643. <CAPTION>Default Object</CAPTION>
  39644. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39645. <TYPE>0</TYPE>
  39646. <LEVEL>3</LEVEL>
  39647. <DEFAULT></DEFAULT>
  39648. <ORD>1</ORD>
  39649. <LENGTH>0</LENGTH>
  39650. <ENABLED>1</ENABLED>
  39651. <ITEMS></ITEMS>
  39652. </USEREDIT>
  39653. <USEREDIT>
  39654. <NAME>RuleObject</NAME>
  39655. <ID>11</ID>
  39656. <GUID>{74B86B58-973B-4811-A0F8-AC1C46848F2E}</GUID>
  39657. <CAPTION>Rule Object</CAPTION>
  39658. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39659. <TYPE>0</TYPE>
  39660. <LEVEL>3</LEVEL>
  39661. <DEFAULT></DEFAULT>
  39662. <ORD>2</ORD>
  39663. <LENGTH>0</LENGTH>
  39664. <ENABLED>1</ENABLED>
  39665. <ITEMS></ITEMS>
  39666. </USEREDIT>
  39667. <USEREDIT>
  39668. <NAME>lFunctionsGener</NAME>
  39669. <ID>12</ID>
  39670. <GUID>{4654C23A-3C36-47FB-B127-2826756F2BE3}</GUID>
  39671. <CAPTION>Generate Functions</CAPTION>
  39672. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39673. <TYPE>1</TYPE>
  39674. <LEVEL>1</LEVEL>
  39675. <DEFAULT>1</DEFAULT>
  39676. <ORD>10</ORD>
  39677. <LENGTH>0</LENGTH>
  39678. <ENABLED>1</ENABLED>
  39679. <ITEMS></ITEMS>
  39680. </USEREDIT>
  39681. <USEREDIT>
  39682. <NAME>lDropFunctionsGener</NAME>
  39683. <ID>13</ID>
  39684. <GUID>{D9A05D93-CED9-4E10-943D-4BD5E325E69A}</GUID>
  39685. <CAPTION>Drop Functions</CAPTION>
  39686. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  39687. <TYPE>1</TYPE>
  39688. <LEVEL>1</LEVEL>
  39689. <DEFAULT>1</DEFAULT>
  39690. <ORD>110</ORD>
  39691. <LENGTH>0</LENGTH>
  39692. <ENABLED>1</ENABLED>
  39693. <ITEMS></ITEMS>
  39694. </USEREDIT>
  39695. </USEREDITS>
  39696. <TYPELIST>
  39697. <TYPE>
  39698. <NAME>Char</NAME>
  39699. <ID>10</ID>
  39700. <GUID>{3CBB54E3-FFD3-4F63-B135-584D83603E41}</GUID>
  39701. <PHNAME>char</PHNAME>
  39702. <LLENGTH>1</LLENGTH>
  39703. <LDECIMAL>0</LDECIMAL>
  39704. <MAXLENGTH>16384</MAXLENGTH>
  39705. <MINLENGTH>1</MINLENGTH>
  39706. <MAXDECIMAL>0</MAXDECIMAL>
  39707. <MINDECIMAL>0</MINDECIMAL>
  39708. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  39709. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39710. <TRANSFORMCODE>A</TRANSFORMCODE>
  39711. <TRANSFORMTO>A;LA;VA;LVA;</TRANSFORMTO>
  39712. <EXPORTTO>0</EXPORTTO>
  39713. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39714. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39715. </TYPE>
  39716. <TYPE>
  39717. <NAME>Binary</NAME>
  39718. <ID>20</ID>
  39719. <GUID>{88EF517F-7983-41F4-9318-D7C2E23E680F}</GUID>
  39720. <PHNAME>binary</PHNAME>
  39721. <LLENGTH>1</LLENGTH>
  39722. <LDECIMAL>0</LDECIMAL>
  39723. <MAXLENGTH>16384</MAXLENGTH>
  39724. <MINLENGTH>1</MINLENGTH>
  39725. <MAXDECIMAL>0</MAXDECIMAL>
  39726. <MINDECIMAL>0</MINDECIMAL>
  39727. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  39728. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39729. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  39730. <TRANSFORMTO>BIN;LBIN;BLOB;A;LA;VA;LVA;</TRANSFORMTO>
  39731. <EXPORTTO>0</EXPORTTO>
  39732. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39733. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39734. </TYPE>
  39735. <TYPE>
  39736. <NAME>Bit</NAME>
  39737. <ID>30</ID>
  39738. <GUID>{C90706D4-8E9E-410B-B4EE-45297BDC0746}</GUID>
  39739. <PHNAME>bit</PHNAME>
  39740. <LLENGTH>0</LLENGTH>
  39741. <LDECIMAL>0</LDECIMAL>
  39742. <MAXLENGTH>0</MAXLENGTH>
  39743. <MINLENGTH>0</MINLENGTH>
  39744. <MAXDECIMAL>0</MAXDECIMAL>
  39745. <MINDECIMAL>0</MINDECIMAL>
  39746. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39747. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39748. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  39749. <TRANSFORMTO>BIT;BL;A,1;</TRANSFORMTO>
  39750. <EXPORTTO>0</EXPORTTO>
  39751. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39752. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39753. </TYPE>
  39754. <TYPE>
  39755. <NAME>DateTime</NAME>
  39756. <ID>40</ID>
  39757. <GUID>{0C215043-1828-4460-86A0-C36378973695}</GUID>
  39758. <PHNAME>datetime</PHNAME>
  39759. <LLENGTH>0</LLENGTH>
  39760. <LDECIMAL>0</LDECIMAL>
  39761. <MAXLENGTH>0</MAXLENGTH>
  39762. <MINLENGTH>0</MINLENGTH>
  39763. <MAXDECIMAL>0</MAXDECIMAL>
  39764. <MINDECIMAL>0</MINDECIMAL>
  39765. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39766. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39767. <TRANSFORMCODE>DT</TRANSFORMCODE>
  39768. <TRANSFORMTO>DT;D;A;</TRANSFORMTO>
  39769. <EXPORTTO>0</EXPORTTO>
  39770. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39771. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39772. </TYPE>
  39773. <TYPE>
  39774. <NAME>Decimal</NAME>
  39775. <ID>50</ID>
  39776. <GUID>{9C3CEF2B-E9C3-4EED-AEF6-38B64156041A}</GUID>
  39777. <PHNAME>decimal</PHNAME>
  39778. <LLENGTH>1</LLENGTH>
  39779. <LDECIMAL>1</LDECIMAL>
  39780. <MAXLENGTH>38</MAXLENGTH>
  39781. <MINLENGTH>1</MINLENGTH>
  39782. <MAXDECIMAL>38</MAXDECIMAL>
  39783. <MINDECIMAL>0</MINDECIMAL>
  39784. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  39785. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39786. <TRANSFORMCODE>DC</TRANSFORMCODE>
  39787. <TRANSFORMTO>DC;N,15,5;F;</TRANSFORMTO>
  39788. <EXPORTTO>0</EXPORTTO>
  39789. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39790. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39791. </TYPE>
  39792. <TYPE>
  39793. <NAME>Float</NAME>
  39794. <ID>60</ID>
  39795. <GUID>{6AB1B22A-C573-4EAD-AFFB-58F31025EF53}</GUID>
  39796. <PHNAME>float</PHNAME>
  39797. <LLENGTH>0</LLENGTH>
  39798. <LDECIMAL>0</LDECIMAL>
  39799. <MAXLENGTH>0</MAXLENGTH>
  39800. <MINLENGTH>0</MINLENGTH>
  39801. <MAXDECIMAL>0</MAXDECIMAL>
  39802. <MINDECIMAL>0</MINDECIMAL>
  39803. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39804. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39805. <TRANSFORMCODE>F</TRANSFORMCODE>
  39806. <TRANSFORMTO>F;LF;N,15,5;</TRANSFORMTO>
  39807. <EXPORTTO>0</EXPORTTO>
  39808. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39809. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39810. </TYPE>
  39811. <TYPE>
  39812. <NAME>Image</NAME>
  39813. <ID>70</ID>
  39814. <GUID>{BF8FB354-7729-4891-875A-A0A28567C40D}</GUID>
  39815. <PHNAME>image</PHNAME>
  39816. <LLENGTH>0</LLENGTH>
  39817. <LDECIMAL>0</LDECIMAL>
  39818. <MAXLENGTH>0</MAXLENGTH>
  39819. <MINLENGTH>0</MINLENGTH>
  39820. <MAXDECIMAL>0</MAXDECIMAL>
  39821. <MINDECIMAL>0</MINDECIMAL>
  39822. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39823. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39824. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  39825. <TRANSFORMTO>PIC;LBIN;BIN;BLOB;</TRANSFORMTO>
  39826. <EXPORTTO>0</EXPORTTO>
  39827. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39828. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39829. </TYPE>
  39830. <TYPE>
  39831. <NAME>Integer</NAME>
  39832. <ID>80</ID>
  39833. <GUID>{E18A2E6D-7A68-494B-9E44-38F84997BA77}</GUID>
  39834. <PHNAME>integer</PHNAME>
  39835. <LLENGTH>0</LLENGTH>
  39836. <LDECIMAL>0</LDECIMAL>
  39837. <MAXLENGTH>0</MAXLENGTH>
  39838. <MINLENGTH>0</MINLENGTH>
  39839. <MAXDECIMAL>0</MAXDECIMAL>
  39840. <MINDECIMAL>0</MINDECIMAL>
  39841. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39842. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39843. <TRANSFORMCODE>I</TRANSFORMCODE>
  39844. <TRANSFORMTO>I;BI;N,10,0;LF;F;</TRANSFORMTO>
  39845. <EXPORTTO>0</EXPORTTO>
  39846. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39847. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39848. </TYPE>
  39849. <TYPE>
  39850. <NAME>Money</NAME>
  39851. <ID>90</ID>
  39852. <GUID>{0919B393-5B50-4599-947C-0B3C922E5189}</GUID>
  39853. <PHNAME>money</PHNAME>
  39854. <LLENGTH>0</LLENGTH>
  39855. <LDECIMAL>0</LDECIMAL>
  39856. <MAXLENGTH>0</MAXLENGTH>
  39857. <MINLENGTH>0</MINLENGTH>
  39858. <MAXDECIMAL>0</MAXDECIMAL>
  39859. <MINDECIMAL>0</MINDECIMAL>
  39860. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39861. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39862. <TRANSFORMCODE>MN</TRANSFORMCODE>
  39863. <TRANSFORMTO>MN;F;N,15,2;</TRANSFORMTO>
  39864. <EXPORTTO>0</EXPORTTO>
  39865. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39866. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39867. </TYPE>
  39868. <TYPE>
  39869. <NAME>NChar</NAME>
  39870. <ID>100</ID>
  39871. <GUID>{279AD29E-FCF9-45CE-884D-7DAC6024CC8B}</GUID>
  39872. <PHNAME>nchar</PHNAME>
  39873. <LLENGTH>1</LLENGTH>
  39874. <LDECIMAL>0</LDECIMAL>
  39875. <MAXLENGTH>16384</MAXLENGTH>
  39876. <MINLENGTH>1</MINLENGTH>
  39877. <MAXDECIMAL>0</MAXDECIMAL>
  39878. <MINDECIMAL>0</MINDECIMAL>
  39879. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  39880. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39881. <TRANSFORMCODE>NA</TRANSFORMCODE>
  39882. <TRANSFORMTO>NA;NVA;A;LA;VA;LVA;</TRANSFORMTO>
  39883. <EXPORTTO>0</EXPORTTO>
  39884. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39885. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39886. </TYPE>
  39887. <TYPE>
  39888. <NAME>Numeric</NAME>
  39889. <ID>110</ID>
  39890. <GUID>{D6C9DDF7-80F9-45D4-818E-2AF8637165EA}</GUID>
  39891. <PHNAME>numeric</PHNAME>
  39892. <LLENGTH>1</LLENGTH>
  39893. <LDECIMAL>1</LDECIMAL>
  39894. <MAXLENGTH>38</MAXLENGTH>
  39895. <MINLENGTH>1</MINLENGTH>
  39896. <MAXDECIMAL>38</MAXDECIMAL>
  39897. <MINDECIMAL>0</MINDECIMAL>
  39898. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  39899. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39900. <TRANSFORMCODE>N</TRANSFORMCODE>
  39901. <TRANSFORMTO>N;DC;LF;F;</TRANSFORMTO>
  39902. <EXPORTTO>0</EXPORTTO>
  39903. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39904. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39905. </TYPE>
  39906. <TYPE>
  39907. <NAME>NVarChar</NAME>
  39908. <ID>120</ID>
  39909. <GUID>{E02641B4-3197-4B23-9453-38BB135A97AC}</GUID>
  39910. <PHNAME>nvarchar</PHNAME>
  39911. <LLENGTH>1</LLENGTH>
  39912. <LDECIMAL>0</LDECIMAL>
  39913. <MAXLENGTH>16384</MAXLENGTH>
  39914. <MINLENGTH>1</MINLENGTH>
  39915. <MAXDECIMAL>0</MAXDECIMAL>
  39916. <MINDECIMAL>0</MINDECIMAL>
  39917. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  39918. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39919. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  39920. <TRANSFORMTO>NVA;LVA;NA;A;LA;</TRANSFORMTO>
  39921. <EXPORTTO>0</EXPORTTO>
  39922. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39923. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39924. </TYPE>
  39925. <TYPE>
  39926. <NAME>Real</NAME>
  39927. <ID>130</ID>
  39928. <GUID>{11117469-C83C-4AC1-ADA1-F6A64138239F}</GUID>
  39929. <PHNAME>real</PHNAME>
  39930. <LLENGTH>0</LLENGTH>
  39931. <LDECIMAL>0</LDECIMAL>
  39932. <MAXLENGTH>0</MAXLENGTH>
  39933. <MINLENGTH>0</MINLENGTH>
  39934. <MAXDECIMAL>0</MAXDECIMAL>
  39935. <MINDECIMAL>0</MINDECIMAL>
  39936. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39937. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39938. <TRANSFORMCODE>R</TRANSFORMCODE>
  39939. <TRANSFORMTO>R;F;LF;N,15,5;</TRANSFORMTO>
  39940. <EXPORTTO>0</EXPORTTO>
  39941. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39942. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39943. </TYPE>
  39944. <TYPE>
  39945. <NAME>SmallDateTime</NAME>
  39946. <ID>140</ID>
  39947. <GUID>{6AEEC1B8-45FB-44C1-B20E-308252B3E95F}</GUID>
  39948. <PHNAME>smalldatetime</PHNAME>
  39949. <LLENGTH>0</LLENGTH>
  39950. <LDECIMAL>0</LDECIMAL>
  39951. <MAXLENGTH>0</MAXLENGTH>
  39952. <MINLENGTH>0</MINLENGTH>
  39953. <MAXDECIMAL>0</MAXDECIMAL>
  39954. <MINDECIMAL>0</MINDECIMAL>
  39955. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39956. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39957. <TRANSFORMCODE>SDT</TRANSFORMCODE>
  39958. <TRANSFORMTO>SDT;DT;D;</TRANSFORMTO>
  39959. <EXPORTTO>0</EXPORTTO>
  39960. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39961. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39962. </TYPE>
  39963. <TYPE>
  39964. <NAME>TimeStamp</NAME>
  39965. <ID>145</ID>
  39966. <GUID>{C478593A-5168-4C70-968C-65B86610EB90}</GUID>
  39967. <PHNAME>timestamp</PHNAME>
  39968. <LLENGTH>0</LLENGTH>
  39969. <LDECIMAL>0</LDECIMAL>
  39970. <MAXLENGTH>0</MAXLENGTH>
  39971. <MINLENGTH>0</MINLENGTH>
  39972. <MAXDECIMAL>0</MAXDECIMAL>
  39973. <MINDECIMAL>0</MINDECIMAL>
  39974. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39975. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39976. <TRANSFORMCODE>TS</TRANSFORMCODE>
  39977. <TRANSFORMTO>TS;DT;D;A;</TRANSFORMTO>
  39978. <EXPORTTO>0</EXPORTTO>
  39979. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39980. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  39981. </TYPE>
  39982. <TYPE>
  39983. <NAME>SmallInt</NAME>
  39984. <ID>150</ID>
  39985. <GUID>{ADA99E79-8261-4BCF-B192-8609DE60E4A0}</GUID>
  39986. <PHNAME>smallint</PHNAME>
  39987. <LLENGTH>0</LLENGTH>
  39988. <LDECIMAL>0</LDECIMAL>
  39989. <MAXLENGTH>0</MAXLENGTH>
  39990. <MINLENGTH>0</MINLENGTH>
  39991. <MAXDECIMAL>0</MAXDECIMAL>
  39992. <MINDECIMAL>0</MINDECIMAL>
  39993. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  39994. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  39995. <TRANSFORMCODE>SI</TRANSFORMCODE>
  39996. <TRANSFORMTO>SI;I;MI;LI;N,4,0;</TRANSFORMTO>
  39997. <EXPORTTO>0</EXPORTTO>
  39998. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  39999. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40000. </TYPE>
  40001. <TYPE>
  40002. <NAME>SmallMoney</NAME>
  40003. <ID>160</ID>
  40004. <GUID>{45725304-92FF-4461-839C-19D072EA3FFA}</GUID>
  40005. <PHNAME>smallmoney</PHNAME>
  40006. <LLENGTH>0</LLENGTH>
  40007. <LDECIMAL>0</LDECIMAL>
  40008. <MAXLENGTH>0</MAXLENGTH>
  40009. <MINLENGTH>0</MINLENGTH>
  40010. <MAXDECIMAL>0</MAXDECIMAL>
  40011. <MINDECIMAL>0</MINDECIMAL>
  40012. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  40013. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40014. <TRANSFORMCODE>SMN</TRANSFORMCODE>
  40015. <TRANSFORMTO>SMN;MN;F;N,10,2;</TRANSFORMTO>
  40016. <EXPORTTO>0</EXPORTTO>
  40017. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40018. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40019. </TYPE>
  40020. <TYPE>
  40021. <NAME>Text</NAME>
  40022. <ID>170</ID>
  40023. <GUID>{B13007EE-3365-4310-88CC-6F59C8717A78}</GUID>
  40024. <PHNAME>text</PHNAME>
  40025. <LLENGTH>0</LLENGTH>
  40026. <LDECIMAL>0</LDECIMAL>
  40027. <MAXLENGTH>0</MAXLENGTH>
  40028. <MINLENGTH>0</MINLENGTH>
  40029. <MAXDECIMAL>0</MAXDECIMAL>
  40030. <MINDECIMAL>0</MINDECIMAL>
  40031. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  40032. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40033. <TRANSFORMCODE>31CLOB</TRANSFORMCODE>
  40034. <TRANSFORMTO>31CLOB;LBIN;LCLOB;</TRANSFORMTO>
  40035. <EXPORTTO>0</EXPORTTO>
  40036. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40037. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40038. </TYPE>
  40039. <TYPE>
  40040. <NAME>TinyInt</NAME>
  40041. <ID>180</ID>
  40042. <GUID>{54989B3F-9FDE-4BA5-8953-01992E54DFE4}</GUID>
  40043. <PHNAME>tinyint</PHNAME>
  40044. <LLENGTH>0</LLENGTH>
  40045. <LDECIMAL>0</LDECIMAL>
  40046. <MAXLENGTH>0</MAXLENGTH>
  40047. <MINLENGTH>0</MINLENGTH>
  40048. <MAXDECIMAL>0</MAXDECIMAL>
  40049. <MINDECIMAL>0</MINDECIMAL>
  40050. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  40051. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40052. <TRANSFORMCODE>TI</TRANSFORMCODE>
  40053. <TRANSFORMTO>TI;SI;MI;I;N,3,0;</TRANSFORMTO>
  40054. <EXPORTTO>0</EXPORTTO>
  40055. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40056. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40057. </TYPE>
  40058. <TYPE>
  40059. <NAME>VarBinary</NAME>
  40060. <ID>190</ID>
  40061. <GUID>{8F92C26A-F1E4-49EA-909B-FE56D122B199}</GUID>
  40062. <PHNAME>varbinary</PHNAME>
  40063. <LLENGTH>1</LLENGTH>
  40064. <LDECIMAL>0</LDECIMAL>
  40065. <MAXLENGTH>16384</MAXLENGTH>
  40066. <MINLENGTH>1</MINLENGTH>
  40067. <MAXDECIMAL>0</MAXDECIMAL>
  40068. <MINDECIMAL>0</MINDECIMAL>
  40069. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  40070. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40071. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  40072. <TRANSFORMTO>LBIN;BIN;BLOB;</TRANSFORMTO>
  40073. <EXPORTTO>0</EXPORTTO>
  40074. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40075. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40076. </TYPE>
  40077. <TYPE>
  40078. <NAME>VarChar</NAME>
  40079. <ID>200</ID>
  40080. <GUID>{98794FF0-4032-43BC-BA47-0D61F91C3B15}</GUID>
  40081. <PHNAME>varchar</PHNAME>
  40082. <LLENGTH>1</LLENGTH>
  40083. <LDECIMAL>0</LDECIMAL>
  40084. <MAXLENGTH>16384</MAXLENGTH>
  40085. <MINLENGTH>1</MINLENGTH>
  40086. <MAXDECIMAL>0</MAXDECIMAL>
  40087. <MINDECIMAL>0</MINDECIMAL>
  40088. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  40089. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40090. <TRANSFORMCODE>VA</TRANSFORMCODE>
  40091. <TRANSFORMTO>VA;LVA;A;LA;</TRANSFORMTO>
  40092. <EXPORTTO>0</EXPORTTO>
  40093. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40094. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40095. </TYPE>
  40096. <TYPE>
  40097. <NAME>UniChar</NAME>
  40098. <ID>210</ID>
  40099. <GUID>{D71AF933-C635-42F8-A7AC-875FC0B3E6C2}</GUID>
  40100. <PHNAME>unichar</PHNAME>
  40101. <LLENGTH>1</LLENGTH>
  40102. <LDECIMAL>0</LDECIMAL>
  40103. <MAXLENGTH>16384</MAXLENGTH>
  40104. <MINLENGTH>1</MINLENGTH>
  40105. <MAXDECIMAL>0</MAXDECIMAL>
  40106. <MINDECIMAL>0</MINDECIMAL>
  40107. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  40108. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40109. <TRANSFORMCODE>UA</TRANSFORMCODE>
  40110. <TRANSFORMTO>UA;A;</TRANSFORMTO>
  40111. <EXPORTTO>0</EXPORTTO>
  40112. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40113. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40114. </TYPE>
  40115. <TYPE>
  40116. <NAME>UniVarChar</NAME>
  40117. <ID>220</ID>
  40118. <GUID>{4016AC4D-B8B4-495F-AF37-7A1BE6104FF4}</GUID>
  40119. <PHNAME>univarchar</PHNAME>
  40120. <LLENGTH>1</LLENGTH>
  40121. <LDECIMAL>0</LDECIMAL>
  40122. <MAXLENGTH>16384</MAXLENGTH>
  40123. <MINLENGTH>1</MINLENGTH>
  40124. <MAXDECIMAL>0</MAXDECIMAL>
  40125. <MINDECIMAL>0</MINDECIMAL>
  40126. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  40127. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40128. <TRANSFORMCODE>UVA</TRANSFORMCODE>
  40129. <TRANSFORMTO>UVA;VA;</TRANSFORMTO>
  40130. <EXPORTTO>0</EXPORTTO>
  40131. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40132. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40133. </TYPE>
  40134. <TYPE>
  40135. <NAME>SysName</NAME>
  40136. <ID>230</ID>
  40137. <GUID>{B8CCB116-1683-41B0-9D33-28DD3DF28F38}</GUID>
  40138. <PHNAME>sysname</PHNAME>
  40139. <LLENGTH>0</LLENGTH>
  40140. <LDECIMAL>0</LDECIMAL>
  40141. <MAXLENGTH>0</MAXLENGTH>
  40142. <MINLENGTH>0</MINLENGTH>
  40143. <MAXDECIMAL>0</MAXDECIMAL>
  40144. <MINDECIMAL>0</MINDECIMAL>
  40145. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  40146. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40147. <TRANSFORMCODE>*SYSN</TRANSFORMCODE>
  40148. <TRANSFORMTO>*SYSN;VA,30;LVA,30;A,30;LA,30;</TRANSFORMTO>
  40149. <EXPORTTO>0</EXPORTTO>
  40150. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40151. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40152. </TYPE>
  40153. <TYPE>
  40154. <NAME>Double Precision</NAME>
  40155. <ID>240</ID>
  40156. <GUID>{36B8678E-8DCE-47A3-829E-28983C9A39C3}</GUID>
  40157. <PHNAME>double precision</PHNAME>
  40158. <LLENGTH>0</LLENGTH>
  40159. <LDECIMAL>0</LDECIMAL>
  40160. <MAXLENGTH>0</MAXLENGTH>
  40161. <MINLENGTH>0</MINLENGTH>
  40162. <MAXDECIMAL>0</MAXDECIMAL>
  40163. <MINDECIMAL>0</MINDECIMAL>
  40164. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  40165. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40166. <TRANSFORMCODE>LF</TRANSFORMCODE>
  40167. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  40168. <EXPORTTO>0</EXPORTTO>
  40169. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40170. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40171. </TYPE>
  40172. <TYPE>
  40173. <NAME>Float(n)</NAME>
  40174. <ID>250</ID>
  40175. <GUID>{B0FEB336-5B38-4B3F-A3A9-BD6C6F30EC36}</GUID>
  40176. <PHNAME>float</PHNAME>
  40177. <LLENGTH>1</LLENGTH>
  40178. <LDECIMAL>0</LDECIMAL>
  40179. <MAXLENGTH>48</MAXLENGTH>
  40180. <MINLENGTH>1</MINLENGTH>
  40181. <MAXDECIMAL>0</MAXDECIMAL>
  40182. <MINDECIMAL>0</MINDECIMAL>
  40183. <DEFAULTLENGTH>16</DEFAULTLENGTH>
  40184. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  40185. <TRANSFORMCODE>LF</TRANSFORMCODE>
  40186. <TRANSFORMTO>LF;F;N,15,5;</TRANSFORMTO>
  40187. <EXPORTTO>0</EXPORTTO>
  40188. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  40189. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  40190. </TYPE>
  40191. </TYPELIST>
  40192. <TEXTOBJECTTYPES>
  40193. <TEXTOBJECTTYPE>
  40194. <NAME>Functions</NAME>
  40195. <ID>1</ID>
  40196. <GUID>{4F15CE42-D78E-4A5A-AE87-F44D40A777D5}</GUID>
  40197. <TEXTOBJECTTYPE>10</TEXTOBJECTTYPE>
  40198. <DEFAULTNAME>Function%d"</DEFAULTNAME>
  40199. </TEXTOBJECTTYPE>
  40200. </TEXTOBJECTTYPES>
  40201. <DISABLED>0</DISABLED>
  40202. <MAXLENGTHTABLENAME>30</MAXLENGTHTABLENAME>
  40203. <MAXLENGTHCOLNAME>30</MAXLENGTHCOLNAME>
  40204. <MAXLENGTHINDEXNAME>30</MAXLENGTHINDEXNAME>
  40205. <DEFAULTCHAR>_</DEFAULTCHAR>
  40206. <INVALIDCHARACTERS>"#$!%*.^&</INVALIDCHARACTERS>
  40207. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  40208. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  40209. <DEFAULTFOREIGNKEYNAME></DEFAULTFOREIGNKEYNAME>
  40210. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  40211. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40212. <KEYWORDS><![CDATA[add
  40213. all
  40214. alter
  40215. and
  40216. any
  40217. arith_overflow
  40218. as
  40219. asc
  40220. at
  40221. authorization
  40222. avg
  40223. begin
  40224. between
  40225. break
  40226. browse
  40227. bulk
  40228. by
  40229. cascade
  40230. case
  40231. char_convert
  40232. check
  40233. checkpoint
  40234. close
  40235. clustered
  40236. coalesce
  40237. commit
  40238. computeconfirm
  40239. connect
  40240. constraint
  40241. continue
  40242. controlrow
  40243. convert
  40244. count
  40245. create
  40246. current
  40247. cursor
  40248. database
  40249. dbcc
  40250. deallocate
  40251. declare
  40252. default
  40253. delete
  40254. desc
  40255. deterministic
  40256. disk
  40257. distinct
  40258. double
  40259. drop
  40260. dummy
  40261. dump
  40262. else
  40263. end
  40264. endtran
  40265. errlvl
  40266. errordata
  40267. errorexit
  40268. escape
  40269. except
  40270. exclusive
  40271. exec
  40272. execute
  40273. exists
  40274. exit
  40275. exp_row_size
  40276. external
  40277. fetch
  40278. fillfactor
  40279. for
  40280. foreign
  40281. from
  40282. func
  40283. function
  40284. goto
  40285. grant
  40286. group
  40287. having
  40288. holdlock
  40289. identity
  40290. identity_gap
  40291. identity_insert
  40292. identity_start
  40293. if
  40294. in
  40295. index
  40296. inout
  40297. insert
  40298. install
  40299. intersect
  40300. into
  40301. is
  40302. isolation
  40303. jar
  40304. join
  40305. key
  40306. kill
  40307. level
  40308. like
  40309. lineno
  40310. load
  40311. lock
  40312. max
  40313. max_rows_per_page
  40314. min
  40315. mirror
  40316. mirrorexit
  40317. modify
  40318. national
  40319. new
  40320. noholdlock
  40321. nonclustered
  40322. not
  40323. null
  40324. nullif
  40325. numeric_truncation
  40326. of
  40327. off
  40328. offsets
  40329. on
  40330. once
  40331. online
  40332. only
  40333. open
  40334. option
  40335. or
  40336. order
  40337. out
  40338. output
  40339. over
  40340. partition
  40341. perm
  40342. permanent
  40343. plan
  40344. precision
  40345. prepare
  40346. primary
  40347. print
  40348. privileges
  40349. proc
  40350. procedure
  40351. processexit
  40352. proxy_table
  40353. public
  40354. quiesce
  40355. raiserror
  40356. read
  40357. readpast
  40358. readtext
  40359. reconfigure
  40360. references
  40361. remove
  40362. reorg
  40363. replace
  40364. replication
  40365. reservepagegap
  40366. return
  40367. returns
  40368. revoke
  40369. role
  40370. rollback
  40371. rowcount
  40372. rows
  40373. rule
  40374. save
  40375. schema
  40376. select
  40377. set
  40378. setuser
  40379. shared
  40380. shutdown
  40381. some
  40382. statistics
  40383. stringsize
  40384. stripe
  40385. sum
  40386. syb_identity
  40387. syb_restree
  40388. syb_terminate
  40389. table
  40390. temp
  40391. temporary
  40392. textsize
  40393. to
  40394. tran
  40395. transaction
  40396. trigger
  40397. truncate
  40398. tsequal
  40399. union
  40400. unique
  40401. unpartition
  40402. update
  40403. use
  40404. user
  40405. user_option
  40406. using
  40407. values
  40408. varying
  40409. view
  40410. waitfor
  40411. when
  40412. where
  40413. while
  40414. with
  40415. work
  40416. writetext
  40417. ]]></KEYWORDS>
  40418. </SERVER>
  40419. <SYSTEM>
  40420. <TEMPLATES>
  40421. <TEMPLATE>
  40422. <NAME>CreateTableOthers</NAME>
  40423. <ID>1</ID>
  40424. <GUID>{84D48E2E-2896-4187-B650-8DF8DCD7CBCB}</GUID>
  40425. <CAPTION>CreateTableOthers</CAPTION>
  40426. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40427. <ENABLED>1</ENABLED>
  40428. <LEVEL>0</LEVEL>
  40429. <IDPARENT>0</IDPARENT>
  40430. <VALUE><![CDATA[@ForTable("","",EntityOthers,"","")
  40431. ]]></VALUE>
  40432. <LANGUAGE>0</LANGUAGE>
  40433. <LANGUAGEWIN>---</LANGUAGEWIN>
  40434. <CATEGORY>2</CATEGORY>
  40435. <MAINSCRIPT>0</MAINSCRIPT>
  40436. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40437. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40438. <AUTHOR></AUTHOR>
  40439. <COMPANY></COMPANY>
  40440. <VERSION></VERSION>
  40441. <CREATED><DATE>7/26/2002</DATE><TIME>14:14:54</TIME></CREATED>
  40442. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  40443. </TEMPLATE>
  40444. <TEMPLATE>
  40445. <NAME>CreateDatabase</NAME>
  40446. <ID>2</ID>
  40447. <GUID>{3D59DCFA-5441-4ED5-B522-1D9794908E40}</GUID>
  40448. <CAPTION></CAPTION>
  40449. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40450. <ENABLED>1</ENABLED>
  40451. <LEVEL>0</LEVEL>
  40452. <IDPARENT>0</IDPARENT>
  40453. <VALUE><![CDATA[/*
  40454. Created        %createddate%
  40455. Modified        %modifieddate%
  40456. Project        %projectname%
  40457. Model        %modelname%
  40458. Company        %company%
  40459. Author        %authorname%
  40460. Version        %version%
  40461. Database        %databasetype% 
  40462. */
  40463.  
  40464. {lbeforescript}
  40465. %beforescript%
  40466. {ldroptriggerGener}
  40467. @showmessage("Drop triggers")
  40468. @template(DropTriggers)
  40469. {lDropTriggersListGener}
  40470. @template(DropTriggersList)
  40471. {lDropProceduresGener}
  40472. @showmessage("Drop procedures")
  40473. @template(DropProcedures)
  40474. {lDropViewsGener}
  40475. @showmessage("Drop views")
  40476. @template(DropViews)
  40477. {lDropIndexGener}
  40478. @showmessage("Drop indexes")
  40479. @template(DropIndexs)
  40480. {lDropTableGener}
  40481. @showmessage("Drop tables")
  40482. @template(DropRefIntegritys)
  40483. @template(DropTables)
  40484. {lTableGener}
  40485. @showmessage("Create tables")
  40486. @template(CreateTables)
  40487. {lEntityOthers}
  40488. @showmessage("Create tab 'Others' for selected tables")
  40489. @template(CreateTableOthers)
  40490. {lalterkeysgener}
  40491. @showmessage("Create alter keys")
  40492. @template(CreateAlterKeys)
  40493. {lIndexGener}
  40494. @showmessage("Create indexes")
  40495. @template(CreateIndexs)
  40496. {lRefIntegGener}
  40497. @showmessage("Create referential integrity")
  40498. @template(RefIntegritys)
  40499. {lProceduresGener}
  40500. @showmessage("Create procedures")
  40501. @template(CreateProcedures)
  40502. {lViewsGener}
  40503. @showmessage("Create views")
  40504. @template(CreateViews)
  40505. {lTriggersGener}
  40506. @showmessage("Create triggers for referential integrity")
  40507. @template(CreateTriggers)
  40508. {lTriggersUserGener}
  40509. @showmessage("Create user-defined triggers")
  40510. @template(CreateTriggersList)
  40511. {lRoleGener}
  40512. @showmessage("Create roles")
  40513. @template(CreateRole)
  40514. {lUserToRoleGener}
  40515. @ShowMessage("Create users permissions to roles")
  40516. @template(GrantUserToRole)
  40517. {lRolePermissGener}
  40518. @ShowMessage("Create roles permissions")
  40519. @template(CreateRolePermiss)
  40520. {lUserPermissGener}
  40521. @ShowMessage("Create users permissions")
  40522. @template(CreateUserPermiss)
  40523. {lafterscript}
  40524. %afterscript%
  40525. {true}
  40526. @template(UserTempl)
  40527.  
  40528. ]]></VALUE>
  40529. <LANGUAGE>0</LANGUAGE>
  40530. <LANGUAGEWIN>---</LANGUAGEWIN>
  40531. <CATEGORY>2</CATEGORY>
  40532. <MAINSCRIPT>0</MAINSCRIPT>
  40533. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40534. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40535. <AUTHOR></AUTHOR>
  40536. <COMPANY></COMPANY>
  40537. <VERSION></VERSION>
  40538. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40539. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  40540. </TEMPLATE>
  40541. <TEMPLATE>
  40542. <NAME>CreateTables</NAME>
  40543. <ID>3</ID>
  40544. <GUID>{7896C862-A774-4D2A-A53E-B55177E81C34}</GUID>
  40545. <CAPTION></CAPTION>
  40546. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40547. <ENABLED>1</ENABLED>
  40548. <LEVEL>0</LEVEL>
  40549. <IDPARENT>0</IDPARENT>
  40550. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  40551. ]]></VALUE>
  40552. <LANGUAGE>0</LANGUAGE>
  40553. <LANGUAGEWIN>---</LANGUAGEWIN>
  40554. <CATEGORY>2</CATEGORY>
  40555. <MAINSCRIPT>0</MAINSCRIPT>
  40556. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40557. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40558. <AUTHOR></AUTHOR>
  40559. <COMPANY></COMPANY>
  40560. <VERSION></VERSION>
  40561. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40562. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40563. </TEMPLATE>
  40564. <TEMPLATE>
  40565. <NAME>CreateIndexs</NAME>
  40566. <ID>4</ID>
  40567. <GUID>{80D78FC4-4BA8-4359-A434-7E0A28EF4DBB}</GUID>
  40568. <CAPTION></CAPTION>
  40569. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40570. <ENABLED>1</ENABLED>
  40571. <LEVEL>0</LEVEL>
  40572. <IDPARENT>0</IDPARENT>
  40573. <VALUE><![CDATA[@fortable("","",forindex("", "", macro(createindex), "", "" ),"","")
  40574. ]]></VALUE>
  40575. <LANGUAGE>0</LANGUAGE>
  40576. <LANGUAGEWIN>---</LANGUAGEWIN>
  40577. <CATEGORY>2</CATEGORY>
  40578. <MAINSCRIPT>0</MAINSCRIPT>
  40579. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40580. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40581. <AUTHOR></AUTHOR>
  40582. <COMPANY></COMPANY>
  40583. <VERSION></VERSION>
  40584. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40585. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40586. </TEMPLATE>
  40587. <TEMPLATE>
  40588. <NAME>DropTriggers</NAME>
  40589. <ID>5</ID>
  40590. <GUID>{73A73EDB-4301-4B7A-94D6-A092E797DC27}</GUID>
  40591. <CAPTION></CAPTION>
  40592. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40593. <ENABLED>1</ENABLED>
  40594. <LEVEL>0</LEVEL>
  40595. <IDPARENT>0</IDPARENT>
  40596. <VALUE><![CDATA[@fortable("", "", template(droptriggerupdate), "", "")
  40597. @fortable("", "", template(droptriggerdelete), "", "")
  40598. @fortable("", "", template(droptriggerinsert), "", "")
  40599. ]]></VALUE>
  40600. <LANGUAGE>0</LANGUAGE>
  40601. <LANGUAGEWIN>---</LANGUAGEWIN>
  40602. <CATEGORY>2</CATEGORY>
  40603. <MAINSCRIPT>0</MAINSCRIPT>
  40604. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40605. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40606. <AUTHOR></AUTHOR>
  40607. <COMPANY></COMPANY>
  40608. <VERSION></VERSION>
  40609. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40610. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40611. </TEMPLATE>
  40612. <TEMPLATE>
  40613. <NAME>CreateProcedures</NAME>
  40614. <ID>6</ID>
  40615. <GUID>{4907325D-FE04-4161-8EE6-22DDE61F79CA}</GUID>
  40616. <CAPTION></CAPTION>
  40617. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40618. <ENABLED>1</ENABLED>
  40619. <LEVEL>0</LEVEL>
  40620. <IDPARENT>0</IDPARENT>
  40621. <VALUE><![CDATA[@ForProcedure("","",Procedure+cr,"","")
  40622. ]]></VALUE>
  40623. <LANGUAGE>0</LANGUAGE>
  40624. <LANGUAGEWIN>---</LANGUAGEWIN>
  40625. <CATEGORY>2</CATEGORY>
  40626. <MAINSCRIPT>0</MAINSCRIPT>
  40627. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40628. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40629. <AUTHOR></AUTHOR>
  40630. <COMPANY></COMPANY>
  40631. <VERSION></VERSION>
  40632. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40633. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40634. </TEMPLATE>
  40635. <TEMPLATE>
  40636. <NAME>CreateViews</NAME>
  40637. <ID>7</ID>
  40638. <GUID>{CB1D065D-B6C3-406A-A4B7-0A1375AF7CF4}</GUID>
  40639. <CAPTION></CAPTION>
  40640. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40641. <ENABLED>1</ENABLED>
  40642. <LEVEL>0</LEVEL>
  40643. <IDPARENT>0</IDPARENT>
  40644. <VALUE><![CDATA[@ForView("","",View,"","")
  40645. ]]></VALUE>
  40646. <LANGUAGE>0</LANGUAGE>
  40647. <LANGUAGEWIN>---</LANGUAGEWIN>
  40648. <CATEGORY>2</CATEGORY>
  40649. <MAINSCRIPT>0</MAINSCRIPT>
  40650. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40651. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40652. <AUTHOR></AUTHOR>
  40653. <COMPANY></COMPANY>
  40654. <VERSION></VERSION>
  40655. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40656. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40657. </TEMPLATE>
  40658. <TEMPLATE>
  40659. <NAME>CreateTriggersList</NAME>
  40660. <ID>8</ID>
  40661. <GUID>{FAC88E62-47EB-40CD-BA9C-A40752FDE0CF}</GUID>
  40662. <CAPTION></CAPTION>
  40663. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40664. <ENABLED>1</ENABLED>
  40665. <LEVEL>0</LEVEL>
  40666. <IDPARENT>0</IDPARENT>
  40667. <VALUE><![CDATA[@ForTable("","",ForTableTrigger("","",Trigger,"",""),"","")
  40668.  
  40669. ]]></VALUE>
  40670. <LANGUAGE>0</LANGUAGE>
  40671. <LANGUAGEWIN>---</LANGUAGEWIN>
  40672. <CATEGORY>2</CATEGORY>
  40673. <MAINSCRIPT>0</MAINSCRIPT>
  40674. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40675. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40676. <AUTHOR></AUTHOR>
  40677. <COMPANY></COMPANY>
  40678. <VERSION></VERSION>
  40679. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40680. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  40681. </TEMPLATE>
  40682. <TEMPLATE>
  40683. <NAME>DropRefIntegritys</NAME>
  40684. <ID>9</ID>
  40685. <GUID>{54ABB2DE-BEFF-4389-9D36-DC7923A825AF}</GUID>
  40686. <CAPTION></CAPTION>
  40687. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40688. <ENABLED>1</ENABLED>
  40689. <LEVEL>0</LEVEL>
  40690. <IDPARENT>0</IDPARENT>
  40691. <VALUE><![CDATA[{lFkAsConstraint}
  40692. @fortable("", "", forchild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  40693. ]]></VALUE>
  40694. <LANGUAGE>0</LANGUAGE>
  40695. <LANGUAGEWIN>---</LANGUAGEWIN>
  40696. <CATEGORY>2</CATEGORY>
  40697. <MAINSCRIPT>0</MAINSCRIPT>
  40698. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40699. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40700. <AUTHOR></AUTHOR>
  40701. <COMPANY></COMPANY>
  40702. <VERSION></VERSION>
  40703. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40704. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40705. </TEMPLATE>
  40706. <TEMPLATE>
  40707. <NAME>CreateAlterKeys</NAME>
  40708. <ID>10</ID>
  40709. <GUID>{79851506-0664-419C-AA3B-371F3233BDF4}</GUID>
  40710. <CAPTION></CAPTION>
  40711. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40712. <ENABLED>1</ENABLED>
  40713. <LEVEL>0</LEVEL>
  40714. <IDPARENT>0</IDPARENT>
  40715. <VALUE><![CDATA[@showmessage("Alter keys")
  40716. @fortable("","",template(CreateAlterKey),"","")
  40717. ]]></VALUE>
  40718. <LANGUAGE>0</LANGUAGE>
  40719. <LANGUAGEWIN>---</LANGUAGEWIN>
  40720. <CATEGORY>2</CATEGORY>
  40721. <MAINSCRIPT>0</MAINSCRIPT>
  40722. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40723. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40724. <AUTHOR></AUTHOR>
  40725. <COMPANY></COMPANY>
  40726. <VERSION></VERSION>
  40727. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40728. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40729. </TEMPLATE>
  40730. <TEMPLATE>
  40731. <NAME>RefIntegritys</NAME>
  40732. <ID>11</ID>
  40733. <GUID>{D8576F3A-3594-436F-AA34-CEC826E62FA8}</GUID>
  40734. <CAPTION></CAPTION>
  40735. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40736. <ENABLED>1</ENABLED>
  40737. <LEVEL>0</LEVEL>
  40738. <IDPARENT>0</IDPARENT>
  40739. <VALUE><![CDATA[@fortable("", "", forchild("", "", template(refintegrity), "", "" ), "", "" )
  40740. ]]></VALUE>
  40741. <LANGUAGE>0</LANGUAGE>
  40742. <LANGUAGEWIN>---</LANGUAGEWIN>
  40743. <CATEGORY>2</CATEGORY>
  40744. <MAINSCRIPT>0</MAINSCRIPT>
  40745. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40746. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40747. <AUTHOR></AUTHOR>
  40748. <COMPANY></COMPANY>
  40749. <VERSION></VERSION>
  40750. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40751. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40752. </TEMPLATE>
  40753. <TEMPLATE>
  40754. <NAME>CreateTriggers</NAME>
  40755. <ID>12</ID>
  40756. <GUID>{DF8F3DA5-08D2-4810-AFBD-09E52CBFCCF0}</GUID>
  40757. <CAPTION></CAPTION>
  40758. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40759. <ENABLED>1</ENABLED>
  40760. <LEVEL>0</LEVEL>
  40761. <IDPARENT>0</IDPARENT>
  40762. <VALUE><![CDATA[@fortable("", "", template(createtriggerupdate), "", "")
  40763. @fortable("", "", template(createtriggerdelete), "", "")
  40764. @fortable("", "", template(createtriggerinsert), "", "")
  40765. ]]></VALUE>
  40766. <LANGUAGE>0</LANGUAGE>
  40767. <LANGUAGEWIN>---</LANGUAGEWIN>
  40768. <CATEGORY>2</CATEGORY>
  40769. <MAINSCRIPT>0</MAINSCRIPT>
  40770. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40771. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40772. <AUTHOR></AUTHOR>
  40773. <COMPANY></COMPANY>
  40774. <VERSION></VERSION>
  40775. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40776. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40777. </TEMPLATE>
  40778. <TEMPLATE>
  40779. <NAME>UserTempl</NAME>
  40780. <ID>13</ID>
  40781. <GUID>{DA06C045-C191-437A-A5EB-AA42899E35F4}</GUID>
  40782. <CAPTION></CAPTION>
  40783. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40784. <ENABLED>1</ENABLED>
  40785. <LEVEL>0</LEVEL>
  40786. <IDPARENT>0</IDPARENT>
  40787. <VALUE><![CDATA[]]></VALUE>
  40788. <LANGUAGE>0</LANGUAGE>
  40789. <LANGUAGEWIN>---</LANGUAGEWIN>
  40790. <CATEGORY>2</CATEGORY>
  40791. <MAINSCRIPT>0</MAINSCRIPT>
  40792. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40793. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40794. <AUTHOR></AUTHOR>
  40795. <COMPANY></COMPANY>
  40796. <VERSION></VERSION>
  40797. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40798. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40799. </TEMPLATE>
  40800. <TEMPLATE>
  40801. <NAME>CreateRole</NAME>
  40802. <ID>14</ID>
  40803. <GUID>{6CCA740B-D294-4B2E-9194-C1BDDCE78503}</GUID>
  40804. <CAPTION></CAPTION>
  40805. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40806. <ENABLED>1</ENABLED>
  40807. <LEVEL>0</LEVEL>
  40808. <IDPARENT>0</IDPARENT>
  40809. <VALUE><![CDATA[@ForRole("","",if(lRole,"Create role %RoleName%;%cr%",""),"","")
  40810. ]]></VALUE>
  40811. <LANGUAGE>0</LANGUAGE>
  40812. <LANGUAGEWIN>---</LANGUAGEWIN>
  40813. <CATEGORY>2</CATEGORY>
  40814. <MAINSCRIPT>0</MAINSCRIPT>
  40815. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40816. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40817. <AUTHOR></AUTHOR>
  40818. <COMPANY></COMPANY>
  40819. <VERSION></VERSION>
  40820. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40821. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40822. </TEMPLATE>
  40823. <TEMPLATE>
  40824. <NAME>GrantUserToRole</NAME>
  40825. <ID>15</ID>
  40826. <GUID>{36DBF88B-58F4-4C05-AE96-26C95EF774E1}</GUID>
  40827. <CAPTION></CAPTION>
  40828. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40829. <ENABLED>1</ENABLED>
  40830. <LEVEL>0</LEVEL>
  40831. <IDPARENT>0</IDPARENT>
  40832. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("Grant %rolename% to %username%;%cr%"),"",""),"","")
  40833. ]]></VALUE>
  40834. <LANGUAGE>0</LANGUAGE>
  40835. <LANGUAGEWIN>---</LANGUAGEWIN>
  40836. <CATEGORY>2</CATEGORY>
  40837. <MAINSCRIPT>0</MAINSCRIPT>
  40838. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40839. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40840. <AUTHOR></AUTHOR>
  40841. <COMPANY></COMPANY>
  40842. <VERSION></VERSION>
  40843. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40844. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40845. </TEMPLATE>
  40846. <TEMPLATE>
  40847. <NAME>CreateRolePermiss</NAME>
  40848. <ID>16</ID>
  40849. <GUID>{C7557F8D-571C-4A29-81B7-848E250391A5}</GUID>
  40850. <CAPTION></CAPTION>
  40851. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40852. <ENABLED>1</ENABLED>
  40853. <LEVEL>0</LEVEL>
  40854. <IDPARENT>0</IDPARENT>
  40855. <VALUE><![CDATA[/* Roles permissions */
  40856. @ForTable("","",ForRole("","",PermissTableRole(Macro(CreateTablePermiss)),"",""),"","")
  40857. @ForView("","",ForRole("","",PermissViewRole(Macro(CreateViewPermiss)),"",""),"","")
  40858. @ForProcedure("","",ForRole("","",PermissProcedureRole(Macro(CreateProcedurePermiss)),"",""),"","")
  40859. ]]></VALUE>
  40860. <LANGUAGE>0</LANGUAGE>
  40861. <LANGUAGEWIN>---</LANGUAGEWIN>
  40862. <CATEGORY>2</CATEGORY>
  40863. <MAINSCRIPT>0</MAINSCRIPT>
  40864. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40865. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40866. <AUTHOR></AUTHOR>
  40867. <COMPANY></COMPANY>
  40868. <VERSION></VERSION>
  40869. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40870. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40871. </TEMPLATE>
  40872. <TEMPLATE>
  40873. <NAME>CreateTablePermiss</NAME>
  40874. <ID>17</ID>
  40875. <GUID>{16B55436-84A7-4A66-BF39-394E1C3C67B4}</GUID>
  40876. <CAPTION></CAPTION>
  40877. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40878. <ENABLED>1</ENABLED>
  40879. <LEVEL>0</LEVEL>
  40880. <IDPARENT>0</IDPARENT>
  40881. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%;%cr%","")+
  40882. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%;%cr%","")+
  40883. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%;%cr%","")+
  40884. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%;%cr%","")+
  40885. if(lPermissDRI,"Grant references on %TableName% to %UserOrRoleName%;%cr%","")
  40886. ]]></VALUE>
  40887. <LANGUAGE>0</LANGUAGE>
  40888. <LANGUAGEWIN>---</LANGUAGEWIN>
  40889. <CATEGORY>2</CATEGORY>
  40890. <MAINSCRIPT>0</MAINSCRIPT>
  40891. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40892. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40893. <AUTHOR></AUTHOR>
  40894. <COMPANY></COMPANY>
  40895. <VERSION></VERSION>
  40896. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40897. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40898. </TEMPLATE>
  40899. <TEMPLATE>
  40900. <NAME>CreateViewPermiss</NAME>
  40901. <ID>18</ID>
  40902. <GUID>{C44D46A2-B8D4-4F23-AFC4-FBBE5650C0DC}</GUID>
  40903. <CAPTION></CAPTION>
  40904. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40905. <ENABLED>1</ENABLED>
  40906. <LEVEL>0</LEVEL>
  40907. <IDPARENT>0</IDPARENT>
  40908. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to %UserOrRoleName%;%cr%","")+
  40909. if(lPermissUpdate,"Grant update on %ViewName% to %UserOrRoleName%;%cr%","")+
  40910. if(lPermissDelete,"Grant delete on %ViewName% to %UserOrRoleName%;%cr%","")+
  40911. if(lPermissInsert,"Grant insert on %ViewName% to %UserOrRoleName%;%cr%","")
  40912. ]]></VALUE>
  40913. <LANGUAGE>0</LANGUAGE>
  40914. <LANGUAGEWIN>---</LANGUAGEWIN>
  40915. <CATEGORY>2</CATEGORY>
  40916. <MAINSCRIPT>0</MAINSCRIPT>
  40917. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40918. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40919. <AUTHOR></AUTHOR>
  40920. <COMPANY></COMPANY>
  40921. <VERSION></VERSION>
  40922. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40923. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40924. </TEMPLATE>
  40925. <TEMPLATE>
  40926. <NAME>CreateProcedurePermiss</NAME>
  40927. <ID>19</ID>
  40928. <GUID>{95A44B37-42E2-4128-AA7C-DE6EB94631F7}</GUID>
  40929. <CAPTION></CAPTION>
  40930. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40931. <ENABLED>1</ENABLED>
  40932. <LEVEL>0</LEVEL>
  40933. <IDPARENT>0</IDPARENT>
  40934. <VALUE><![CDATA[if(lPermissExec,"Grant execute on %ProcedureName% to %UserOrRoleName%;%cr%","")
  40935. ]]></VALUE>
  40936. <LANGUAGE>0</LANGUAGE>
  40937. <LANGUAGEWIN>---</LANGUAGEWIN>
  40938. <CATEGORY>2</CATEGORY>
  40939. <MAINSCRIPT>0</MAINSCRIPT>
  40940. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40941. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40942. <AUTHOR></AUTHOR>
  40943. <COMPANY></COMPANY>
  40944. <VERSION></VERSION>
  40945. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40946. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40947. </TEMPLATE>
  40948. <TEMPLATE>
  40949. <NAME>CreateUserPermiss</NAME>
  40950. <ID>20</ID>
  40951. <GUID>{85D1162E-09E1-4EFF-A2F1-39FBECEC2A63}</GUID>
  40952. <CAPTION></CAPTION>
  40953. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40954. <ENABLED>1</ENABLED>
  40955. <LEVEL>0</LEVEL>
  40956. <IDPARENT>0</IDPARENT>
  40957. <VALUE><![CDATA[/* Users permissions */
  40958. @ForTable("","",ForUser("","",PermissTableUser(Macro(CreateTablePermiss)),"",""),"","")
  40959. @ForView("","",ForUser("","",PermissViewUser(Macro(CreateViewPermiss)),"",""),"","")
  40960. @ForProcedure("","",ForUser("","",PermissProcedureUser(Macro(CreateProcedurePermiss)),"",""),"","")
  40961. ]]></VALUE>
  40962. <LANGUAGE>0</LANGUAGE>
  40963. <LANGUAGEWIN>---</LANGUAGEWIN>
  40964. <CATEGORY>2</CATEGORY>
  40965. <MAINSCRIPT>0</MAINSCRIPT>
  40966. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40967. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40968. <AUTHOR></AUTHOR>
  40969. <COMPANY></COMPANY>
  40970. <VERSION></VERSION>
  40971. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40972. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40973. </TEMPLATE>
  40974. <TEMPLATE>
  40975. <NAME>DropProcedures</NAME>
  40976. <ID>21</ID>
  40977. <GUID>{2EE3176A-70DC-4232-BEA1-9835517FA073}</GUID>
  40978. <CAPTION></CAPTION>
  40979. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  40980. <ENABLED>1</ENABLED>
  40981. <LEVEL>0</LEVEL>
  40982. <IDPARENT>0</IDPARENT>
  40983. <VALUE><![CDATA[@ForProcedureR("","","Drop procedure %ProcedureName%;%cr%","","")
  40984. ]]></VALUE>
  40985. <LANGUAGE>0</LANGUAGE>
  40986. <LANGUAGEWIN>---</LANGUAGEWIN>
  40987. <CATEGORY>2</CATEGORY>
  40988. <MAINSCRIPT>0</MAINSCRIPT>
  40989. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  40990. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  40991. <AUTHOR></AUTHOR>
  40992. <COMPANY></COMPANY>
  40993. <VERSION></VERSION>
  40994. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  40995. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  40996. </TEMPLATE>
  40997. <TEMPLATE>
  40998. <NAME>DropViews</NAME>
  40999. <ID>22</ID>
  41000. <GUID>{3F9012FE-EE03-4DF1-9204-401814459029}</GUID>
  41001. <CAPTION></CAPTION>
  41002. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41003. <ENABLED>1</ENABLED>
  41004. <LEVEL>0</LEVEL>
  41005. <IDPARENT>0</IDPARENT>
  41006. <VALUE><![CDATA[@ForViewR("","","Drop view %ViewName%;%cr%","","")
  41007. ]]></VALUE>
  41008. <LANGUAGE>0</LANGUAGE>
  41009. <LANGUAGEWIN>---</LANGUAGEWIN>
  41010. <CATEGORY>2</CATEGORY>
  41011. <MAINSCRIPT>0</MAINSCRIPT>
  41012. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41013. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41014. <AUTHOR></AUTHOR>
  41015. <COMPANY></COMPANY>
  41016. <VERSION></VERSION>
  41017. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  41018. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  41019. </TEMPLATE>
  41020. <TEMPLATE>
  41021. <NAME>DropTriggersList</NAME>
  41022. <ID>23</ID>
  41023. <GUID>{D777068E-6D43-4DAF-8FD9-B0F3CB574CE0}</GUID>
  41024. <CAPTION></CAPTION>
  41025. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41026. <ENABLED>1</ENABLED>
  41027. <LEVEL>0</LEVEL>
  41028. <IDPARENT>0</IDPARENT>
  41029. <VALUE><![CDATA[@ForTableR("","",ForTableTrigger("","","Drop trigger %TriggerName%;%cr%","",""),"","")
  41030. @ForTriggerR("","","Drop trigger %TriggerName%;%cr%","","")
  41031. ]]></VALUE>
  41032. <LANGUAGE>0</LANGUAGE>
  41033. <LANGUAGEWIN>---</LANGUAGEWIN>
  41034. <CATEGORY>2</CATEGORY>
  41035. <MAINSCRIPT>0</MAINSCRIPT>
  41036. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41037. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41038. <AUTHOR></AUTHOR>
  41039. <COMPANY></COMPANY>
  41040. <VERSION></VERSION>
  41041. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  41042. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  41043. </TEMPLATE>
  41044. <TEMPLATE>
  41045. <NAME>DropTables</NAME>
  41046. <ID>24</ID>
  41047. <GUID>{D82AC6B5-6D43-4A7D-96A3-3FC0249E2E19}</GUID>
  41048. <CAPTION></CAPTION>
  41049. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41050. <ENABLED>1</ENABLED>
  41051. <LEVEL>0</LEVEL>
  41052. <IDPARENT>0</IDPARENT>
  41053. <VALUE><![CDATA[@ForTableR("", "", "Drop table %tablename%;%cr%", "", "" )
  41054. ]]></VALUE>
  41055. <LANGUAGE>0</LANGUAGE>
  41056. <LANGUAGEWIN>---</LANGUAGEWIN>
  41057. <CATEGORY>2</CATEGORY>
  41058. <MAINSCRIPT>0</MAINSCRIPT>
  41059. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41060. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41061. <AUTHOR></AUTHOR>
  41062. <COMPANY></COMPANY>
  41063. <VERSION></VERSION>
  41064. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  41065. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  41066. </TEMPLATE>
  41067. <TEMPLATE>
  41068. <NAME>DropIndexs</NAME>
  41069. <ID>25</ID>
  41070. <GUID>{1CF56FFF-F4C9-41FD-836F-D641AC832894}</GUID>
  41071. <CAPTION></CAPTION>
  41072. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41073. <ENABLED>1</ENABLED>
  41074. <LEVEL>0</LEVEL>
  41075. <IDPARENT>0</IDPARENT>
  41076. <VALUE><![CDATA[@ForTable("","",ForIndex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  41077. ]]></VALUE>
  41078. <LANGUAGE>0</LANGUAGE>
  41079. <LANGUAGEWIN>---</LANGUAGEWIN>
  41080. <CATEGORY>2</CATEGORY>
  41081. <MAINSCRIPT>0</MAINSCRIPT>
  41082. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41083. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41084. <AUTHOR></AUTHOR>
  41085. <COMPANY></COMPANY>
  41086. <VERSION></VERSION>
  41087. <CREATED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></CREATED>
  41088. <MODIFIED><DATE>5/21/2002</DATE><TIME>13:21:52</TIME></MODIFIED>
  41089. </TEMPLATE>
  41090. <TEMPLATE>
  41091. <NAME>RE_Dictionary</NAME>
  41092. <ID>26</ID>
  41093. <GUID>{A00A9427-66F4-4526-A0AB-9C7387D863D8}</GUID>
  41094. <CAPTION>Slovnφk pro reverse engineering</CAPTION>
  41095. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41096. <ENABLED>1</ENABLED>
  41097. <LEVEL>0</LEVEL>
  41098. <IDPARENT>0</IDPARENT>
  41099. <VALUE><![CDATA[function ReadVocabulary()
  41100. {
  41101. Translator.Add( 'DONE',                'Hotovo'                                        );
  41102. Translator.Add( 'RE_UDFS',         'NaΦφtßm u₧ivatelskΘ datovΘ typy...');
  41103. Translator.Add( 'RE_TABLES',        'NaΦφtßm tabulky...'                     );
  41104. Translator.Add( 'RE_T_COMMENTS', 'NaΦφtßm komentß°e k tabulkßm...'    );
  41105. Translator.Add( 'RE_COLUMNS',        'NaΦφtßm sloupce tabulky...'             );
  41106. Translator.Add( 'RE_PKS',            'NaΦφtßm primßrnφ klφΦe...'             );
  41107. Translator.Add( 'RE_REFS',            'NaΦφtßm reference...'                     );
  41108. Translator.Add( 'RE_CHECK_CONS',    'NaΦφtßm check constrainty...'         );
  41109. Translator.Add( 'RE_UNI_CONS',    'NaΦφtßm unique constrainty...'         );
  41110. Translator.Add( 'RE_INDXS',        'NaΦφtßm indexy...'                         );
  41111. Translator.Add( 'RE_VIEWS',        'NaΦφtßm pohledy...'                     );
  41112. Translator.Add( 'RE_PACKAGES',    'NaΦφtßm balφΦky...'                     );
  41113. Translator.Add( 'RE_PROCS',        'NaΦφtßm ulo₧enΘ procedury...'         );
  41114. Translator.Add( 'RE_ROLES',        'NaΦφtßm role...'                            );
  41115. Translator.Add( 'RE_TRIGGERS',    'NaΦφtßm triggery...'                     );
  41116. Translator.Add( 'RE_USERS',        'NaΦφtßm u₧ivatele...'                     );
  41117. Translator.Add( 'RE_USERS_ROLES','NaΦφtßm u₧ivatele a role...'            );
  41118. Translator.Add( 'RE_PERMISSIONS','NaΦφtßm prßva...'                         );
  41119. Translator.Add( 'RE_SYNONYMS',    'NaΦφtßm synonyma...'                    );
  41120. Translator.Add( 'RE_SEQUENCES',    'NaΦφtßm sequence...'                    );
  41121. Translator.Add( 'RE_EXCEPTIONS',    'NaΦφtßm exceptions...'                    );
  41122. Translator.Add( 'RE_GENERATORS',    'NaΦφtßm generßtory...'                    );
  41123. Translator.Add( 'RE_FUNCTIONS',    'NaΦφtßm funkce...'                        );
  41124. Translator.Add( 'RE_BLOB_FILTERS','NaΦφtßm blob filters...'                );
  41125. };
  41126. ]]></VALUE>
  41127. <LANGUAGE>1</LANGUAGE>
  41128. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  41129. <CATEGORY>6</CATEGORY>
  41130. <MAINSCRIPT>0</MAINSCRIPT>
  41131. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41132. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41133. <AUTHOR>David Fux</AUTHOR>
  41134. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  41135. <VERSION>1.0</VERSION>
  41136. <CREATED><DATE>6/21/2001</DATE><TIME>9:58:47</TIME></CREATED>
  41137. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41138. </TEMPLATE>
  41139. <TEMPLATE>
  41140. <NAME>Verification</NAME>
  41141. <ID>27</ID>
  41142. <GUID>{7846A05B-E61B-470D-8AD5-774EAC354322}</GUID>
  41143. <CAPTION>Verifikace modelu</CAPTION>
  41144. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41145. <ENABLED>1</ENABLED>
  41146. <LEVEL>0</LEVEL>
  41147. <IDPARENT>0</IDPARENT>
  41148. <VALUE><![CDATA[function Main()
  41149. {
  41150. Translator.DefaultLng = 'csy';
  41151. Scripting.Ver_Main.Main();
  41152. }
  41153.  
  41154. //======================================================================
  41155.  
  41156. function DefineVariables()
  41157. {
  41158. };
  41159.  
  41160. //======================================================================
  41161. ]]></VALUE>
  41162. <LANGUAGE>1</LANGUAGE>
  41163. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  41164. <CATEGORY>7</CATEGORY>
  41165. <MAINSCRIPT>1</MAINSCRIPT>
  41166. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41167. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41168. <AUTHOR></AUTHOR>
  41169. <COMPANY></COMPANY>
  41170. <VERSION></VERSION>
  41171. <CREATED><DATE>4/15/2002</DATE><TIME>10:34:06</TIME></CREATED>
  41172. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41173. </TEMPLATE>
  41174. <TEMPLATE>
  41175. <NAME>Ver_Dictionary</NAME>
  41176. <ID>28</ID>
  41177. <GUID>{7B601382-DC11-44DB-9172-E6FA8A8F3E29}</GUID>
  41178. <CAPTION>Ver_Dictionary</CAPTION>
  41179. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41180. <ENABLED>1</ENABLED>
  41181. <LEVEL>0</LEVEL>
  41182. <IDPARENT>0</IDPARENT>
  41183. <VALUE><![CDATA[//======================================================================
  41184.  
  41185. function ReadVocabulary()
  41186. {
  41187. // Chyby
  41188. Translator.Add( 'E_CN_DUPL',                 'Duplicitnφ nßzev constraintu \'%s\' !' );
  41189. Translator.Add( 'E_CHECK_CN_DUPL',        'Duplicitnφ nßzev check constraintu \'%s\' !' );
  41190. Translator.Add( 'E_DEF_CN_DUPL',            'Duplicitnφ nßzev default constraintu \'%s\' !' );
  41191. Translator.Add( 'E_UNI_CN_DUPL',            'Duplicitnφ nßzev unique constraintu \'%s\' !' );
  41192.  
  41193. Translator.Add( 'E_PK_UNI_DUPL',            'Atribut \'%s\' nelze souΦasn∞ definovat jako jedineΦn² a primßrnφ klφΦ.' );
  41194.  
  41195. Translator.Add( 'E_ATTR_ENT',                '- atribut \'%s\', entita \'%s\'.' );
  41196. Translator.Add( 'E_ENT_CHECK',            '\r\nKontrola entity \'%s\':' );
  41197.  
  41198. // Ostatnφ
  41199. Translator.Add( 'V_OK',                        'bez chyb' );
  41200. Translator.Add( 'V_BASIC',                    'Zßkladnφ verifikace dat' );
  41201.  
  41202. Translator.Add( 'V_COMPLETED',           'Verifikace dat ukonΦena' ); 
  41203. Translator.Add( 'V_ERRORS',              'PoΦet chyb' );
  41204. Translator.Add( 'V_WARNINGS',            'PoΦet varovßnφ' );
  41205. Translator.Add( 'V_HINTS',               'PoΦet tip∙' );
  41206.  
  41207. Translator.Add( 'V_CN_DUPL',          'Kontrola nßzvu constraintu na duplicitu' );
  41208. Translator.Add( 'V_CHECK_CN_DUPL',        'Kontrola nßzvu check constraintu na duplicitu' );
  41209. Translator.Add( 'V_DEF_CN_DUPL',            'Kontrola nßzvu default constraintu na duplicitu' );
  41210. Translator.Add( 'V_UNI_CN_DUPL',            'Kontrola nßzvu unique constraintu na duplicitu' );
  41211. Translator.Add( 'V_CONST_DUPL',            'Kontrola constraintu na duplicitu.' );
  41212. };
  41213. ]]></VALUE>
  41214. <LANGUAGE>1</LANGUAGE>
  41215. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  41216. <CATEGORY>7</CATEGORY>
  41217. <MAINSCRIPT>0</MAINSCRIPT>
  41218. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41219. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41220. <AUTHOR></AUTHOR>
  41221. <COMPANY></COMPANY>
  41222. <VERSION></VERSION>
  41223. <CREATED><DATE>4/10/2002</DATE><TIME>15:57:42</TIME></CREATED>
  41224. <MODIFIED><DATE>7/19/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41225. </TEMPLATE>
  41226. <TEMPLATE>
  41227. <NAME>Ver_Main</NAME>
  41228. <ID>29</ID>
  41229. <GUID>{4C3F1120-B887-4CB6-A276-CE3CF86C10AD}</GUID>
  41230. <CAPTION>Ver_Main</CAPTION>
  41231. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41232. <ENABLED>1</ENABLED>
  41233. <LEVEL>0</LEVEL>
  41234. <IDPARENT>0</IDPARENT>
  41235. <VALUE><![CDATA[function Main()
  41236. {
  41237. Scripting.Ver_Dictionary.ReadVocabulary();
  41238.  
  41239. Verify.Clear();
  41240.  
  41241. if (Verify.BasicVerification)
  41242.     {
  41243.     Verify.Writeln( Translator.Translate( 'V_BASIC',0 ) );
  41244.     Verify.Writeln( ' ' );
  41245.     Verify.VerifyBasic();
  41246.     };
  41247.  
  41248. Scripting.Ver_Summary.Main();
  41249. };
  41250. ]]></VALUE>
  41251. <LANGUAGE>1</LANGUAGE>
  41252. <LANGUAGEWIN>---</LANGUAGEWIN>
  41253. <CATEGORY>7</CATEGORY>
  41254. <MAINSCRIPT>0</MAINSCRIPT>
  41255. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41256. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41257. <AUTHOR></AUTHOR>
  41258. <COMPANY></COMPANY>
  41259. <VERSION></VERSION>
  41260. <CREATED><DATE>4/15/2002</DATE><TIME>10:36:26</TIME></CREATED>
  41261. <MODIFIED><DATE>5/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41262. </TEMPLATE>
  41263. <TEMPLATE>
  41264. <NAME>Ver_Constraints</NAME>
  41265. <ID>30</ID>
  41266. <GUID>{52EF7523-BCA1-45B2-8400-62CC1C1E572F}</GUID>
  41267. <CAPTION>Ver_Constraints</CAPTION>
  41268. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41269. <ENABLED>1</ENABLED>
  41270. <LEVEL>0</LEVEL>
  41271. <IDPARENT>0</IDPARENT>
  41272. <VALUE><![CDATA[function AllConstraints( lCaseSensitive )
  41273. {
  41274. var i;
  41275. var cCheckConstraint = '';
  41276. var ConstraintList = DefineInterfaceList();
  41277. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  41278.     
  41279. Verify.Writeln( ' ' );
  41280. Verify.Writeln( '---------------------------------------------------' );
  41281. Verify.Writeln( Translator.Translate( 'V_CN_DUPL',0 ) );
  41282.  
  41283. for (i=0; i<Model.CountAttributes; i++)
  41284.     {
  41285.     Attribute = Model.Attributes( i );
  41286.     cConstraint = Attribute.DefaultConstraint;
  41287.     if ( cConstraint != '' )
  41288.         AddConstraintName( ConstraintList, cConstraint, lCaseSensitive, Attribute )
  41289.         
  41290.     cConstraint = Attribute.CheckConstraint;
  41291.     if ( cConstraint != '' )
  41292.         AddConstraintName( ConstraintList, cConstraint, lCaseSensitive, Attribute )
  41293.  
  41294.     cConstraint = Attribute.UniqueConstraint;
  41295.     if ( cConstraint != '' )
  41296.         AddConstraintName( ConstraintList, cConstraint, lCaseSensitive, Attribute )
  41297.     };
  41298.  
  41299. VerifyConstraintName( ConstraintList, 'E_CN_DUPL' );
  41300.  
  41301. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  41302.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  41303. };
  41304.  
  41305. //======================================================================
  41306.  
  41307. function CheckConstraints( lCaseSensitive )
  41308. {
  41309. var i;
  41310. var cCheckConstraint = '';
  41311. var CheckConstrList = DefineInterfaceList();
  41312. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  41313.     
  41314. Verify.Writeln( ' ' );
  41315. Verify.Writeln( '---------------------------------------------------' );
  41316. Verify.Writeln( Translator.Translate( 'V_CHECK_CN_DUPL',0 ) );
  41317.  
  41318. for (i=0; i<Model.CountAttributes; i++)
  41319.     {
  41320.     Attribute = Model.Attributes( i );
  41321.     cCheckConstraint = Attribute.CheckConstraint;
  41322.     if ( cCheckConstraint != '' )
  41323.         AddConstraintName( CheckConstrList, cCheckConstraint, lCaseSensitive, Attribute );
  41324.     };
  41325.     
  41326. VerifyConstraintName( CheckConstrList, 'E_CHECK_CN_DUPL' )
  41327.  
  41328. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  41329.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  41330. };
  41331.  
  41332. //======================================================================
  41333.  
  41334. function DefaultConstraints( lCaseSensitive )
  41335. {
  41336. var i;
  41337. var cDefConstraint = '';
  41338. var DefConstrList = DefineInterfaceList();
  41339. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  41340.     
  41341. Verify.Writeln( ' ' );
  41342. Verify.Writeln( '---------------------------------------------------' );
  41343. Verify.Writeln( Translator.Translate( 'V_DEF_CN_DUPL',0 ) );
  41344.  
  41345. for (i=0; i<Model.CountAttributes; i++)
  41346.     {
  41347.     Attribute = Model.Attributes( i );
  41348.     cDefConstraint = Attribute.DefaultConstraint;
  41349.     if ( cDefConstraint != '' )
  41350.         AddConstraintName( DefConstrList, cDefConstraint, lCaseSensitive, Attribute );
  41351.     };
  41352.     
  41353. VerifyConstraintName( DefConstrList, 'E_DEF_CN_DUPL' )    
  41354.  
  41355. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  41356.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  41357. };
  41358.  
  41359. //======================================================================
  41360.  
  41361. function UniqueConstraints( lCaseSensitive )
  41362. {
  41363. var i;
  41364. var cUniConstraint = '';
  41365. var UniConstrList = DefineInterfaceList();
  41366. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  41367.     
  41368. Verify.Writeln( ' ' );
  41369. Verify.Writeln( '---------------------------------------------------' );
  41370. Verify.Writeln( Translator.Translate( 'V_UNI_CN_DUPL',0 ) );
  41371.  
  41372. for (i=0; i<Model.CountAttributes; i++)
  41373.     {
  41374.     Attribute = Model.Attributes( i );
  41375.     cUniConstraint = Attribute.UniqueConstraint;
  41376.     if ( cUniConstraint != '' )
  41377.         AddConstraintName( UniConstrList, cUniConstraint, lCaseSensitive, Attribute );
  41378.     };
  41379.     
  41380. VerifyConstraintName( UniConstrList, 'E_UNI_CN_DUPL' )    
  41381.  
  41382. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  41383.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  41384. };
  41385.  
  41386. //======================================================================
  41387.     
  41388. function VerifyConstraintName( ConstraintList, cErrMessage )
  41389. {
  41390. var cErrConstraint = '';
  41391. var cConstraint = '';
  41392.  
  41393. ConstraintList.Sorted = true;
  41394.  
  41395. for (i=0; i<ConstraintList.Count; i++)
  41396.     if (cConstraint == ConstraintList.GetInterfaceId( i ))
  41397.         {
  41398.         cConstraint    = ConstraintList.GetInterfaceId( i );
  41399.  
  41400.         if (cErrConstraint != cConstraint)
  41401.             {
  41402.             Verify.Writeln( '' );
  41403.             Verify.AddError( SysUtils.FormatStr( Translator.Translate( cErrMessage,0 ), cConstraint ));
  41404.             AddError( ConstraintList.GetInterface( i-1 ) );        
  41405.             cErrConstraint = cConstraint;
  41406.             };
  41407.  
  41408.         AddError( ConstraintList.GetInterface( i ) );
  41409.         }
  41410.     else
  41411.         cConstraint = ConstraintList.GetInterfaceId( i );         
  41412. };
  41413.  
  41414. //======================================================================
  41415.  
  41416. function AddConstraintName( ConstraintList, cConstraintName, lCaseSensitive, Attribute )
  41417. {    
  41418. // replace %colname% macros
  41419. cConstraintName = cConstraintName.replace(/%colname%/gi, Attribute.ColName );
  41420. // replace %tablename% macros
  41421. cConstraintName = cConstraintName.replace(/%tablename%/gi, Model.GetEntity( Attribute.EntityId ).TableName );
  41422.  
  41423. if ( !lCaseSensitive )
  41424.     cConstraintName = cConstraintName.toUpperCase();
  41425.  
  41426. ConstraintList.AddInterface( cConstraintName, Attribute );
  41427. };
  41428.  
  41429. //======================================================================
  41430.  
  41431. function AddError( Attribute )
  41432. {
  41433. Verify.Writeln( SysUtils.FormatStr( Translator.Translate( 'E_ATTR_ENT',0 ), Attribute.ColName, Model.GetEntity( Attribute.EntityId ).Name ));
  41434. };
  41435. ]]></VALUE>
  41436. <LANGUAGE>1</LANGUAGE>
  41437. <LANGUAGEWIN>---</LANGUAGEWIN>
  41438. <CATEGORY>7</CATEGORY>
  41439. <MAINSCRIPT>0</MAINSCRIPT>
  41440. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41441. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41442. <AUTHOR></AUTHOR>
  41443. <COMPANY></COMPANY>
  41444. <VERSION></VERSION>
  41445. <CREATED><DATE>4/11/2002</DATE><TIME>16:01:41</TIME></CREATED>
  41446. <MODIFIED><DATE>5/20/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41447. </TEMPLATE>
  41448. <TEMPLATE>
  41449. <NAME>Ver_Summary</NAME>
  41450. <ID>31</ID>
  41451. <GUID>{1C48C3EF-77E8-471B-AFEE-12A9E53EA692}</GUID>
  41452. <CAPTION>Ver_Summary</CAPTION>
  41453. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41454. <ENABLED>1</ENABLED>
  41455. <LEVEL>0</LEVEL>
  41456. <IDPARENT>0</IDPARENT>
  41457. <VALUE><![CDATA[function Main()
  41458. {
  41459. Verify.Writeln( ' ' );
  41460. Verify.Writeln( '---------------------------------------------------' );
  41461. Verify.Writeln( Translator.Translate( 'V_COMPLETED',0 ) ); 
  41462. Verify.Writeln( ' - '+Translator.Translate( 'V_ERRORS', 0 )+' : '+ Verify.CountErrors );
  41463. Verify.Writeln( ' - '+Translator.Translate( 'V_WARNINGS', 0 )+' : '+ Verify.CountWarnings );
  41464. Verify.Writeln( ' - '+Translator.Translate( 'V_HINTS', 0 )+' : '+ Verify.CountHints );
  41465. };
  41466. ]]></VALUE>
  41467. <LANGUAGE>1</LANGUAGE>
  41468. <LANGUAGEWIN>---</LANGUAGEWIN>
  41469. <CATEGORY>7</CATEGORY>
  41470. <MAINSCRIPT>0</MAINSCRIPT>
  41471. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41472. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41473. <AUTHOR></AUTHOR>
  41474. <COMPANY></COMPANY>
  41475. <VERSION></VERSION>
  41476. <CREATED><DATE>4/10/2002</DATE><TIME>16:13:47</TIME></CREATED>
  41477. <MODIFIED><DATE>5/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41478. </TEMPLATE>
  41479. <TEMPLATE>
  41480. <NAME>Ver_ConstrDuplicity</NAME>
  41481. <ID>32</ID>
  41482. <GUID>{C126F201-C115-4A38-B16F-CF22698E8D25}</GUID>
  41483. <CAPTION>Ver_ConstrDuplicity</CAPTION>
  41484. <PACKAGEGUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</PACKAGEGUID>
  41485. <ENABLED>1</ENABLED>
  41486. <LEVEL>0</LEVEL>
  41487. <IDPARENT>0</IDPARENT>
  41488. <VALUE><![CDATA[function PkUniDuplicity()
  41489. {
  41490. var e,a;
  41491. var nErrors = Verify.CountErrors + Verify.CountWarnings + Verify.CountHints;
  41492.  
  41493. cEntityName = '';
  41494.     
  41495. Verify.Writeln( ' ' );
  41496. Verify.Writeln( '---------------------------------------------------' );
  41497. Verify.Writeln( Translator.Translate( 'V_CONST_DUPL',0 ) );
  41498.     
  41499. for (e=0; e<Model.CountEntities; e++)
  41500.     {
  41501.     Entity = Model.Entities( e );
  41502.     Attribute = null;
  41503.     
  41504.     for (a=0; a<Entity.CountAttributes; a++)
  41505.         if (Entity.Attributes( a ).PK )
  41506.             {
  41507.             if (Attribute == null)
  41508.                 Attribute = Entity.Attributes( a )
  41509.             else
  41510.                 {
  41511.                 Attribute = null;
  41512.                 break;
  41513.                 };
  41514.             };
  41515.  
  41516.     if (Attribute != null)                
  41517.         if (Attribute.Unique)
  41518.             AddError( 'E_PK_UNI_DUPL', Attribute.Name );
  41519.     };
  41520.  
  41521. if ( nErrors == (Verify.CountErrors + Verify.CountWarnings + Verify.CountHints) )
  41522.     Verify.Writeln( Translator.Translate( 'V_OK',0 ) );
  41523. };
  41524.  
  41525. //======================================================================
  41526.  
  41527. function AddError( cErrorMessage, cParam1 )
  41528. {
  41529. if (Entity.Name != cEntityName)
  41530.     {
  41531.     cEntityName = Entity.Name;
  41532.     Verify.Writeln( FormatStr( Translator.Translate( 'E_ENT_CHECK',0 ), cEntityName ) );
  41533.     };
  41534. Verify.AddError( FormatStr( Translator.Translate( cErrorMessage,0 ), cParam1 ) );
  41535. };
  41536. ]]></VALUE>
  41537. <LANGUAGE>1</LANGUAGE>
  41538. <LANGUAGEWIN>---</LANGUAGEWIN>
  41539. <CATEGORY>7</CATEGORY>
  41540. <MAINSCRIPT>0</MAINSCRIPT>
  41541. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41542. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41543. <AUTHOR></AUTHOR>
  41544. <COMPANY></COMPANY>
  41545. <VERSION></VERSION>
  41546. <CREATED><DATE>4/15/2002</DATE><TIME>14:52:13</TIME></CREATED>
  41547. <MODIFIED><DATE>5/20/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41548. </TEMPLATE>
  41549. <TEMPLATE>
  41550. <NAME>DB2_71</NAME>
  41551. <ID>33</ID>
  41552. <GUID>{9C8C545F-C06D-4957-B127-79DBCEE2EE86}</GUID>
  41553. <CAPTION>DB2 verze 7</CAPTION>
  41554. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  41555. <ENABLED>1</ENABLED>
  41556. <LEVEL>0</LEVEL>
  41557. <IDPARENT>0</IDPARENT>
  41558. <VALUE><![CDATA[function Connect()
  41559. {
  41560. Translator.DefaultLng = 'csy';
  41561. ReadVocabulary();
  41562. Scripting.DB2_71_main.Connect();
  41563. };
  41564.  
  41565. //======================================================================
  41566.  
  41567. function Main()
  41568. {
  41569. Scripting.DB2_71_main.Main();
  41570. };
  41571.  
  41572. //======================================================================
  41573.  
  41574. function Disconnect()
  41575. {
  41576. Scripting.DB2_71_main.Disconnect();
  41577. };
  41578.  
  41579. //======================================================================
  41580.  
  41581. function DefineVariables()
  41582. {
  41583. Schema.DatabaseId = 190;
  41584.  
  41585. Variables.DefineVariable( 'lCheckCon',        'NaΦti check constrainty',        1 );
  41586. Variables.lCheckCon        = true;
  41587. Variables.DefineVariable( 'lUniCon',        'NaΦti unique constraints',    1 );
  41588. Variables.lUniCon            = true;
  41589. Variables.DefineVariable( 'lIndexes',        'NaΦti indexy',                     1 );
  41590. Variables.lIndexes        = true;
  41591. Variables.DefineVariable( 'lTriggers',        'NaΦti triggery',                    1 );
  41592. Variables.lTriggers        = true;    
  41593. Variables.DefineVariable( 'lProcedures',    'NaΦti procedury',                 1 );
  41594. Variables.lProcedures    = true;
  41595. Variables.DefineVariable( 'lViews',            'NaΦti pohledy',                    1 );
  41596. Variables.lViews            = true;
  41597. Variables.DefineVariable( 'lUsers',            'NaΦti u₧ivatelΘ a skupiny',    1 );
  41598. Variables.lUsers            = true;
  41599. Variables.DefineVariable( 'lPermissions',    'NaΦti prßva',                        1 );
  41600. Variables.lPermissions    = true;
  41601. };
  41602.  
  41603. //======================================================================
  41604.  
  41605.  
  41606. function ReadVocabulary()
  41607. {
  41608. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  41609. Translator.Add( 'W_UNK_UDT',    'Upozorn∞nφ: Neznßm² datov² typ %s v u₧ivatelskΘm datovΘm typu %s!' );
  41610. Translator.Add( 'W_REF_INT',    'Upozorn∞nφ: ReferenΦnφ constraint %s byl p°eveden z NO ACTION na RESTRICT!' );
  41611. };
  41612. ]]></VALUE>
  41613. <LANGUAGE>1</LANGUAGE>
  41614. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  41615. <CATEGORY>6</CATEGORY>
  41616. <MAINSCRIPT>1</MAINSCRIPT>
  41617. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  41618. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  41619. <AUTHOR>David Fux</AUTHOR>
  41620. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  41621. <VERSION>1.1</VERSION>
  41622. <CREATED><DATE>8/10/2001</DATE><TIME>17:55:28</TIME></CREATED>
  41623. <MODIFIED><DATE>10/25/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  41624. </TEMPLATE>
  41625. <TEMPLATE>
  41626. <NAME>DB2_71_main</NAME>
  41627. <ID>34</ID>
  41628. <GUID>{6356BD34-459B-445C-9772-0126DEDC0172}</GUID>
  41629. <CAPTION>DB2_71_main</CAPTION>
  41630. <PACKAGEGUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</PACKAGEGUID>
  41631. <ENABLED>1</ENABLED>
  41632. <LEVEL>0</LEVEL>
  41633. <IDPARENT>0</IDPARENT>
  41634. <VALUE><![CDATA[function Connect()
  41635. {
  41636. var Query, cId;
  41637.  
  41638. Scripting.RE_Dictionary.ReadVocabulary();
  41639. Schema.ClearTables();
  41640.  
  41641. if ( Database.Connect() )
  41642.     {
  41643.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  41644.     
  41645.     Query      = Database.DefineQuery();
  41646.     Query.SQL = 'SELECT TABSCHEMA,TABNAME,REMARKS '
  41647.                  + 'FROM SYSCAT.TABLES '
  41648.                  +    'WHERE TYPE = \'T\' AND '
  41649.                  +            'TABSCHEMA <> \'SYSIBM\' AND '
  41650.                  +            'TABSCHEMA <> \'SYSCAT\' AND '
  41651.                  +            'TABSCHEMA <> \'SYSSTAT\'';
  41652.  
  41653.     if ( Query.Open() )
  41654.         {
  41655.         while (! Query.Eof)
  41656.             {
  41657.            t = Schema.AddTable();
  41658.             t.TableSchema     = Query.GetFieldValue( 'TABSCHEMA' );
  41659.             t.TableName     = Query.GetFieldValue( 'TABNAME' );
  41660.             t.Description    = Query.GetFieldValue( 'REMARKS' );
  41661.            t.Selected      = true;
  41662.     
  41663.             Query.Next();
  41664.             }
  41665.         Query.Close();
  41666.         }
  41667.     else
  41668.         Database.Disconnect();
  41669.  
  41670.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41671.     };
  41672. };
  41673.  
  41674. //===========================================================================================
  41675.  
  41676. function Main()
  41677. {
  41678. var Query = Database.DefineQuery();
  41679. var s;
  41680.  
  41681. Schema.Clear();
  41682.  
  41683. //--- Load User-defined Data Types -----------------------------------------------------------------------
  41684. Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  41685.  
  41686. Query.SQL = 'SELECT TYPENAME,SOURCENAME,LENGTH,SCALE,REMARKS '
  41687.              + 'FROM SYSCAT.DATATYPES '
  41688.              + 'WHERE TYPESCHEMA <> \'SYSIBM\' AND '
  41689.              +           'TYPESCHEMA <> \'SYSCAT\' AND '
  41690.              +            'TYPESCHEMA <> \'SYSSTAT\'';
  41691.  
  41692. if ( Query.Open() )
  41693.     {
  41694.     while (! Query.Eof)
  41695.         {
  41696.         
  41697.        s = Schema.AddDictType();
  41698.        s.DictTypeName    = Query.GetFieldValue( 'TYPENAME'    );
  41699.         s.DataType         = GetDataType( Query.GetFieldValue( 'SOURCENAME' ) );
  41700.         s.Length            = Query.GetFieldValue( 'LENGTH'        );
  41701.         s.Decimal       = Query.GetFieldValue( 'SCALE'        );
  41702.         s.Description  = Query.GetFieldValue( 'REMARKS'     );
  41703.         if (s.DataType == 0)
  41704.             Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_UDT',0 ),Query.GetFieldValue( 'TYPENAME' ),s.DictTypeName ) );
  41705.  
  41706.         Query.Next();
  41707.         }
  41708.     Query.Close();
  41709.     }
  41710.  
  41711. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41712. //--- Load Columns --------------------------------------------------------------------------
  41713. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  41714.  
  41715. Query.SQL = 'SELECT TABSCHEMA,TABNAME,COLNAME,COLNO,TYPENAME,TYPESCHEMA,LENGTH,SCALE,NULLS,DEFAULT,REMARKS '
  41716.              + 'FROM SYSCAT.COLUMNS '
  41717.              + 'WHERE TABSCHEMA <> \'SYSIBM\' AND '
  41718.              +           'TABSCHEMA <> \'SYSCAT\' AND '
  41719.              +            'TABSCHEMA <> \'SYSSTAT\'';
  41720.  
  41721. if ( Query.Open() )
  41722.     {
  41723.     while (! Query.Eof)
  41724.         {
  41725.        s = Schema.AddColumn();
  41726.        s.Ordinal        = Query.GetFieldValue( 'COLNO' );
  41727.         s.TableSchema     = Query.GetFieldValue( 'TABSCHEMA' );
  41728.         s.TableName     = Query.GetFieldValue( 'TABNAME'    );
  41729.         s.ColumnName   = Query.GetFieldValue( 'COLNAME'    );
  41730.         s.Description    = Query.GetFieldValue( 'REMARKS' );
  41731.         
  41732.         if ( Trim( Query.GetFieldValue( 'TYPESCHEMA' ) ) == 'SYSIBM' )
  41733.             {
  41734.             s.DataType        = Schema.GetDataTypeIdByName( Query.GetFieldValue( 'TYPENAME' ) );
  41735. //            s.DataType        = GetDataType( Query.GetFieldValue( 'TYPENAME' ) );
  41736.             s.Length            = Query.GetFieldValue( 'LENGTH'    );
  41737.             s.Decimal        = Query.GetFieldValue( 'SCALE'    );
  41738.  
  41739.             if (s.DataType == 0)
  41740.                 Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),Query.GetFieldValue( 'TYPENAME' ),s.TableName) );
  41741.             }
  41742.         else    
  41743.             s.DictTypeName    = Query.GetFieldValue( 'TYPENAME'  );
  41744.  
  41745.         s.Default        = Query.GetFieldValue( 'DEFAULT'    );
  41746.         s.Nullable        = Query.GetFieldValue( 'NULLS'    ) == 'Y';
  41747.  
  41748.         Query.Next();
  41749.         }
  41750.     Query.Close();
  41751.     }
  41752.  
  41753. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41754. //--- Load Primary Keys --------------------------------------------------------------------
  41755. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  41756.  
  41757. Query.SQL = 'SELECT TC.CONSTNAME AS CN1,TC.TABSCHEMA,TC.TABNAME,TC.TYPE,CU.CONSTNAME AS CN2,CU.COLNAME,CU.COLSEQ '
  41758.              + 'FROM SYSCAT.TABCONST AS TC, SYSCAT.KEYCOLUSE AS CU '
  41759.             + 'WHERE TC.CONSTNAME=CU.CONSTNAME AND '
  41760.             + 'TC.TYPE = \'P\' AND '
  41761.             + 'TC.TABSCHEMA <> \'SYSIBM\' AND '
  41762.             + 'TC.TABSCHEMA <> \'SYSCAT\' AND '
  41763.              + 'TC.TABSCHEMA <> \'SYSSTAT\'';    
  41764.  
  41765. if ( Query.Open() )
  41766.     {
  41767.     while (! Query.Eof)
  41768.         {
  41769.        s = Schema.AddPrimaryKey();
  41770.  
  41771.        s.TableSchema     = Query.GetFieldValue( 'TABSCHEMA'    );
  41772.        s.TableName        = Query.GetFieldValue( 'TABNAME'        );
  41773.        s.ColumnName    = Query.GetFieldValue( 'COLNAME'        );
  41774.        s.PkName            = Query.GetFieldValue( 'CN1'            );
  41775.          s.Ordinal        = Query.GetFieldValue( 'COLSEQ'        );
  41776.  
  41777.         Query.Next();
  41778.         };
  41779.     Query.Close();
  41780.     };
  41781.  
  41782. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41783. //--- Load References ----------------------------------------------------------------------
  41784. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  41785.  
  41786. Query.SQL = 'SELECT RE.TABSCHEMA,RE.TABNAME,RE.REFKEYNAME,RE.CONSTNAME AS CN1,RE.REFTABSCHEMA,'
  41787.              +             'RE.REFTABNAME,RE.UPDATERULE,RE.DELETERULE,'
  41788.              +             'CU.COLSEQ,CU.CONSTNAME AS CN2,CU.COLNAME,'
  41789.              +             'FK.COLNAME AS FKCOLNAME '
  41790.              + 'FROM SYSCAT.REFERENCES AS RE, SYSCAT.KEYCOLUSE AS CU, SYSCAT.KEYCOLUSE AS FK '
  41791.             + 'WHERE RE.REFKEYNAME = CU.CONSTNAME AND '
  41792.             +            'RE.REFTABNAME = CU.TABNAME AND '
  41793.             +            'RE.CONSTNAME = FK.CONSTNAME AND '
  41794.             +            'RE.TABNAME = FK.TABNAME AND '
  41795.             +            'CU.COLSEQ = FK.COLSEQ AND '
  41796.             +         'RE.TABSCHEMA <> \'SYSIBM\' AND '
  41797.             +         'RE.TABSCHEMA <> \'SYSCAT\' AND '
  41798.              +         'RE.TABSCHEMA <> \'SYSSTAT\'';    
  41799.  
  41800. if ( Query.Open() )
  41801.     {
  41802.     while (! Query.Eof)
  41803.         {
  41804.        s = Schema.AddForeignKey();
  41805.  
  41806.        s.PkTableSchema= Query.GetFieldValue( 'REFTABSCHEMA'    );
  41807.        s.PkTableName    = Query.GetFieldValue( 'REFTABNAME'        );
  41808.        s.PkName            = Query.GetFieldValue( 'REFKEYNAME'        );
  41809.        s.PkColumnName    = Query.GetFieldValue( 'COLNAME'            );
  41810.  
  41811.        s.FkTableSchema= Query.GetFieldValue( 'TABSCHEMA'        );
  41812.        s.FkTableName    = Query.GetFieldValue( 'TABNAME'            );
  41813.        s.FkName            = Query.GetFieldValue( 'CN1'                );
  41814.        s.FkColumnName    = Query.GetFieldValue( 'FKCOLNAME'        );
  41815.  
  41816.         s.Ordinal        = Query.GetFieldValue( 'COLSEQ'            );
  41817.         
  41818.         if ( Query.GetFieldValue( 'UPDATERULE' ) == 'R' )
  41819.             s.UpdateRule     = 'restrict'
  41820.         else    
  41821.             s.UpdateRule    = 'none';
  41822.             
  41823.         s.UpdateRule    = 'restrict';
  41824.         switch ( Query.GetFieldValue( 'DELETERULE' ) )
  41825.         {
  41826.         case 'R' : s.DeleteRule = 'restrict';    break; 
  41827.         case 'N' : s.DeleteRule = 'set null';    break;
  41828.         case 'C' : s.DeleteRule = 'cascade';    break;
  41829.         case 'A' : s.DeleteRule = 'restrict';    break;
  41830.         };           
  41831.  
  41832.         Query.Next();
  41833.         };
  41834.     Query.Close();
  41835.     };
  41836.                 
  41837. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41838. //--- Load Check Constraints ---------------------------------------------------------------
  41839.  
  41840. if ( Variables.lCheckCon )
  41841.     {
  41842.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  41843.     
  41844.     Query.SQL = 'SELECT CH.CONSTNAME,CH.TABSCHEMA,CH.TABNAME,CAST(CH.TEXT AS LONG VARCHAR) AS TEXT,CC.COLNAME, '
  41845.                  +        '(SELECT COUNT(*) FROM SYSCAT.COLCHECKS CC2 WHERE CH.TABSCHEMA=CC2.TABSCHEMA AND CH.TABNAME=CC2.TABNAME AND CH.CONSTNAME=CC2.CONSTNAME) AS COLCOUNT '
  41846.                  + 'FROM SYSCAT.CHECKS AS CH, SYSCAT.COLCHECKS AS CC '
  41847.                 + 'WHERE CH.TABSCHEMA=CC.TABSCHEMA AND '
  41848.                 +        'CH.TABNAME=CC.TABNAME AND '
  41849.                 +          'CH.CONSTNAME=CC.CONSTNAME';
  41850.  
  41851.  
  41852.     if ( Query.Open() )
  41853.         {
  41854.         while (! Query.Eof)
  41855.             {
  41856.             if ( Query.GetFieldValue( 'COLCOUNT'    )==1 )
  41857.                 {
  41858.                s = Schema.AddColumnCheckConstraint();           
  41859.                s.ColumnName        = Query.GetFieldValue( 'COLNAME'        );
  41860.                s.ConstraintName     = Query.GetFieldValue( 'CONSTNAME'    );
  41861.                s.TableSchema         = Query.GetFieldValue( 'TABSCHEMA'    );
  41862.                   s.TableName            = Query.GetFieldValue( 'TABNAME'        );
  41863.                   s.Text                = Query.GetFieldValue( 'TEXT'            );
  41864.                }
  41865.             else
  41866.                 {
  41867.                 cId = Query.GetFieldValue( 'CONSTNAME' )+'.'+Query.GetFieldValue( 'TABSCHEMA' )+'.'+Query.GetFieldValue( 'TABNAME' );
  41868.                  if ( Schema.GetCheckConstraint( cId ) == null )
  41869.                     {        
  41870.                    s = Schema.AddCheckConstraint();
  41871.                    s.ConstraintName     = Query.GetFieldValue( 'CONSTNAME'    );
  41872.                    s.TableSchema         = Query.GetFieldValue( 'TABSCHEMA'    );
  41873.                       s.TableName            = Query.GetFieldValue( 'TABNAME'        );
  41874.                       s.Id                    = cId; 
  41875.                       s.Text                = Query.GetFieldValue( 'TEXT'            );
  41876.                       };
  41877.                   };
  41878.  
  41879.             Query.Next();
  41880.             };
  41881.         Query.Close();
  41882.         };
  41883.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41884.     };
  41885.  
  41886. //--- Load Unique Constraints -----------------------------------------------------------------
  41887.  
  41888. if ( Variables.lUniCon )
  41889.     {
  41890.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  41891.  
  41892.     Query.SQL = 'SELECT TC.CONSTNAME,TC.TABSCHEMA,TC.TABNAME, '
  41893.                  +        'CU.COLNAME,CU.COLSEQ '
  41894.                  + 'FROM SYSCAT.TABCONST AS TC, SYSCAT.KEYCOLUSE AS CU '
  41895.                 + 'WHERE TC.CONSTNAME=CU.CONSTNAME AND '
  41896.                 + 'TC.TYPE = \'U\' AND '
  41897.                 + 'TC.TABSCHEMA = CU.TABSCHEMA AND '
  41898.                 + 'TC.TABNAME = CU.TABNAME AND '
  41899.                 + 'TC.TABSCHEMA <> \'SYSIBM\' AND '
  41900.                 + 'TC.TABSCHEMA <> \'SYSCAT\' AND '
  41901.                  + 'TC.TABSCHEMA <> \'SYSSTAT\'';    
  41902.  
  41903.     if ( Query.Open() )
  41904.         {
  41905.         while (! Query.Eof)
  41906.             {
  41907.            s = Schema.AddUniqueConstraint();
  41908.  
  41909.            s.TableSchema         = Query.GetFieldValue( 'TABSCHEMA'    );
  41910.            s.TableName            = Query.GetFieldValue( 'TABNAME'        );
  41911.            s.ColumnName        = Query.GetFieldValue( 'COLNAME'        );
  41912.            s.ConstraintName    = Query.GetFieldValue( 'CONSTNAME'    );
  41913.              s.Ordinal            = Query.GetFieldValue( 'COLSEQ'        );
  41914.  
  41915.             Query.Next();
  41916.             };
  41917.         Query.Close();
  41918.         };
  41919.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41920.     };    
  41921.  
  41922. //--- Load Indexes -------------------------------------------------------------------------
  41923.  
  41924. if ( Variables.lIndexes )
  41925.     {
  41926.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  41927.     
  41928.     Query.SQL = 'SELECT IN.TABSCHEMA,IN.TABNAME,IN.INDNAME,IN.UNIQUERULE,IN.INDEXTYPE,'
  41929.                  +             'IC.COLSEQ,IC.COLORDER,IC.COLNAME '
  41930.                  + 'FROM SYSCAT.INDEXES AS IN, SYSCAT.INDEXCOLUSE AS IC '
  41931.                 + 'WHERE IN.INDNAME = IC.INDNAME AND '
  41932.                  +            'IN.SYSTEM_REQUIRED = 0 AND '
  41933.                  +            'IN.TABSCHEMA <> \'SYSIBM\' AND '
  41934.                 +         'IN.TABSCHEMA <> \'SYSCAT\' AND '
  41935.                  +         'IN.TABSCHEMA <> \'SYSSTAT\'';    
  41936.  
  41937.     if ( Query.Open() )
  41938.         {
  41939.         while (! Query.Eof)
  41940.             {
  41941.            s = Schema.AddIndex();
  41942.  
  41943.            s.TableSchema             = Query.GetFieldValue( 'TABSCHEMA'    );
  41944.            s.TableName                = Query.GetFieldValue( 'TABNAME'        );
  41945.             s.IndexName           = Query.GetFieldValue( 'INDNAME'        );
  41946.             s.Unique                    = Query.GetFieldValue( 'UNIQUERULE'    ) == 'U';
  41947.             s.Clustered                = Query.GetFieldValue( 'INDEXTYPE'     ) == 'CLUS';
  41948.  
  41949.             s.ColumnName            = Query.GetFieldValue( 'COLNAME'       );
  41950.             s.DescendingColumn    = Query.GetFieldValue( 'COLORDER'    ) != 'A';        
  41951.             s.Ordinal                = Query.GetFieldValue( 'COLSEQ'        );
  41952.         
  41953.             Query.Next();
  41954.             };
  41955.         Query.Close();
  41956.         };
  41957.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  41958.     };    
  41959.  
  41960. //--- Load Triggers -------------------------------------------------------------------------
  41961.  
  41962. if ( Variables.lTriggers )
  41963.     {
  41964.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  41965.     
  41966.     Query.SQL = 'SELECT TRIGSCHEMA,TABSCHEMA,TABNAME,TRIGNAME,CAST(TEXT AS LONG VARCHAR) AS TEXT '
  41967.                  + 'FROM SYSCAT.TRIGGERS '
  41968.                 + 'WHERE TRIGSCHEMA <> \'SYSIBM\' AND '
  41969.                 +         'TRIGSCHEMA <> \'SYSCAT\' AND '
  41970.                  +         'TRIGSCHEMA <> \'SYSSTAT\'';    
  41971.  
  41972.     if ( Query.Open() )
  41973.         {
  41974.         while (! Query.Eof)
  41975.             {
  41976.  
  41977.             text    = Query.GetFieldValue( 'TEXT'    );
  41978.             re     = /referencing/gi;
  41979.            text    = text.replace(re, "\r\nreferencing");
  41980.             re     = /when/gi;
  41981.            text    = text.replace(re, "\r\nwhen");
  41982.             re        = /begin/gi;
  41983.             text  = text.replace(re, "\r\nbegin");
  41984.             re        = /atomic/gi;
  41985.             text  = text.replace(re, " atomic\r\n");
  41986.             re        = /;/gi;
  41987.             text  = text.replace(re, ";\r\n");
  41988.  
  41989.            s = Schema.AddTrigger();
  41990.            s.TableSchema     = Query.GetFieldValue( 'TABSCHEMA'    );
  41991.            s.TableName        = Query.GetFieldValue( 'TABNAME'        );
  41992.            s.TriggerName    = Query.GetFieldValue( 'TRIGNAME'    );
  41993.            s.Text            = text;
  41994.   
  41995.             Query.Next();
  41996.             };
  41997.         Query.Close();
  41998.         };
  41999.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42000.     };
  42001.     
  42002. //--- Load Views -------------------------------------------------------------------------
  42003.  
  42004. if ( Variables.lViews )
  42005.     {
  42006.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  42007.     
  42008.     Query.SQL = 'SELECT VIEWNAME,CAST(TEXT AS LONG VARCHAR) AS TEXT '
  42009.                  + 'FROM SYSCAT.VIEWS '
  42010.                 + 'WHERE VIEWSCHEMA <> \'SYSIBM\' AND '
  42011.                 +         'VIEWSCHEMA <> \'SYSCAT\' AND '
  42012.                  +         'VIEWSCHEMA <> \'SYSSTAT\'';    
  42013.  
  42014.     if ( Query.Open() )
  42015.         {
  42016.         while (! Query.Eof)
  42017.             {
  42018.             text    = Query.GetFieldValue( 'TEXT'    );
  42019.             re     = /as select/gi;
  42020.            text    = text.replace(re, "\r\nas select");
  42021.             re        = /from/gi;
  42022.             text  = text.replace(re, "\r\nfrom");
  42023.             re        = /where/gi;
  42024.             text  = text.replace(re, "\r\nwhere");
  42025.  
  42026.            s = Schema.AddView();
  42027.            s.ViewName    = Query.GetFieldValue( 'VIEWNAME');
  42028.            s.Text        = text;
  42029.   
  42030.         
  42031.             Query.Next();
  42032.             };
  42033.         Query.Close();
  42034.         };
  42035.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42036.     };
  42037.  
  42038. //--- Load Procedures ----------------------------------------------------------------------
  42039.  
  42040. if ( Variables.lProcedures    )
  42041.     {
  42042.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  42043.  
  42044.    var ParamQuery = Database.DefineQuery();
  42045.     var cHead = ''
  42046.  
  42047.     Query.SQL = 'SELECT PROCSCHEMA,PROCNAME,SPECIFICNAME,PARM_COUNT,RESULT_SETS,CONTAINS_SQL,' 
  42048.                  +             'DETERMINISTIC,LANGUAGE,CLASS,IMPLEMENTATION,PARM_STYLE,FENCED,PROGRAM_TYPE,' 
  42049.                  +        'DBINFO,CAST(TEXT AS LONG VARCHAR) AS TEXT '
  42050.                  + 'FROM SYSCAT.PROCEDURES '
  42051.                 + 'WHERE PROCSCHEMA <> \'SYSIBM\' AND '
  42052.                 +         'PROCSCHEMA <> \'SYSCAT\' AND '
  42053.                  +         'PROCSCHEMA <> \'SYSSTAT\'';    
  42054.  
  42055.     if ( Query.Open() )
  42056.         {
  42057.         while (! Query.Eof)
  42058.             {
  42059.             cHead = '';
  42060.             
  42061.             // Read procedure parameters
  42062.             if (Query.GetFieldValue( 'PARM_COUNT' ) > 0)
  42063.                 {
  42064.                 ParamQuery.SQL = 'SELECT PARM_MODE,PARMNAME,TYPENAME,LENGTH,SCALE '
  42065.                                     + 'FROM SYSCAT.PROCPARMS '
  42066.                                     + 'WHERE SPECIFICNAME=\'' + Query.GetFieldValue( 'SPECIFICNAME' ) + '\' '
  42067.                                     + 'ORDER BY ORDINAL';
  42068.  
  42069.                 if ( ParamQuery.Open() )
  42070.                     {
  42071.                     while (! ParamQuery.Eof)
  42072.                         {
  42073.                         if (cHead != '')
  42074.                             cHead += ', ';
  42075.                         
  42076.                         cHead += ParamQuery.GetFieldValue( 'PARM_MODE' )+' ';
  42077.                         cHead += ParamQuery.GetFieldValue( 'PARMNAME' )+' ';
  42078.                         cHead += ParamQuery.GetFieldValue( 'TYPENAME' );
  42079.                         cHead += GetParamLength( ParamQuery );
  42080.                         
  42081.                         ParamQuery.Next();
  42082.                         };
  42083.                     ParamQuery.Close();
  42084.                     cHead = '(' +cHead+ ')\r\n';
  42085.                     };                    
  42086.                 };
  42087.  
  42088.             // Read procedure definition
  42089.             cHead  = 'CREATE PROCEDURE ' +Query.GetFieldValue( 'PROCSCHEMA' )+'.'+Query.GetFieldValue( 'PROCNAME' )+' '+ cHead;
  42090.             cHead += 'SPECIFIC ' + Query.GetFieldValue( 'SPECIFICNAME' ) + '\r\n';
  42091.             cHead += 'DYNAMIC RESULT SETS ' + Query.GetFieldValue( 'RESULT_SETS' );
  42092.             if (Query.GetFieldValue( 'FENCED' ) == 'N')
  42093.               cHead += ' NOT'
  42094.             cHead += ' FENCED\r\n';
  42095.  
  42096.             switch (Query.GetFieldValue( 'CONTAINS_SQL' ))
  42097.                 {
  42098.                 case 'C': cHead += 'CONTAINS SQL '; break;
  42099.                 case 'M': cHead += 'MODIFIES SQL DATA '; break;
  42100.                 case 'N': cHead += 'NO SQL '; break;
  42101.                 case 'R': cHead += 'READS SQL DATA '; break;
  42102.                 };
  42103.  
  42104.             if (Query.GetFieldValue( 'DETERMINISTIC' ) == 'N')
  42105.                 cHead += ' NOT ';        
  42106.             cHead += ' DETERMINISTIC\r\n';
  42107.  
  42108.             cHead += 'LANGUAGE '+Query.GetFieldValue( 'LANGUAGE' ); 
  42109.  
  42110.             if (Query.GetFieldValue( 'LANGUAGE' ) == 'SQL' )
  42111.                 {
  42112.                 cHead += '\r\n'
  42113.  
  42114.                 text    = Query.GetFieldValue( 'TEXT'    );
  42115.                 re     = /as select/gi;
  42116.                text    = text.replace(re, "\r\nas select");
  42117.                 re        = /from/gi;
  42118.                 text  = text.replace(re, "\r\nfrom");
  42119.                 re        = /where/gi;
  42120.                 text  = text.replace(re, "\r\nwhere");
  42121.                 
  42122.                 cHead += text;
  42123.                 }
  42124.             else
  42125.                 {
  42126.                 cHead += ' PARAMETER STYLE '+ Query.GetFieldValue('PARM_STYLE') +'\r\n'
  42127.                 
  42128.                 cHead += 'EXTERNAL NAME \'';
  42129.                 if (Query.GetFieldValue( 'LANGUAGE' ) == 'JAVA')
  42130.                     cHead += Query.GetFieldValue( 'CLASS' ) + '.';
  42131.                 cHead += Query.GetFieldValue( 'IMPLEMENTATION' ) +'\'\r\n';
  42132.                 cHead += 'PROGRAM TYPE ';
  42133.                 if (Query.GetFieldValue( 'PROGRAM_TYPE' ) == 'M')
  42134.                     cHead += 'MAIN '
  42135.                 else
  42136.                    cHead += 'SUB '
  42137.  
  42138.                 if (Query.GetFieldValue( 'DBINFO' ) == 'N')
  42139.                     cHead += ' NO';            
  42140.                 cHead += ' DBINFO';       
  42141.                 };
  42142.  
  42143.            s = Schema.AddProcedure();
  42144.            s.ProcedureName    = Query.GetFieldValue( 'PROCNAME' );
  42145.            s.Text                = cHead;
  42146.           
  42147.             Query.Next();
  42148.             };
  42149.         Query.Close();
  42150.         };
  42151.  
  42152.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42153.     };
  42154.  
  42155. //--- Load users and roles -------------------------------------------------------------------------
  42156.  
  42157. if ( Variables.lUsers && Variables.lPermissions    )
  42158.     {
  42159.     Log.Writeln(  Translator.Translate( 'RE_USERS_ROLES',0 ) );
  42160.  
  42161.     Query.SQL = 'SELECT DISTINCT GRANTEE, GRANTEETYPE '
  42162.                  + 'FROM SYSCAT.DBAUTH';
  42163.  
  42164.     if ( Query.Open() )
  42165.         {
  42166.         while (! Query.Eof)
  42167.             {
  42168.             if (Query.GetFieldValue( 'GRANTEETYPE' ) == 'U')
  42169.                 {
  42170.                s = Schema.AddUser()
  42171.                s.UserName = Query.GetFieldValue( 'GRANTEE' );
  42172.                }
  42173.            else
  42174.                {    
  42175.                s = Schema.AddRole();
  42176.               s.RoleName = Query.GetFieldValue( 'GRANTEE' );
  42177.                };
  42178.           
  42179.           Query.Next();
  42180.           };
  42181.           
  42182.        Query.Close();
  42183.        };
  42184.  
  42185.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  42186.     };
  42187.  
  42188. //--- Load tables and views permissions ------------------------------------------------------------
  42189.  
  42190. if ( Variables.lPermissions )
  42191.     {
  42192.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  42193.  
  42194.     Query.SQL = 'SELECT AU.GRANTEE, AU.GRANTEETYPE, AU.TABSCHEMA, AU.TABNAME, TB.TYPE, '
  42195.                  +            'AU.INSERTAUTH, AU.SELECTAUTH, AU.UPDATEAUTH, AU.DELETEAUTH, AU.REFAUTH '
  42196.                  + 'FROM SYSCAT.TABAUTH AS AU, SYSCAT.TABLES AS TB '
  42197.                 + 'WHERE AU.TABSCHEMA <> \'SYSIBM\' AND '
  42198.                 +         'AU.TABSCHEMA <> \'SYSCAT\' AND '
  42199.                  +         'AU.TABSCHEMA <> \'SYSSTAT\' AND '
  42200.                   +         'AU.TABSCHEMA = TB.TABSCHEMA AND '
  42201.                  +       'AU.TABNAME = TB.TABNAME';
  42202.  
  42203.     if ( Query.Open() )
  42204.         {
  42205.         while (! Query.Eof)
  42206.             {
  42207.             if (Query.GetFieldValue( 'GRANTEETYPE' ) == 'U')
  42208.                 {
  42209.                s                 = Schema.AddUserPermission();
  42210.                s.UserName  = Query.GetFieldValue( 'GRANTEE'    );
  42211.                }
  42212.            else
  42213.                {    
  42214.                s                 = Schema.AddRolePermission();
  42215.                 s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  42216.             };
  42217.  
  42218.            s.ObjectCatalog    = '';
  42219.            s.ObjectSchema        = Query.GetFieldValue( 'TABSCHEMA'    );
  42220.            s.ObjectName        = Query.GetFieldValue( 'TABNAME'        );
  42221.            
  42222.            switch ( Query.GetFieldValue( 'TYPE' ) )
  42223.                 {
  42224.                 case 'T': s.ObjectType = 0; break;
  42225.                 case 'V': s.ObjectType = 3; break;
  42226.                 };
  42227.  
  42228.             s.Execute            = false;
  42229.             s.Insert             = Query.GetFieldValue( 'INSERTAUTH' ) != 'N';
  42230.            s.Update                = Query.GetFieldValue( 'UPDATEAUTH' ) != 'N';
  42231.            s.Select                = Query.GetFieldValue( 'SELECTAUTH' ) != 'N';
  42232.          s.DRI                    = Query.GetFieldValue( 'REFAUTH'    ) != 'N';
  42233.           s.Delete                = Query.GetFieldValue( 'DELETEAUTH' ) != 'N';
  42234.           
  42235.           Query.Next();
  42236.           };
  42237.           
  42238.        Query.Close();
  42239.        };
  42240.  
  42241.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  42242.     };
  42243.  
  42244. Schema.Run();    
  42245. };
  42246.  
  42247. //===========================================================================================
  42248.  
  42249. function GetDataType( cTypeName )
  42250. {
  42251. switch (cTypeName)
  42252.     {
  42253.     case 'CHARACTER':            return(  10 );
  42254.     case 'VARCHAR':            return(  20 );
  42255.     case 'LONG VARCHAR':        return(  30 );
  42256.     case 'SMALLINT':            return(  40 );
  42257.     case 'INTEGER':            return(  50 );
  42258.     case 'BIGINT':                return(  60 );
  42259.     case 'FLOAT':                return(  70 );
  42260.     case 'REAL':                return(  75 );
  42261.     case 'DOUBLE':                return(  80 );
  42262.     case 'DECIMAL':            return(  90 );
  42263.     case 'DATE':                return( 100 );
  42264.     case 'TIME':                return( 110 );
  42265.     case 'TIMESTAMP':            return( 120 );
  42266.     case 'BLOB':                return( 130 );
  42267.     case 'DBBLOB':                return( 140 );
  42268.     case 'CLOB':                return( 150 );
  42269.     case 'GRAPHIC':            return( 160 );
  42270.     case 'VAR GRAPHIC':        return( 170 );
  42271.     case 'LONG VARGRAPHIC':    return( 180 );
  42272.     case 'DATALINK':            return( 190 );
  42273.     case 'BOOLEAN':            return( 200 );
  42274.     }
  42275. return( 0 );
  42276. };
  42277.  
  42278. //===========================================================================================
  42279.  
  42280. function GetParamLength( ParamQuery )
  42281. {
  42282. var nParams = 0;
  42283. var cResult = '';
  42284.  
  42285. switch (ParamQuery.GetFieldValue('TYPENAME'))
  42286.     {
  42287.     case 'CHARACTER':            nParams = 1; break;
  42288.     case 'VARCHAR':            nParams = 1; break;
  42289.     case 'LONG VARCHAR':        nParams = 1; break;
  42290.     case 'FLOAT':                nParams = 1; break;
  42291.     case 'DECIMAL':            nParams = 2; break;
  42292.     case 'BLOB':                nParams = 1; break;
  42293.     case 'DBBLOB':                nParams = 1; break;
  42294.     case 'CLOB':                nParams = 1; break;
  42295.     case 'GRAPHIC':            nParams = 1; break;
  42296.     case 'VAR GRAPHIC':        nParams = 1; break;
  42297.     case 'LONG VARGRAPHIC':    nParams = 1; break;
  42298.     };
  42299.  
  42300. if (nParams > 1)
  42301.     cResult = ','+ParamQuery.GetFieldValue('SCALE');
  42302.  
  42303. if (nParams > 0)
  42304.     cResult = '('+ParamQuery.GetFieldValue('LENGTH')+cResult+')';
  42305.     
  42306. return( cResult );                
  42307. }
  42308.  
  42309. //===========================================================================================
  42310.  
  42311. function Disconnect()
  42312. {
  42313. Database.Disconnect();
  42314. };
  42315.  
  42316. //===========================================================================================
  42317. ]]></VALUE>
  42318. <LANGUAGE>1</LANGUAGE>
  42319. <LANGUAGEWIN>---</LANGUAGEWIN>
  42320. <CATEGORY>6</CATEGORY>
  42321. <MAINSCRIPT>0</MAINSCRIPT>
  42322. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  42323. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  42324. <AUTHOR>David Fux</AUTHOR>
  42325. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  42326. <VERSION>1.0</VERSION>
  42327. <CREATED><DATE>6/12/2001</DATE><TIME>11:59:50</TIME></CREATED>
  42328. <MODIFIED><DATE>7/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  42329. </TEMPLATE>
  42330. <TEMPLATE>
  42331. <NAME>InterBase_6_main</NAME>
  42332. <ID>35</ID>
  42333. <GUID>{A11EE256-B36A-4000-9E6A-867C2B865AE6}</GUID>
  42334. <CAPTION>InterBase_6_main</CAPTION>
  42335. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  42336. <ENABLED>1</ENABLED>
  42337. <LEVEL>0</LEVEL>
  42338. <IDPARENT>0</IDPARENT>
  42339. <VALUE><![CDATA[function Connect()
  42340. {
  42341. var Query, cId;
  42342. var t, s;
  42343.  
  42344. Scripting.RE_Dictionary.ReadVocabulary();
  42345. Schema.ClearTables();
  42346. Schema.CaseSensitive = true;
  42347.  
  42348. if ( Database.Connect() )
  42349. {
  42350.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  42351.     Query      = Database.DefineQuery();
  42352.     Query.SQL = 'select rdb$relation_name as table_name, rdb$owner_name as owner_name, '
  42353.                  + 'rdb$view_source as view_source, rdb$external_file as external_file '
  42354.                  + 'from rdb$relations '
  42355.                  + 'where rdb$system_flag = 0 or '
  42356.                  + 'rdb$system_flag is null '
  42357.                  + 'order by rdb$relation_name';
  42358.  
  42359.     if ( Query.Open() )
  42360.     {
  42361.         while (! Query.Eof)
  42362.         {
  42363.         if (Query.GetFieldValue('view_source')=="")
  42364.         {
  42365.            t = Schema.AddTable();
  42366.             t.TableSchema  = Query.GetFieldValue( 'owner_name' );
  42367.             t.TableName     = Query.GetFieldValue( 'table_name' );
  42368.             t.id                = Query.GetFieldValue('owner_name')+'.'+Query.GetFieldValue('table_name');
  42369.            t.Selected      = true;
  42370.            
  42371.            external_file = Query.GetFieldValue('external_file')
  42372.            if ((external_file != 0) && (external_file != null))
  42373.                t.SetUserVariable('cExternalFile', external_file);
  42374.         }
  42375.             Query.Next();
  42376.         }
  42377.         Query.Close();
  42378.     }
  42379.     else
  42380.         Database.Disconnect();
  42381.  
  42382.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42383. }
  42384. }
  42385.  
  42386. //===========================================================================================
  42387.  
  42388. function Main()
  42389. {
  42390. var Query = Database.DefineQuery();
  42391. var SubQuery = Database.DefineQuery();
  42392. var s, p;
  42393.  
  42394. Schema.Clear();
  42395.  
  42396. //--- Load User-defined Data Types -----------------------------------------------------------------------
  42397.  
  42398. Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  42399.  
  42400. Query.SQL = 'select f.rdb$field_name as field_name, f.rdb$default_source as default_source, f.rdb$collation_id as collation_id, '
  42401.         + 'f.rdb$field_length as column_length, f.rdb$field_scale as column_scale, f.rdb$field_precision as column_precision, '
  42402.         + 'f.rdb$field_type as column_type, f.rdb$character_length as char_length, '
  42403.         + 'f.rdb$character_set_id as character_set_id, '
  42404.         + 'f.rdb$field_sub_type as column_sub_type, f.rdb$segment_length as segment_length, '
  42405.         + 'f.rdb$validation_source as validation_source '
  42406.         + 'from rdb$fields f '
  42407.         + 'where f.rdb$field_name not starting \'RDB$\'';
  42408.  
  42409. if ( Query.Open() )
  42410. {
  42411.     while (! Query.Eof)
  42412.     {
  42413.        s = Schema.AddDictType();
  42414.        s.DictTypeName = Query.GetFieldValue( 'field_name'    );
  42415.  
  42416.         if (Query.GetFieldValue( 'column_type' ) == 8)
  42417.         {
  42418.             if ( (Query.GetFieldValue('column_sub_type') == 0) || (Query.GetFieldValue('column_sub_type') == null) )
  42419.                 s.DataType = 40; //Integer
  42420.             else
  42421.                 if (Query.GetFieldValue('column_sub_type') == 1)
  42422.                 {
  42423.                     s.DataType = 100; //Numeric
  42424.                     s.Length = Query.GetFieldValue('column_precision');
  42425.                     s.Decimal = Math.abs(Query.GetFieldValue('column_scale'));
  42426.                 }
  42427.                 else
  42428.                 {
  42429.                     s.DataType = 90; //Decimal
  42430.                     s.Length = Query.GetFieldValue('column_precision');
  42431.                     s.Decimal = Math.abs(Query.GetFieldValue('column_scale'));
  42432.                 }
  42433.         }
  42434.         else
  42435.             s.DataType = GetDataType( Query.GetFieldValue('column_type') );
  42436.  
  42437.         if ((Query.GetFieldValue( 'column_type' ) == 14) || (Query.GetFieldValue( 'column_type' ) == 37))
  42438.             s.Length = Query.GetFieldValue('column_length');
  42439.  
  42440.         if (Query.GetFieldValue( 'column_type' ) == 261)
  42441.         {
  42442.             s.Length = Query.GetFieldValue('segment_length');
  42443.             s.Decimal = Query.GetFieldValue('column_sub_type');
  42444.         }
  42445.  
  42446.         default_s = Query.GetFieldValue('default_source');
  42447.         poc = default_s.search( /default/i );
  42448.         if (poc!=-1)
  42449.         {
  42450.             default_s = default_s.substr(7);
  42451.             s.Default = Trim(default_s);
  42452.         }
  42453.  
  42454.         check_s = Query.GetFieldValue('validation_source');
  42455.         poc = check_s.search( /check/i );
  42456.         if (poc!=-1)
  42457.         {
  42458.             check_s = check_s.substr(5);
  42459.             check_s = Trim(check_s);
  42460.             s.Check = Trim(check_s.substr(1,check_s.length-2));
  42461.         }
  42462.  
  42463.         if (Variables.lCollationsChrSets)
  42464.             if ( ((Query.GetFieldValue('collation_id')!=0) && (Query.GetFieldValue('collation_id')!=null)) || ((Query.GetFieldValue('character_set_id')!=0) && (Query.GetFieldValue('character_set_id')!=null)) )
  42465.             {
  42466.                 collat = Query.GetFieldValue('collation_id');
  42467.                 char_set = Query.GetFieldValue('character_set_id');
  42468.                 if (collat == null) collat = 0;
  42469.                 if (char_set == null) char_set = 0;
  42470.                 SubQuery.SQL = 'select c.rdb$collation_name as Collation_Name, '
  42471.                         + 'ch.rdb$character_set_name as Character_set_name, '
  42472.                         + 'ch.rdb$character_set_id as Character_set_id, '
  42473.                         + 'c.rdb$collation_id as Collation_id '
  42474.                         + 'from rdb$collations c,rdb$character_sets ch '
  42475.                         + 'where c.rdb$character_set_id = ch.rdb$character_set_id '
  42476.                         + 'and c.rdb$collation_id = '+collat+' and ch.rdb$character_set_id = '+char_set;
  42477.                 if ( SubQuery.Open() )
  42478.                 {
  42479.                     if ( !SubQuery.Eof )
  42480.                     {
  42481.                         if (char_set != 0)
  42482.                             s.Def = 'CHARACTER SET '+SubQuery.GetFieldValue('character_set_name');
  42483.                         if (collat != 0)
  42484.                             s.Def2 = 'COLLATE '+SubQuery.GetFieldValue('collation_name');
  42485.                     }
  42486.                     SubQuery.Close();
  42487.                 }
  42488.             }
  42489.  
  42490.         j++;
  42491.         Query.Next();
  42492.     }
  42493.     Query.Close();
  42494. }
  42495. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42496.  
  42497. //--- Load Columns --------------------------------------------------------------------------
  42498.  
  42499. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  42500.  
  42501. Query.SQL = 'select rf.rdb$field_name as column_name, rf.rdb$relation_name as table_name, '
  42502.              + 'rf.rdb$null_flag as notnull, rf.rdb$default_source as default_source, rf.rdb$collation_id as collation_id, '
  42503.              + 'f.rdb$field_length as column_length, f.rdb$field_scale as column_scale, f.rdb$field_precision as column_precision, '
  42504.              + 'f.rdb$field_type as column_type, f.rdb$character_length as char_length, '
  42505.              + 'f.rdb$character_set_id as character_set_id, r.rdb$owner_name as owner_name, '
  42506.              + 'f.rdb$field_sub_type as column_sub_type, f.rdb$segment_length as segment_length, '
  42507.              + 'f.rdb$validation_source as validation_source, '
  42508.              + 'rf.rdb$field_source as field_source, f.rdb$computed_source as computed_source '
  42509.              + 'from rdb$relation_fields rf, rdb$fields f, rdb$relations r '
  42510.              + 'where rf.rdb$system_flag = 0 '
  42511.              + 'and rf.rdb$field_source=f.rdb$field_name '
  42512.              + 'and rf.rdb$relation_name=r.rdb$relation_name and rf.rdb$view_context is null '
  42513.              + 'order by rf.rdb$relation_name,rf.rdb$field_position';
  42514.  
  42515. if ( Query.Open() )
  42516. {
  42517.     j=0;
  42518.     while (! Query.Eof)
  42519.     {
  42520.        s = Schema.AddColumn();
  42521.        s.Ordinal        = j;
  42522.         s.id                = Query.GetFieldValue('owner_name')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  42523.         s.TableSchema     = Query.GetFieldValue( 'owner_name'    );
  42524.         s.TableName     = Query.GetFieldValue( 'TABLE_NAME'    );
  42525.         s.ColumnName   = Query.GetFieldValue( 'COLUMN_NAME' );
  42526.  
  42527.         if ( Query.GetFieldValue('field_source').search( /RDB\x24/ ) == 0 )
  42528.         {
  42529.             if ( (Query.GetFieldValue('computed_source') == null) || (Query.GetFieldValue('computed_source') == "") )
  42530.             {
  42531.                 if (Query.GetFieldValue( 'column_type' ) == 8)
  42532.                 {
  42533.                     if ( (Query.GetFieldValue('column_sub_type') == 0) || (Query.GetFieldValue('column_sub_type') == null) )
  42534.                         s.DataType = 40; //Integer
  42535.                     else
  42536.                         if (Query.GetFieldValue('column_sub_type') == 1)
  42537.                         {
  42538.                             s.DataType = 100; //Numeric
  42539.                             s.Length = Query.GetFieldValue('column_precision');
  42540.                             s.Decimal = Math.abs(Query.GetFieldValue('column_scale'));
  42541.                         }
  42542.                         else
  42543.                         {
  42544.                             s.DataType = 90; //Decimal
  42545.                             s.Length = Query.GetFieldValue('column_precision');
  42546.                             s.Decimal = Math.abs(Query.GetFieldValue('column_scale'));
  42547.                         }
  42548.                 }
  42549.                 else
  42550.                     s.DataType = GetDataType( Query.GetFieldValue('column_type') );
  42551.  
  42552.                 if ((Query.GetFieldValue( 'column_type' ) == 14) || (Query.GetFieldValue( 'column_type' ) == 37))
  42553.                     s.Length = Query.GetFieldValue('column_length');
  42554.  
  42555.                 if (Query.GetFieldValue( 'column_type' ) == 261)
  42556.                 {
  42557.                     s.Length = Query.GetFieldValue('segment_length');
  42558.                     s.Decimal = Query.GetFieldValue('column_sub_type');
  42559.                 }
  42560.             }
  42561.             else
  42562.             {
  42563.                 s.DataType = 200;
  42564.                 s.UserDataType = 'Computed by '+Query.GetFieldValue('computed_source');
  42565.             }
  42566.         }
  42567.         else    
  42568.             s.DictTypeName    = Query.GetFieldValue( 'field_source' );
  42569.         
  42570.         s.Nullable = (Query.GetFieldValue('notnull') != 1);
  42571.                 
  42572.         default_s = Query.GetFieldValue('default_source');
  42573.         poc = default_s.search( /default/i );
  42574.         if (poc!=-1)
  42575.         {
  42576.             default_s = default_s.substr(7);
  42577.             s.Default = Trim(default_s);
  42578.         }
  42579.  
  42580.         if (Variables.lCollationsChrSets)
  42581.             if ( ((Query.GetFieldValue('collation_id')!=0) && (Query.GetFieldValue('collation_id')!=null)) || ((Query.GetFieldValue('character_set_id')!=0) && (Query.GetFieldValue('character_set_id')!=null)) )
  42582.             {
  42583.                 collat = Query.GetFieldValue('collation_id');
  42584.                 char_set = Query.GetFieldValue('character_set_id');
  42585.                 if (collat == null) collat = 0;
  42586.                 if (char_set == null) char_set = 0;
  42587.                 SubQuery.SQL = 'select c.rdb$collation_name as Collation_Name, '
  42588.                         + 'ch.rdb$character_set_name as Character_set_name, '
  42589.                         + 'ch.rdb$character_set_id as Character_set_id, '
  42590.                         + 'c.rdb$collation_id as Collation_id '
  42591.                         + 'from rdb$collations c,rdb$character_sets ch '
  42592.                         + 'where c.rdb$character_set_id = ch.rdb$character_set_id '
  42593.                         + 'and c.rdb$collation_id = '+collat+' and ch.rdb$character_set_id = '+char_set;
  42594.                 if ( SubQuery.Open() )
  42595.                 {
  42596.                     if ( !SubQuery.Eof )
  42597.                     {
  42598.                         if (char_set != 0)
  42599.                             s.Def = 'CHARACTER SET '+SubQuery.GetFieldValue('character_set_name');
  42600.                         if (collat != 0)
  42601.                             s.Def2 = 'COLLATE '+SubQuery.GetFieldValue('collation_name');
  42602.                     }
  42603.                     SubQuery.Close();
  42604.                 }
  42605.             }
  42606.  
  42607.         j++;
  42608.         Query.Next();
  42609.     }
  42610.     Query.Close();
  42611. }
  42612.  
  42613. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42614.  
  42615. //--- Load Primary Keys --------------------------------------------------------------------
  42616.  
  42617. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  42618.  
  42619. Query.SQL = 'Select rc.rdb$constraint_name as name, rc.rdb$constraint_type as constr_type, rc.rdb$relation_name as table_name, '
  42620.              + 'r.rdb$owner_name as owner_name, rc.rdb$deferrable as deferrable, rc.rdb$initially_deferred as initially_deferred, '
  42621.              + 'rc.rdb$index_name as index_name, isg.rdb$field_name as column_name '
  42622.              + 'from rdb$relation_constraints rc, rdb$relations r, rdb$index_segments isg '
  42623.              + 'where rc.rdb$relation_name=r.rdb$relation_name '
  42624.              + 'and isg.rdb$index_name = rc.rdb$index_name '
  42625.              + 'and rc.rdb$constraint_type=\'PRIMARY KEY\' '
  42626.              + 'order by isg.rdb$index_name,isg.rdb$field_position';
  42627.  
  42628. if ( Query.Open() )
  42629. {
  42630.     j=0;
  42631.     while (! Query.Eof)
  42632.     {
  42633.        s = Schema.AddPrimaryKey();
  42634.  
  42635.        s.TableSchema     = Query.GetFieldValue( 'owner_name'    );
  42636.        s.TableName        = Query.GetFieldValue( 'TABLE_NAME'        );
  42637.        s.ColumnName    = Query.GetFieldValue( 'COLUMN_NAME'    );
  42638.        s.PkName            = Query.GetFieldValue( 'NAME'    );
  42639.  
  42640.          s.Ordinal        = j;
  42641.  
  42642.         j++;
  42643.         Query.Next();
  42644.     }
  42645.     Query.Close();
  42646. }
  42647.             
  42648. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42649.  
  42650. //--- Load References ----------------------------------------------------------------------
  42651.  
  42652. if ( Variables.lRefInt )
  42653. {
  42654. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  42655.  
  42656. Query.SQL = 'Select rc.rdb$constraint_name as name, rc.rdb$constraint_type as constr_type, rc.rdb$relation_name as table_name, '
  42657.          + 'r.rdb$owner_name as owner_name, rc.rdb$deferrable as deferrable, rc.rdb$initially_deferred as initially_deferred, '
  42658.          + 'rc.rdb$index_name as index_name, '
  42659.          + 'isg.rdb$field_name as column_name, isg2.rdb$field_name as column_name_ref, '
  42660.          + 'i2.rdb$relation_name as table_name_ref, r2.rdb$owner_name as owner_name_ref, rc2.rdb$constraint_name as name_ref, '
  42661.          + 'refc.rdb$match_option as match_option, refc.rdb$update_rule as update_rule, refc.rdb$delete_rule as delete_rule '
  42662.          + 'from rdb$relation_constraints rc, rdb$relations r, rdb$index_segments isg, rdb$indices i, rdb$index_segments isg2, rdb$indices i2, rdb$relations r2, rdb$relation_constraints rc2, rdb$Ref_Constraints refc '
  42663.          + 'where rc.rdb$relation_name=r.rdb$relation_name '
  42664.          + 'and isg.rdb$index_name = rc.rdb$index_name '
  42665.          + 'and rc.rdb$constraint_type=\'FOREIGN KEY\' '
  42666.          + 'and i.rdb$index_name = rc.rdb$index_name '
  42667.          + 'and (i.rdb$system_flag = 0 or i.rdb$system_flag is null) '
  42668.          + 'and i.rdb$foreign_key = isg2.rdb$index_name '
  42669.          + 'and isg.rdb$field_position = isg2.rdb$field_position '
  42670.          + 'and i.rdb$foreign_key = i2.rdb$index_name '
  42671.          + 'and i2.rdb$relation_name = r2.rdb$relation_name '
  42672.          + 'and rc2.rdb$relation_name = r2.rdb$relation_name '
  42673.          + 'and i2.rdb$index_name = rc2.rdb$index_name '
  42674.          + 'and refc.rdb$constraint_name = rc.rdb$constraint_name '
  42675.          + 'and refc.rdb$const_name_uq = rc2.rdb$constraint_name '
  42676.          + 'order by isg.rdb$index_name,isg.rdb$field_position';
  42677.  
  42678. if ( Query.Open() )
  42679. {
  42680.     j=0;
  42681.     while (! Query.Eof)
  42682.     {
  42683.           s = Schema.AddForeignKey();
  42684.  
  42685.           s.PkTableSchema= Query.GetFieldValue(  'owner_name_ref'    );
  42686.        s.PkTableName    = Query.GetFieldValue(  'TABLE_NAME_ref'        );
  42687.        s.PkName            = Query.GetFieldValue(    'NAME_ref'            );
  42688.        s.PkColumnName    = Query.GetFieldValue(    'COLUMN_NAME_ref'    );
  42689.  
  42690.         s.FkTableSchema= Query.GetFieldValue(  'owner_name'    );
  42691.        s.FkTableName    = Query.GetFieldValue(  'TABLE_NAME'        );
  42692.        s.FkName            = Query.GetFieldValue(  'NAME'            );
  42693.        s.FkColumnName    = Query.GetFieldValue(    'COLUMN_NAME'    );
  42694.  
  42695.         s.Ordinal        = j;
  42696.  
  42697.         switch ( Query.GetFieldValue( 'UPDATE_RULE' ) )
  42698.         {
  42699.             case "NO ACTION"     : s.UpdateRule = 'restrict'; break; //no action
  42700.             case "CASCADE"     : s.UpdateRule = 'cascade'; break;
  42701.             case "SET DEFAULT": s.UpdateRule = 'set default'; break;
  42702.             case "SET NULL"     : s.UpdateRule = 'set null'; break;
  42703.         }
  42704.         switch ( Query.GetFieldValue( 'DELETE_RULE' ) )
  42705.         {
  42706.             case "NO ACTION"     : s.DeleteRule = 'restrict'; break; //no action
  42707.             case "CASCADE"     : s.DeleteRule = 'cascade'; break;
  42708.             case "SET DEFAULT": s.DeleteRule = 'set default'; break;
  42709.             case "SET NULL"     : s.DeleteRule = 'set null'; break;
  42710.         }
  42711.  
  42712.         j++;
  42713.         Query.Next();
  42714.     }
  42715.     Query.Close();
  42716. }
  42717.                 
  42718. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42719. }
  42720.  
  42721. //--- Load Check Constraints ---------------------------------------------------------------
  42722.  
  42723. if ( Variables.lCheckCon )
  42724. {
  42725.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  42726.  
  42727.     Query.SQL = 'Select cc.rdb$constraint_name as name, cc.rdb$trigger_name as trigger_name, '
  42728.                  + 'rc.rdb$constraint_type as constr_type, rc.rdb$relation_name as table_name, r.rdb$owner_name as owner_name, '
  42729.                   + 'rc.rdb$deferrable as deferrable, rc.rdb$initially_deferred as initially_deferred, rc.rdb$index_name as index_name, '
  42730.                   + 't.rdb$trigger_sequence as trigger_sequence, t.rdb$trigger_type as trigger_type, '
  42731.                   + 't.rdb$trigger_source as trigger_source '
  42732.                   + 'from rdb$check_constraints cc, rdb$relation_constraints rc, rdb$relations r, rdb$triggers t '
  42733.                  + 'where cc.rdb$constraint_name = rc.rdb$constraint_name '
  42734.                  + 'and rc.rdb$relation_name = r.rdb$relation_name '
  42735.                  + 'and rc.rdb$constraint_type = \'CHECK\' '
  42736.                  + 'and cc.rdb$trigger_name = t.rdb$trigger_name '
  42737.                  + 'and rc.rdb$relation_name = t.rdb$relation_name '
  42738.                  + 'and t.rdb$trigger_type = 1';
  42739.  
  42740.     if ( Query.Open() )
  42741.     {
  42742.         while (! Query.Eof)
  42743.         {
  42744.              table = Schema.GetTable(Query.GetFieldValue('owner_name')+'.'+Query.GetFieldValue('table_name'));
  42745.              other = 'alter table "'+Query.GetFieldValue('table_name')+'" '
  42746.                   + 'add constraint "'+Query.GetFieldValue('name')+'" '
  42747.                   + Query.GetFieldValue('trigger_source')
  42748.              other = other + ';\n';
  42749.              table.Others = table.Others + other;
  42750.  
  42751.             Query.Next();
  42752.         }
  42753.         Query.Close();
  42754.     }
  42755.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42756. }
  42757.  
  42758. //--- Load Unique Constraints -----------------------------------------------------------------
  42759.  
  42760. if ( Variables.lUniCon )
  42761. {
  42762.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  42763.  
  42764. Query.SQL = 'Select rc.rdb$constraint_name as name, rc.rdb$constraint_type as constr_type, rc.rdb$relation_name as table_name, '
  42765.              + 'r.rdb$owner_name as owner_name, rc.rdb$deferrable as deferrable, rc.rdb$initially_deferred as initially_deferred, '
  42766.              + 'rc.rdb$index_name as index_name, isg.rdb$field_name as column_name '
  42767.              + 'from rdb$relation_constraints rc, rdb$relations r, rdb$index_segments isg '
  42768.              + 'where rc.rdb$relation_name=r.rdb$relation_name '
  42769.              + 'and isg.rdb$index_name = rc.rdb$index_name '
  42770.              + 'and rc.rdb$constraint_type=\'UNIQUE\' '
  42771.              + 'order by isg.rdb$index_name,isg.rdb$field_position';
  42772.  
  42773. if ( Query.Open() )
  42774. {
  42775.     j=0;
  42776.     while (! Query.Eof)
  42777.     {
  42778.        s = Schema.AddUniqueConstraint();
  42779.  
  42780.        s.TableSchema     = Query.GetFieldValue( 'owner_name'    );
  42781.        s.TableName        = Query.GetFieldValue( 'TABLE_NAME'        );
  42782.        s.ColumnName    = Query.GetFieldValue( 'COLUMN_NAME'    );
  42783.        s.ConstraintName    = Query.GetFieldValue( 'NAME'        );
  42784.                
  42785.         s.Ordinal            = j;
  42786.  
  42787.         j++;
  42788.  
  42789.         Query.Next();
  42790.     }
  42791.     Query.Close();
  42792. }
  42793.  
  42794.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42795. };    
  42796.  
  42797. //--- Load Indexes -------------------------------------------------------------------------
  42798.  
  42799. if ( Variables.lIndexes )
  42800. {
  42801.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  42802.  
  42803.     Query.SQL = 'select i.rdb$relation_name as table_name, i.rdb$unique_flag as unique_flag, '
  42804.                  + 'i.rdb$index_type as index_type, i.rdb$expression_blr as expr_blr, i.rdb$expression_source as expr_source, '
  42805.                  + 'isg.rdb$index_name as name, isg.rdb$field_name as column_name, '
  42806.                  + 'r.rdb$owner_name as owner_name '
  42807.                  + 'from rdb$indices i, rdb$index_segments isg, rdb$relations r '
  42808.                  + 'where (i.rdb$system_flag = 0 or i.rdb$system_flag is null) '
  42809.                  + 'and i.rdb$index_name = isg.rdb$index_name '
  42810.                  + 'and i.rdb$relation_name = r.rdb$relation_name '
  42811.                  + 'and not exists (select rc.rdb$index_name as index_name from rdb$relation_constraints rc where rc.rdb$index_name=isg.rdb$index_name) '
  42812.                  + 'order by isg.rdb$index_name, isg.rdb$field_position';
  42813.  
  42814.     var j=0;
  42815.     if ( Query.Open() )
  42816.     {
  42817.         while (! Query.Eof)
  42818.         {
  42819.              s = Schema.AddIndex();
  42820.  
  42821.               s.TableSchema             = Query.GetFieldValue( 'owner_name'    );
  42822.            s.TableName                = Query.GetFieldValue( 'TABLE_NAME'        );
  42823.             s.IndexName           = Query.GetFieldValue( 'NAME' );
  42824.             s.Unique                    = (Query.GetFieldValue('unique_flag') == 1);
  42825.             s.DescendingIndex        = (Query.GetFieldValue('index_type') == 1)
  42826.  
  42827.             s.ColumnName            = Query.GetFieldValue( 'COLUMN_NAME');
  42828.              s.Ordinal                = j;
  42829.  
  42830.             j++;
  42831.  
  42832.             Query.Next();
  42833.         }
  42834.     Query.Close();
  42835.     }
  42836.  
  42837.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42838. };    
  42839.  
  42840. //--- Load Triggers -------------------------------------------------------------------------
  42841.  
  42842. if ( Variables.lTriggers )
  42843. {
  42844.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  42845.     
  42846.     Query.SQL = 'Select t.rdb$trigger_name as trigger_name, t.rdb$relation_name as table_name, r.rdb$owner_name as owner_name, '
  42847.             + 't.rdb$trigger_sequence as trigger_sequence, t.rdb$trigger_type as trigger_type, '
  42848.             + 't.rdb$trigger_source as trigger_source '
  42849.             + 'from rdb$relations r, rdb$triggers t '
  42850.             + 'where t.rdb$relation_name = r.rdb$relation_name '
  42851.             + 'and (t.rdb$system_flag = 0 or t.rdb$system_flag is null) '
  42852.             + 'and (t.rdb$trigger_source not starting \'check\' and t.rdb$trigger_source not starting \'CHECK\')';
  42853.  
  42854.     if ( Query.Open() )
  42855.     {
  42856.         while (! Query.Eof)
  42857.         {
  42858.            s = Schema.AddTrigger();
  42859.            s.TableSchema = Query.GetFieldValue( 'owner_name' );
  42860.            s.TableName = Query.GetFieldValue( 'table_name' );
  42861.            s.TriggerName = Query.GetFieldValue( 'trigger_name' );
  42862.            text = 'Create trigger "'+Query.GetFieldValue('trigger_name')+'" for "'+Query.GetFieldValue('table_name')+'"\n';
  42863.            switch (Query.GetFieldValue('trigger_type'))
  42864.            {
  42865.                case    1: type = 'before insert'; break;
  42866.                case    3: type = 'before update'; break;
  42867.                case    5: type = 'before delete'; break;
  42868.                case    2: type = 'after insert'; break;
  42869.                case    4: type = 'after update'; break;
  42870.                case    6: type = 'after delete'; break;
  42871.            }
  42872.            text = text + type;
  42873.            
  42874.            s.Text = text + ' ' + Query.GetFieldValue('trigger_source') + '\n^';
  42875.                
  42876.             Query.Next();
  42877.         }
  42878.         Query.Close();
  42879.     }
  42880.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42881. }
  42882.  
  42883. //--- Load Views -------------------------------------------------------------------------
  42884.  
  42885. if ( Variables.lViews )
  42886. {
  42887.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  42888.  
  42889.     Query.SQL = 'Select r.rdb$relation_name as view_name, r.rdb$owner_name as owner_name, r.rdb$view_source as view_source '
  42890.                  + 'from rdb$relations r '
  42891.                  + 'where (r.rdb$system_flag = 0 or r.rdb$system_flag is null) and r.rdb$view_source is not null';
  42892.                      
  42893.     if ( Query.Open() )
  42894.     {
  42895.         while (! Query.Eof)
  42896.         {
  42897.             ViewName = Query.GetFieldValue( 'view_name');
  42898.             
  42899.             SubQuery.SQL = 'select rf.rdb$field_name as field_name, rf.rdb$base_field as base_field '
  42900.                     + 'from rdb$relation_fields rf '
  42901.                     + 'where rf.rdb$relation_name = \''+ViewName+'\' '
  42902.                     + 'and (rf.rdb$system_flag = 0 or rf.rdb$system_flag is null) '
  42903.                     + 'order by rf.rdb$field_position';
  42904.  
  42905.             if ( SubQuery.Open() )
  42906.             {
  42907.                 ParamList = '';
  42908.                 while ( !SubQuery.Eof )
  42909.                 {
  42910.                     if (ParamList != '')
  42911.                         ParamList += ', '
  42912.                     ParamList += '"'+SubQuery.GetFieldValue('field_name')+'"';
  42913.  
  42914.                     SubQuery.Next();
  42915.                 }
  42916.                 SubQuery.Close();
  42917.  
  42918.                 if (ParamList != '')
  42919.                     ParamList = '('+ParamList+')';
  42920.             }
  42921.  
  42922.            text = 'Create view "'+ViewName+'" '+ParamList+' AS ';
  42923.            
  42924.            s = Schema.AddView();
  42925.            s.ViewName = ViewName;
  42926.             s.Text = text + Query.GetFieldValue('view_source') + ';';
  42927.  
  42928.             Query.Next();
  42929.         }
  42930.         Query.Close();
  42931.     }
  42932.  
  42933.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  42934. }
  42935.  
  42936. //--- Load Procedures ----------------------------------------------------------------------
  42937.  
  42938. if ( Variables.lProcedures    )
  42939. {
  42940.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  42941.  
  42942.     Query.SQL = 'select p.rdb$procedure_name as procedure_name, p.rdb$owner_name as owner_name, p.rdb$procedure_source as procedure_source '
  42943.                  + 'from rdb$procedures p '
  42944.                  + 'where (p.rdb$system_flag = 0 or p.rdb$system_flag is null)';
  42945.  
  42946.     if ( Query.Open() )
  42947.     {
  42948.         while (! Query.Eof)
  42949.         {
  42950.             ProcedureName = Query.GetFieldValue( 'procedure_name');
  42951.             
  42952.             SubQuery.SQL = 'select pp.rdb$parameter_name as parameter_name, pp.rdb$parameter_type as parameter_type, '
  42953.                     + 'f.rdb$field_length as field_length, f.rdb$field_scale as field_scale, f.rdb$field_precision as field_precision, '
  42954.                     + 'f.rdb$field_type as field_type, f.rdb$character_length as char_length, f.rdb$character_set_id as character_set_id, '
  42955.                     + 'f.rdb$field_sub_type as field_sub_type, f.rdb$segment_length as segment_length, '
  42956.                     + 'f.rdb$character_set_id as character_set_id, ch.rdb$character_set_name as character_set_name '
  42957.                     + 'from rdb$procedure_parameters pp, rdb$fields f left join rdb$character_sets ch on ch.rdb$character_set_id = f.rdb$character_set_id '
  42958.                     + 'where pp.rdb$procedure_name = \''+ProcedureName+'\' '
  42959.                     + 'and (pp.rdb$system_flag = 0 or pp.rdb$system_flag is null) '
  42960.                     + 'and pp.rdb$field_source=f.rdb$field_name '
  42961.                     + 'order by pp.rdb$parameter_type, pp.rdb$parameter_number';
  42962.  
  42963.             if ( SubQuery.Open() )
  42964.             {
  42965.                 ParamListIn = '';
  42966.                 ParamListOut = '';
  42967.                 while ( !SubQuery.Eof )
  42968.                 {
  42969. // types
  42970.                     if (SubQuery.GetFieldValue( 'field_type' ) == 8)
  42971.                     {
  42972.                         if ( (SubQuery.GetFieldValue('field_sub_type') == 0) || (SubQuery.GetFieldValue('field_sub_type') == null) )
  42973.                             type = 'Integer';
  42974.                         else
  42975.                             if (SubQuery.GetFieldValue('field_sub_type') == 1)
  42976.                                 type = 'Numeric('+SubQuery.GetFieldValue('field_precision')+','+Math.abs(SubQuery.GetFieldValue('field_scale'))+')';
  42977.                             else
  42978.                                 type = 'Decimal('+SubQuery.GetFieldValue('field_precision')+','+Math.abs(SubQuery.GetFieldValue('field_scale'))+')';
  42979.                     }
  42980.                     else
  42981.                         type = GetDataTypeText( SubQuery.GetFieldValue('field_type') );
  42982.  
  42983.                     if ((SubQuery.GetFieldValue( 'field_type' ) == 14) || (SubQuery.GetFieldValue( 'field_type' ) == 37))
  42984.                         type = type + '(' + SubQuery.GetFieldValue('field_length') + ')';
  42985.  
  42986.                     if (SubQuery.GetFieldValue( 'field_type' ) == 261)
  42987.                         type = type + '('+SubQuery.GetFieldValue('segment_length')+','+SubQuery.GetFieldValue('field_sub_type')+')';
  42988. //
  42989.                     if (SubQuery.GetFieldValue('parameter_type') == 0)
  42990.                     {
  42991.                         if (ParamListIn != '')
  42992.                             ParamListIn += ',';
  42993.                         ParamListIn += '"'+SubQuery.GetFieldValue('parameter_name')+'" '+type;
  42994.                         if (Variables.lCollationsChrSets)
  42995.                             if ( (SubQuery.GetFieldValue('character_set_id')!=0) && (SubQuery.GetFieldValue('character_set_id')!=null) )
  42996.                                 ParamListIn += ' Character Set '+SubQuery.GetFieldValue('character_set_name');
  42997.                             
  42998.                     }
  42999.                     if (SubQuery.GetFieldValue('parameter_type') == 1)
  43000.                     {
  43001.                         if (ParamListOut != '')
  43002.                             ParamListOut += ','
  43003.                         ParamListOut += '"'+SubQuery.GetFieldValue('parameter_name')+'" '+type;
  43004.                         if (Variables.lCollationsChrSets)
  43005.                             if ( (SubQuery.GetFieldValue('character_set_id')!=0) && (SubQuery.GetFieldValue('character_set_id')!=null) )
  43006.                                 ParamListOut += ' Character Set '+SubQuery.GetFieldValue('character_set_name');
  43007.                     }
  43008.  
  43009.                     SubQuery.Next();
  43010.                 }
  43011.                 SubQuery.Close();
  43012.  
  43013.                 if (ParamListIn != '')
  43014.                     ParamListIn = '('+ParamListIn+')';
  43015.                 if (ParamListOut != '')
  43016.                     ParamListOut = 'RETURNS ('+ParamListOut+')';
  43017.             }
  43018.  
  43019.             text    = 'Create procedure "'+ProcedureName+'" '+ParamListIn+' '+ParamListOut+'\nAS\n';
  43020.  
  43021.            s = Schema.AddProcedure();
  43022.            s.ProcedureName = ProcedureName;
  43023.            s.Text = text + Query.GetFieldValue('procedure_source') + '\n^';
  43024.  
  43025.             Query.Next();
  43026.         }
  43027.         Query.Close();
  43028.     }
  43029.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  43030. }
  43031.  
  43032.  
  43033. //--- Load exceptions  -------------------------------------------------------------------------
  43034.  
  43035. if (Variables.lExceptions )
  43036. {
  43037.     Log.Writeln( Translator.Translate( 'RE_EXCEPTIONS',0 ) );
  43038.     
  43039.     Query.SQL = 'select rdb$exception_name as exception_name, rdb$exception_number as exception_number, rdb$message as except_message '
  43040.                  + 'from rdb$exceptions '
  43041.                  + 'where rdb$system_flag = 0 or rdb$system_flag is null';
  43042.  
  43043.     if ( Query.Open() )
  43044.     {
  43045.         while (! Query.Eof)
  43046.         {
  43047.             s = Schema.AddTextObject();
  43048.             s.TextObjectType = 20;
  43049.             s.TextObjectName = Query.GetFieldValue('exception_name');
  43050.             s.Text = 'Create exception "'+Query.GetFieldValue('exception_name')+'" '
  43051.                      + '\''+Query.GetFieldValue('except_message')+'\';';
  43052.  
  43053.           Query.Next();
  43054.       }     
  43055.        Query.Close();
  43056.    }
  43057.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  43058. }
  43059.  
  43060. //--- Load generators  -------------------------------------------------------------------------
  43061.  
  43062. if (Variables.lGenerators )
  43063. {
  43064.     Log.Writeln( Translator.Translate( 'RE_GENERATORS',0 ) );
  43065.     
  43066.     Query.SQL = 'select rdb$generator_name as generator_name from rdb$generators where rdb$system_flag = 0 or rdb$system_flag is null';
  43067.  
  43068.     if ( Query.Open() )
  43069.     {
  43070.         while (! Query.Eof)
  43071.         {
  43072.             s = Schema.AddTextObject();
  43073.             s.TextObjectType = 30;
  43074.             s.TextObjectName = Query.GetFieldValue('generator_name');
  43075.             s.Text = 'Create generator "'+Query.GetFieldValue('generator_name')+'";';
  43076.             
  43077.           Query.Next();
  43078.       }     
  43079.        Query.Close();
  43080.    }
  43081.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  43082. }
  43083.  
  43084.  
  43085. //--- Load users and roles -------------------------------------------------------------------------
  43086.  
  43087. if ( Variables.lUsersPermis )
  43088. {
  43089.     Log.Writeln(  Translator.Translate( 'RE_USERS_ROLES',0 ) );
  43090.  
  43091.     Query.SQL = 'select rdb$role_name as role_name, rdb$owner_name as owner_name from rdb$roles';
  43092.  
  43093.     if ( Query.Open() )
  43094.     {
  43095.         while (! Query.Eof)
  43096.         {
  43097.             user_name = Query.GetFieldValue('owner_name')
  43098.             if (Schema.GetUser(user_name) == null)
  43099.             {
  43100.                u = Schema.AddUser();
  43101.                u.UserName = user_name;
  43102.                u.ID = user_name;
  43103.            }
  43104.               r = Schema.AddRole();
  43105.             r.RoleName = Query.GetFieldValue( 'role_name' );
  43106.                 
  43107.            ru = Schema.AddRoleToUser();
  43108.            ru.RoleName = Query.GetFieldValue( 'role_name' );
  43109.            ru.UserName = user_name;
  43110.  
  43111.           Query.Next();
  43112.       }     
  43113.        Query.Close();
  43114.    }
  43115.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  43116. }
  43117.  
  43118.  
  43119. //--- Load tables and views permissions ------------------------------------------------------------
  43120.  
  43121. if ( Variables.lUsersPermis )
  43122. {
  43123.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  43124.  
  43125.     Query.SQL = 'select up.rdb$user as user_role, up.rdb$grantor as grantor, up.rdb$privilege as privilege, up.rdb$grant_option as grant_option, '
  43126.                  + 'up.rdb$relation_name as relation_name, up.rdb$user_type as user_type, up.rdb$object_type as object_type, '
  43127.                  + 'r.rdb$view_source as view_source '
  43128.                  + 'from rdb$user_privileges up left join rdb$relations r on r.rdb$relation_name = up.rdb$relation_name '
  43129.                  + 'where (r.rdb$system_flag = 0 or r.rdb$system_flag is null)'
  43130.                  + 'order by up.rdb$relation_name, up.rdb$user';
  43131.  
  43132.     if ( Query.Open() )
  43133.     {
  43134.         ex_b = false;
  43135.         in_b = false;
  43136.         up_b = false;
  43137.         se_b = false;
  43138.         dr_b = false; 
  43139.         de_b = false;
  43140.         if (!Query.Eof)
  43141.             id_old = Query.GetFieldValue('relation_name')+Query.GetFieldValue('user_role');
  43142.         while (!Query.Eof)
  43143.         {
  43144.             id = Query.GetFieldValue('relation_name')+Query.GetFieldValue('user_role');
  43145.             if (id!=id_old)
  43146.             {
  43147.                 if (uid == 8)
  43148.                 {
  43149.                     if (Schema.GetUser(urname) == null)
  43150.                     {
  43151.                        u = Schema.AddUser();
  43152.                        u.UserName = urname;
  43153.                        u.ID = urname;
  43154.                    }
  43155.                    s = Schema.AddUserPermission();
  43156.                    s.UserName = urname;
  43157.                }
  43158.                else    
  43159.                {
  43160.                    s = Schema.AddRolePermission();
  43161.                    s.RoleName = urname;
  43162.                }
  43163.                s.ObjectSchema = o_schema;
  43164.                s.ObjectName = o_name;
  43165.                switch ( type )
  43166.                 {
  43167.                     case 0: s.ObjectType = 0; break;
  43168.                     case 5: s.ObjectType = 1; break;
  43169.                     case 3: s.ObjectType = 3; break;
  43170.                 }
  43171.                 s.Execute = ex_b;
  43172.                 s.Insert = in_b;
  43173.                s.Update    = up_b;
  43174.                s.Select    = se_b;
  43175.              s.DRI = dr_b;
  43176.               s.Delete    = de_b;
  43177.               
  43178.                 ex_b = false;
  43179.                 in_b = false;
  43180.                 up_b = false;
  43181.                 se_b = false;
  43182.                 dr_b = false; 
  43183.                 de_b = false;
  43184.             }
  43185.  
  43186.             uid = Query.GetFieldValue('user_type');
  43187.             urname = Query.GetFieldValue( 'user_role' );
  43188.             o_schema = Query.GetFieldValue( 'grantor' );
  43189.            o_name = Query.GetFieldValue( 'relation_name' );
  43190.            if ( (Query.GetFieldValue('view_source') == null) || (Query.GetFieldValue('view_source') == "") )
  43191.                type = Query.GetFieldValue( 'object_type' );
  43192.            else
  43193.                type = 3; //this is View
  43194.  
  43195.             if (Query.GetFieldValue( 'privilege' ) == 'X') ex_b=true;
  43196.             if (Query.GetFieldValue( 'privilege' ) == 'I') in_b=true;
  43197.             if (Query.GetFieldValue( 'privilege' ) == 'U') up_b=true;
  43198.             if (Query.GetFieldValue( 'privilege' ) == 'S') se_b=true;
  43199.             if (Query.GetFieldValue( 'privilege' ) == 'R') dr_b=true;
  43200.             if (Query.GetFieldValue( 'privilege' ) == 'D') de_b=true;
  43201.  
  43202.             id_old = id;
  43203.             Query.Next();
  43204.             if (Query.Eof)
  43205.             {
  43206.                 if (uid == 8)
  43207.                 {
  43208.                     if (Schema.GetUser(urname) == null)
  43209.                     {
  43210.                        u = Schema.AddUser();
  43211.                        u.UserName = urname;
  43212.                        u.ID = urname;
  43213.                    }
  43214.                    s = Schema.AddUserPermission();
  43215.                    s.UserName = urname;
  43216.                }
  43217.                else    
  43218.                {
  43219.                    s = Schema.AddRolePermission();
  43220.                    s.RoleName = urname;
  43221.                }
  43222.                s.ObjectSchema = o_schema;
  43223.                s.ObjectName = o_name;
  43224.                switch ( type )
  43225.                 {
  43226.                     case 0: s.ObjectType = 0; break;
  43227.                     case 5: s.ObjectType = 1; break;
  43228.                     case 3: s.ObjectType = 3; break;
  43229.                 }
  43230.                 s.Execute = ex_b;
  43231.                 s.Insert = in_b;
  43232.                s.Update    = up_b;
  43233.                s.Select    = se_b;
  43234.              s.DRI = dr_b;
  43235.               s.Delete    = de_b;
  43236.             }
  43237.       }
  43238.        Query.Close();
  43239.    }
  43240.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  43241. }
  43242.  
  43243. Schema.Run();    
  43244. };
  43245.  
  43246. //===========================================================================================
  43247.  
  43248. function Disconnect()
  43249. {
  43250. Database.Disconnect();
  43251. }
  43252.  
  43253. //===========================================================================================
  43254. function GetDataType( TypeName )
  43255. {
  43256.     switch (TypeName)
  43257.         {
  43258.         case  14:    return(  10 );            // Char
  43259.         case  37:    return(  20 );            // Varchar
  43260.         case   7:    return(  30 );            // Smallint
  43261. //        case   8:    return(  40 );            // Integer
  43262.         case  10:    return(  50 );            // Float
  43263.         case  27:    return(  60 );            // Double precision
  43264.         case  12:    return(  70 );            // Date
  43265.         case  13:    return(  73 );            // Time
  43266.         case    35:    return(  76 );            // Timestamp
  43267.         case 261:    return(  80 );            // Blob
  43268. //        case   8:    return(  90 );            // Decimal
  43269. //        case   8:    return( 100 );            // Numeric
  43270.         }
  43271.     return(200);    // Empty
  43272. };
  43273.  
  43274. //===========================================================================================
  43275. function GetDataTypeText( TypeName )
  43276. {
  43277.     switch (TypeName)
  43278.         {
  43279.         case  14:    return( 'Char' );
  43280.         case  37:    return( 'VarChar' );
  43281.         case   7:    return( 'Smallint' );
  43282. //        case   8:    return( 'Integer' );
  43283.         case  10:    return( 'Float' );
  43284.         case  27:    return( 'Double precision' );
  43285.         case  12:    return( 'Date' );
  43286.         case  13:    return( 'Time' );
  43287.         case    35:    return( 'Timestamp' );
  43288.         case 261:    return( 'Blob' );
  43289. //        case   8:    return( 'Decimal' );
  43290. //        case   8:    return( 'Numeric' );
  43291.         case  40:    return( 'CString' );
  43292.         case  11:    return( 'D_Float' );
  43293.         case  16:    return( 'Int64' );
  43294.         case   9:    return( 'Quad' );
  43295.         }
  43296.     return( '' );    // Empty
  43297. };
  43298.  
  43299. //===========================================================================================
  43300.  
  43301. function text255(id_object)
  43302. {
  43303.     var Query_text = Database.DefineQuery();
  43304.     Query_text.SQL = 'select sc.id, sc.colid, sc.text as text '
  43305.                          + 'from syscomments sc where sc.id='+id_object
  43306.                          + ' order by sc.colid';
  43307.  
  43308.     if ( Query_text.Open() )
  43309.     {
  43310.         text = '';
  43311.         while (!Query_text.Eof)
  43312.         {
  43313.             if (Query_text.GetFieldValue('text')!=null)
  43314.             {
  43315.                 text = text + Query_text.GetFieldValue('text');
  43316.                if (Query_text.GetFieldValue('text').length<255)
  43317.                     text = text + ' ';
  43318.             }
  43319.             else
  43320.                 text = text + ' ';
  43321.             Query_text.Next();
  43322.         }
  43323.         Query_text.Close();
  43324.     }
  43325.     return text;
  43326. }
  43327.  
  43328. //===========================================================================================
  43329. ]]></VALUE>
  43330. <LANGUAGE>1</LANGUAGE>
  43331. <LANGUAGEWIN>---</LANGUAGEWIN>
  43332. <CATEGORY>6</CATEGORY>
  43333. <MAINSCRIPT>0</MAINSCRIPT>
  43334. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  43335. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  43336. <AUTHOR></AUTHOR>
  43337. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  43338. <VERSION>1.0</VERSION>
  43339. <CREATED><DATE>9/17/2002</DATE><TIME>16:27:34</TIME></CREATED>
  43340. <MODIFIED><DATE>10/11/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  43341. </TEMPLATE>
  43342. <TEMPLATE>
  43343. <NAME>InterBase_6</NAME>
  43344. <ID>36</ID>
  43345. <GUID>{6980B68C-A818-4F96-AA9E-EE5F217EDCDA}</GUID>
  43346. <CAPTION>InterBase 6 SQL 3</CAPTION>
  43347. <PACKAGEGUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</PACKAGEGUID>
  43348. <ENABLED>1</ENABLED>
  43349. <LEVEL>0</LEVEL>
  43350. <IDPARENT>0</IDPARENT>
  43351. <VALUE><![CDATA[function Connect()
  43352. {
  43353. Translator.DefaultLng = 'csy';
  43354. ReadVocabulary();
  43355. Scripting.InterBase_6_main.Connect();
  43356. };
  43357.  
  43358. //======================================================================
  43359.  
  43360. function Main()
  43361. {
  43362. Scripting.InterBase_6_main.Main();
  43363. };
  43364.  
  43365. //======================================================================
  43366.  
  43367. function Disconnect()
  43368. {
  43369. Scripting.InterBase_6_main.Disconnect();
  43370. };
  43371.  
  43372. //======================================================================
  43373.  
  43374. function DefineVariables()
  43375. {
  43376. Schema.DatabaseId = 120;
  43377.  
  43378. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',1 );
  43379. Variables.lRefInt            = true;
  43380. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',    1 );
  43381. Variables.lCheckCon        = true;
  43382. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',    1 );
  43383. Variables.lUniCon            = true;
  43384. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                     1 );
  43385. Variables.lIndexes        = true;
  43386. Variables.DefineVariable( 'lCollationsChrSets',    'NaΦφst collations a character sets',1 );
  43387. Variables.lCollationsChrSets    = false;
  43388. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                1 );
  43389. Variables.lTriggers        = true;
  43390. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury',                 1 );
  43391. Variables.lProcedures    = true;
  43392. Variables.DefineVariable( 'lFunctions',    'NaΦφst externφ funkce',        1 );
  43393. Variables.lFunctions        = true;
  43394. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                    1 );
  43395. Variables.lViews            = true;
  43396. Variables.DefineVariable( 'lExceptions',    'NaΦφst exceptions',                1 );
  43397. Variables.lExceptions    = true;
  43398. Variables.DefineVariable( 'lGenerators',    'NaΦφst generators',                1 );
  43399. Variables.lGenerators    = true;
  43400. Variables.DefineVariable( 'lBlobFilters',    'NaΦφst blob filters',            1 );
  43401. Variables.lBlobFilters    = true;
  43402. Variables.DefineVariable( 'lUsersPermis',    'NaΦφst role, u₧ivatele a prßva',1 );
  43403. Variables.lUsersPermis    = true;
  43404. };
  43405.  
  43406. //======================================================================
  43407.  
  43408. function ReadVocabulary()
  43409. {
  43410. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  43411. Translator.Add( 'W_UNK_UDT',    'Upozorn∞nφ: Neznßm² datov² typ %s v u₧ivatelskΘm datovΘm typu %s!' );
  43412. Translator.Add( 'W_REF_INT',    'Upozorn∞nφ: ReferenΦnφ constraint %s byl p°eveden z NO ACTION na RESTRICT!' );
  43413. };
  43414. ]]></VALUE>
  43415. <LANGUAGE>1</LANGUAGE>
  43416. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  43417. <CATEGORY>6</CATEGORY>
  43418. <MAINSCRIPT>1</MAINSCRIPT>
  43419. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  43420. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  43421. <AUTHOR></AUTHOR>
  43422. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  43423. <VERSION>1.0</VERSION>
  43424. <CREATED><DATE>9/17/2002</DATE><TIME>16:26:54</TIME></CREATED>
  43425. <MODIFIED><DATE>10/1/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  43426. </TEMPLATE>
  43427. <TEMPLATE>
  43428. <NAME>Access 2000</NAME>
  43429. <ID>37</ID>
  43430. <GUID>{646AA50C-B10F-48D4-A892-6AFD35030D7C}</GUID>
  43431. <CAPTION>Access 2000</CAPTION>
  43432. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  43433. <ENABLED>1</ENABLED>
  43434. <LEVEL>0</LEVEL>
  43435. <IDPARENT>0</IDPARENT>
  43436. <VALUE><![CDATA[function Connect()
  43437. {
  43438. Translator.DefaultLng = 'csy';
  43439. ReadVocabulary();
  43440.  
  43441. Scripting.Access_main.Connect();
  43442. };
  43443.  
  43444. //======================================================================
  43445.  
  43446. function Main()
  43447. {
  43448. Scripting.Access_main.Main();
  43449. };
  43450.  
  43451. //======================================================================
  43452.  
  43453. function Disconnect()
  43454. {
  43455. Scripting.Access_main.Disconnect();
  43456. };
  43457.  
  43458. //======================================================================
  43459.  
  43460. function DefineVariables()
  43461. {
  43462. Schema.DatabaseId = 220;
  43463.  
  43464. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',    1 );
  43465. Variables.lRefInt            = true;
  43466. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                        1 );
  43467. Variables.lIndexes        = true;
  43468. Variables.DefineVariable( 'lViews',            'NaΦφst dotazy',                        1 );
  43469. Variables.lViews            = true;
  43470. };
  43471.  
  43472. //======================================================================
  43473.  
  43474. function ReadVocabulary()
  43475. {
  43476. Translator.Add( 'RE_COLUMNS4TAB',    'NaΦφtßm sloupce k tabulce...' );
  43477. Translator.Add( 'RE_WIF_OK',            'P°ipojen k informaΦnφmu souboru pracovnφch skupin : ' );
  43478. Translator.Add( 'RE_WIF_NONE',        'InformaΦnφ soubor pracovnφch skupin se nepou₧φvß.' );
  43479. Translator.Add( 'W_INDETER_REL',        'Upozorn∞nφ - indeterminate relace %s nebyla zpracovßna' );
  43480. };
  43481. ]]></VALUE>
  43482. <LANGUAGE>1</LANGUAGE>
  43483. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  43484. <CATEGORY>6</CATEGORY>
  43485. <MAINSCRIPT>1</MAINSCRIPT>
  43486. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  43487. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  43488. <AUTHOR>David Fux</AUTHOR>
  43489. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  43490. <VERSION>1.0</VERSION>
  43491. <CREATED><DATE>1/31/2002</DATE><TIME>16:29:44</TIME></CREATED>
  43492. <MODIFIED><DATE>5/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  43493. </TEMPLATE>
  43494. <TEMPLATE>
  43495. <NAME>Access_main</NAME>
  43496. <ID>38</ID>
  43497. <GUID>{5668F484-BD02-11D5-8A68-B8752AA79433}</GUID>
  43498. <CAPTION>Access_main</CAPTION>
  43499. <PACKAGEGUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</PACKAGEGUID>
  43500. <ENABLED>1</ENABLED>
  43501. <LEVEL>0</LEVEL>
  43502. <IDPARENT>0</IDPARENT>
  43503. <VALUE><![CDATA[function Connect()
  43504. {
  43505. var nLastTab, TableName, Permission, i, t, p;
  43506. var Container, Document;
  43507.  
  43508. Scripting.RE_Dictionary.ReadVocabulary();
  43509.  
  43510. Schema.ClearTables();
  43511.  
  43512. if( Database.Connect() )
  43513.     {
  43514.     lWIF = ( Database.Property( 'Engine' ).SystemDb != '' );  // workgroup information file
  43515.  
  43516.     AccessDb     = Database.Property( 'Database' );
  43517.     nLastTab     = AccessDb.TableDefs.Count;
  43518.  
  43519.     if ( lWIF )
  43520.         {
  43521.         Container = AccessDb.Containers( 'Tables' );    
  43522.         Log.Writeln( Translator.Translate( 'RE_WIF_OK',0 )+Database.Property( 'Engine' ).SystemDb );
  43523.         }
  43524.     else
  43525.         Log.Writeln( Translator.Translate( 'RE_WIF_NONE',0 ) );
  43526.  
  43527.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  43528.  
  43529.  
  43530.     for (i=0; i<nLastTab; i++)
  43531.         {
  43532. //       TableName = AccessDb.TableDefs( i ).Name;
  43533.        Table = AccessDb.TableDefs( i );
  43534.        TableName = Table.Name;
  43535.  
  43536.         
  43537.        if ( (TableName.indexOf('MSys') != 0) && (TableName.indexOf('~') != 0) )
  43538.            {
  43539.            if ( lWIF )
  43540.                {
  43541.              Document = Container.Documents( TableName );
  43542.                 Permission = Document.Permissions;
  43543.                 }
  43544.             else
  43545.                 Permission = 4;
  43546.  
  43547.            if ((Permission | 4) == Permission)  // user has permission to read table definition
  43548.                {
  43549.                t                   = Schema.AddTable();
  43550.                 t.TableName      = TableName;
  43551.                t.Selected    = true;
  43552.                 
  43553.                   for (p=0; p<Table.Properties.Count; p++)
  43554.                       if (Table.Properties(p).Name == 'Description')
  43555.                           t.Description = Table.Properties( p ).Value;                                    
  43556.  
  43557.                 if ( lWIF )
  43558.                     t.TableSchema = Document.Owner;    
  43559.                };
  43560.            };
  43561.         };
  43562.  
  43563.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  43564.     };
  43565. };
  43566.  
  43567. //===========================================================================================
  43568.  
  43569. function Main()
  43570. {
  43571. var f,i,q,s,t;
  43572.  
  43573. var Table, Field, Property;
  43574. var TableName;
  43575.  
  43576. var AccessDb     = Database.Property( 'Database' );
  43577. var nLastTab     = Schema.CountTables;
  43578. var lA2k            = ( Schema.DatabaseId == 220 );        // MS Access 2000
  43579. var lWIF            = ( Database.Property( 'Engine' ).SystemDb != '' );  // workgroup information file
  43580. var Container, Document;
  43581.  
  43582. Schema.Clear();
  43583. Schema.UniqueAsAlterKey = true;
  43584.  
  43585. if ( lWIF )
  43586.     Container = AccessDb.Containers( 'Tables' );    
  43587.  
  43588. //--- Load Columns --------------------------------------------------------------------------
  43589. Log.Writeln( ' ' );
  43590. Log.Writeln( Translator.Translate( 'RE_COLUMNS4TAB',0 ) );
  43591.  
  43592. for (t=0; t<nLastTab; t++)
  43593.     {
  43594.     TabSchema    = Schema.Tables( t );
  43595.    TableName    = TabSchema.TableName;
  43596.  
  43597.       if ( TabSchema.Selected )
  43598.           {
  43599.           Log.Writeln( TableName+'...' );
  43600.  
  43601.         Table    = AccessDb.TableDefs( TableName );
  43602.           nLast = Table.Fields.Count;
  43603.  
  43604.         for (i=0; i<nLast; i++)        
  43605.            {
  43606.            Field = Table.Fields( i );
  43607.  
  43608.               s                      = Schema.AddColumn();
  43609.               s.Id                = t.toString()+'_'+Field.Name;
  43610.            s.TableName        = TableName;
  43611.               s.ColumnName    = Field.Name;
  43612.               s.Nullable        = Field.Required == false;
  43613.              s.Ordinal        = Field.OrdinalPosition;
  43614.              
  43615.              if ( lWIF )
  43616.                  s.TableSchema = Container.Documents( TableName ).Owner;
  43617.  
  43618.              if ( (Field.Attributes | 16) == Field.Attributes ) // autonumber LI
  43619.                     {
  43620.                   s.DataType = 140;        // autonumber LI
  43621.                     
  43622.                 if ( Field.DefaultValue == 'GenUniqueID()' )
  43623.                     s.SetUserVariable( 'eAutoNumberType',    'Random' );
  43624.                     }
  43625.  
  43626.               else if ( ( Field.Type == 15 ) && ( Field.DefaultValue == 'GenGUID()' ) )// dbGUID
  43627.                 s.DataType = 145 // autonumber RID
  43628.  
  43629.                 else if ( (Field.Attributes | 32768) == Field.Attributes  ) // hyperLink field
  43630.                     {
  43631.                     s.DataType = 150;
  43632.                     s.Default    = Field.DefaultValue;
  43633.                 }
  43634.                 
  43635.             else    
  43636.                 {
  43637.                 s.DataType    = GetDataType( Field.Type );
  43638.                  s.Default    = Field.DefaultValue;
  43639.                 };
  43640.                 
  43641.              if ( Field.Type==10 )         // dbChar
  43642.                    s.Length = Field.Size;
  43643.  
  43644.             // Get field properties
  43645.              for (p=0; p<Field.Properties.Count; p++)
  43646.                   {
  43647.                   Property = Field.Properties(p);
  43648.  
  43649.                  switch (Property.Name)
  43650.                      {    
  43651.                      case 'Format'                 :    {
  43652.                                                          cFormat = Property.Value;                                        
  43653.                                                          if (cFormat == '')
  43654.                                                              s.SetUserVariable( 'eFormat',        'None'    )
  43655.                                                          else if (IsValidFormatType( cFormat ))
  43656.                                                              s.SetUserVariable( 'eFormat',     cFormat    )
  43657.                                                          else    
  43658.                                                              {
  43659.                                                              s.SetUserVariable( 'eFormat',     'Own'        );
  43660.                                                              s.SetUserVariable( 'cOwnFormat',    cFormat    );
  43661.                                                              };
  43662.                                                          break;
  43663.                                                          };
  43664.                    case 'Caption'                :    s.SetUserVariable( 'cCaption',     Property.Value ); break;
  43665.                       case 'InputMask'            :     s.SetUserVariable( 'cInputMask',    Property.Value ); break;
  43666.                       case 'Description'        :    s.Description = Property.Value; break;
  43667.                       case 'AllowZeroLength'    :    s.SetUserVariable( 'lZeroLength',Property.Value ); break;                           
  43668.                      case 'DecimalPlaces'        :    {
  43669.                                                          if ( s.DataType == 130 )
  43670.                                                            s.Decimal = Property.Value
  43671.                                                        else
  43672.                                                            if ( Property.Value != 255 )
  43673.                                                                s.SetUserVariable( 'nDecPre', Property.Value );
  43674.                                                        break;        
  43675.                                                        };        
  43676.                     case 'UnicodeCompression':    if ( (lA2k) && (Property.Value) )    
  43677.                                                             {    
  43678.                                                             s.SetUserVariable( 'lUnicodeCompression', true );
  43679.                                                             break;
  43680.                                                             };
  43681.  
  43682.                      };
  43683.                   };
  43684.  
  43685.             if ( Field.ValidationRule != '' )
  43686.                 {
  43687.                  s.SetUserVariable( 'cValText', Field.ValidationText );
  43688.  
  43689.                    s                     = Schema.AddColumnCheckConstraint();
  43690.                   s.TableName        = TableName;
  43691.                 s.ColumnName     = Field.Name;
  43692.                   s.Text            = Field.ValidationRule; 
  43693.                  };
  43694.  
  43695.             };
  43696.  
  43697.           nLast = Table.Indexes.Count;
  43698.  
  43699.         for (i=0; i<nLast; i++)        
  43700.            {
  43701.            Index = Table.Indexes( i );
  43702.  
  43703.            if ( Index.Foreign == false )
  43704.                 {
  43705.                 for (f=0; f<Index.Fields.Count; f++)        
  43706.                     {
  43707.                     Field            = Index.Fields( f );
  43708.                     lDescending    = ( (Field.Attributes || 1) == Field.Attributes );
  43709.  
  43710.                     if (Index.Primary)                        // Primary key
  43711.                         {
  43712.                        s                             = Schema.AddPrimaryKey(); 
  43713.                        s.PkName                    = Index.Name;
  43714.                        if (lDescending)
  43715.                            if ( (c = Schema.GetColumn(t.toString()+'_'+Field.Name)) != null )
  43716.                                 c.SetUserVariable( 'lDescPK', true );
  43717.                        }
  43718.  
  43719.                    else if (Index.Unique)                    // Alternate keys (Unique keys are not supported)
  43720.                        {
  43721.                        s                             = Schema.AddUniqueConstraint();
  43722.                           s.ConstraintName        = Index.Name;
  43723.                         s.DescendingColumn    = lDescending;
  43724.                         s.SetUserVariable( 'lIgnoreNullsAk', Index.IgnoreNulls );
  43725.                        }
  43726.  
  43727.                     else                                            // Classic index
  43728.                         {
  43729.                        s                             = Schema.AddIndex();
  43730.                         s.IndexName              = Index.Name;
  43731.                         s.Unique                    = false;
  43732.                           s.DescendingColumn    = lDescending;
  43733.                        s.SetUserVariable( 'lIgnoreNullsIx', Index.IgnoreNulls );
  43734.                         };
  43735.  
  43736.                    s.TableName        = TableName;
  43737.                     s.ColumnName     = Field.Name;
  43738.                     s.Ordinal        = f;
  43739.                     
  43740.                      if ( lWIF )
  43741.                          s.TableSchema = Container.Documents( TableName ).Owner;
  43742.                     };
  43743.                 };
  43744.             };        
  43745.         Log.Write( Translator.Translate( 'DONE',0 ) );
  43746.         };
  43747.     };    
  43748. Log.Writeln( ' ' );                               
  43749.  
  43750. //--- Load Relations --------------------------------------------------------------------
  43751.  
  43752. if ( Variables.lRefInt )
  43753.     {
  43754.     Log.Writeln( Translator.Translate('RE_REFS',0) );
  43755.  
  43756.     nLast = AccessDb.Relations.Count;
  43757.  
  43758.     for (i=0; i<nLast; i++)        
  43759.        {
  43760.         Relation     = AccessDb.Relations( i );
  43761.         RelName        = Relation.Name;
  43762.         Attributes    = Relation.Attributes;
  43763.  
  43764.         if ( (Attributes | 2) == Attributes )  // the dbRelationDontEnforce bit isn't set
  43765.             {
  43766.             Log.Writeln( FormatStr( Translator.Translate( 'W_INDETER_REL',0 ),RelName ) )
  43767.             }
  43768.         else    
  43769.             {
  43770.             for (f=0; f<Relation.Fields.Count; f++)
  43771.                 {
  43772.                 Field = Relation.Fields( f );
  43773.  
  43774.                 s = Schema.AddForeignKey();
  43775.  
  43776.                  if ( lWIF )
  43777.                      s.PkTableSchema = Container.Documents( Relation.Table ).Owner;
  43778.  
  43779.                 s.PkTableName    = Relation.Table;
  43780.                 s.PkColumnName    = Field.Name;
  43781.  
  43782.                  if ( lWIF )
  43783.                      s.FkTableSchema = Container.Documents( Relation.ForeignTable ).Owner;
  43784.  
  43785.                 s.FkTableName    = Relation.ForeignTable;
  43786.                 s.FkName            = Relation.Name;
  43787.                 s.FkColumnName    = Field.ForeignName;
  43788.  
  43789.                 s.Ordinal        = f;
  43790.  
  43791.                 Attributes = Relation.Attributes;
  43792.  
  43793.                 if ( (Attributes | 256) == Attributes )
  43794.                     s.UpdateRule = 'cascade'
  43795.                 else
  43796.                     s.UpdateRule = 'delete';    
  43797.  
  43798.                 if ( (Attributes | 4096) == Attributes )
  43799.                     s.DeleteRule = 'cascade'
  43800.                 else
  43801.                     s.DeleteRule = 'delete';    
  43802.                 
  43803.                 if ( (Attributes | 16777216) == Attributes )            // LEFT JOIN
  43804.                     s.SetUserVariable( 'eJoin', 'LEFT' )
  43805.                 else if ( (Attributes | 33554432) == Attributes )    // RIGHT JOIN
  43806.                     s.SetUserVariable( 'eJoin', 'RIGHT' );
  43807.                 };    
  43808.             };    
  43809.         };        
  43810.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  43811.     Log.Writeln( ' ' );
  43812.     };
  43813.  
  43814. //--- Load Views --------------------------------------------------------------------            
  43815.  
  43816. if ( Variables.lViews )
  43817.     {
  43818.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  43819.  
  43820.     nLast    = AccessDb.QueryDefs.Count;
  43821.     
  43822.     for (q=0; q<nLast; q++)
  43823.         {
  43824.         Query            = AccessDb.QueryDefs( q );
  43825.  
  43826.           s                 = Schema.AddView();
  43827.         s.ViewName    = Query.Name;
  43828.           s.Text        = Query.SQL;
  43829.         };
  43830.  
  43831.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  43832.     };
  43833.  
  43834. Schema.Run();    
  43835. };
  43836.  
  43837. //===========================================================================================
  43838. function GetDataType( TypeName )
  43839. {
  43840. switch (TypeName)
  43841.     {
  43842.     case  1:        return(  20 );            // Boolean    
  43843.     case  2:        return(  30 );            // Byte
  43844.     case  3:        return(  80 );            // Integer
  43845.     case  4:        return(  90 );            // Long
  43846.     case  5:        return(  40 );            // Currency
  43847.     case  6:        return( 120 );            // Single
  43848.     case  7:        return(  60 );            // Double
  43849.     case  8:        return(  50 );            // Date
  43850.     case  9:        return(  10 );            // Binary
  43851.     case 10:        return( 130 );            // Text
  43852.     case 11:        return( 100 );            // LongBinary
  43853.     case 12:        return( 110 );            // Memo
  43854.     case 15:        return(  70 );            // GUID
  43855.     }
  43856. return(110);
  43857. };
  43858.  
  43859. //===========================================================================================
  43860.  
  43861. function IsValidFormatType( FormatType )
  43862. {
  43863. return(    ( FormatType == "General Number"    ) ||
  43864.             ( FormatType == "Currency"            ) ||
  43865.             ( FormatType == "Fixed"                ) ||
  43866.             ( FormatType == "Standard"            ) ||
  43867.             ( FormatType == "Percent"            ) ||
  43868.             ( FormatType == "Scientific"        ) ||
  43869.             ( FormatType == "General Date"    ) ||
  43870.             ( FormatType == "Long Date"        ) ||
  43871.             ( FormatType == "Medium Date"        ) ||
  43872.             ( FormatType == "Short Date"        ) ||
  43873.             ( FormatType == "Long Time"        ) ||
  43874.             ( FormatType == "Medium Time"        ) ||
  43875.             ( FormatType == "Short Time"        ) ||
  43876.             ( FormatType == "Yes/No"            ) ||
  43877.             ( FormatType == "True/False"        ) ||
  43878.             ( FormatType == "On/Off"            ) );
  43879. };
  43880.  
  43881. //===========================================================================================
  43882.  
  43883. function Disconnect()
  43884. {
  43885. Database.Disconnect();
  43886. };
  43887.  
  43888. //===========================================================================================
  43889. ]]></VALUE>
  43890. <LANGUAGE>1</LANGUAGE>
  43891. <LANGUAGEWIN>---</LANGUAGEWIN>
  43892. <CATEGORY>6</CATEGORY>
  43893. <MAINSCRIPT>0</MAINSCRIPT>
  43894. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  43895. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  43896. <AUTHOR></AUTHOR>
  43897. <COMPANY></COMPANY>
  43898. <VERSION></VERSION>
  43899. <CREATED><DATE>10/9/2001</DATE><TIME>22:10:32</TIME></CREATED>
  43900. <MODIFIED><DATE>6/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  43901. </TEMPLATE>
  43902. <TEMPLATE>
  43903. <NAME>Access 97</NAME>
  43904. <ID>39</ID>
  43905. <GUID>{5A388491-DFD7-49F5-AA2E-7B59E49C4A07}</GUID>
  43906. <CAPTION>Access 97</CAPTION>
  43907. <PACKAGEGUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</PACKAGEGUID>
  43908. <ENABLED>1</ENABLED>
  43909. <LEVEL>0</LEVEL>
  43910. <IDPARENT>0</IDPARENT>
  43911. <VALUE><![CDATA[function Connect()
  43912. {
  43913. Translator.DefaultLng = 'csy';
  43914. ReadVocabulary();
  43915.  
  43916. Scripting.Access_main.Connect();
  43917. };
  43918.  
  43919. //======================================================================
  43920.  
  43921. function Main()
  43922. {
  43923. Scripting.Access_main.Main();
  43924. };
  43925.  
  43926. //======================================================================
  43927.  
  43928. function Disconnect()
  43929. {
  43930. Scripting.Access_main.Disconnect();
  43931. };
  43932.  
  43933. //======================================================================
  43934.  
  43935. function DefineVariables()
  43936. {
  43937. Schema.DatabaseId = 100;
  43938.  
  43939. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',    1 );
  43940. Variables.lRefInt            = true;
  43941. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                        1 );
  43942. Variables.lIndexes        = true;
  43943. Variables.DefineVariable( 'lViews',            'NaΦφst dotazy',                        1 );
  43944. Variables.lViews            = true;
  43945. };
  43946.  
  43947. //======================================================================
  43948.  
  43949. function ReadVocabulary()
  43950. {
  43951. Translator.Add( 'RE_COLUMNS4TAB',    'NaΦφtßm sloupce k tabulce...' );
  43952. Translator.Add( 'RE_WIF_OK',            'P°ipojen k informaΦnφmu souboru pracovnφch skupin : ' );
  43953. Translator.Add( 'RE_WIF_NONE',        'InformaΦnφ soubor pracovnφch skupin se nepou₧φvß.' );
  43954. Translator.Add( 'W_INDETER_REL',        'Upozorn∞nφ - indeterminate relace %s nebyla zpracovßna' );
  43955. };
  43956. ]]></VALUE>
  43957. <LANGUAGE>1</LANGUAGE>
  43958. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  43959. <CATEGORY>6</CATEGORY>
  43960. <MAINSCRIPT>1</MAINSCRIPT>
  43961. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  43962. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  43963. <AUTHOR>David Fux</AUTHOR>
  43964. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  43965. <VERSION>1.0</VERSION>
  43966. <CREATED><DATE>1/31/2002</DATE><TIME>16:21:55</TIME></CREATED>
  43967. <MODIFIED><DATE>7/16/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  43968. </TEMPLATE>
  43969. <TEMPLATE>
  43970. <NAME>MS_SQL_2000_main</NAME>
  43971. <ID>40</ID>
  43972. <GUID>{AC9EBBC8-A888-4BAC-B9F9-C8BF77AA62F0}</GUID>
  43973. <CAPTION>MS_SQL_2000_main</CAPTION>
  43974. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  43975. <ENABLED>1</ENABLED>
  43976. <LEVEL>0</LEVEL>
  43977. <IDPARENT>0</IDPARENT>
  43978. <VALUE><![CDATA[function Connect()
  43979. {
  43980. var Query, cId;
  43981. var t, s;
  43982.  
  43983. Scripting.RE_Dictionary.ReadVocabulary();
  43984. Schema.ClearTables();
  43985.  
  43986. if ( Database.Connect() )
  43987. {
  43988.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  43989.     Query      = Database.DefineQuery();
  43990.     Query2      = Database.DefineQuery();
  43991.     Query.SQL = 'select o.name as tablename,u.name as username '
  43992.                  + 'from sysobjects o, sysusers u '
  43993.                  +    'where o.type = \'U\' and ' 
  43994.                  + 'u.uid = o.uid and (o.category & 0x2)!=2 '
  43995.                  + 'order by u.name, o.name';
  43996.  
  43997.     if ( Query.Open() )
  43998.     {
  43999.         while (! Query.Eof)
  44000.         {
  44001.            t = Schema.AddTable();
  44002.             t.TableSchema  = Query.GetFieldValue( 'username' );
  44003.             t.TableName     = Query.GetFieldValue( 'tablename' );
  44004.             t.id                = Query.GetFieldValue('username')+'.'+Query.GetFieldValue('tablename');
  44005.            t.Selected      = true;
  44006.            t.SetUserVariable('Owner',Query.GetFieldValue('username') );
  44007.  
  44008.             if (Variables.lDescription)
  44009.             {
  44010.                 Query2.SQL = 'select value as value '
  44011.                         + 'from ::::fn_listextendedproperty (\'MS_Description\', \'user\', \''+t.TableSchema+'\', \'table\', \''+t.TableName+'\', NULL, NULL)';
  44012.                 if ( Query2.Open() )
  44013.                 {
  44014.                     value = Query2.GetFieldValue('value');
  44015.                     if (value != null)
  44016.                         t.Description = value;
  44017.                     Query2.Close();
  44018.                 }
  44019.             }
  44020.  
  44021.             Query.Next();
  44022.         }
  44023.         Query.Close();
  44024.     }
  44025.     else
  44026.         Database.Disconnect();
  44027.  
  44028.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44029. }
  44030. }
  44031.  
  44032. //===========================================================================================
  44033.  
  44034. function Main()
  44035. {
  44036. var Query = Database.DefineQuery();
  44037. var Query2 = Database.DefineQuery();
  44038. var s, p;
  44039.  
  44040. Schema.Clear();
  44041.  
  44042. //--- Load User-defined Data Types -----------------------------------------------------------------------
  44043.  
  44044. Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  44045.  
  44046. Query.SQL = 'select t.name as user_type, t2.name as storage_type, t.length as length, '
  44047.              + 't.scale as scale, t.allownulls as nulls, '
  44048.              + 'object_name(t.tdefault) as default_name, object_name(t.domain) as rule_name, '
  44049.              + 'u.name as user_name, t.prec as prec '
  44050.              + 'from systypes t, systypes t2, sysusers u '
  44051.              + 'where t.xtype = t2.xusertype and t.xusertype > 255 '
  44052.              + 'and t.name <> (\'sysname\') '
  44053.              + 'and t2.xusertype <= 255 and u.uid=t.uid';
  44054.  
  44055. if ( Query.Open() )
  44056. {
  44057.     while (! Query.Eof)
  44058.     {
  44059.        s = Schema.AddDictType();
  44060.          s.DictTypeName    = Query.GetFieldValue( 'user_type' );
  44061.  
  44062.         if (Query.GetFieldValue( 'storage_type' ) == 'int')
  44063.             s.DataType        = Schema.GetDataTypeIdByName( 'integer' );
  44064.         else
  44065.             s.DataType        = Schema.GetDataTypeIdByName( Query.GetFieldValue( 'storage_type' ) );
  44066.         if ( (Query.GetFieldValue('storage_type') == 'numeric') || (Query.GetFieldValue('storage_type') == 'decimal') ||
  44067.                (Query.GetFieldValue('storage_type') == 'nchar') || (Query.GetFieldValue('storage_type') == 'nvarchar') )
  44068.         {
  44069.             s.Length            = Query.GetFieldValue( 'prec'        );
  44070.             s.Decimal        = Query.GetFieldValue( 'scale'    );
  44071.         }
  44072.         else
  44073.         {
  44074.             s.Length            = Query.GetFieldValue( 'length'    );
  44075.             s.Decimal        = Query.GetFieldValue( 'scale'    );
  44076.         }
  44077.         if (s.DataType == 0)
  44078.             Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_UDT',0 ),Query.GetFieldValue( 'storage_type' ),s.DictTypeName) );
  44079.  
  44080.         s.SetUserVariable('UTypeOwner',Query.GetFieldValue('user_name') );
  44081.         s.SetUserVariable('LNullType',Query.GetFieldValue('nulls') );
  44082.         if (Query.GetFieldValue('default_name')!=null)
  44083.             s.SetUserVariable('UTypeDefObject',Query.GetFieldValue('default_name') );
  44084.         if (Query.GetFieldValue('rule_name')!=null)
  44085.             s.SetUserVariable('UTypeRuleObject',Query.GetFieldValue('rule_name') );
  44086.  
  44087.         Query.Next();
  44088.     }
  44089.     Query.Close();
  44090. }         
  44091. //... Load Default Object of User-defined Data Types ...
  44092. Query.SQL = 'select distinct ut.tdefault, u.name as user_name, '
  44093.              + 'so.name as default_name '
  44094.              + 'from systypes ut, sysusers u, syscomments sc, sysobjects so '
  44095.              + 'where ut.usertype > 99 and u.uid=ut.uid and '
  44096.              + 'sc.id=ut.tdefault and so.id=ut.tdefault';
  44097.  
  44098. if ( Query.Open() )
  44099. {
  44100.     while (! Query.Eof)
  44101.     {
  44102.        text = text255(Query.GetFieldValue('tdefault')) + "\ngo\n";
  44103.        Schema.BeforeScript=Schema.BeforeScript + text;
  44104.         Query.Next();
  44105.     }
  44106.     Query.Close();
  44107. }
  44108. //... Load Rule Object of User-defined Data Types ...
  44109. Query.SQL = 'select distinct ut.domain, u.name as user_name, '
  44110.              + 'so.name as rule_name '
  44111.              + 'from systypes ut, sysusers u, syscomments sc, sysobjects so '
  44112.              + 'where ut.usertype > 99 and u.uid=ut.uid and '
  44113.              + 'sc.id=ut.domain and so.id=ut.domain';
  44114.  
  44115. if ( Query.Open() )
  44116. {
  44117.     while (! Query.Eof)
  44118.     {
  44119.        text = text255(Query.GetFieldValue('domain')) + "\ngo\n";
  44120.        Schema.BeforeScript=Schema.BeforeScript + text;
  44121.         Query.Next();
  44122.     }
  44123.     Query.Close();
  44124. }
  44125.  
  44126. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44127.  
  44128. //--- Load Columns --------------------------------------------------------------------------
  44129.  
  44130. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  44131.  
  44132. for (i=0;i<Schema.CountTables;i++)
  44133. {
  44134.     t = Schema.Tables(i);
  44135.     if (t.Selected==1)
  44136.     {
  44137.         Query.SQL = 'SELECT TABLE_QUALIFIER = convert(sysname,DB_NAME()), '
  44138.              + 'TABLE_OWNER = convert(sysname,USER_NAME(o.uid)), '
  44139.              + 'TABLE_NAME = convert(sysname,o.name), COLUMN_NAME = convert(sysname,c.name), '
  44140.              + 't.xusertype as usertype, t.name as typename, '
  44141.              + 'PREC = convert(int,OdbcPrec(c.xtype,c.length,c.xprec)), '
  44142.              + 'LENGTH = convert(int,c.length), '
  44143.              + 'SCALE = convert(smallint,c.xscale), '
  44144.              +    'IDENTITY_NOT_REPL = COLUMNPROPERTY(o.id, c.name, \'IsIdNotForRepl\'), '
  44145.              + 'c.isnullable as nulls, c.status as status, c.cdefault as cdefault, c.domain as domain, c.colstat as colstat '
  44146.              + 'FROM sysobjects o, systypes t, syscolumns c '
  44147.              + 'WHERE o.name=\''+t.TableName+'\' AND USER_NAME(o.uid)=\''+t.TableSchema+'\' '
  44148.              + 'AND o.id = c.id '
  44149.              + 'AND (o.type not in (\'P\', \'FN\', \'TF\', \'IF\') OR (o.type in (\'TF\', \'IF\') and c.number = 0)) '
  44150.              + 'AND c.xusertype = t.xusertype';
  44151.  
  44152.         if ( Query.Open() )
  44153.         {
  44154.             j=0;
  44155.             while (! Query.Eof)
  44156.             {
  44157.                s = Schema.AddColumn();
  44158.                s.Ordinal        = j;
  44159.                 s.id                = Query.GetFieldValue('TABLE_OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  44160.                 s.TableSchema     = Query.GetFieldValue( 'TABLE_OWNER'    );
  44161.                 s.TableName     = Query.GetFieldValue( 'TABLE_NAME'        );
  44162.                 s.ColumnName   = Query.GetFieldValue( 'COLUMN_NAME'    );
  44163.                 
  44164.                 if ( Query.GetFieldValue( 'usertype' ) <= 255 )
  44165.                 {
  44166.                     if (Query.GetFieldValue( 'typename' ) == 'int')
  44167.                         s.DataType        = Schema.GetDataTypeIdByName( 'integer' );
  44168.                     else
  44169.                         s.DataType        = Schema.GetDataTypeIdByName( Query.GetFieldValue( 'typename' ) );
  44170.                     if ( (Query.GetFieldValue('typename') == 'numeric') || (Query.GetFieldValue('typename') == 'decimal') ||
  44171.                            (Query.GetFieldValue('typename') == 'nchar') || (Query.GetFieldValue('typename') == 'nvarchar') )
  44172.                     {
  44173.                         s.Length            = Query.GetFieldValue( 'PREC'        );
  44174.                         s.Decimal        = Query.GetFieldValue( 'SCALE'    );
  44175.                     }
  44176.                     else
  44177.                     {
  44178.                         s.Length            = Query.GetFieldValue( 'LENGTH'    );
  44179.                         s.Decimal        = Query.GetFieldValue( 'SCALE'    );
  44180.                     }
  44181.  
  44182.                     if (s.DataType == 0)
  44183.                         Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),Query.GetFieldValue( 'typename' ),s.ColumnName) );
  44184.                 }
  44185.                 else    
  44186.                     s.DictTypeName    = Query.GetFieldValue( 'typename' );
  44187.         
  44188.                 s.Nullable        = (Query.GetFieldValue('nulls') == 1);
  44189.         
  44190.                 if (Query.GetFieldValue('cdefault')!=0)
  44191.                 {
  44192.                     Query2.SQL = 'select o.type as type, o.parent_obj as parent_obj, '
  44193.                             + 'o.name as default_name from syscolumns c, sysobjects o '
  44194.                             + 'where o.id=c.cdefault and c.cdefault='+Query.GetFieldValue('cdefault')
  44195.                             + ' and o.type=\'D\'';
  44196.                     if ( Query2.Open() )
  44197.                     {
  44198.                         if (Query2.GetFieldValue('parent_obj')!='0')
  44199.                         {    
  44200.                             cDefault = text255(Query.GetFieldValue('cdefault'));
  44201.                             s.Default = cDefault;
  44202.                             s.DefaultConstraintName = Query2.GetFieldValue('default_name');
  44203.                         }
  44204.                         else
  44205.                             s.SetUserVariable('DefObject',Query2.GetFieldValue('default_name') );
  44206.                         Query2.Close();
  44207.                     }
  44208.                 }
  44209.  
  44210.                 if (Query.GetFieldValue('domain')!=0)
  44211.                 {
  44212.                     Query2.SQL = 'select o.type as type, o.parent_obj as parent_obj, '
  44213.                             + 'o.name as rule_name from syscolumns c, sysobjects o '
  44214.                             + 'where o.id=c.domain and c.domain='+Query.GetFieldValue('domain')
  44215.                             + ' and o.type=\'R\'';
  44216.                     if ( Query2.Open() )
  44217.                     {
  44218.                         if (Query2.GetFieldValue('parent_obj')=='0')
  44219.                             s.SetUserVariable('RuleObject',Query2.GetFieldValue('rule_name') );
  44220.                         Query2.Close();
  44221.                     }
  44222.                 }
  44223.         
  44224.                 if ((Query.GetFieldValue('status')&128)==128)
  44225.                 {
  44226.                     s.SetUserVariable('Identity',true);
  44227.                     Query2.SQL = 'select IDENT_SEED (\''+s.TableSchema+'.'+s.TableName+'\') as ident_seed,IDENT_INCR (\''+s.TableSchema+'.'+s.TableName+'\') as ident_incr';
  44228.                     if ( Query2.Open() )
  44229.                     {
  44230.                         s.SetUserVariable('IdentitySeed',Query2.GetFieldValue('ident_seed').toString(10));
  44231.                         s.SetUserVariable('IdentityIncrement',Query2.GetFieldValue('ident_incr').toString(10));
  44232.                         Query2.Close();
  44233.                     }
  44234.                 }
  44235.                 if (Query.GetFieldValue( 'typename' ) == 'uniqueidentifier')
  44236.                     if ((Query.GetFieldValue('colstat')&2)==2)
  44237.                         s.SetUserVariable('lRowGuidCol',true)
  44238.  
  44239.                 if (Variables.lDescription)
  44240.                 {
  44241.                     Query2.SQL = 'select value as value '
  44242.                             + 'from ::::fn_listextendedproperty (\'MS_Description\', \'user\', \''+s.TableSchema+'\', \'table\', \''+s.TableName+'\', \'column\', \''+s.ColumnName+'\')';
  44243.                     if ( Query2.Open() )
  44244.                     {
  44245.                         value = Query2.GetFieldValue('value');
  44246.                         if (value != null)
  44247.                             s.Description = value;
  44248.                         Query2.Close();
  44249.                     }
  44250.                 }
  44251.  
  44252.                 if (Query.GetFieldValue('IDENTITY_NOT_REPL') == 1)
  44253.                     s.SetUserVariable('lNotForReplicationId',true);
  44254.  
  44255.                 j++;
  44256.                 Query.Next();
  44257.             }
  44258.             Query.Close();
  44259.         }
  44260.     }
  44261. }
  44262.  
  44263. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44264.  
  44265. //--- Load Primary Keys --------------------------------------------------------------------
  44266.  
  44267. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  44268.  
  44269. for (i=0;i<Schema.CountTables;i++)
  44270. {
  44271.     t = Schema.Tables(i);
  44272.     if (t.Selected==1)
  44273.     {
  44274.         Query.SQL = 'select TABLE_QUALIFIER = convert(sysname,db_name()), '
  44275.                      + 'TABLE_OWNER = convert(sysname,user_name(o.uid)), '
  44276.                      + 'TABLE_NAME = convert(sysname,o.name), '
  44277.                      + 'COLUMN_NAME = convert(sysname,c.name), '
  44278.                      + 'PK_NAME = convert(sysname,i.name),    i.status as status, '
  44279.                      + 'INDEXPROPERTY(object_id(\''+t.TableSchema+'.'+t.TableName+'\'),i.name,\'IndexFillFactor\') as Fill_Factor '
  44280.                      + 'from sysindexes i, syscolumns c, sysobjects o, syscolumns c1 '
  44281.                      + 'where o.id = object_id(\''+t.TableSchema+'.'+t.TableName+'\') '
  44282.                      + 'and o.id = c.id and o.id = c1.id and o.id = i.id '
  44283.                      + 'and (i.status & 0x800) = 0x800 '
  44284.                      + 'and c.name = index_col (\''+t.TableSchema+'.'+t.TableName+'\', i.indid, c1.colid)'
  44285.         
  44286.         if ( Query.Open() )
  44287.         {
  44288.             j=0;
  44289.             while (! Query.Eof)
  44290.             {
  44291.                s = Schema.AddPrimaryKey();
  44292.  
  44293.                s.TableSchema     = Query.GetFieldValue( 'TABLE_OWNER'    );
  44294.                s.TableName        = Query.GetFieldValue( 'TABLE_NAME'        );
  44295.                s.ColumnName    = Query.GetFieldValue( 'COLUMN_NAME'    );
  44296.                s.PkName            = Query.GetFieldValue( 'PK_NAME'    );
  44297.  
  44298.                  s.Ordinal        = j;
  44299.  
  44300.                  table = Schema.GetTable(s.TableSchema+'.'+s.TableName);
  44301.                  if ((Query.GetFieldValue('status')&16)!=16)
  44302.                      table.SetUserVariable('lpkNonclustered',true);
  44303.                      //status bits 16 (decimal) means clustered
  44304.                 if (Variables.lIndexStorage)
  44305.                     table.SetUserVariable('PkFillfactor',Query.GetFieldValue( 'Fill_Factor' ));
  44306.                 j++;
  44307.                 Query.Next();
  44308.             }
  44309.             Query.Close();
  44310.         }
  44311.     }
  44312. }
  44313.             
  44314. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44315.  
  44316. //--- Load References ----------------------------------------------------------------------
  44317.  
  44318. if ( Variables.lRefInt )
  44319. {
  44320. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  44321.  
  44322. for (i=0;i<Schema.CountTables;i++)
  44323. {
  44324.     t = Schema.Tables(i);
  44325.     if (t.Selected==1)
  44326.     {
  44327.         Query.SQL = 'sp_fkeys \''+t.TableName+'\',\''+t.TableSchema+'\'';
  44328.  
  44329.         if ( Query.Open() )
  44330.         {
  44331.             j=0;
  44332.             while (! Query.Eof)
  44333.             {
  44334.                   s = Schema.AddForeignKey();
  44335.  
  44336.                   s.PkTableSchema= Query.GetFieldValue(  'PKTABLE_OWNER'    );
  44337.                s.PkTableName    = Query.GetFieldValue(  'PKTABLE_NAME'        );
  44338.                s.PkName            = Query.GetFieldValue(    'PK_NAME'            );
  44339.                s.PkColumnName    = Query.GetFieldValue(    'PKCOLUMN_NAME'    );
  44340.  
  44341.                s.FkTableSchema= Query.GetFieldValue(  'FKTABLE_OWNER'    );
  44342.                s.FkTableName    = Query.GetFieldValue(  'FKTABLE_NAME'        );
  44343.                s.FkName            = Query.GetFieldValue(  'FK_NAME'            );
  44344.                s.FkColumnName    = Query.GetFieldValue(    'FKCOLUMN_NAME'    );
  44345.  
  44346.                 s.Ordinal        = j;
  44347.  
  44348.                 switch ( Query.GetFieldValue( 'UPDATE_RULE' ) )
  44349.                 {
  44350.                     case 0 : s.UpdateRule = 'cascade'; break;
  44351.                     case 1 : s.UpdateRule = 'restrict'; break; //NO ACTION
  44352.                 }
  44353.                 switch ( Query.GetFieldValue( 'DELETE_RULE' ) )
  44354.                 {
  44355.                     case 0 : s.DeleteRule = 'cascade'; break;
  44356.                     case 1 : s.DeleteRule = 'restrict'; break; //NO ACTION
  44357.                 }
  44358.  
  44359.                 Query2.SQL = 'SELECT FK_NOT_REPL = OBJECTPROPERTY(OBJECT_ID(\''+s.FkTableSchema+'.'+s.FkName+'\'), \'CnstIsNotRepl\')';
  44360.                 if ( Query2.Open() )
  44361.                 {
  44362.                     if (Query2.GetFieldValue('FK_NOT_REPL') == 1)
  44363.                         s.SetUserVariable('lNotForReplicationFk',true);
  44364.                     Query2.Close();
  44365.                 }
  44366.  
  44367.                 j++;
  44368.                 Query.Next();
  44369.             }
  44370.             Query.Close();
  44371.         }
  44372.     }
  44373. }
  44374.                 
  44375. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44376. }
  44377.  
  44378. //--- Load Check Constraints ---------------------------------------------------------------
  44379.  
  44380. if ( Variables.lCheckCon )
  44381. {
  44382.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  44383.  
  44384.     Query.SQL = 'select distinct sc.constid, sc.id as id, so.name as name_constraint, so.type, so2.name as name_table, sc.colid, co.name as name_column, u.name as name_user, so.id as id2, '
  44385.                  + 'CHECK_NOT_REPL = OBJECTPROPERTY(sc.constid, \'CnstIsNotRepl\') '
  44386.                  + 'from sysconstraints sc, sysobjects so, sysobjects so2, syscolumns co, sysusers u, syscomments t '
  44387.                  + 'where (sc.status % 4) = 0 and sc.constid=so.id and sc.id=so2.id and co.colid=sc.colid and co.id = so2.id and u.uid=so2.uid and sc.constid=t.id and (so2.category & 0x2)!=2';
  44388.     if ( Query.Open() )
  44389.     {
  44390.         while (! Query.Eof)
  44391.         {
  44392.            s = Schema.AddColumnCheckConstraint();
  44393.            s.ColumnName = Query.GetFieldValue( 'name_column' );
  44394.            s.ConstraintName = Query.GetFieldValue( 'name_constraint' );
  44395.            s.TableSchema = Query.GetFieldValue( 'name_user' );
  44396.            s.TableName = Query.GetFieldValue( 'name_table' );
  44397.            text = text255(Query.GetFieldValue('id2'));
  44398.             text = text.substr(1,text.length-3);
  44399.            s.Text = text;
  44400.  
  44401.             col = Schema.GetColumn(s.TableSchema+'.'+s.TableName+'.'+s.ColumnName);
  44402.             if (col != null)
  44403.                 if (Query.GetFieldValue('CHECK_NOT_REPL') == 1)
  44404.                     col.SetUserVariable('lNotForReplicationCh',true);
  44405.  
  44406.             Query.Next();
  44407.         }
  44408.         Query.Close();
  44409.     }
  44410. //    
  44411.     Query.SQL = 'select distinct sc.constid, sc.id as id, so.name as name_constraint, so.type, so2.name as name_table, sc.colid, u.name as name_user, so.id as id2, '
  44412.                  + 'CHECK_NOT_REPL = OBJECTPROPERTY(sc.constid, \'CnstIsNotRepl\') '
  44413.                  + 'from sysconstraints sc, sysobjects so, sysobjects so2, sysusers u, syscomments t '
  44414.                  + 'where (sc.status % 4) = 0 and sc.constid=so.id and sc.id=so2.id and u.uid=so2.uid and sc.constid=t.id and sc.colid=0 and (so2.category & 0x2)!=2';
  44415.     if ( Query.Open() )
  44416.     {
  44417.         while (! Query.Eof)
  44418.         {
  44419.             {
  44420.                  table = Schema.GetTable(Query.GetFieldValue('name_user')+'.'+Query.GetFieldValue('name_table'));
  44421.                 text = text255(Query.GetFieldValue('id2'));
  44422.                  other = 'alter table ['+Query.GetFieldValue('name_user')+'].['+Query.GetFieldValue('name_table')+'] '
  44423.                       + 'add constraint ['+Query.GetFieldValue('name_constraint')+'] CHECK ';
  44424.                 if (Query.GetFieldValue('CHECK_NOT_REPL') == 1)
  44425.                     other += 'NOT FOR REPLICATION ';
  44426.                  other = other + text + '\ngo';
  44427.                  table.Others = table.Others + other;
  44428.             }
  44429.             Query.Next();
  44430.         }
  44431.         Query.Close();
  44432.     }
  44433.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44434. }
  44435.  
  44436. //--- Load Unique Constraints -----------------------------------------------------------------
  44437.  
  44438. if ( Variables.lUniCon )
  44439. {
  44440.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  44441.  
  44442. for (i=0;i<Schema.CountTables;i++)
  44443. {
  44444.     t = Schema.Tables(i);
  44445.     if (t.Selected==1)
  44446.     {
  44447.         Query.SQL = 'select TABLE_QUALIFIER = convert(sysname,db_name()), '
  44448.                      + 'TABLE_OWNER = convert(sysname,user_name(o.uid)), '
  44449.                      + 'TABLE_NAME = convert(sysname,o.name), '
  44450.                      + 'COLUMN_NAME = convert(sysname,c.name), '
  44451.                      + 'UC_NAME = convert(sysname,i.name),    i.status as status, '
  44452.                      + 'INDEXPROPERTY(object_id(\''+t.TableSchema+'.'+t.TableName+'\'),i.name,\'IndexFillFactor\') as Fill_Factor '
  44453.                      + 'from sysindexes i, syscolumns c, sysobjects o, syscolumns c1, sysobjects o1 '
  44454.                      + 'where o.id = object_id(\''+t.TableSchema+'.'+t.TableName+'\') '
  44455.                      + 'and o.id = c.id and o.id = c1.id and o.id = i.id '
  44456.                      + 'and c.name = index_col (\''+t.TableSchema+'.'+t.TableName+'\', i.indid, c1.colid) '
  44457.                      + 'and o1.xtype=\'UQ\' and o1.name=i.name '
  44458.                       + 'and (i.status & 0x800) != 0x800';
  44459.  
  44460.         var j=0;
  44461.         if ( Query.Open() )
  44462.         {
  44463.             while (! Query.Eof)
  44464.             {
  44465.                s = Schema.AddUniqueConstraint();
  44466.  
  44467.                s.TableSchema         = Query.GetFieldValue( 'TABLE_OWNER'    );
  44468.                s.TableName            = Query.GetFieldValue( 'TABLE_NAME'        );
  44469.                s.ColumnName        = Query.GetFieldValue( 'COLUMN_NAME'    );
  44470.                s.ConstraintName    = Query.GetFieldValue( 'UC_NAME'        );
  44471.                  s.Ordinal            = j;
  44472.  
  44473.                  if ((Query.GetFieldValue('status')&16)==16)
  44474.                      s.SetUserVariable('lUniqueClustered',true);
  44475.                      //status bits 16 (decimal) means clustered
  44476.                 if (Variables.lIndexStorage)
  44477.                     s.SetUserVariable('UniqueFillFactor',Query.GetFieldValue( 'Fill_Factor' ));
  44478.                 j++;
  44479.  
  44480.                 Query.Next();
  44481.             }
  44482.             Query.Close();
  44483.         }
  44484.     }
  44485. }
  44486.  
  44487.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44488. };    
  44489.  
  44490. //--- Load Indexes -------------------------------------------------------------------------
  44491.  
  44492. if ( Variables.lIndexes )
  44493. {
  44494.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  44495.  
  44496. for (i=0;i<Schema.CountTables;i++)
  44497. {
  44498.     t = Schema.Tables(i);
  44499.     if (t.Selected==1)
  44500.     {    
  44501.         Query.SQL = 'select TABLE_QUALIFIER = convert(sysname,db_name()), '
  44502.                      + 'TABLE_OWNER = convert(sysname,user_name(o.uid)), '
  44503.                      + 'TABLE_NAME = convert(sysname,o.name), '
  44504.                      + 'COLUMN_NAME = convert(sysname,c.name), '
  44505.                      + 'INDEX_NAME = convert(sysname,i.name),    i.status as status, '
  44506.                      + 'o.id as table_id, i.indid as indid, c.colid as colid, '
  44507.                      + 'INDEXPROPERTY(object_id(\''+t.TableSchema+'.'+t.TableName+'\'),i.name,\'IsPadIndex\') as Is_Pad_Index, '
  44508.                      + 'INDEXPROPERTY(object_id(\''+t.TableSchema+'.'+t.TableName+'\'),i.name,\'IndexFillFactor\') as Fill_Factor '
  44509.                      + 'from sysindexes i, syscolumns c, sysobjects o, syscolumns c1 '
  44510.                      + 'where o.id = object_id(\''+t.TableSchema+'.'+t.TableName+'\') '
  44511.                      + 'and o.id = c.id and o.id = c1.id and o.id = i.id '
  44512.                      + 'and c.name = index_col (\''+t.TableSchema+'.'+t.TableName+'\', i.indid, c1.colid) '
  44513.                      + 'and (i.status & 0x800) != 0x800 '
  44514.                      + 'and (i.status & 0x1000) != 0x1000 '
  44515.                      + 'and indexproperty(o.id, i.name,\'IsStatistics\') = 0 '
  44516.                      + 'order by o.id, i.indid, c.colid';
  44517.     
  44518.         var j=0;
  44519.         var k=0;
  44520.         if ( Query.Open() )
  44521.         {
  44522.             while (! Query.Eof)
  44523.             {
  44524.               s = Schema.AddIndex();
  44525.  
  44526.                s.TableSchema             = Query.GetFieldValue( 'TABLE_OWNER'    );
  44527.                s.TableName                = Query.GetFieldValue( 'TABLE_NAME'        );
  44528.                 s.IndexName           = Query.GetFieldValue( 'INDEX_NAME'        );
  44529.                 s.Unique                    = (Query.GetFieldValue('status')&2) == 2;
  44530.                 s.Clustered                = (Query.GetFieldValue('status')&16) == 16;
  44531.  
  44532.                 s.ColumnName            = Query.GetFieldValue( 'COLUMN_NAME');
  44533.                 if (j==0)
  44534.                     old_indid = Query.GetFieldValue('table_id')+Query.GetFieldValue('indid');
  44535.                 indid = Query.GetFieldValue('table_id')+Query.GetFieldValue('indid');
  44536.                 if (indid == old_indid)
  44537.                     k++
  44538.                 else
  44539.                     k=1;
  44540.                 old_indid = indid;
  44541.  
  44542.                 Query2.SQL = 'select indexkey_property('+Query.GetFieldValue('table_id')+','+Query.GetFieldValue('indid')
  44543.                         + ','+k+',\'IsDescending\') as ord';
  44544.                 if (Query2.Open())
  44545.                 {
  44546.                     s.DescendingColumn    = Query2.GetFieldValue( 'ord'    ) == '1';
  44547.                     Query2.Close();
  44548.                 }
  44549.  
  44550.                 s.Ordinal                = j;
  44551.  
  44552.             if (Variables.lIndexStorage)
  44553.             {
  44554.                 s.SetUserVariable('IndexFillFactor',Query.GetFieldValue( 'Fill_Factor' ));
  44555.                 s.SetUserVariable('lIndexPadIndex',Query.GetFieldValue( 'Is_Pad_Index' ));
  44556. /*                if (Query.GetFieldValue( 'Is_Pad_Index' ))
  44557.                     cStorage = 'WITH PAD_INDEX, '
  44558.                 else
  44559.                     cStorage = 'WITH ';
  44560.                 cStorage += 'FILLFACTOR='+Query.GetFieldValue( 'Fill_Factor' )+'\r\n';
  44561.                 s.Storage = cStorage;*/
  44562.             }
  44563.                 
  44564.                 j++;
  44565.                 Query.Next();
  44566.             }
  44567.             Query.Close();
  44568.         }
  44569.     }
  44570. }
  44571.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44572. };    
  44573.  
  44574. //--- Load Triggers -------------------------------------------------------------------------
  44575.  
  44576. if ( Variables.lTriggers )
  44577. {
  44578.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  44579.     
  44580.     Query.SQL = 'select distinct so.name as trigger_name, u.name as user_name, so2.name as table_name, so.id '
  44581.                  + 'from sysobjects so, sysusers u, sysobjects so2, syscomments t '
  44582.                  + 'where so.type = \'TR\' and u.uid = so.uid and so2.type=\'U\' and so2.id=so.deltrig and so.id=t.id '
  44583.                  + 'and (so.category & 0x2)!=2';
  44584.  
  44585.     if ( Query.Open() )
  44586.     {
  44587.         while (! Query.Eof)
  44588.         {
  44589.            s = Schema.AddTrigger();
  44590.            s.TableSchema = Query.GetFieldValue( 'user_name' );
  44591.            s.TableName = Query.GetFieldValue( 'table_name' );
  44592.            s.TriggerName = s.TableSchema+"."+Query.GetFieldValue( 'trigger_name' );
  44593.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  44594.                
  44595.             Query.Next();
  44596.         }
  44597.         Query.Close();
  44598.     }
  44599.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44600. }
  44601.     
  44602. //--- Load Views -------------------------------------------------------------------------
  44603.  
  44604. if ( Variables.lViews )
  44605. {
  44606.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  44607.     
  44608.     Query.SQL = 'select distinct so.name as view_name, so.id, '
  44609.                  + 'view_owner = convert(sysname,USER_NAME(so.uid)) '
  44610.                  + 'from sysobjects so, syscomments t '
  44611.                  + 'where so.type = \'V\' and so.id=t.id and (so.category & 0x2)!=2';
  44612.  
  44613.     if ( Query.Open() )
  44614.     {
  44615.         while (! Query.Eof)
  44616.         {
  44617.            s = Schema.AddView();
  44618.            s.ViewName = Query.GetFieldValue('view_owner')+"."+Query.GetFieldValue('view_name');
  44619.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  44620.  
  44621.             Query.Next();
  44622.        }
  44623.         Query.Close();
  44624.     }
  44625.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44626. }
  44627.  
  44628. //--- Load Procedures ----------------------------------------------------------------------
  44629.  
  44630. if ( Variables.lProcedures    )
  44631.     {
  44632.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  44633.  
  44634.     Query.SQL = 'select distinct so.name as procedure_name, so.id, so.type as type, u.name as owner '
  44635.                  + 'from sysobjects so, syscomments t, sysusers u '
  44636.                  + 'where (so.type = \'P\' or so.type = \'X\' or so.type = \'RF\') '
  44637.                  + 'and so.id=t.id and u.uid=so.uid and (so.category & 0x2)!=2';
  44638. //P = Stored procedure; X = Extended stored procedure
  44639.     if ( Query.Open() )
  44640.     {
  44641.         while (! Query.Eof)
  44642.         {
  44643.            if (Trim(Query.GetFieldValue('type'))=='X')
  44644.            {
  44645.                s = Schema.AddTextObject();
  44646.                  s.TextObjectType = 20; //Extended stored procedure
  44647.                s.TextObjectName = Query.GetFieldValue('owner')+"."+Query.GetFieldValue('procedure_name');
  44648.                s.Text = "sp_addextendedproc \'" + Query.GetFieldValue('owner') + "."
  44649.                        + Query.GetFieldValue('procedure_name') + "\', \'"
  44650.                        + text255(Query.GetFieldValue('id')) + "\'\ngo";
  44651.             }
  44652.             else
  44653.             {
  44654.                s = Schema.AddProcedure();
  44655.                s.ProcedureName = Query.GetFieldValue('owner')+"."+Query.GetFieldValue('procedure_name');
  44656.                s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  44657.            }
  44658.             Query.Next();
  44659.         }
  44660.         Query.Close();
  44661.     }
  44662.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44663. }
  44664.  
  44665. //--- Load Functions ----------------------------------------------------------------------
  44666.  
  44667. if ( Variables.lFunctions )
  44668.     {
  44669.     Log.Writeln(  Translator.Translate( 'RE_FUNCTIONS',0 ) );
  44670.  
  44671.     Query.SQL = 'select distinct so.name as function_name, so.id, so.type as type, u.name as owner '
  44672.                  + 'from sysobjects so, syscomments t, sysusers u '
  44673.                  + 'where (so.type = \'FN\' or so.type = \'IF\' or so.type = \'TF\') '
  44674.                  + 'and so.id=t.id and u.uid=so.uid and (so.category & 0x2)!=2';
  44675. //FN = Scalar function; IF = Inlined table-function; TF = Table function
  44676.     if ( Query.Open() )
  44677.     {
  44678.         while (! Query.Eof)
  44679.         {
  44680.            s = Schema.AddTextObject();
  44681.            s.TextObjectType = 10; //Functions
  44682.            s.TextObjectName = Query.GetFieldValue('owner')+"."+Query.GetFieldValue('function_name');
  44683.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  44684.  
  44685.             Query.Next();
  44686.         }
  44687.         Query.Close();
  44688.     }
  44689.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  44690. }
  44691.  
  44692. //--- Load users and roles -------------------------------------------------------------------------
  44693.  
  44694. if ( Variables.lUsers && Variables.lPermissions    )
  44695. {
  44696.     Log.Writeln(  Translator.Translate( 'RE_USERS_ROLES',0 ) );
  44697.  
  44698.     Query.SQL = 'select u.uid as uid, u.gid as gid, u.name as name, u2.name as name2 '
  44699.                   + 'from sysusers u, sysusers u2 '
  44700.                  + 'where u2.uid=u.gid and (u.issqluser=1 or u.uid=u.gid)';
  44701.  
  44702.     if ( Query.Open() )
  44703.     {
  44704.         while (! Query.Eof)
  44705.         {
  44706.             if (Query.GetFieldValue('uid') != Query.GetFieldValue('gid'))
  44707.             {
  44708.                s = Schema.AddUser();
  44709.                s.UserName = Query.GetFieldValue( 'name' );
  44710.                ru = Schema.AddRoleToUser();
  44711.                ru.RoleName = Query.GetFieldValue( 'name2' );
  44712.                ru.UserName = Query.GetFieldValue( 'name' );
  44713.            }
  44714.            else
  44715.            {
  44716.                   s = Schema.AddRole();
  44717.                 s.RoleName = Query.GetFieldValue( 'name' );
  44718.             }
  44719.           Query.Next();
  44720.       }     
  44721.        Query.Close();
  44722.    }
  44723.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  44724. }
  44725.  
  44726. //--- Load tables and views permissions ------------------------------------------------------------
  44727.  
  44728. if ( Variables.lPermissions )
  44729. {
  44730.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  44731.  
  44732.     Query.SQL = 'select p.id, so.name as tvp_name, p.uid as uid, u.gid as gid, '
  44733.                  + 'u.name as ur_name, p.action as action, p.protecttype, so.type, u2.name as tv_owner '
  44734.                  + 'from sysprotects p, sysobjects so, sysusers u, sysusers u2 '
  44735.                  + 'where p.id=so.id and p.uid=u.uid '
  44736.                  + 'and (so.type=\'U\' or so.type=\'V\' or so.type=\'P\' or so.type=\'XP\') '
  44737.                  + 'and u2.uid=so.uid '
  44738.                  + 'order by p.id, p.uid';
  44739.  
  44740.     if ( Query.Open() )
  44741.     {
  44742.         ex_b = false;
  44743.         in_b = false;
  44744.         up_b = false;
  44745.         se_b = false;
  44746.         dr_b = false; 
  44747.         de_b = false;
  44748.         if (!Query.Eof)
  44749.             id_old = Query.GetFieldValue('tvp_name')+Query.GetFieldValue('ur_name');
  44750.         while (!Query.Eof)
  44751.         {
  44752.             id = Query.GetFieldValue('tvp_name')+Query.GetFieldValue('ur_name');
  44753.             if (id!=id_old)
  44754.             {
  44755.                 if (uid != gid)
  44756.                 {
  44757.                    s = Schema.AddUserPermission();
  44758.                    s.UserName = urname;
  44759.                }
  44760.                else    
  44761.                {
  44762.                    s = Schema.AddRolePermission();
  44763.                    s.RoleName = urname;
  44764.                }
  44765.                s.ObjectSchema = o_schema;
  44766.                s.ObjectName = o_name;
  44767.                switch ( type )
  44768.                 {
  44769.                     case 'U': s.ObjectType = 0; break;
  44770.                     case 'V': s.ObjectType = 3; break;
  44771.                     case 'P': s.ObjectType = 1; break;
  44772.                 }
  44773.                 s.Execute = ex_b;
  44774.                 s.Insert = in_b;
  44775.                s.Update    = up_b;
  44776.                s.Select    = se_b;
  44777.              s.DRI = dr_b;
  44778.               s.Delete    = de_b;
  44779.               
  44780.                 ex_b = false;
  44781.                 in_b = false;
  44782.                 up_b = false;
  44783.                 se_b = false;
  44784.                 dr_b = false; 
  44785.                 de_b = false;
  44786.             }
  44787.  
  44788.             uid = Query.GetFieldValue('uid');
  44789.             gid = Query.GetFieldValue('gid');
  44790.             urname = Query.GetFieldValue( 'ur_name' );
  44791.             o_schema = Query.GetFieldValue( 'tv_owner' );
  44792.            o_name = Query.GetFieldValue( 'tvp_name' );
  44793.            type = Query.GetFieldValue( 'type' );
  44794.  
  44795.             if (Query.GetFieldValue( 'action' ) == 224) ex_b=true;
  44796.             if (Query.GetFieldValue( 'action' ) == 195) in_b=true;
  44797.             if (Query.GetFieldValue( 'action' ) == 197) up_b=true;
  44798.             if (Query.GetFieldValue( 'action' ) == 193) se_b=true;
  44799.             if (Query.GetFieldValue( 'action' ) == 26) dr_b=true;
  44800.             if (Query.GetFieldValue( 'action' ) == 196) de_b=true;
  44801.  
  44802.             id_old = id;
  44803.             Query.Next();
  44804.             if (Query.Eof)
  44805.             {
  44806.                 if (uid != gid)
  44807.                 {
  44808.                    s = Schema.AddUserPermission();
  44809.                    s.UserName = urname;
  44810.                }
  44811.                else    
  44812.                {
  44813.                    s = Schema.AddRolePermission();
  44814.                    s.RoleName = urname;
  44815.                }
  44816.                s.ObjectSchema = o_schema;
  44817.                s.ObjectName = o_name;
  44818.                switch ( type )
  44819.                 {
  44820.                     case 'U': s.ObjectType = 0; break;
  44821.                     case 'V': s.ObjectType = 3; break;
  44822.                     case 'P': s.ObjectType = 1; break;
  44823.                 }
  44824.                 s.Execute = ex_b;
  44825.                 s.Insert = in_b;
  44826.                s.Update    = up_b;
  44827.                s.Select    = se_b;
  44828.              s.DRI = dr_b;
  44829.               s.Delete    = de_b;
  44830.             }
  44831.       }
  44832.        Query.Close();
  44833.    }
  44834.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  44835. }
  44836.  
  44837. Schema.Run();    
  44838. };
  44839.  
  44840. //===========================================================================================
  44841.  
  44842. function Disconnect()
  44843. {
  44844. Database.Disconnect();
  44845. }
  44846.  
  44847. //===========================================================================================
  44848.  
  44849. function text255(id_object)
  44850. {
  44851.     var Query_text = Database.DefineQuery();
  44852.     Query_text.SQL = 'select sc.id, sc.colid, sc.text as text '
  44853.                          + 'from syscomments sc where sc.id='+id_object
  44854.                          + ' order by sc.colid';
  44855.  
  44856.     if ( Query_text.Open() )
  44857.     {
  44858.         text = '';
  44859.         while (!Query_text.Eof)
  44860.         {
  44861.             if (Query_text.GetFieldValue('text')!=null)
  44862.             {
  44863.                 text = text + Query_text.GetFieldValue('text');
  44864.                if (Query_text.GetFieldValue('text').length<255)
  44865.                     text = text + ' ';
  44866.             }
  44867.             else
  44868.                 text = text + ' ';
  44869.             Query_text.Next();
  44870.         }
  44871.         Query_text.Close();
  44872.     }
  44873.     return text;
  44874. }
  44875.  
  44876. //===========================================================================================
  44877. ]]></VALUE>
  44878. <LANGUAGE>1</LANGUAGE>
  44879. <LANGUAGEWIN>---</LANGUAGEWIN>
  44880. <CATEGORY>6</CATEGORY>
  44881. <MAINSCRIPT>0</MAINSCRIPT>
  44882. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  44883. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  44884. <AUTHOR></AUTHOR>
  44885. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  44886. <VERSION>1.0</VERSION>
  44887. <CREATED><DATE>5/3/2002</DATE><TIME>14:18:20</TIME></CREATED>
  44888. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  44889. </TEMPLATE>
  44890. <TEMPLATE>
  44891. <NAME>MS_SQL_2000</NAME>
  44892. <ID>41</ID>
  44893. <GUID>{0B93F3B7-B10A-40F3-ACE0-8737651D7693}</GUID>
  44894. <CAPTION>MS SQL 2000</CAPTION>
  44895. <PACKAGEGUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</PACKAGEGUID>
  44896. <ENABLED>1</ENABLED>
  44897. <LEVEL>0</LEVEL>
  44898. <IDPARENT>0</IDPARENT>
  44899. <VALUE><![CDATA[function Connect()
  44900. {
  44901. Translator.DefaultLng = 'csy';
  44902. ReadVocabulary();
  44903. Scripting.MS_SQL_2000_main.Connect();
  44904. };
  44905.  
  44906. //======================================================================
  44907.  
  44908. function Main()
  44909. {
  44910. Scripting.MS_SQL_2000_main.Main();
  44911. };
  44912.  
  44913. //======================================================================
  44914.  
  44915. function Disconnect()
  44916. {
  44917. Scripting.MS_SQL_2000_main.Disconnect();
  44918. };
  44919.  
  44920. //======================================================================
  44921.  
  44922. function DefineVariables()
  44923. {
  44924. Schema.DatabaseId = 160;
  44925.  
  44926. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',1 );
  44927. Variables.lRefInt            = true;
  44928. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',    1 );
  44929. Variables.lCheckCon        = true;
  44930. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',    1 );
  44931. Variables.lUniCon            = true;
  44932. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                     1 );
  44933. Variables.lIndexes        = true;
  44934. Variables.DefineVariable( 'lIndexStorage','NaΦφst fill factor',            1 );
  44935. Variables.lIndexStorage    = false;
  44936. Variables.DefineVariable( 'lDescription',    'NaΦφst popis k tabulkßm a atribut∙m',1 );
  44937. Variables.lDescription    = true;
  44938. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                1 );
  44939. Variables.lTriggers        = true;
  44940. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury',                 1 );
  44941. Variables.lProcedures    = true;
  44942. Variables.DefineVariable( 'lFunctions',    'NaΦφst funkce',                     1 );
  44943. Variables.lFunctions        = true;
  44944. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                    1 );
  44945. Variables.lViews            = true;
  44946. Variables.DefineVariable( 'lUsers',            'NaΦφst u₧ivatele a skupiny',    1 );
  44947. Variables.lUsers            = true;
  44948. Variables.DefineVariable( 'lPermissions',    'NaΦφst prßva',                    1 );
  44949. Variables.lPermissions    = true;
  44950. };
  44951.  
  44952. //======================================================================
  44953.  
  44954. function ReadVocabulary()
  44955. {
  44956. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  44957. Translator.Add( 'W_UNK_UDT',    'Upozorn∞nφ: Neznßm² datov² typ %s v u₧ivatelskΘm datovΘm typu %s!' );
  44958. Translator.Add( 'W_REF_INT',    'Upozorn∞nφ: ReferenΦnφ constraint %s byl p°eveden z NO ACTION na RESTRICT!' );
  44959. };
  44960. ]]></VALUE>
  44961. <LANGUAGE>1</LANGUAGE>
  44962. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  44963. <CATEGORY>6</CATEGORY>
  44964. <MAINSCRIPT>1</MAINSCRIPT>
  44965. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  44966. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  44967. <AUTHOR></AUTHOR>
  44968. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  44969. <VERSION>1.0</VERSION>
  44970. <CREATED><DATE>5/3/2002</DATE><TIME>14:16:50</TIME></CREATED>
  44971. <MODIFIED><DATE>10/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  44972. </TEMPLATE>
  44973. <TEMPLATE>
  44974. <NAME>mySQL_323</NAME>
  44975. <ID>42</ID>
  44976. <GUID>{31B40B2C-836C-48CC-A791-DCABD70CF080}</GUID>
  44977. <CAPTION>mySQL 3.23</CAPTION>
  44978. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  44979. <ENABLED>1</ENABLED>
  44980. <LEVEL>0</LEVEL>
  44981. <IDPARENT>0</IDPARENT>
  44982. <VALUE><![CDATA[function Connect()
  44983. {
  44984. Translator.DefaultLng = 'csy';
  44985. ReadVocabulary();
  44986. Scripting.mySQL_323_main.Connect();
  44987. };
  44988.  
  44989. //======================================================================
  44990.  
  44991. function Main()
  44992. {
  44993. Scripting.mySQL_323_main.Main();
  44994. };
  44995.  
  44996. //======================================================================
  44997.  
  44998. function Disconnect()
  44999. {
  45000. Scripting.mySQL_323_main.Disconnect();
  45001. };
  45002.  
  45003. //======================================================================
  45004.  
  45005. function DefineVariables()
  45006. {
  45007. Schema.DatabaseId = 140;
  45008.  
  45009. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                         1 );
  45010. Variables.lIndexes        = true;
  45011. Variables.DefineVariable( 'lAlterKeys',    'NaΦφst unique indexy jako alternativnφ klφΦe', 1 );
  45012. Variables.lAlterKeys        = true;
  45013. Variables.DefineVariable( 'lUsers',            'NaΦφst u₧ivatele',                    1 );
  45014. Variables.lUsers            = true;
  45015. Variables.DefineVariable( 'lPermissions',    'NaΦφst prßva',                        1 );
  45016. Variables.lPermissions    = true;
  45017. };
  45018.  
  45019. //======================================================================
  45020.  
  45021. function ReadVocabulary()
  45022. {
  45023. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  45024. };
  45025. ]]></VALUE>
  45026. <LANGUAGE>1</LANGUAGE>
  45027. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  45028. <CATEGORY>6</CATEGORY>
  45029. <MAINSCRIPT>1</MAINSCRIPT>
  45030. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  45031. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  45032. <AUTHOR>David Fux</AUTHOR>
  45033. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  45034. <VERSION>1.0</VERSION>
  45035. <CREATED><DATE>8/10/2001</DATE><TIME>17:59:05</TIME></CREATED>
  45036. <MODIFIED><DATE>6/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  45037. </TEMPLATE>
  45038. <TEMPLATE>
  45039. <NAME>mySQL_323_main</NAME>
  45040. <ID>43</ID>
  45041. <GUID>{A0D74696-9DCF-4A5D-A190-010F73E7306F}</GUID>
  45042. <CAPTION>mySQL_323</CAPTION>
  45043. <PACKAGEGUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</PACKAGEGUID>
  45044. <ENABLED>1</ENABLED>
  45045. <LEVEL>0</LEVEL>
  45046. <IDPARENT>0</IDPARENT>
  45047. <VALUE><![CDATA[function Connect()
  45048. {
  45049. var Query, cId;
  45050. var DbName;
  45051.  
  45052. Scripting.RE_Dictionary.ReadVocabulary();
  45053. Schema.ClearTables();
  45054.  
  45055. if ( Database.Connect() )
  45056.     {
  45057.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  45058.     
  45059.     Query      = Database.DefineQuery();
  45060.     Query.SQL = 'SHOW TABLE STATUS';
  45061.  
  45062.     if ( Query.Open() )
  45063.         {
  45064.         while (! Query.Eof)
  45065.             {
  45066.            t = Schema.AddTable();
  45067.             t.TableName     = Query.GetFieldValue( 'NAME'    );
  45068.             t.Description    = Query.GetFieldValue( 'COMMENT' );
  45069.            t.Selected        = true;
  45070.     
  45071.             Query.Next();
  45072.             }
  45073.         Query.Close();
  45074.         }
  45075.     else
  45076.         Database.Disconnect();
  45077.  
  45078.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  45079.     };
  45080. };
  45081.  
  45082. //===========================================================================================
  45083.  
  45084. function Main()
  45085. {
  45086. var Query = Database.DefineQuery();
  45087. var s,t,c,x;
  45088. var nOrd;
  45089.  
  45090. Schema.Clear();
  45091.  
  45092. //--- Load Columns --------------------------------------------------------------------------
  45093. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  45094.  
  45095. for (t=0; t<Schema.CountTables; t++)
  45096.     {
  45097.     Table = Schema.Tables( t );
  45098.  
  45099.     if ( Table.Selected )
  45100.         {
  45101.         Query.SQL = 'SHOW COLUMNS FROM '+Table.TableName;
  45102.  
  45103.         if ( Query.Open() )
  45104.             {
  45105.             nOrd = 0;
  45106.  
  45107.             while (! Query.Eof)
  45108.                 {
  45109.                s = Schema.AddColumn();
  45110.  
  45111.                s.TableName    = Table.TableName;
  45112.                s.ColumnName    = Query.GetFieldValue( 'FIELD'    );
  45113.                 s.Nullable        = Query.GetFieldValue( 'NULL'        ) == 'YES';
  45114.                 s.Default        = Query.GetFieldValue( 'DEFAULT'    );
  45115.                 s.Ordinal        = ++nOrd;
  45116.                 s.Id           = s.TableName+'.'+s.ColumnName;
  45117.                 
  45118.                 if (s.Default != '') 
  45119.                     s.Default    = '"'+s.Default+'"';
  45120.  
  45121.                // filtering data-type name
  45122.                 cTypeInfo = Query.GetFieldValue( 'TYPE' );
  45123.  
  45124.                // search for end of the data-type name
  45125.                 nPos = cTypeInfo.search( /\(/i );
  45126.                 if (nPos == -1)
  45127.                     nPos = cTypeInfo.search( /\x20/i );
  45128.  
  45129.                // cDataType contains type name only
  45130.                 if (nPos == -1)
  45131.                     {
  45132.                     cDataType    = cTypeInfo;
  45133.                     nPos            = cDataType.length;
  45134.                     }
  45135.                 else
  45136.                     cDataType= cTypeInfo.substr( 0, nPos );
  45137.                     
  45138.                 // replace INT with synonymum Integer
  45139.                 if (cDataType.toUpperCase() == 'INT')
  45140.                     cDataType    = 'integer';
  45141.  
  45142.                 s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  45143.                  cTypeInfo   = cTypeInfo.substr( nPos+1 );
  45144.                 
  45145.                 // data type not found !
  45146.                 if (s.DataType == -1)
  45147.                     {
  45148.                    s.DataType = 10;  // set default data type
  45149.                      Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),cDataType,s.TableName) );
  45150.                 };
  45151.  
  45152.                 // get informations in parenthesis (length, scale, enum and set values)
  45153.                 nPos = cTypeInfo.search( /\)/i );
  45154.                 if (nPos != -1)
  45155.                     {
  45156.                     cValues = cTypeInfo.substr( 0,nPos );
  45157.                     if ((s.DataType == 150) || (s.DataType == 160))  // enum or set data type
  45158.                         s.Def = cValues
  45159.                     else
  45160.                         {
  45161.                         nX = cValues.search( /,/i );
  45162.                         if ( nX != -1 )
  45163.                             {
  45164.                             s.Decimal    = parseInt( cValues.substr( nX+1 ) );
  45165.                             cValues        = cValues.substr( 0,nX );
  45166.                             };
  45167.                         s.Length = parseInt( cValues );
  45168.                         };
  45169.                     };
  45170.  
  45171.                 // get additional type info (e.g. UNSIGNED, ZEROFILL, BINARY )
  45172.                 cTypeInfo = cTypeInfo.toUpperCase().substr( nPos+1 );
  45173.  
  45174.                  // UNSIGNED
  45175.               nPos = cTypeInfo.search( /UNSIGNED/i );
  45176.                if (nPos != -1)
  45177.                    {
  45178.                     s.SetUserVariable( 'lUnsigned',true );                   
  45179.                       cTypeInfo = Trim( cTypeInfo.replace( /UNSIGNED/i,"" ) );
  45180.                   };
  45181.  
  45182.                  // ZEROFILL
  45183.               nPos = cTypeInfo.search( /ZEROFILL/i );
  45184.                if (nPos != -1)
  45185.                    {
  45186.                     s.SetUserVariable( 'lZerofill',true );                   
  45187.                       cTypeInfo = Trim( cTypeInfo.replace( /ZEROFILL/i,"" ) );
  45188.                   };
  45189.  
  45190.                  // BINARY
  45191.               nPos = cTypeInfo.search( /BINARY/i );
  45192.                if (nPos != -1)
  45193.                    {
  45194.                     s.SetUserVariable( 'lBinary',true );                   
  45195.                       cTypeInfo = Trim( cTypeInfo.replace( /BINARY/i,"" ) );
  45196.                   };
  45197.  
  45198.                 if (cTypeInfo != '')
  45199.                     s.Def = Trim( cTypeInfo );
  45200.  
  45201.                 // get additional type info save in field EXTRA (e.g. AUTO_INCREMENT )
  45202.                 cTypeInfo = Query.GetFieldValue( 'EXTRA' ).toUpperCase();
  45203.  
  45204.                 if (cTypeInfo != '')
  45205.                     {
  45206.                      // AUTO_INCREMENT
  45207.                   nPos = cTypeInfo.search( /AUTO_INCREMENT/i );
  45208.                    if (nPos != -1)
  45209.                        {
  45210.                         s.SetUserVariable( 'lAutoIncrement',true );
  45211.                           cTypeInfo = Trim( cTypeInfo.replace( /AUTO_INCREMENT/i,"" ) );
  45212.                       };
  45213.  
  45214.                     if (cTypeInfo != '')
  45215.                         s.Def2 = Trim( cTypeInfo );
  45216.                     };    
  45217.  
  45218.                 Query.Next();
  45219.                 };
  45220.             Query.Close();
  45221.             };
  45222.         };
  45223.     };
  45224.  
  45225. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  45226.  
  45227. //--- Load Indexes -------------------------------------------------------------------------
  45228. Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  45229.  
  45230. if ( Variables.lIndexes )
  45231.     {
  45232.     for (t=0; t<Schema.CountTables; t++)
  45233.         {
  45234.         Table = Schema.Tables( t );
  45235.  
  45236.         if ( Table.Selected )
  45237.             {
  45238.             Query.SQL = 'SHOW INDEX FROM '+Table.TableName;
  45239.  
  45240.             if ( Query.Open() )
  45241.                 {
  45242.                 // Save all important index informations into an array
  45243.  
  45244.                 // Arrays for index informations
  45245.                   aIxName            = new Array();
  45246.                   aIxUnique        = new Array();
  45247.                 aIxCollation    = new Array();
  45248.                 aIxProcessed    = new Array();
  45249.                 aIxIsSubPart    = new Array();
  45250.                 aIxColumns        = new Array();
  45251.                 aIxExpression    = new Array();
  45252.  
  45253.                 // Arrays for column informations
  45254.                 aIcName             = new Array();
  45255.                 aIcOrdinal        = new Array();
  45256.                 aIcSubPart        = new Array();
  45257.                 aIcIndex            = new Array();
  45258.  
  45259.                 while (! Query.Eof)
  45260.                     {
  45261.                     cIndexName = Query.GetFieldValue( 'KEY_NAME'    );
  45262.                     for (i=0; i<aIxName.length; i++)
  45263.                         if    (aIxName[ i ] == cIndexName)
  45264.                             break;
  45265.                     
  45266.                     // save index info
  45267.                     if (i == aIxName.length)
  45268.                         {
  45269.                           aIxName[         i ]    = cIndexName;
  45270.                        aIxUnique[      i ]    = (Query.GetFieldValue( 'NON_UNIQUE'    ) == 0 );
  45271.                         aIxCollation[     i ]    = Query.GetFieldValue( 'COLLATION'         );
  45272.                         aIxColumns[      i ]   = 0;
  45273.                         aIxIsSubPart[  i ]   = false;
  45274.                         aIxExpression[ i ]    = false;
  45275.                         };
  45276.                     aIxColumns[ i      ]    = aIxColumns[ i ] +1;
  45277.                     if    (Query.GetFieldValue( 'SUB_PART' ) != null)
  45278.                     {
  45279.                         aIxIsSubPart[ i ]    = Query.GetFieldValue( 'SUB_PART'         ) != 0;
  45280.                     }
  45281.                     else
  45282.                         aIxIsSubPart[  i ]   = false;
  45283.  
  45284.                     // save column info
  45285.                     c = aIcIndex.length;
  45286.                     
  45287.                     aIcName[     c ]    = Query.GetFieldValue( 'COLUMN_NAME'    );
  45288.                     aIcOrdinal[ c ]    = Query.GetFieldValue( 'SEQ_IN_INDEX'    );
  45289.                     aIcSubPart[    c ]    = Query.GetFieldValue( 'SUB_PART'         );
  45290.                     aIcIndex[     c ]    = i;
  45291.  
  45292.                                                            
  45293.                   Query.Next();
  45294.                   }; 
  45295.                Query.Close();
  45296.  
  45297.                 nOrd = 0;
  45298.                
  45299.                // Evaluate index informations
  45300.                 for (c=0; c<aIcName.length; c++)
  45301.                     if (! aIxExpression[ aIcIndex[ c ] ] )
  45302.                         {
  45303.                         i = aIcIndex[ c ];
  45304.                         lExpressionIndex    = false;
  45305.  
  45306.                         // primary key
  45307.                         if (aIxName[ i ] == 'PRIMARY')
  45308.                             {
  45309.                            s                    = Schema.AddPrimaryKey()
  45310.                                 s.TableName        = Table.TableName;
  45311.                            s.ColumnName    = aIcName[ c ];
  45312.                             s.PKName            = 'PK_'+s.TableName+'_'+s.ColumnName;
  45313.                             s.Ordinal        = aIcOrdinal[     c ];
  45314.                             if (aIcSubPart[ c ] != null)
  45315.                                if (aIcSubPart[ c ] != 0)
  45316.                                     Schema.GetColumn( s.TableName+'.'+s.ColumnName).SetUserVariable( 'nSubPart',aIcSubPart[ c ].toString() );
  45317.                            }
  45318.  
  45319.                        // unique constraints (unique key or alternate key)
  45320.                         else if ( aIxUnique[ i ] && (!aIxIsSubPart[ i ]) &&
  45321.                                     (( (aIxColumns[ i ] >  1) && Variables.lAlterKeys         ) ||
  45322.                                      ( (aIxColumns[ i ] == 1) && (aIcName[ c ] == aIxName[ i ]) ) ))
  45323.                             {
  45324.                             s                        = Schema.AddUniqueConstraint();
  45325.                                 s.TableName            = Table.TableName;
  45326.                            s.ColumnName        = aIcName[ c ];
  45327.                             s.Ordinal            = aIcOrdinal[     c ];
  45328.                            if (aIxColumns[ i ] > 1)
  45329.                                s.ConstraintName    = aIxName[ i ];
  45330.                            }
  45331.  
  45332.                         // index
  45333.                         else
  45334.                             {
  45335.                             s                    = Schema.AddIndex();
  45336.                             s.Ordinal        = aIcOrdinal[ c ];
  45337.                             s.Unique         = aIxUnique[ i ];
  45338.                                 s.TableName        = Table.TableName;
  45339.                                 s.IndexName        = aIxName[ i ];
  45340.  
  45341.                             aIxExpression[ i ] = aIxIsSubPart[ i ];
  45342.  
  45343.                             if (aIxExpression[ i ])
  45344.                                 {
  45345.                                 Expression = '';
  45346.                                 for (x=0; x<aIcName.length; x++)
  45347.                                     if (aIcIndex[ c ] == aIcIndex[ x ])
  45348.                                         {
  45349.                                         if (Expression!='')
  45350.                                             Expression +=',';
  45351.                                         Expression += aIcName[ x ];
  45352.                                         if (aIcSubPart[x] != null)
  45353.                                             if (aIcSubPart[x] != 0)
  45354.                                                 Expression += '('+aIcSubPart[ x ].toString()+')';                                        
  45355.                                         };                        
  45356.                                  s.ExprType        = true;
  45357.                                 s.Expression    = Expression;
  45358.                                 }
  45359.                             else
  45360.                                 {
  45361.                                 s.Ordinal        = aIcOrdinal[     c ];
  45362.                                s.ColumnName    = aIcName[        c ];
  45363.                                 };
  45364.                             };
  45365.         
  45366.                         };
  45367.     
  45368.                };
  45369.            };    
  45370.        };    
  45371.  
  45372.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  45373.     };
  45374.  
  45375. //--- Load users ----------------------------------------------------------------------------------
  45376. if ( Variables.lUsers && Variables.lPermissions    )
  45377.     {
  45378.     Log.Writeln(  Translator.Translate( 'RE_USERS',0 ) );
  45379.  
  45380.     Query.SQL = 'SELECT HOST,USER FROM MYSQL.USER WHERE USER<>\'\' AND USER<> \'root\'';
  45381.  
  45382.     if ( Query.Open() )
  45383.         {
  45384.         while (! Query.Eof)
  45385.             {
  45386.            s = Schema.AddUser()
  45387.            s.UserName = '\''+Query.GetFieldValue( 'USER' )+'\'@\''+Query.GetFieldValue( 'HOST' )+'\'';
  45388.           
  45389.           Query.Next();
  45390.           };
  45391.           
  45392.        Query.Close();
  45393.        };
  45394.  
  45395.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  45396.     };
  45397.  
  45398. //--- Load tables permissions ---------------------------------------------------------------------
  45399. if ( Variables.lPermissions )
  45400.     {
  45401.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  45402.  
  45403.     Query.SQL = 'SELECT DATABASE()';
  45404.     if ( Query.Open() )
  45405.         {
  45406.         DbName = Query.GetFieldValue( 'DATABASE()' );
  45407.  
  45408.         Log.Writeln( Database );
  45409.         Query.Close();
  45410.         };
  45411.         
  45412.     Query.SQL = 'SELECT HOST,USER,TABLE_NAME,TABLE_PRIV FROM MYSQL.TABLES_PRIV WHERE DB=\''+DbName+'\'';
  45413.     if ( Query.Open() )
  45414.         {
  45415.         while (! Query.Eof)
  45416.             {
  45417.            s = Schema.AddUserPermission();
  45418.  
  45419.            s.UserName       = '\''+Query.GetFieldValue( 'USER'            )+'\'@\''+Query.GetFieldValue( 'HOST' )+'\'';
  45420.            s.ObjectName    = Query.GetFieldValue( 'TABLE_NAME'    );
  45421.            s.ObjectType     = 0;
  45422.            
  45423.            Permissions        = Query.GetFieldValue( 'TABLE_PRIV' );
  45424.             s.Insert         = (Permissions.search( /INSERT/i )         != -1);
  45425.            s.Update            = (Permissions.search( /UPDATE/i )         != -1);
  45426.            s.Select            = (Permissions.search( /SELECT/i )         != -1);
  45427.          s.DRI                = (Permissions.search( /REFERENCES/i ) != -1);
  45428.           s.Delete            = (Permissions.search( /DELETE/i )         != -1);
  45429.           
  45430.           Query.Next();
  45431.           };
  45432.           
  45433.        Query.Close();
  45434.        };
  45435.  
  45436.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  45437.     };
  45438.  
  45439. //--- Process reversed database structure ---------------------------------------------------------
  45440. Schema.Run();    
  45441. };
  45442.  
  45443. //===========================================================================================
  45444.  
  45445. function GetParamLength( ParamQuery )
  45446. {
  45447. var nParams = 0;
  45448. var cResult = '';
  45449.  
  45450. switch (ParamQuery.GetFieldValue('TYPENAME'))
  45451.     {
  45452.     case 'CHARACTER':            nParams = 1; break;
  45453.     case 'VARCHAR':            nParams = 1; break;
  45454.     case 'LONG VARCHAR':        nParams = 1; break;
  45455.     case 'FLOAT':                nParams = 1; break;
  45456.     case 'DECIMAL':            nParams = 2; break;
  45457.     case 'BLOB':                nParams = 1; break;
  45458.     case 'DBBLOB':                nParams = 1; break;
  45459.     case 'CLOB':                nParams = 1; break;
  45460.     case 'GRAPHIC':            nParams = 1; break;
  45461.     case 'VAR GRAPHIC':        nParams = 1; break;
  45462.     case 'LONG VARGRAPHIC':    nParams = 1; break;
  45463.     };
  45464.  
  45465. if (nParams > 1)
  45466.     cResult = ','+ParamQuery.GetFieldValue('SCALE');
  45467.  
  45468. if (nParams > 0)
  45469.     cResult = '('+ParamQuery.GetFieldValue('LENGTH')+cResult+')';
  45470.     
  45471. return( cResult );                
  45472. }
  45473.  
  45474. //===========================================================================================
  45475.  
  45476. function Disconnect()
  45477. {
  45478. Database.Disconnect();
  45479. };
  45480.  
  45481. //===========================================================================================
  45482. ]]></VALUE>
  45483. <LANGUAGE>1</LANGUAGE>
  45484. <LANGUAGEWIN>---</LANGUAGEWIN>
  45485. <CATEGORY>6</CATEGORY>
  45486. <MAINSCRIPT>0</MAINSCRIPT>
  45487. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  45488. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  45489. <AUTHOR>David Fux</AUTHOR>
  45490. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  45491. <VERSION>1.0</VERSION>
  45492. <CREATED><DATE>7/31/2001</DATE><TIME>12:45:36</TIME></CREATED>
  45493. <MODIFIED><DATE>6/4/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  45494. </TEMPLATE>
  45495. <TEMPLATE>
  45496. <NAME>mySQL_4_main</NAME>
  45497. <ID>44</ID>
  45498. <GUID>{972D3F6C-A548-417F-BCCD-11B8B4540DB3}</GUID>
  45499. <CAPTION>mySQL_4</CAPTION>
  45500. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  45501. <ENABLED>1</ENABLED>
  45502. <LEVEL>0</LEVEL>
  45503. <IDPARENT>0</IDPARENT>
  45504. <VALUE><![CDATA[function Connect()
  45505. {
  45506. var Query, cId;
  45507. var DbName;
  45508.  
  45509. Scripting.RE_Dictionary.ReadVocabulary();
  45510. Scripting.Dictionary.ReadVocabulary();
  45511. Schema.ClearTables();
  45512.  
  45513. if ( Database.Connect() )
  45514.     {
  45515.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  45516.     
  45517.     Query      = Database.DefineQuery();
  45518.  
  45519.     Query.SQL = 'SELECT DATABASE()';
  45520.     if ( Query.Open() )
  45521.         {
  45522.         DbName = Query.GetFieldValue( 'DATABASE()' );
  45523.  
  45524.         Log.Writeln( Database );
  45525.         Query.Close();
  45526.         };
  45527.  
  45528.     Query.SQL = 'SHOW TABLE STATUS';
  45529.  
  45530.     if ( Query.Open() )
  45531.         {
  45532.         while (! Query.Eof)
  45533.             {
  45534.            t = Schema.AddTable();
  45535.            t.TableSchema    = DbName;
  45536.             t.TableName     = Query.GetFieldValue( 'NAME'    );
  45537.             if ((Query.GetFieldValue('TYPE')=='InnoDB') && (! Variables.lCommentInnoDB))
  45538.             {
  45539.                 comment = Query.GetFieldValue( 'COMMENT' );
  45540.                 poc = comment.search( /; InnoDB free: /i );
  45541.                 Inn = comment;
  45542.                 while (poc!=-1)
  45543.                 {
  45544.                     Inn = Inn.substr(poc+1);
  45545.                     poc = Inn.search( /; InnoDB free: /i );
  45546.                 }
  45547.                 len = comment.length-Inn.length-1;
  45548.                 comment = comment.substr(0,len);
  45549.             }
  45550.             else
  45551.                 comment = Query.GetFieldValue( 'COMMENT' );
  45552.             t.Description    = comment;
  45553.            t.Selected        = true;
  45554.            t.SetUserVariable('eTableType',Query.GetFieldValue('TYPE') );
  45555.     
  45556.             Query.Next();
  45557.             }
  45558.         Query.Close();
  45559.         }
  45560.     else
  45561.         Database.Disconnect();
  45562.  
  45563.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  45564.     };
  45565. };
  45566.  
  45567. //===========================================================================================
  45568.  
  45569. function Main()
  45570. {
  45571. var Query = Database.DefineQuery();
  45572. var s,t,c,x;
  45573. var nOrd;
  45574.  
  45575. Schema.Clear();
  45576. Schema.UniqueAsAlterKey = true;
  45577.  
  45578. //--- Load Columns --------------------------------------------------------------------------
  45579. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  45580.  
  45581. for (t=0; t<Schema.CountTables; t++)
  45582.     {
  45583.     Table = Schema.Tables( t );
  45584.  
  45585.     if ( Table.Selected )
  45586.         {
  45587.         Query.SQL = 'SHOW COLUMNS FROM '+Table.TableName;
  45588.  
  45589.         if ( Query.Open() )
  45590.             {
  45591.             nOrd = 0;
  45592.  
  45593.             while (! Query.Eof)
  45594.                 {
  45595.                s = Schema.AddColumn();
  45596.  
  45597.                 s.TableSchema    = Table.TableSchema;
  45598.                s.TableName    = Table.TableName;
  45599.                s.ColumnName    = Query.GetFieldValue( 'FIELD'    );
  45600.                 s.Nullable        = Query.GetFieldValue( 'NULL'        ) == 'YES';
  45601.                 s.Default        = Query.GetFieldValue( 'DEFAULT'    );
  45602.                 s.Ordinal        = ++nOrd;
  45603.                 s.Id           = s.TableSchema+'.'+s.TableName+'.'+s.ColumnName;
  45604.                 
  45605.                 if (s.Default != '') 
  45606.                     s.Default    = '"'+s.Default+'"';
  45607.  
  45608.                // filtering data-type name
  45609.                 cTypeInfo = Query.GetFieldValue( 'TYPE' );
  45610.  
  45611.                // search for end of the data-type name
  45612.                 nPos = cTypeInfo.search( /\(/i );
  45613.                 if (nPos == -1)
  45614.                     nPos = cTypeInfo.search( /\x20/i );
  45615.  
  45616.                // cDataType contains type name only
  45617.                 if (nPos == -1)
  45618.                     {
  45619.                     cDataType    = cTypeInfo;
  45620.                     nPos            = cDataType.length;
  45621.                     }
  45622.                 else
  45623.                     cDataType= cTypeInfo.substr( 0, nPos );
  45624.                     
  45625.                 // replace INT with synonymum Integer
  45626.                 if (cDataType.toUpperCase() == 'INT')
  45627.                     cDataType    = 'integer';
  45628.  
  45629.                 s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  45630.                  cTypeInfo   = cTypeInfo.substr( nPos+1 );
  45631.                 
  45632.                 // data type not found !
  45633.                 if (s.DataType == -1)
  45634.                     {
  45635.                    s.DataType = 10;  // set default data type
  45636.                      Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),cDataType,s.TableName) );
  45637.                 };
  45638.  
  45639.                 // get informations in parenthesis (length, scale, enum and set values)
  45640.                 nPos = cTypeInfo.search( /\)/i );
  45641.                 if (nPos != -1)
  45642.                     {
  45643.                     cValues = cTypeInfo.substr( 0,nPos );
  45644.                     if ((s.DataType == 240) || (s.DataType == 250))  // enum or set data type
  45645.                         s.Def = cValues
  45646.                     else
  45647.                         {
  45648.                         nX = cValues.search( /,/i );
  45649.                         if ( nX != -1 )
  45650.                             {
  45651.                             s.Decimal    = parseInt( cValues.substr( nX+1 ) );
  45652.                             cValues        = cValues.substr( 0,nX );
  45653.                             };
  45654.                         if ((s.DataType==30)||(s.DataType==40)||(s.DataType==50)||(s.DataType==60)||(s.DataType==70))  //Tinyint, Smallint, Mediumint, Integer, Bigint
  45655.                             {
  45656.                             s.SetUserVariable('nMaxDisplaySize', parseInt( cValues ) );
  45657.                             }
  45658.                         else
  45659.                             s.Length = parseInt( cValues );
  45660.                         if (s.DataType==80)  //Float
  45661.                             s.DataType=82;  //Float(m,d)
  45662.                         if (s.DataType==90)  //Double
  45663.                             s.DataType=91;  //Double(m,d)
  45664.                         };
  45665.                     };
  45666.  
  45667.                 // get additional type info (e.g. UNSIGNED, ZEROFILL, BINARY )
  45668.                 cTypeInfo = cTypeInfo.toUpperCase().substr( nPos+1 );
  45669.  
  45670.                  // UNSIGNED
  45671.               nPos = cTypeInfo.search( /UNSIGNED/i );
  45672.                if (nPos != -1)
  45673.                    {
  45674.                     s.SetUserVariable( 'lUnsigned',true );                   
  45675.                       cTypeInfo = Trim( cTypeInfo.replace( /UNSIGNED/i,"" ) );
  45676.                   };
  45677.  
  45678.                  // ZEROFILL
  45679.               nPos = cTypeInfo.search( /ZEROFILL/i );
  45680.                if (nPos != -1)
  45681.                    {
  45682.                     s.SetUserVariable( 'lZerofill',true );                   
  45683.                       cTypeInfo = Trim( cTypeInfo.replace( /ZEROFILL/i,"" ) );
  45684.                   };
  45685.  
  45686.                  // BINARY
  45687.               nPos = cTypeInfo.search( /BINARY/i );
  45688.                if (nPos != -1)
  45689.                    {
  45690.                     s.SetUserVariable( 'lBinary',true );                   
  45691.                       cTypeInfo = Trim( cTypeInfo.replace( /BINARY/i,"" ) );
  45692.                   };
  45693.  
  45694.                 if (cTypeInfo != '')
  45695.                     s.Def = Trim( cTypeInfo );
  45696.  
  45697.                 // get additional type info save in field EXTRA (e.g. AUTO_INCREMENT )
  45698.                 cTypeInfo = Query.GetFieldValue( 'EXTRA' ).toUpperCase();
  45699.  
  45700.                 if (cTypeInfo != '')
  45701.                     {
  45702.                      // AUTO_INCREMENT
  45703.                   nPos = cTypeInfo.search( /AUTO_INCREMENT/i );
  45704.                    if (nPos != -1)
  45705.                        {
  45706.                         s.SetUserVariable( 'lAutoIncrement',true );
  45707.                           cTypeInfo = Trim( cTypeInfo.replace( /AUTO_INCREMENT/i,"" ) );
  45708.                       };
  45709.  
  45710.                     if (cTypeInfo != '')
  45711.                         s.Def2 = Trim( cTypeInfo );
  45712.                     };    
  45713.  
  45714.                 Query.Next();
  45715.                 };
  45716.             Query.Close();
  45717.             };
  45718.         };
  45719.     };
  45720.  
  45721. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  45722.  
  45723. //--- Load Indexes -------------------------------------------------------------------------
  45724. Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  45725.  
  45726. if ( Variables.lIndexes )
  45727.     {
  45728.     for (t=0; t<Schema.CountTables; t++)
  45729.         {
  45730.         Table = Schema.Tables( t );
  45731.  
  45732.         if ( Table.Selected )
  45733.             {
  45734.             Query.SQL = 'SHOW INDEX FROM '+Table.TableName;
  45735.  
  45736.             if ( Query.Open() )
  45737.                 {
  45738.                 // Save all important index informations into an array
  45739.  
  45740.                 // Arrays for index informations
  45741.                   aIxName            = new Array();
  45742.                   aIxUnique        = new Array();
  45743.                 aIxCollation    = new Array();
  45744.                 aIxProcessed    = new Array();
  45745.                 aIxIsSubPart    = new Array();
  45746.                 aIxColumns        = new Array();
  45747.                 aIxExpression    = new Array();
  45748.                 aIxFulltext        = new Array();
  45749.  
  45750.                 // Arrays for column informations
  45751.                 aIcName             = new Array();
  45752.                 aIcOrdinal        = new Array();
  45753.                 aIcSubPart        = new Array();
  45754.                 aIcIndex            = new Array();
  45755.  
  45756.                 while (! Query.Eof)
  45757.                     {
  45758.                     cIndexName = Query.GetFieldValue( 'KEY_NAME'    );
  45759.                     for (i=0; i<aIxName.length; i++)
  45760.                         if    (aIxName[ i ] == cIndexName)
  45761.                             break;
  45762.                     
  45763.                     // save index info
  45764.                     if (i == aIxName.length)
  45765.                         {
  45766.                           aIxName[         i ]    = cIndexName;
  45767.                        aIxUnique[      i ]    = (Query.GetFieldValue( 'NON_UNIQUE'    ) == 0 );
  45768.                         aIxCollation[     i ]    = Query.GetFieldValue( 'COLLATION'         );
  45769.                         aIxColumns[      i ]   = 0;
  45770.                         aIxIsSubPart[  i ]   = false;
  45771.                         aIxExpression[ i ]    = false;
  45772.                         aIxFulltext[    i ]    = ( Query.GetFieldValue('COMMENT').search(/FULLTEXT/i) != -1 )
  45773.                         };
  45774.                     aIxColumns[ i      ]    = aIxColumns[ i ] +1;
  45775.                     if    (Query.GetFieldValue( 'SUB_PART' ) != null)
  45776.                     {
  45777.                         aIxIsSubPart[ i ]    = Query.GetFieldValue( 'SUB_PART'         ) != 0;
  45778.                     }
  45779.                     else
  45780.                         aIxIsSubPart[  i ]   = false;
  45781.  
  45782.                     // save column info
  45783.                     c = aIcIndex.length;
  45784.                     
  45785.                     aIcName[     c ]    = Query.GetFieldValue( 'COLUMN_NAME'    );
  45786.                     aIcOrdinal[ c ]    = parseInt( Query.GetFieldValue( 'SEQ_IN_INDEX'    ) );
  45787.                     aIcSubPart[    c ]    = Query.GetFieldValue( 'SUB_PART' );
  45788.                     aIcIndex[     c ]    = i;
  45789.  
  45790.                   Query.Next();
  45791.                   }; 
  45792.                Query.Close();
  45793.  
  45794.                 nOrd = 0;
  45795.                
  45796.                // Evaluate index informations
  45797.                 for (c=0; c<aIcName.length; c++)
  45798.                     if (! aIxExpression[ aIcIndex[ c ] ] )
  45799.                         {
  45800.                         i = aIcIndex[ c ];
  45801.                         lExpressionIndex    = false;
  45802.  
  45803.                         // primary key
  45804.                         if (aIxName[ i ] == 'PRIMARY')
  45805.                             {
  45806.                            s                    = Schema.AddPrimaryKey();
  45807.                            s.TableSchema    = Table.TableSchema;
  45808.                                 s.TableName        = Table.TableName;
  45809.                            s.ColumnName    = aIcName[ c ];
  45810.                             s.PKName            = 'PK_'+s.TableName+'_'+s.ColumnName;
  45811.                             s.Ordinal        = aIcOrdinal[ c ];
  45812.                             if (aIcSubPart[ c ] != null)
  45813.                                if (aIcSubPart[ c ] != 0)
  45814.                                     Schema.GetColumn( s.TableSchema+'.'+s.TableName+'.'+s.ColumnName).SetUserVariable( 'nSubPart',aIcSubPart[ c ].toString() );
  45815.                            }
  45816.  
  45817.                        // unique constraints (unique key or alternate key)
  45818.                         else if ( aIxUnique[ i ] && (!aIxIsSubPart[ i ] ) &&
  45819.                                     (( (aIxColumns[ i ] >=  1) && Variables.lAlterKeys ) ))
  45820.                             {        
  45821.                             s                        = Schema.AddUniqueConstraint();
  45822.                             s.TableSchema        = Table.TableSchema;
  45823.                                 s.TableName            = Table.TableName;
  45824.                            s.ColumnName        = aIcName[ c ];
  45825.                             s.Ordinal            = aIcOrdinal[     c ];
  45826.                            s.ConstraintName    = aIxName[ i ];
  45827.                            }
  45828.  
  45829.                         // index
  45830.                         else
  45831.                             {
  45832.                             s                    = Schema.AddIndex();
  45833.                             s.TableSchema    = Table.TableSchema;
  45834.                             s.TableName        = Table.TableName;
  45835.                             s.Ordinal        = aIcOrdinal[ c ];
  45836.                             s.Unique         = aIxUnique[ i ];
  45837.                                 s.IndexName        = aIxName[ i ];
  45838.                                 s.SetUserVariable('lFulltext', aIxFulltext[ i ]);
  45839.  
  45840.                             aIxExpression[ i ] = aIxIsSubPart[ i ];
  45841.  
  45842.                             if (aIxExpression[ i ])
  45843.                                 {
  45844.                                 Expression = '';
  45845.                                 for (x=0; x<aIcName.length; x++)
  45846.                                     if (aIcIndex[ c ] == aIcIndex[ x ])
  45847.                                         {
  45848.                                         if (Expression!='')
  45849.                                             Expression +=',';
  45850.                                         Expression += aIcName[ x ];
  45851.                                         if (aIcSubPart[x] != null)
  45852.                                             if (aIcSubPart[x] != 0)
  45853.                                                 Expression += '('+aIcSubPart[ x ].toString()+')';                                        
  45854.                                         };                        
  45855.                                  s.ExprType        = true;
  45856.                                 s.Expression    = Expression;
  45857.                                 }
  45858.                             else
  45859.                                 {
  45860.                                 s.Ordinal        = aIcOrdinal[     c ];
  45861.                                s.ColumnName    = aIcName[        c ];
  45862.                                 };
  45863.                             };
  45864.         
  45865.                         };
  45866.     
  45867.                };
  45868.            };    
  45869.        };    
  45870.  
  45871.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  45872.     };
  45873.  
  45874. //--- Load referential integrity ---------------------------------------------------------------------
  45875. if ( Variables.lRefInt )
  45876.     {
  45877.     var For_array = new Array();
  45878.     var Prim_array = new Array();
  45879.  
  45880.     Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  45881.  
  45882.     Query.SQL = 'SELECT DATABASE()';
  45883.     if ( Query.Open() )
  45884.         {
  45885.         DbName = Query.GetFieldValue( 'DATABASE()' );
  45886.         Query.Close();
  45887.         };
  45888.  
  45889.     Query.SQL = 'SHOW TABLE STATUS FROM '+DbName;
  45890.     if ( Query.Open() )
  45891.         {
  45892.         f_i=1;
  45893.         while (! Query.Eof)
  45894.             {
  45895.             if (Query.GetFieldValue('type') == 'InnoDB')
  45896.             {
  45897.             Comment = Query.GetFieldValue('Comment');
  45898. //
  45899.             flag = 0;
  45900.             while (flag==0)
  45901.                 {
  45902.             poc = Comment.search( /\(/i );
  45903.             if (poc==-1) flag=1;
  45904.             pocR = Comment.search( / REFER /i );
  45905.             if (pocR==-1) flag=1;
  45906.             ForK = Comment.substr(poc+1,pocR-poc-2);
  45907.             if (ForK=='') flag=1;
  45908.             poc = ForK.search( /\(/i );
  45909.             while (poc!=-1)
  45910.             {
  45911.                 ForK = ForK.substr(poc+1);
  45912.                 poc = ForK.search( /\(/i );
  45913.             }
  45914.                 //ForK - foreign keys
  45915.             Prim = Comment.substr(pocR+7);
  45916.             poc = Prim.search( /\//i );
  45917.             PrimSchema = Prim.substr(0,poc);
  45918.                 //PrimSchema - primary schema
  45919.             PrimTK = Prim.substr(poc+1);
  45920.             poc = PrimTK.search( /\(/i );
  45921.             if (poc==-1) flag=1;
  45922.             PrimTable = PrimTK.substr(0,poc);
  45923.                 //PrimTable - primary table
  45924.             poc2 = PrimTK.search( /\)/i );
  45925.             if (poc2==-1) flag=1;
  45926.             PrimK = PrimTK.substr(poc+1,poc2-poc-1);
  45927.                 //PrimK - primary keys
  45928.  
  45929.             i=0;
  45930.             poc = ForK.search( / /i );
  45931.             while (poc!=-1)
  45932.             {
  45933.                 For_array[i] = ForK.substr(0,poc);
  45934.                 ForK = ForK.substr(poc+1)
  45935.                 poc = ForK.search( / /i );
  45936.                 i++;
  45937.             }
  45938.             For_array[i] = ForK; //array of foreign keys
  45939.             For_count = i; //number of foreign keys
  45940.             if (ForK=='')
  45941.                 For_count = -1;
  45942.  
  45943.             i=0;
  45944.             poc = PrimK.search( / /i );
  45945.             while (poc!=-1)
  45946.             {
  45947.                 Prim_array[i] = PrimK.substr(0,poc);
  45948.                 PrimK = PrimK.substr(poc+1)
  45949.                 poc = PrimK.search( / /i );
  45950.                 i++;
  45951.             }
  45952.             Prim_array[i] = PrimK; //array of primary keys
  45953.             Prim_count = i; //number of primary keys
  45954.             if (PrimK=='')
  45955.                 Prim_count = -1;
  45956.             Comment = PrimTK.substr(poc2+1);
  45957. //
  45958.             if (flag==0)
  45959.             {
  45960.                 FkName = Translator.Translate('RELATIONSHIP',0) + '_' + (f_i++).toString(10);
  45961.                 ii=1;
  45962.                 for (i=0;i<=For_count;i++)
  45963.                 {
  45964.                s = Schema.AddForeignKey();
  45965.  
  45966.                   s.PkTableSchema= PrimSchema;
  45967.                s.PkTableName    = PrimTable;
  45968.                s.PkColumnName    = Prim_array[i];
  45969.  
  45970.                s.FkTableSchema= DbName;
  45971.                s.FkTableName    = Query.GetFieldValue( 'name' );
  45972.                s.FkColumnName    = For_array[i];
  45973.                 s.FkName            = FkName;
  45974.  
  45975.                 s.Ordinal        = ii;
  45976.                 ii++;
  45977.                 }
  45978.             }
  45979.                 } //while
  45980.             }
  45981.           Query.Next();
  45982.           };
  45983.           
  45984.        Query.Close();
  45985.        };
  45986.  
  45987.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  45988.     };
  45989.  
  45990. //--- Load users ----------------------------------------------------------------------------------
  45991. if ( Variables.lUsers && Variables.lPermissions    )
  45992.     {
  45993.     Log.Writeln(  Translator.Translate( 'RE_USERS',0 ) );
  45994.  
  45995.     Query.SQL = 'SELECT DATABASE()';
  45996.     if ( Query.Open() )
  45997.         {
  45998.         DbName = Query.GetFieldValue( 'DATABASE()' );
  45999.         Query.Close();
  46000.         };
  46001.  
  46002.     Query.SQL = 'SELECT HOST,USER FROM MYSQL.USER WHERE USER<>\'\' AND USER<> \'root\'';
  46003.  
  46004.     if ( Query.Open() )
  46005.         {
  46006.         while (! Query.Eof)
  46007.             {
  46008.            s = Schema.AddUser()
  46009.            s.UserName = '\''+Query.GetFieldValue( 'USER' )+'\'@\''+Query.GetFieldValue( 'HOST' )+'\'';
  46010.           
  46011.           Query.Next();
  46012.           };
  46013.           
  46014.        Query.Close();
  46015.        };
  46016.  
  46017.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  46018.     };
  46019.  
  46020. //--- Load tables permissions ---------------------------------------------------------------------
  46021. if ( Variables.lPermissions )
  46022.     {
  46023.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  46024.  
  46025.     Query.SQL = 'SELECT DATABASE()';
  46026.     if ( Query.Open() )
  46027.         {
  46028.         DbName = Query.GetFieldValue( 'DATABASE()' );
  46029.         Query.Close();
  46030.         };
  46031.         
  46032.     Query.SQL = 'SELECT HOST,USER,TABLE_NAME,TABLE_PRIV FROM MYSQL.TABLES_PRIV WHERE DB=\''+DbName+'\'';
  46033.     if ( Query.Open() )
  46034.         {
  46035.         while (! Query.Eof)
  46036.             {
  46037.            s = Schema.AddUserPermission();
  46038.  
  46039.            s.UserName       = '\''+Query.GetFieldValue( 'USER'            )+'\'@\''+Query.GetFieldValue( 'HOST' )+'\'';
  46040.            s.ObjectSchema = DbName;
  46041.            s.ObjectName    = Query.GetFieldValue( 'TABLE_NAME'    );
  46042.            s.ObjectType     = 0;
  46043.            
  46044.            Permissions        = Query.GetFieldValue( 'TABLE_PRIV' );
  46045.             s.Insert         = (Permissions.search( /INSERT/i )         != -1);
  46046.            s.Update            = (Permissions.search( /UPDATE/i )         != -1);
  46047.            s.Select            = (Permissions.search( /SELECT/i )         != -1);
  46048.          s.DRI                = (Permissions.search( /REFERENCES/i ) != -1);
  46049.           s.Delete            = (Permissions.search( /DELETE/i )         != -1);
  46050.           
  46051.           Query.Next();
  46052.           };
  46053.           
  46054.        Query.Close();
  46055.        };
  46056.  
  46057.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  46058.     };
  46059.  
  46060. //--- Process reversed database structure ---------------------------------------------------------
  46061. Schema.Run();    
  46062. };
  46063.  
  46064. //===========================================================================================
  46065.  
  46066. function Disconnect()
  46067. {
  46068. Database.Disconnect();
  46069. };
  46070.  
  46071. //===========================================================================================
  46072. ]]></VALUE>
  46073. <LANGUAGE>1</LANGUAGE>
  46074. <LANGUAGEWIN>---</LANGUAGEWIN>
  46075. <CATEGORY>6</CATEGORY>
  46076. <MAINSCRIPT>0</MAINSCRIPT>
  46077. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  46078. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  46079. <AUTHOR></AUTHOR>
  46080. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  46081. <VERSION>1.0</VERSION>
  46082. <CREATED><DATE>4/26/2002</DATE><TIME>14:37:24</TIME></CREATED>
  46083. <MODIFIED><DATE>8/8/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  46084. </TEMPLATE>
  46085. <TEMPLATE>
  46086. <NAME>mySQL_4</NAME>
  46087. <ID>45</ID>
  46088. <GUID>{BDE12844-A2BB-4056-B1A3-DF5169C24C5E}</GUID>
  46089. <CAPTION>mySQL 4</CAPTION>
  46090. <PACKAGEGUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</PACKAGEGUID>
  46091. <ENABLED>1</ENABLED>
  46092. <LEVEL>0</LEVEL>
  46093. <IDPARENT>0</IDPARENT>
  46094. <VALUE><![CDATA[function Connect()
  46095. {
  46096. Translator.DefaultLng = 'csy';
  46097. ReadVocabulary();
  46098. Scripting.mySQL_4_main.Connect();
  46099. };
  46100.  
  46101. //======================================================================
  46102.  
  46103. function Main()
  46104. {
  46105. Scripting.mySQL_4_main.Main();
  46106. };
  46107.  
  46108. //======================================================================
  46109.  
  46110. function Disconnect()
  46111. {
  46112. Scripting.mySQL_4_main.Disconnect();
  46113. };
  46114.  
  46115. //======================================================================
  46116.  
  46117. function DefineVariables()
  46118. {
  46119. Schema.DatabaseId = 240;
  46120.  
  46121. Variables.DefineVariable( 'lCommentInnoDB', 'NaΦφst systΘmov² komentß° InnoDB tabulek', 1 );
  46122. Variables.lCommentInnoDB = false;
  46123. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                         1 );
  46124. Variables.lIndexes        = true;
  46125. Variables.DefineVariable( 'lAlterKeys',    'NaΦφst unique indexy jako alternativnφ klφΦe', 1 );
  46126. Variables.lAlterKeys        = true;
  46127. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',    1 );
  46128. Variables.lRefInt            = true;
  46129. Variables.DefineVariable( 'lUsers',            'NaΦφst u₧ivatele',                    1 );
  46130. Variables.lUsers            = true;
  46131. Variables.DefineVariable( 'lPermissions',    'NaΦφst prßva',                        1 );
  46132. Variables.lPermissions    = true;
  46133. };
  46134.  
  46135. //======================================================================
  46136.  
  46137. function ReadVocabulary()
  46138. {
  46139. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  46140. };
  46141. ]]></VALUE>
  46142. <LANGUAGE>1</LANGUAGE>
  46143. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  46144. <CATEGORY>6</CATEGORY>
  46145. <MAINSCRIPT>1</MAINSCRIPT>
  46146. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  46147. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  46148. <AUTHOR></AUTHOR>
  46149. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  46150. <VERSION>1.0</VERSION>
  46151. <CREATED><DATE>4/26/2002</DATE><TIME>14:37:39</TIME></CREATED>
  46152. <MODIFIED><DATE>7/26/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  46153. </TEMPLATE>
  46154. <TEMPLATE>
  46155. <NAME>Oracle_main</NAME>
  46156. <ID>46</ID>
  46157. <GUID>{97AD4959-337B-4605-98F3-64E30C0FBA96}</GUID>
  46158. <CAPTION>Oracle_main</CAPTION>
  46159. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  46160. <ENABLED>1</ENABLED>
  46161. <LEVEL>0</LEVEL>
  46162. <IDPARENT>0</IDPARENT>
  46163. <VALUE><![CDATA[function Connect()
  46164. {
  46165. var Query;
  46166. var lBufferPoolExists = false;
  46167. var lStorage          = Variables.lTableStorage;
  46168. var lAllObjects    = Variables.lAllObjects;
  46169. var cStorage        = '';
  46170. var cDataDict        = '';
  46171. var cOwner            = '';
  46172.  
  46173. if (Variables.lAllObjects)
  46174.     cDataDict = 'ALL'
  46175. else
  46176.     cDataDict = 'USER';    
  46177.  
  46178. Scripting.RE_Dictionary.ReadVocabulary();
  46179. Schema.ClearTables();
  46180. Schema.CaseSensitive = true;
  46181.  
  46182. if ( Database.Connect() )
  46183.     {
  46184.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  46185.  
  46186.     Query = Database.DefineQuery();
  46187.  
  46188.     // Get the current user
  46189.     if (! lAllObjects)
  46190.         {
  46191.         Query.SQL = 'SELECT USER FROM DUAL';        
  46192.         if ( Query.Open() )
  46193.             {
  46194.             cUser = Query.GetFieldValue( 'USER' );
  46195.             Query.Close();
  46196.             };
  46197.         };    
  46198.  
  46199.     // Check if the column BUFFER_POOL exists
  46200.     if ( lStorage )
  46201.         {
  46202.         Query.SQL = 'SELECT COUNT(*) '
  46203.                      +    'FROM ALL_TAB_COLUMNS '
  46204.                      + 'WHERE TABLE_NAME=\'ALL_TABLES\' AND '
  46205.                      +         'COLUMN_NAME=\'BUFFER_POOL\'';
  46206.         
  46207.         if ( Query.Open() )
  46208.             {
  46209.             lBufferPoolExists = (Query.GetFieldValue( 'COUNT(*)'    ) == 1);
  46210.             Query.Close();
  46211.             }
  46212.         };
  46213.         
  46214.     // Build query
  46215.     Query.SQL = 'SELECT TABLE_NAME, TABLESPACE_NAME';
  46216.     if ( lAllObjects )
  46217.         Query.SQL += ',OWNER'
  46218.     else
  46219.         Query.SQL += ',\''+cUser+'\' AS OWNER';    
  46220.  
  46221.  
  46222.     // Add storage informations into query
  46223.     if ( lStorage )        
  46224.         {
  46225.         Query.SQL +=', PCT_FREE, PCT_USED, INI_TRANS, MAX_TRANS, '
  46226.                     + 'INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, '
  46227.                     + 'PCT_INCREASE, FREELISTS, FREELIST_GROUPS';
  46228.         if (lBufferPoolExists)            
  46229.           Query.SQL += ',BUFFER_POOL';
  46230.         }
  46231.  
  46232.     Query.SQL +=' FROM '+cDataDict+'_TABLES';
  46233.     
  46234.     // Don't reverse any system objects
  46235.     if ( lAllObjects )
  46236.         {
  46237.         Query.SQL +=' WHERE (OWNER <> \'SYS\' ) AND '
  46238.                      +             '(OWNER <> \'SYSTEM\' ) AND '
  46239.                      +             '(OWNER <> \'CTXSYS\' ) AND '
  46240.                      +             '(OWNER <> \'MDSYS\' ) AND '
  46241.                       +             '(OWNER <> \'ORDPLUGINS\' ) AND '
  46242.                      +             '(OWNER <> \'ORDSYS\' ) AND '
  46243.                      +             '(OWNER <> \'OUTLN\' ) AND '
  46244.                       +             '(OWNER <> \'AURORA$JIS$UTILITY$\' ) AND '
  46245.                       +             '(OWNER <> \'OSE$HTTP$ADMIN\' ) AND '
  46246.                       +             '(OWNER <> \'MTSSYS\' )';
  46247.          };
  46248.  
  46249.     // Sorted list of tables
  46250.     Query.SQL += ' ORDER BY ';
  46251.     if ( lAllObjects )
  46252.         Query.SQL += 'OWNER,';
  46253.     Query.SQL += 'TABLE_NAME';
  46254.  
  46255.     if ( Query.Open() )
  46256.         {
  46257.         while (! Query.Eof)
  46258.             {
  46259.            t = Schema.AddTable();
  46260.             t.TableSchema     = Query.GetFieldValue( 'OWNER'         );
  46261.             t.TableName     = Query.GetFieldValue( 'TABLE_NAME' );
  46262.             t.Id                = t.TableSchema+'.'+t.TableName;
  46263.            t.Selected      = true;
  46264.  
  46265.             if (lStorage)
  46266.                 {
  46267.                 cStorage  = 'PCTFREE '+Query.GetFieldValue( 'PCT_FREE' )+'\r\n';        
  46268.                 cStorage += 'PCTUSED '+Query.GetFieldValue( 'PCT_USED' )+'\r\n';
  46269.                 cStorage += 'INITRANS '+Query.GetFieldValue( 'INI_TRANS' )+'\r\n';
  46270.                 cStorage += 'MAXTRANS '+Query.GetFieldValue( 'MAX_TRANS' )+'\r\n';
  46271.                 cStorage += 'STORAGE(INITIAL '+(Query.GetFieldValue( 'INITIAL_EXTENT' )/1024).toString() +' K\r\n';
  46272.                 cStorage += '\tNEXT '+(Query.GetFieldValue( 'NEXT_EXTENT' )/1024).toString() +' K\r\n';
  46273.                 cStorage += '\tMINEXTENTS '+Query.GetFieldValue( 'MIN_EXTENTS' ) +'\r\n';
  46274.                 cStorage += '\tMAXEXTENTS '+Query.GetFieldValue( 'MAX_EXTENTS' ) +'\r\n';
  46275.                 if (Query.GetFieldValue( 'PCT_INCREASE' ) != null)
  46276.                     cStorage += '\tPCTINCREASE '+Query.GetFieldValue( 'PCT_INCREASE' ) +'\r\n';
  46277.                 cStorage += '\tFREELISTS '+Query.GetFieldValue( 'FREELISTS' ) +'\r\n';
  46278.                 cStorage += '\tFREELIST GROUPS '+Query.GetFieldValue( 'FREELIST_GROUPS' ) +'\r\n';
  46279.                 if (lBufferPoolExists)
  46280.                     cStorage += '\tBUFFER_POOL '+Query.GetFieldValue( 'BUFFER_POOL' ) +'\r\n';
  46281.                 t.Storage = cStorage+'\t)';
  46282.                 }
  46283.             if (Variables.lTableSpace)
  46284.                 if (Query.GetFieldValue('TABLESPACE_NAME')!=null)
  46285.                     t.SetUserVariable('TableTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  46286.                     
  46287.             Query.Next();
  46288.             }
  46289.         Query.Close();
  46290.         }
  46291.     else
  46292.         Database.Disconnect();
  46293.     
  46294.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46295.     };
  46296. };
  46297.  
  46298. //===========================================================================================
  46299.  
  46300. function Main()
  46301. {
  46302. var Query             = Database.DefineQuery();
  46303. var Query2            = Database.DefineQuery();
  46304. var lAllObjects    = Variables.lAllObjects;
  46305. var lNotAllObjTyp = Variables.lNotAllObjTyp;
  46306. var cTerminator    = Variables.cTerminator;
  46307. var cDataDict        = '';
  46308. var cUser            = '';
  46309. var s,t;
  46310.  
  46311. aOwners = new Array();
  46312.  
  46313. for (t=0; t<Schema.CountTables; t++)
  46314.     aOwners[ Schema.Tables(t).TableSchema ] = Schema.Tables(t).TableSchema;
  46315.  
  46316. Schema.Clear();
  46317.  
  46318. Schema.BeforeScript = '';
  46319.  
  46320. if (lAllObjects)
  46321.     cDataDict = 'ALL'
  46322. else
  46323.     cDataDict = 'USER';
  46324.     
  46325. //--- Get the current user ------------------------------------------------------------------
  46326. if (! lAllObjects)
  46327.     {
  46328.     Query.SQL = 'SELECT USER FROM DUAL';        
  46329.     if ( Query.Open() )
  46330.         {
  46331.         cUser = Query.GetFieldValue( 'USER' );
  46332.         Query.Close();
  46333.         };
  46334.     };    
  46335.  
  46336. //--- Load Table Comments -------------------------------------------------------------------
  46337. Log.Writeln(  Translator.Translate( 'RE_T_COMMENTS',0 ) );
  46338.  
  46339. Query.SQL = 'SELECT TABLE_NAME,COMMENTS'
  46340.  
  46341. if ( lAllObjects )
  46342.     Query.SQL += ',OWNER'
  46343. else    
  46344.     Query.SQL += ',\''+cUser+'\' AS OWNER'
  46345.  
  46346. Query.SQL += ' FROM '+cDataDict+'_TAB_COMMENTS ';
  46347.  
  46348. if ( lAllObjects )
  46349.     Query.SQL += ' WHERE '+GetWhereCondition( 'OWNER' );
  46350.  
  46351. if ( Query.Open() )
  46352.     {
  46353.     while (! Query.Eof)
  46354.         {
  46355.         s = Schema.GetTable( Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46356.         if (s != null)
  46357.             s.Description = Query.GetFieldValue( 'COMMENTS' )
  46358.  
  46359.         Query.Next();
  46360.         }
  46361.     Query.Close();
  46362.     };
  46363. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46364.  
  46365. //--- Load All Object Types -----------------------------------------------------------------
  46366. if ( ! lNotAllObjTyp )
  46367. {
  46368.     Log.Writeln(  Translator.Translate( 'RE_UDFS',0 ) );
  46369.     
  46370.     Query.SQL = 'select DISTINCT NAME, TYPE ';
  46371.     if ( lAllObjects )
  46372.         Query.SQL += ',OWNER '
  46373.     else
  46374.         Query.SQL += ',\''+cUser+'\' AS OWNER ';
  46375.     Query.SQL += 'FROM '+cDataDict+'_SOURCE ' + 'WHERE ';
  46376.     if ( lAllObjects )
  46377.         Query.SQL += GetWhereCondition( 'OWNER' )+' AND ';
  46378.     Query.SQL += '(TYPE=\'TYPE\' OR TYPE=\'TYPE BODY\') '
  46379.     Query.SQL += 'ORDER BY TYPE,OWNER';
  46380.  
  46381.     if ( Query.Open() )
  46382.     {
  46383.         while (!Query.Eof)
  46384.         {
  46385.            s = Schema.AddDictType();
  46386.              s.DictTypeName    = Query.GetFieldValue( 'NAME' );
  46387.             s.DataType         = 400;
  46388.             s.UserDataType = Query.GetFieldValue( 'NAME' );
  46389.             s.ID = Query.GetFieldValue( 'NAME' );
  46390.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  46391.             s2 = Schema.AddTextObject();
  46392.             if (Query.GetFieldValue('TYPE') == 'TYPE')
  46393.                 s2.TextObjectType = 30; //USER TYPES
  46394.             else
  46395.                 s2.TextObjectType = 31; //USER TYPE BODIES
  46396.             s2.TextObjectName = Query.GetFieldValue( 'NAME' );
  46397.             text = AddQuotInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('NAME'));
  46398.             s2.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  46399.  
  46400.             Query.Next();
  46401.         }
  46402.         Query.Close();
  46403.     }
  46404.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46405. }
  46406.  
  46407. //--- Load Columns --------------------------------------------------------------------------
  46408. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  46409.  
  46410. Query.SQL = 'SELECT CO.TABLE_NAME,CO.COLUMN_NAME,CO.COLUMN_ID,CO.DATA_TYPE,'
  46411.              + 'CO.DATA_LENGTH,CO.DATA_PRECISION,CO.DATA_SCALE,CO.NULLABLE,CO.DATA_DEFAULT,CC.COMMENTS'
  46412.  
  46413. if ( lAllObjects )
  46414.     Query.SQL += ',CO.OWNER'
  46415. else
  46416.     Query.SQL += ',\''+cUser+'\' AS OWNER';
  46417.  
  46418. Query.SQL += ' FROM '+cDataDict+'_TAB_COLUMNS CO,'+cDataDict+'_COL_COMMENTS CC '
  46419.              +  ' WHERE ';
  46420.  
  46421. if ( lAllObjects )
  46422.     Query.SQL += GetWhereCondition( 'CO.OWNER' )+' AND ';
  46423.  
  46424. Query.SQL += '(CO.TABLE_NAME=CC.TABLE_NAME AND CO.COLUMN_NAME=CC.COLUMN_NAME';
  46425.  
  46426. if ( lAllObjects )
  46427.     Query.SQL += ' AND CO.OWNER=CC.OWNER';
  46428.     
  46429. Query.SQL += ')';    
  46430.  
  46431. if ( Query.Open() )
  46432.     {
  46433.     while (! Query.Eof)
  46434.         {
  46435.        s = Schema.AddColumn();
  46436.        s.Ordinal        = Math.ceil( Query.GetFieldValue( 'COLUMN_ID'    ) );
  46437.         s.TableSchema     = Query.GetFieldValue( 'OWNER'         );
  46438.         s.TableName     = Query.GetFieldValue( 'TABLE_NAME'     );
  46439.         s.ColumnName   = Query.GetFieldValue( 'COLUMN_NAME' );
  46440.         s.ID                = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  46441.  
  46442.         cDataType = Query.GetFieldValue( 'DATA_TYPE' );
  46443.  
  46444.         if (cDataType == 'NUMBER')
  46445.             {
  46446.             if (Query.GetFieldValue( 'DATA_PRECISION'    ) != null)
  46447.                 {
  46448.                 s.DataType  = Schema.GetDataTypeIdByName( 'NUMBER(X.Y)' );        
  46449.                 s.Length        = Math.ceil( Query.GetFieldValue( 'DATA_PRECISION'    ) );
  46450.                 }
  46451.             else if ( Query.GetFieldValue( 'DATA_SCALE'    ) != null)
  46452.                 s.DataType    = Schema.GetDataTypeIdByName( 'INTEGER' )
  46453.                 else
  46454.                     {
  46455.                     s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  46456.                     };
  46457.             }
  46458.         else
  46459.             {
  46460.             s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  46461.             s.Length        = Math.ceil( Query.GetFieldValue( 'DATA_LENGTH'    ) );
  46462.             };
  46463.             
  46464.         s.Decimal        = Math.ceil( Query.GetFieldValue( 'DATA_SCALE'    ) );
  46465.         s.Default        = Query.GetFieldValue( 'DATA_DEFAULT' );
  46466.         s.Nullable        = Query.GetFieldValue( 'NULLABLE' ) == 'Y';
  46467.         s.Description  = Query.GetFieldValue( 'COMMENTS' );
  46468.  
  46469.         if (s.DataType == -1)
  46470.             {
  46471.             Query2.SQL = 'select DISTINCT NAME, TYPE ';
  46472.             if ( lAllObjects )
  46473.                 Query2.SQL += ',OWNER '
  46474.             else
  46475.                 Query2.SQL += ',\''+cUser+'\' AS OWNER ';
  46476.             Query2.SQL += 'FROM '+cDataDict+'_SOURCE ' + 'WHERE ';
  46477.             Query2.SQL += '((TYPE=\'TYPE\' OR TYPE=\'TYPE BODY\') AND NAME=\''+cDataType+'\') '
  46478.             Query2.SQL += 'ORDER BY TYPE,OWNER';
  46479.             if ( Query2.Open() )
  46480.                 {
  46481.                 if (!Query2.Eof)
  46482.                     {
  46483.                     cDT_comp = Schema.GetDictType(cDataType);
  46484.                     if (cDT_comp == null)
  46485.                         {
  46486.                        t1 = Schema.AddDictType();
  46487.                          t1.DictTypeName    = Query2.GetFieldValue( 'NAME' );
  46488.                         t1.DataType         = 400;
  46489.                         t1.UserDataType = Query2.GetFieldValue( 'NAME' );
  46490.                         t1.ID = Query2.GetFieldValue( 'NAME' );
  46491.  
  46492.                         text = text255(Query2.GetFieldValue('OWNER'),Query2.GetFieldValue('NAME'),Query2.GetFieldValue('TYPE'));
  46493.                         t2 = Schema.AddTextObject();
  46494.                         if (Query2.GetFieldValue('TYPE') == 'TYPE')
  46495.                             t2.TextObjectType = 30; //USER TYPES
  46496.                         else
  46497.                             t2.TextObjectType = 31; //USER TYPE BODIES
  46498.                         t2.TextObjectName = Query2.GetFieldValue( 'NAME' );
  46499.                         text = AddQuotInText(text,Query2.GetFieldValue('TYPE'),Query2.GetFieldValue('NAME'));
  46500.                         t2.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  46501.                         }
  46502.                     s.DataType = 0;
  46503.                     s.DictTypeName    = cDataType;
  46504.                     }
  46505.                 else
  46506.                     {
  46507.                     cDT_comp = Schema.GetDictType(cDataType);
  46508.                     if (cDT_comp == null)
  46509.                         {
  46510.                        t1 = Schema.AddDictType();
  46511.                          t1.DictTypeName    = cDataType;
  46512.                         t1.DataType         = 400;
  46513.                         t1.UserDataType = cDataType;
  46514.                         t1.ID = cDataType;
  46515.                         }
  46516.                     s.DataType = 0;
  46517.                     s.DictTypeName    = cDataType;
  46518. //    Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),Query.GetFieldValue( 'DATA_TYPE' ),s.ColumnName) );
  46519.                     }
  46520.  
  46521.                 Query2.Close();
  46522.                 }
  46523.             }
  46524.  
  46525.         Query.Next();
  46526.         }
  46527.     Query.Close();
  46528.     }
  46529. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46530.  
  46531. //--- Load Primary Keys ------------------------------------------------------------------
  46532. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  46533.  
  46534. Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  46535.               +          'CC.COLUMN_NAME,CC.POSITION,'
  46536.               +          'IX.INDEX_NAME,IX.TABLESPACE_NAME, CO.DEFERRABLE, CO.DEFERRED '
  46537.               + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC,'
  46538.               + cDataDict+'_INDEXES IX '
  46539.               + 'WHERE CO.CONSTRAINT_TYPE=\'P\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME) '
  46540.               + 'AND IX.INDEX_NAME(+)=CO.CONSTRAINT_NAME';
  46541.  
  46542. if ( lAllObjects )
  46543.     Query.SQL += ' AND '+GetWhereCondition( 'CO.OWNER' );
  46544.  
  46545. if ( Query.Open() )
  46546.     {
  46547.     while (! Query.Eof)
  46548.         {
  46549.         s = Schema.AddPrimaryKey();
  46550.                            
  46551.         s.PkName            = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  46552.         s.TableSchema     = Query.GetFieldValue( 'OWNER'                );
  46553.         s.TableName        = Query.GetFieldValue( 'TABLE_NAME'            );
  46554.         s.ColumnName    = Query.GetFieldValue( 'COLUMN_NAME'        );
  46555.         s.Ordinal        = Math.ceil( Query.GetFieldValue( 'POSITION'    ) );
  46556.  
  46557.         tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46558.         if (Variables.lTableSpace)
  46559.             if (Query.GetFieldValue('TABLESPACE_NAME') != null)
  46560.                 tsel.SetUserVariable('PkTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  46561.         tsel.SetUserVariable('lPkDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  46562.         tsel.SetUserVariable('lPkDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  46563.         
  46564.         Query.Next();
  46565.         };
  46566.     Query.Close();
  46567.     };
  46568. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46569.  
  46570. //--- Load Unique Constraints -----------------------------------------------------------------
  46571. if ( Variables.lUniCon )
  46572.     {
  46573.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  46574.  
  46575.     Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  46576.                   +          'CC.COLUMN_NAME,CC.POSITION,'
  46577.                   +          'IX.INDEX_NAME,IX.TABLESPACE_NAME, CO.DEFERRABLE, CO.DEFERRED '
  46578.                   + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC,'
  46579.                   + cDataDict+'_INDEXES IX '
  46580.                   + 'WHERE CO.CONSTRAINT_TYPE=\'U\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME) '
  46581.                   + 'AND IX.INDEX_NAME(+)=CO.CONSTRAINT_NAME';
  46582.  
  46583.     if ( lAllObjects )
  46584.         Query.SQL += ' AND '+GetWhereCondition( 'CO.OWNER' );
  46585.  
  46586.     if ( Query.Open() )
  46587.         {
  46588.         while (! Query.Eof)
  46589.             {
  46590.            s = Schema.AddUniqueConstraint();
  46591.  
  46592.            s.ConstraintName    = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  46593.            s.TableSchema         = Query.GetFieldValue( 'OWNER'                );
  46594.            s.TableName            = Query.GetFieldValue( 'TABLE_NAME'            );
  46595.            s.ColumnName        = Query.GetFieldValue( 'COLUMN_NAME'        );
  46596.             s.Ordinal            = Math.ceil( Query.GetFieldValue( 'POSITION'    ) );
  46597.  
  46598.             tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46599.             if (Variables.lTableSpace)
  46600.                 if (Query.GetFieldValue('TABLESPACE_NAME') != null)
  46601.                     s.SetUserVariable('UniqueAkTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  46602.             s.SetUserVariable('lUniqueAkDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  46603.             s.SetUserVariable('lUniqueAkDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  46604.             
  46605.             Query.Next();
  46606.             };
  46607.         Query.Close();
  46608.         };
  46609.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46610.     };    
  46611.  
  46612. //--- Load Check Constraints -----------------------------------------------------------------
  46613. if ( Variables.lCheckCon )
  46614.     {
  46615.     var CheckList = new ActiveXObject("Scripting.Dictionary");
  46616.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  46617.  
  46618.     Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  46619.                   +          'CC.COLUMN_NAME,CC.POSITION,'
  46620.                   +          'CO.DEFERRABLE, CO.DEFERRED,'
  46621.                   +          '(SELECT COUNT(*) FROM '+cDataDict+'_CONS_COLUMNS CC2 WHERE CO.OWNER=CC2.OWNER AND CO.TABLE_NAME=CC2.TABLE_NAME AND CO.CONSTRAINT_NAME=CC2.CONSTRAINT_NAME) AS COLCOUNT,CO.SEARCH_CONDITION '
  46622.                   + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC '
  46623.                   + 'WHERE CO.CONSTRAINT_TYPE=\'C\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME)';
  46624.     if ( lAllObjects )
  46625.         Query.SQL += ' AND '+GetWhereCondition( 'CO.OWNER' );
  46626.     Query.SQL += ' ORDER BY CO.OWNER,CO.TABLE_NAME,CC.COLUMN_NAME';
  46627.  
  46628.     ch_old = '';
  46629.     if ( Query.Open() )
  46630.         {
  46631.         while (! Query.Eof)
  46632.             {
  46633.             tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46634.             if ( Query.GetFieldValue( 'COLCOUNT' )==1 )
  46635.                 {
  46636.                 cConstraint = Query.GetFieldValue( 'SEARCH_CONDITION'    );
  46637.                 cColumnName = Query.GetFieldValue( 'COLUMN_NAME'        );
  46638.  
  46639.                 // Don't reverse NOT NULL check constraints
  46640.                 if ((cConstraint != '"'+cColumnName+'" IS NOT NULL') &&
  46641.                     (cConstraint != cColumnName+' IS NOT NULL'))
  46642.                     {
  46643.                     ch = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  46644.                     if (ch != ch_old)
  46645.                         {
  46646.                        s = Schema.AddColumnCheckConstraint();           
  46647.                        s.ConstraintName     = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  46648.                        s.TableSchema         = Query.GetFieldValue( 'OWNER'                );
  46649.                           s.TableName            = Query.GetFieldValue( 'TABLE_NAME'            );
  46650.                        s.ColumnName        = cColumnName;
  46651.                           s.Text                = cConstraint;
  46652.  
  46653.                         scol = Schema.GetColumn(s.TableSchema+'.'+s.TableName+'.'+cColumnName);
  46654.                         if (scol != null)
  46655.                             {
  46656.                             scol.SetUserVariable('lCheckDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  46657.                             scol.SetUserVariable('lCheckDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  46658.                             }
  46659.  
  46660.                           ch_old = ch;
  46661.                           }
  46662.                           else
  46663.                           {
  46664.                         cId = Query.GetFieldValue( 'CONSTRAINT_NAME' )+'.'+Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' );
  46665.                          if ( ! CheckList.Exists( cId ) )
  46666.                             {
  46667.                             CheckList.Add( cId, cId );
  46668.                              other = 'ALTER TABLE '+'"'+Query.GetFieldValue('OWNER')+'"'+'.'+'"'+Query.GetFieldValue('TABLE_NAME')+'"'+ ' ADD ';
  46669.                             other += 'CONSTRAINT '+'"'+Query.GetFieldValue('CONSTRAINT_NAME')+'" ';
  46670.                              other += 'CHECK ('+Query.GetFieldValue('SEARCH_CONDITION')+') ';
  46671.                              if (Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE')
  46672.                                      other += 'DEFERRABLE ';
  46673.                              if (Query.GetFieldValue('DEFERRED')=='DEFERRED')
  46674.                                 other += 'INITIALLY DEFERRED ';
  46675.                              other += '\n'+cTerminator+'\n';
  46676.                              tsel.Others = tsel.Others + other;
  46677.                              }
  46678.                           }
  46679.                       }
  46680.                       else
  46681.                       {
  46682.                     scol = Schema.GetColumn(Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+cColumnName);
  46683.                     if (scol != null)
  46684.                         {
  46685.                         scol.SetUserVariable('ConstraintNotNullName',Query.GetFieldValue('CONSTRAINT_NAME'));
  46686.                         scol.SetUserVariable('lNotNullDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  46687.                         scol.SetUserVariable('lNotNullDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  46688.                         }
  46689.                       }
  46690.                }
  46691.             else
  46692.                 {
  46693.                 cId = Query.GetFieldValue( 'CONSTRAINT_NAME' )+'.'+Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' );
  46694.                  if ( ! CheckList.Exists( cId ) )
  46695.                     {
  46696.                     CheckList.Add( cId, cId );
  46697.                      other = 'ALTER TABLE '+'"'+Query.GetFieldValue('OWNER')+'"'+'.'+'"'+Query.GetFieldValue('TABLE_NAME')+'"'+ ' ADD ';
  46698.                     other += 'CONSTRAINT '+'"'+Query.GetFieldValue('CONSTRAINT_NAME')+'" ';
  46699.                      other += 'CHECK ('+Query.GetFieldValue('SEARCH_CONDITION')+') ';
  46700.                      if (Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE')
  46701.                          other += 'DEFERRABLE ';
  46702.                      if (Query.GetFieldValue('DEFERRED')=='DEFERRED')
  46703.                          other += 'INITIALLY DEFERRED ';
  46704.                      other += '\n'+cTerminator+'\n';
  46705.                      tsel.Others = tsel.Others + other;
  46706.                       };
  46707.                   };
  46708.             Query.Next();
  46709.             
  46710.             };
  46711.         Query.Close();
  46712.         };
  46713.         
  46714.     CheckList.RemoveAll();
  46715.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46716.     };
  46717.     
  46718. //--- Load References ----------------------------------------------------------------------
  46719. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  46720.  
  46721. Query.SQL = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,'
  46722.              +          'CO.R_CONSTRAINT_NAME,CO.R_OWNER,CO.DELETE_RULE,'
  46723.              +             'CR.TABLE_NAME AS R_TABLE_NAME,CR.COLUMN_NAME AS R_COLUMN_NAME,CR.POSITION AS R_POSITION,'
  46724.              +             'CC.TABLE_NAME,CC.COLUMN_NAME,CC.POSITION,'
  46725.              +             'CO.DEFERRABLE, CO.DEFERRED '
  46726.              + 'FROM ALL_CONSTRAINTS CO,'
  46727.              +          'ALL_CONS_COLUMNS CR,'
  46728.              +          'ALL_CONS_COLUMNS CC '        
  46729.             + 'WHERE CO.CONSTRAINT_TYPE=\'R\' AND '
  46730.             +            'CO.R_OWNER = CR.OWNER AND '
  46731.             +            'CO.R_CONSTRAINT_NAME = CR.CONSTRAINT_NAME AND '
  46732.             +            'CO.OWNER = CC.OWNER AND '
  46733.             +            'CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME';
  46734.  
  46735. if ( lAllObjects )
  46736.     Query.SQL += ' AND '+GetWhereCondition( 'CO.R_OWNER' )
  46737. else    
  46738.     Query.SQL += ' AND CO.R_OWNER = \''+cUser+'\'';
  46739.  
  46740. if ( Query.Open() )
  46741.     {
  46742.     while (! Query.Eof)
  46743.         {
  46744.         if (Query.GetFieldValue( 'POSITION' ) == Query.GetFieldValue( 'R_POSITION' ))
  46745.             {
  46746.             s = Schema.AddForeignKey();
  46747.  
  46748.             s.PkTableSchema= Query.GetFieldValue( 'R_OWNER'                );
  46749.             s.PkTableName    = Query.GetFieldValue( 'R_TABLE_NAME'        );
  46750.             s.PkName            = Query.GetFieldValue( 'R_CONSTRAINT_NAME');
  46751.             s.PkColumnName    = Query.GetFieldValue( 'R_COLUMN_NAME'        );
  46752.  
  46753.             s.FkTableSchema= Query.GetFieldValue( 'OWNER'                );
  46754.             s.FkTableName    = Query.GetFieldValue( 'TABLE_NAME'            );
  46755.             s.FkName            = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  46756.             s.FkColumnName    = Query.GetFieldValue( 'COLUMN_NAME'        );
  46757.     
  46758.             s.Ordinal        = Math.ceil(Query.GetFieldValue( 'POSITION' ));
  46759.         
  46760.             s.UpdateRule    = 'restrict';
  46761.             switch ( Query.GetFieldValue( 'DELETE_RULE' ) )
  46762.                 {
  46763.                 case 'CASCADE'        : s.DeleteRule = 'cascade';    break; 
  46764.                 case 'NO ACTION'    : s.DeleteRule = 'restrict';    break;
  46765.                 };
  46766.  
  46767.             s.SetUserVariable('lRefIntDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  46768.             s.SetUserVariable('lRefIntDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  46769.             };    
  46770.         Query.Next();
  46771.         };
  46772.     Query.Close();
  46773.     };
  46774. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46775.  
  46776. //--- Load Indexes -------------------------------------------------------------------------
  46777. if ( Variables.lIndexes )
  46778.     {
  46779.     var IndexList = DefineInterfaceList();
  46780.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  46781.  
  46782.     Query.SQL = 'SELECT IX.TABLE_OWNER,IX.TABLE_NAME,IX.INDEX_NAME,IX.UNIQUENESS,'
  46783.                  +          'IX.INDEX_TYPE,IE.COLUMN_EXPRESSION,'
  46784.                  +             'IC.COLUMN_NAME,IC.DESCEND,IC.COLUMN_POSITION,IX.TABLESPACE_NAME';
  46785.  
  46786.     if ( lAllObjects )
  46787.         Query.SQL += ',IX.OWNER'
  46788.     else
  46789.         Query.SQL += ',\''+cUser+'\' AS OWNER';
  46790.  
  46791.     // Add storage informations into query
  46792.     if ( Variables.lIndexStorage )        
  46793.         {
  46794.         Query.SQL +=', IX.PCT_FREE, IX.INI_TRANS, IX.MAX_TRANS, '
  46795.                     + 'IX.INITIAL_EXTENT, IX.NEXT_EXTENT, IX.MIN_EXTENTS, IX.MAX_EXTENTS, '
  46796.                     + 'IX.PCT_INCREASE, IX.FREELISTS, IX.FREELIST_GROUPS';
  46797.         }
  46798.  
  46799.     Query.SQL += ' FROM '+cDataDict+'_INDEXES IX,'+cDataDict+'_IND_COLUMNS IC,'+cDataDict+'_IND_EXPRESSIONS IE'
  46800.                  +  ' WHERE ';
  46801.  
  46802.     if ( lAllObjects )
  46803.         Query.SQL += GetWhereCondition( 'IX.TABLE_OWNER' )+' AND ';
  46804.  
  46805.     Query.SQL += '(IX.INDEX_NAME NOT IN (SELECT CONSTRAINT_NAME FROM ALL_CONSTRAINTS WHERE '+GetWhereCondition('OWNER')+')) AND '
  46806.                +  '(IX.INDEX_NAME = IC.INDEX_NAME) AND (IC.INDEX_NAME = IE.INDEX_NAME(+)) AND '
  46807.                  +     '(IC.COLUMN_POSITION  = IE.COLUMN_POSITION(+))';
  46808.  
  46809.     if ( lAllObjects )
  46810.        Query.SQL += ' AND (IX.OWNER = IC.INDEX_OWNER)';
  46811.  
  46812.     Query.SQL += ' ORDER BY ';
  46813.     if ( lAllObjects )
  46814.         Query.SQL += 'IX.OWNER,';
  46815.     Query.SQL += 'IX.TABLE_NAME,IX.INDEX_NAME,IC.COLUMN_POSITION';
  46816.     
  46817.     if ( Query.Open() )
  46818.         {
  46819.         Expression = '';
  46820.         cStorage = '';
  46821.         flag = 0;
  46822.         if (!Query.Eof)
  46823.             {
  46824.             tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46825.             index_name_old = Query.GetFieldValue( 'OWNER')+"."+Query.GetFieldValue( 'TABLE_NAME'    )+"."+Query.GetFieldValue( 'INDEX_NAME' );
  46826.             }
  46827.         while (! Query.Eof)
  46828.             {
  46829.             tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  46830.             index_name = Query.GetFieldValue( 'OWNER')+"."+Query.GetFieldValue( 'TABLE_NAME'    )+"."+Query.GetFieldValue( 'INDEX_NAME' );
  46831.  
  46832.             if (index_name != index_name_old)
  46833.                 {
  46834.                s = Schema.AddIndex();
  46835.  
  46836.                s.TableSchema             = t_schema;
  46837.                s.TableName                = t_name;
  46838.                 s.IndexName           = i_name;
  46839.                 s.Unique                    = (uniqueness == 'UNIQUE');
  46840.  
  46841.                 s.ColumnName            = c_name;
  46842.                 s.DescendingColumn    = descend != 'ASC';        
  46843.                 s.Ordinal                = Math.ceil( ordinal );
  46844.                 s.Expression = Expression;
  46845.                 
  46846.                 if (index_type=="FUNCTION-BASED NORMAL")
  46847.                     {
  46848.                     s.ExprType = true;
  46849.                     for (i=0; i<IndexList.Count; i++)
  46850.                         {
  46851.                         IndexList.GetInterface( i ).ExprType = true;
  46852.                         IndexList.GetInterface( i ).Expression = Expression;
  46853.                         }
  46854.                     }
  46855.  
  46856.                 s.Storage = cStorage;
  46857.                 if (Variables.lTableSpace)
  46858.                     s.SetUserVariable('IndexTablespace',i_tablespace);
  46859.                                                         
  46860.                 Expression = '';
  46861.                 IndexList.Clear();
  46862.                 }
  46863.             else
  46864.                 if (flag != 0)
  46865.                 {
  46866.                s = Schema.AddIndex();
  46867.  
  46868.                s.TableSchema             = t_schema;
  46869.                s.TableName                = t_name;
  46870.                 s.IndexName           = i_name;
  46871.                 s.Unique                    = (uniqueness == 'UNIQUE');
  46872.  
  46873.                 s.ColumnName            = c_name;
  46874.                 s.DescendingColumn    = descend != 'ASC';        
  46875.                 s.Ordinal                = Math.ceil( ordinal );
  46876.  
  46877.                 s.Storage = cStorage;
  46878.                 if (Variables.lTableSpace)
  46879.                     s.SetUserVariable('IndexTablespace',i_tablespace)
  46880.                 
  46881.                 IndexList.AddInterface( index_name, s );
  46882.                 }
  46883.             flag = 1;
  46884.  
  46885.             t_schema        = Query.GetFieldValue( 'TABLE_OWNER');
  46886.            t_name        = Query.GetFieldValue( 'TABLE_NAME'    );
  46887.             i_name         = Query.GetFieldValue( 'INDEX_NAME'    );
  46888.             uniqueness    = Query.GetFieldValue( 'UNIQUENESS'    );
  46889.  
  46890.             index_type    = Query.GetFieldValue( 'INDEX_TYPE' );
  46891.  
  46892.             c_name        = Query.GetFieldValue( 'COLUMN_NAME' );
  46893.             descend        = Query.GetFieldValue( 'DESCEND' );
  46894.             ordinal        = Query.GetFieldValue( 'COLUMN_POSITION' );
  46895.             
  46896.             if (Query.GetFieldValue( 'COLUMN_EXPRESSION' )!='')
  46897.                 {
  46898.                 if (Expression.length==0)
  46899.                     Expression = Query.GetFieldValue( 'COLUMN_EXPRESSION' );
  46900.                 else
  46901.                     Expression = Expression + ',' + Query.GetFieldValue( 'COLUMN_EXPRESSION' );
  46902.                 if (Query.GetFieldValue( 'DESCEND' ) != 'ASC')
  46903.                     Expression = Expression + ' Desc';
  46904.                 }
  46905.             else
  46906.                 {
  46907.                 if (Expression.length==0)
  46908.                     Expression = '"'+Query.GetFieldValue( 'COLUMN_NAME' )+'"';
  46909.                 else
  46910.                     Expression = Expression + ',' + '"'+Query.GetFieldValue( 'COLUMN_NAME' )+'"';
  46911.                 }
  46912.  
  46913.             if (Variables.lIndexStorage)
  46914.                 {
  46915.                 cStorage  = 'PCTFREE '+Query.GetFieldValue( 'PCT_FREE' )+'\r\n';        
  46916.                 cStorage += 'INITRANS '+Query.GetFieldValue( 'INI_TRANS' )+'\r\n';
  46917.                 cStorage += 'MAXTRANS '+Query.GetFieldValue( 'MAX_TRANS' )+'\r\n';
  46918.                 cStorage += 'STORAGE(INITIAL '+(Query.GetFieldValue( 'INITIAL_EXTENT' )/1024).toString() +' K\r\n';
  46919.                 cStorage += '\tNEXT '+(Query.GetFieldValue( 'NEXT_EXTENT' )/1024).toString() +' K\r\n';
  46920.                 cStorage += '\tMINEXTENTS '+Query.GetFieldValue( 'MIN_EXTENTS' ) +'\r\n';
  46921.                 cStorage += '\tMAXEXTENTS '+Query.GetFieldValue( 'MAX_EXTENTS' ) +'\r\n';
  46922.                 if (Query.GetFieldValue( 'PCT_INCREASE' ) != null)
  46923.                     cStorage += '\tPCTINCREASE '+Query.GetFieldValue( 'PCT_INCREASE' ) +'\r\n';
  46924.                 cStorage += '\tFREELISTS '+Query.GetFieldValue( 'FREELISTS' ) +'\r\n';
  46925.                 cStorage += '\tFREELIST GROUPS '+Query.GetFieldValue( 'FREELIST_GROUPS' ) +'\r\n';
  46926.                 cStorage += '\t)';
  46927.                 };
  46928.             i_schema = Query.GetFieldValue( 'OWNER' );
  46929.             if (Query.GetFieldValue('TABLESPACE_NAME')!=null)
  46930.                 i_tablespace =    Query.GetFieldValue( 'TABLESPACE_NAME' );
  46931.             else
  46932.                 i_tablespace = '';
  46933.             
  46934.             index_name_old = index_name;
  46935.  
  46936.             Query.Next();
  46937.  
  46938.             if (Query.Eof)
  46939.                 {
  46940.                s = Schema.AddIndex();
  46941.  
  46942.                s.TableSchema             = t_schema;
  46943.                s.TableName                = t_name;
  46944.                 s.IndexName           = i_name;
  46945.                 s.Unique                    = (uniqueness == 'UNIQUE');
  46946.  
  46947.                 s.ColumnName            = c_name;
  46948.                 s.DescendingColumn    = descend != 'ASC';
  46949.                 s.Ordinal                = Math.ceil( ordinal );
  46950.                 s.Expression = Expression;
  46951.  
  46952.                 if (index_type=="FUNCTION-BASED NORMAL")
  46953.                     {
  46954.                     s.ExprType = true;
  46955.                     for (i=0; i<IndexList.Count; i++)
  46956.                         {
  46957.                         IndexList.GetInterface( i ).ExprType = true;
  46958.                         IndexList.GetInterface( i ).Expression = Expression;
  46959.                         }
  46960.                     }
  46961.  
  46962.                 s.Storage = cStorage;
  46963.                 if (Variables.lTableSpace)
  46964.                     s.SetUserVariable('IndexTablespace',i_tablespace)
  46965.  
  46966.                 IndexList.Clear();
  46967.                 }
  46968.             }
  46969.         Query.Close();
  46970.         }
  46971.  
  46972.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  46973.     };
  46974.  
  46975. //--- Load Triggers -------------------------------------------------------------------------
  46976.  
  46977. if ( Variables.lTriggers )
  46978.     {
  46979.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  46980.  
  46981.     Query.SQL = 'SELECT TRIGGER_NAME,TABLE_OWNER,TABLE_NAME,DESCRIPTION,TRIGGER_BODY '
  46982.                  + 'FROM '+cDataDict+'_TRIGGERS '
  46983.  
  46984.     if ( lAllObjects )
  46985.         Query.SQL += 'WHERE '+GetWhereCondition( 'TABLE_OWNER' );
  46986.  
  46987.     if ( Query.Open() )
  46988.         {
  46989.         while (! Query.Eof)
  46990.             {
  46991.             Body = 'Create trigger ' + Query.GetFieldValue( 'DESCRIPTION' )
  46992.                     + Query.GetFieldValue( 'TRIGGER_BODY' );
  46993.  
  46994.            s = Schema.AddTrigger();
  46995.            s.TableSchema     = Query.GetFieldValue( 'TABLE_OWNER'    );
  46996.            s.TableName        = Query.GetFieldValue( 'TABLE_NAME'        );
  46997.            s.TriggerName    = Query.GetFieldValue( 'TRIGGER_NAME'    );
  46998.            s.Text            = Body+'\r\n'+cTerminator;
  46999.   
  47000.             Query.Next();
  47001.             };
  47002.         Query.Close();
  47003.         };
  47004.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47005.     };
  47006.  
  47007. //--- Load Views -------------------------------------------------------------------------
  47008.  
  47009. if ( Variables.lViews )
  47010.     {
  47011.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  47012.     
  47013.     SubQuery = Database.DefineQuery();
  47014.     Query.SQL = 'SELECT VIEW_NAME,TEXT '
  47015.                  + 'FROM '+cDataDict+'_VIEWS ';
  47016.                  
  47017.     if ( lAllObjects )
  47018.         Query.SQL += 'WHERE '+GetWhereCondition( 'OWNER' );
  47019.  
  47020.     if ( Query.Open() )
  47021.         {
  47022.         while (! Query.Eof)
  47023.             {
  47024.             ViewName = Query.GetFieldValue( 'VIEW_NAME');
  47025.     
  47026.             SubQuery.SQL = 'SELECT COLUMN_NAME '
  47027.                              + 'FROM '+cDataDict+'_TAB_COLUMNS '
  47028.                              + 'WHERE TABLE_NAME=\''+ViewName+'\' '
  47029.                              + 'ORDER BY COLUMN_ID';
  47030.  
  47031.             if ( SubQuery.Open() )
  47032.                 {
  47033.                 ParamList = '';
  47034.                 while (! SubQuery.Eof)
  47035.                     {
  47036.                     if (ParamList != '')
  47037.                         ParamList += ','
  47038.  
  47039.                     ParamList += '"'+SubQuery.GetFieldValue( 'COLUMN_NAME' )+'"';
  47040.                     SubQuery.Next();
  47041.                     };
  47042.                     SubQuery.Close();
  47043.                     
  47044.                     ParamList = '('+ParamList+')';
  47045.                 };
  47046.  
  47047.             body    = 'Create view '+'"'+ViewName+'"'+' '+ParamList+' as\r\n'
  47048.                     + Query.GetFieldValue( 'TEXT'    );
  47049.                              
  47050.            s = Schema.AddView();
  47051.            s.ViewName    = ViewName;
  47052.            s.Text        = body+'\r\n'+cTerminator;
  47053.   
  47054.             Query.Next();
  47055.             };
  47056.         Query.Close();
  47057.         };
  47058.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47059.     };
  47060.  
  47061. //--- Load procedures and functions ----------------------------------------------------------------------
  47062. if ( Variables.lProcedures    )
  47063.     {
  47064.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  47065.  
  47066.     Query.SQL  = 'SELECT DISTINCT NAME,TYPE,'
  47067.     
  47068.     if ( lAllObjects )
  47069.         Query.SQL += 'OWNER '
  47070.     else
  47071.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  47072.     
  47073.     Query.SQL += 'FROM '+cDataDict+'_SOURCE '
  47074.                  +  'WHERE (TYPE=\'PROCEDURE\' OR TYPE=\'FUNCTION\')';
  47075.  
  47076.     if ( lAllObjects )
  47077.         Query.SQL += ' AND '+GetWhereCondition( 'OWNER' );
  47078.  
  47079.     Query.SQL += ' ORDER BY TYPE,OWNER';
  47080.  
  47081.     if ( Query.Open() )
  47082.         {
  47083.         while (! Query.Eof)
  47084.             {
  47085.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  47086.             if (Query.GetFieldValue('TYPE') == 'PROCEDURE')
  47087.             {
  47088.                 s = Schema.AddProcedure();
  47089.                 s.ProcedureName    = Query.GetFieldValue( 'NAME' );
  47090.             }
  47091.             else
  47092.             {
  47093.                 s = Schema.AddTextObject();
  47094.                 s.TextObjectType = 10; //FUNCTIONS
  47095.                 s.TextObjectName    = Query.GetFieldValue( 'NAME' );
  47096.             }
  47097.             text = AddQuotInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('NAME'));
  47098.             s.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  47099.  
  47100.             Query.Next();
  47101.             };
  47102.  
  47103.         Query.Close();
  47104.         };
  47105.  
  47106.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47107.     };
  47108.  
  47109. //--- Load packages and body packages --------------------------------------------------------------
  47110.  
  47111. if ( Variables.lPackages )
  47112.     {
  47113.     Log.Writeln(  Translator.Translate( 'RE_PACKAGES',0 ) );
  47114.  
  47115.     Query.SQL = 'SELECT DISTINCT NAME,TYPE,'
  47116.  
  47117.     if ( lAllObjects )
  47118.         Query.SQL += 'OWNER '
  47119.     else
  47120.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  47121.  
  47122.     Query.SQL += 'FROM '+cDataDict+'_SOURCE '
  47123.                  +  'WHERE (TYPE=\'PACKAGE\' OR TYPE=\'PACKAGE BODY\')';
  47124.  
  47125.  
  47126.     if ( lAllObjects )
  47127.         Query.SQL += ' AND '+GetWhereCondition( 'OWNER' );
  47128.  
  47129.     Query.SQL += ' ORDER BY TYPE,OWNER';
  47130.  
  47131.     if ( Query.Open() )
  47132.         {
  47133.         while (! Query.Eof)
  47134.             {
  47135.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  47136.             s = Schema.AddTextObject();
  47137.             if (Query.GetFieldValue('TYPE') == 'PACKAGE')
  47138.                 s.TextObjectType = 20; //PACKAGES
  47139.             else
  47140.                 s.TextObjectType = 21; //PACKAGE BODIES
  47141.               s.TextObjectName    = Query.GetFieldValue( 'NAME' );
  47142.             text = AddQuotInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('NAME'));
  47143.             s.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  47144.  
  47145.             Query.Next();
  47146.             };
  47147.         Query.Close();
  47148.         };
  47149.  
  47150.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47151.     };
  47152.  
  47153. //--- Load synonyms --------------------------------------------------------------
  47154.  
  47155. if ( Variables.lSynonyms )
  47156.     {
  47157.     Log.Writeln(  Translator.Translate( 'RE_SYNONYMS',0 ) );
  47158.  
  47159.     Query.SQL = 'SELECT SYNONYM_NAME,TABLE_OWNER,TABLE_NAME,DB_LINK,';
  47160.  
  47161.     if ( lAllObjects )
  47162.         Query.SQL += 'OWNER '
  47163.     else
  47164.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  47165.  
  47166.     Query.SQL += 'FROM '+cDataDict+'_SYNONYMS ';
  47167.  
  47168.     if ( lAllObjects )
  47169.         Query.SQL += 'WHERE '+GetWhereCondition( 'OWNER' );
  47170.  
  47171.     if ( Query.Open() )
  47172.         {
  47173.         while (! Query.Eof)
  47174.             {
  47175.             s = Schema.AddTextObject();
  47176.             s.TextObjectType = 50; //SYNONYMS
  47177.               s.TextObjectName    = Query.GetFieldValue( 'SYNONYM_NAME' );
  47178.               if (Query.GetFieldValue('OWNER') == 'PUBLIC')
  47179.                   text = 'CREATE PUBLIC SYNONYM "'+Query.GetFieldValue('SYNONYM_NAME')+'"'
  47180.                         +' FOR "'+Query.GetFieldValue('TABLE_NAME')+'"';
  47181.             else
  47182.                 text = 'CREATE SYNONYM "'+Query.GetFieldValue('SYNONYM_NAME')+'"'
  47183.                         +' FOR "'+Query.GetFieldValue('TABLE_NAME')+'"';
  47184.             if ( (Query.GetFieldValue('DB_LINK') != '') && (Query.GetFieldValue('DB_LINK') != null) )
  47185.                 text += '@'+Query.GetFieldValue('DB_LINK');
  47186.  
  47187.             s.Text = text + '\n'+cTerminator+'\n';
  47188.  
  47189.             Query.Next();
  47190.             };
  47191.         Query.Close();
  47192.         };
  47193.  
  47194.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47195.     };
  47196.  
  47197. //--- Load sequences --------------------------------------------------------------
  47198.  
  47199. if ( Variables.lSequences )
  47200.     {
  47201.     Log.Writeln(  Translator.Translate( 'RE_SEQUENCES',0 ) );
  47202.  
  47203.     Query.SQL = 'SELECT SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,CYCLE_FLAG,ORDER_FLAG,'
  47204.                  + 'CACHE_SIZE,LAST_NUMBER,';
  47205.  
  47206.     if ( lAllObjects )
  47207.         Query.SQL += 'SEQUENCE_OWNER '
  47208.     else
  47209.         Query.SQL += '\''+cUser+'\' AS SEQUENCE_OWNER ';
  47210.  
  47211.     Query.SQL += 'FROM '+cDataDict+'_SEQUENCES ';
  47212.  
  47213.     if ( lAllObjects )
  47214.         Query.SQL += 'WHERE '+GetWhereCondition( 'SEQUENCE_OWNER' );
  47215.  
  47216.     if ( Query.Open() )
  47217.         {
  47218.         while (! Query.Eof)
  47219.             {
  47220.             s = Schema.AddTextObject();
  47221.             s.TextObjectType = 40; //SEQUENCES
  47222.               s.TextObjectName    = Query.GetFieldValue( 'SEQUENCE_NAME' );
  47223.             text = 'CREATE SEQUENCE "'+Query.GetFieldValue('SEQUENCE_NAME')+'"'
  47224.                     +' INCREMENT BY '+Query.GetFieldValue('INCREMENT_BY')+' START WITH '+Query.GetFieldValue('LAST_NUMBER')
  47225.                     +' MAXVALUE '+Query.GetFieldValue('MAX_VALUE')+' MINVALUE '+Query.GetFieldValue('MIN_VALUE');
  47226.             if (Query.GetFieldValue('CYCLE_FLAG')=='N')
  47227.                 text += ' NOCYCLE';
  47228.             else
  47229.                 text += ' CYCLE';
  47230.             if (Query.GetFieldValue('CACHE_SIZE')==0)
  47231.                 text += ' NOCACHE';
  47232.             else
  47233.                 text += ' CACHE '+Query.GetFieldValue('CACHE_SIZE');
  47234.             if (Query.GetFieldValue('ORDER_FLAG')=='N')
  47235.                 text += ' NOORDER';
  47236.             else
  47237.                 text += ' ORDER';
  47238.  
  47239.             s.Text = text + '\n'+cTerminator+'\n';
  47240.  
  47241.             Query.Next();
  47242.             };
  47243.         Query.Close();
  47244.         };
  47245.  
  47246.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47247.     };
  47248.  
  47249. //--- Load permissions -----------------------------------------------------------------------------
  47250.  
  47251. if ( Variables.lPermissions )
  47252.     {
  47253.     Query.SQL = 'SELECT COUNT(*) '
  47254.                  +    'FROM ALL_VIEWS '
  47255.                  +    'WHERE (VIEW_NAME=\'DBA_USERS\') OR '
  47256.                  +            '(VIEW_NAME=\'DBA_ROLES\') OR '
  47257.                  +            '(VIEW_NAME=\'DBA_ROLE_PRIVS\') OR '
  47258.                  +            '(VIEW_NAME=\'DBA_TAB_PRIVS\')';
  47259.                  
  47260.     if ( Query.Open() )
  47261.         {
  47262.         lDbaPermission = (Query.GetFieldValue( 'COUNT(*)' ) == 4);
  47263.         Query.Close();
  47264.         };
  47265.     
  47266.     if (lDbaPermission)
  47267.         {
  47268.         //--- Load users -----------------------------------------------------------------------------
  47269.         Log.Writeln(  Translator.Translate( 'RE_USERS',0 ) );
  47270.  
  47271.         Query.SQL =    'SELECT USERNAME,USER_ID '
  47272.                      +    'FROM DBA_USERS';
  47273.  
  47274.         if ( Query.Open() )
  47275.             {
  47276.             while (! Query.Eof)
  47277.                 {
  47278.                s = Schema.AddUser()
  47279.                s.UserName = Query.GetFieldValue( 'USERNAME' );
  47280.           
  47281.               Query.Next();
  47282.               };
  47283.            Query.Close();
  47284.            };
  47285.     
  47286.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47287.         //--- Load roles -----------------------------------------------------------------------------
  47288.         Log.Writeln(  Translator.Translate( 'RE_ROLES',0 ) );
  47289.  
  47290.         Query.SQL =    'SELECT ROLE '
  47291.                      +    'FROM DBA_ROLES';
  47292.  
  47293.         if ( Query.Open() )
  47294.             {
  47295.             while (! Query.Eof)
  47296.                 {
  47297.                s = Schema.AddRole();
  47298.               s.RoleName = Query.GetFieldValue( 'ROLE' );
  47299.  
  47300.               Query.Next();
  47301.               };
  47302.            Query.Close();
  47303.            };
  47304.  
  47305.         Query.SQL =    'SELECT GRANTEE,GRANTED_ROLE '
  47306.                      +    'FROM DBA_ROLE_PRIVS';
  47307.  
  47308.         if ( Query.Open() )
  47309.             {
  47310.             while (! Query.Eof)
  47311.                 {
  47312.                s = Schema.AddRoleToUser();
  47313.               s.UserName = Query.GetFieldValue( 'GRANTEE'          );
  47314.               s.RoleName = Query.GetFieldValue( 'GRANTED_ROLE' );
  47315.  
  47316.               Query.Next();
  47317.               };
  47318.            Query.Close();
  47319.            };
  47320.  
  47321.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47322.         //--- Load table permissions ---------------------------------------------------------------------
  47323.         Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  47324.  
  47325.         Query.SQL =    'SELECT TA.TABLE_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  47326.                      +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT,'
  47327.  
  47328.         if ( lAllObjects )
  47329.             Query.SQL += 'TA.OWNER '
  47330.         else
  47331.             Query.SQL += '\''+cUser+'\' AS OWNER ';
  47332.  
  47333.          Query.SQL += 'FROM DBA_TAB_PRIVS PR,'+cDataDict+'_TABLES TA '
  47334.                        + 'WHERE TA.TABLE_NAME=PR.TABLE_NAME';
  47335.  
  47336.         if ( lAllObjects )
  47337.             Query.SQL +=  ' AND TA.OWNER=PR.OWNER AND '+GetWhereCondition( 'TA.OWNER' )
  47338.         else
  47339.             Query.SQL +=  ' AND PR.OWNER=\''+cUser+'\'';
  47340.  
  47341.         Query.SQL += ' ORDER BY ';
  47342.         if ( lAllObjects )
  47343.             Query.SQL += 'TA.OWNER,';
  47344.         Query.SQL += 'TA.TABLE_NAME,PR.GRANTEE';
  47345.  
  47346.         if ( Query.Open() )
  47347.             {
  47348.             UserName = '';
  47349.  
  47350.             while (! Query.Eof)        
  47351.                 {
  47352.                 comp = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('GRANTEE');
  47353.                 if (UserName != comp)
  47354.                     {
  47355.                       if (Query.GetFieldValue( 'COUNT' ) == 0)
  47356.                           {
  47357.                        s = Schema.AddUserPermission()
  47358.                        s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  47359.                         }
  47360.                    else    
  47361.                         {
  47362.                        s = Schema.AddRolePermission();
  47363.                        s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  47364.                         };
  47365.                         
  47366.                    s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  47367.                       s.ObjectName        = Query.GetFieldValue( 'TABLE_NAME'    );
  47368.                     s.ObjectType         = 0    // 0 == Table
  47369.                     
  47370.                     UserName = comp;
  47371.                    };
  47372.  
  47373.                switch ( Query.GetFieldValue( 'PRIVILEGE' ) )
  47374.                    {
  47375.                    case 'SELECT':            s.Select    = true; break;
  47376.                    case 'INSERT':            s.Insert    = true; break;
  47377.                    case 'UPDATE':            s.Update    = true; break;
  47378.                    case 'DELETE':            s.Delete    = true; break;
  47379.                    case 'REFERENCES':    s.DRI        = true; break;
  47380.                    };
  47381.  
  47382.               Query.Next();
  47383.               };
  47384.            Query.Close();
  47385.            };
  47386.  
  47387.         //--- Load view permissions ---------------------------------------------------------------------
  47388.         if (Variables.lViews)
  47389.             {
  47390.             Query.SQL =    'SELECT VI.VIEW_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  47391.                          +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT,'
  47392.  
  47393.             if ( lAllObjects )
  47394.                 Query.SQL += 'VI.OWNER '
  47395.             else
  47396.                 Query.SQL += '\''+cUser+'\' AS OWNER ';
  47397.  
  47398.             Query.SQL +='FROM DBA_TAB_PRIVS PR,'+cDataDict+'_VIEWS VI '
  47399.                          + 'WHERE VI.VIEW_NAME=PR.TABLE_NAME ';
  47400.  
  47401.             if ( lAllObjects )
  47402.                 Query.SQL +=  ' AND VI.OWNER=PR.OWNER AND '+GetWhereCondition( 'VI.OWNER' )
  47403.             else    
  47404.                 Query.SQL +=  ' AND PR.OWNER=\''+cUser+'\'';
  47405.  
  47406.             Query.SQL += ' ORDER BY ';
  47407.             if ( lAllObjects )
  47408.                 Query.SQL += 'VI.OWNER,';
  47409.             Query.SQL += 'VI.VIEW_NAME,PR.GRANTEE';
  47410.  
  47411.             if ( Query.Open() )
  47412.                 {
  47413.                 UserName = '';
  47414.  
  47415.                 while (! Query.Eof)        
  47416.                     {
  47417.                     comp = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('VIEW_NAME')+'.'+Query.GetFieldValue('GRANTEE');
  47418.                     if (UserName != comp)
  47419.                         {
  47420.                           if (Query.GetFieldValue( 'COUNT' ) == 0)
  47421.                               {
  47422.                            s = Schema.AddUserPermission()
  47423.                            s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  47424.                             }
  47425.                        else    
  47426.                             {
  47427.                            s = Schema.AddRolePermission();
  47428.                            s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  47429.                             };
  47430.                         
  47431.                        s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  47432.                           s.ObjectName        = Query.GetFieldValue( 'VIEW_NAME'    );
  47433.                         s.ObjectType         = 3    // 3 == Views
  47434.                         
  47435.                         UserName = comp;
  47436.                        };
  47437.     
  47438.                    switch ( Query.GetFieldValue( 'PRIVILEGE' ) )
  47439.                        {
  47440.                        case 'SELECT':            s.Select    = true; break;
  47441.                        case 'INSERT':            s.Insert    = true; break;
  47442.                        case 'UPDATE':            s.Update    = true; break;
  47443.                        case 'DELETE':            s.Delete    = true; break;
  47444.                        case 'REFERENCES':    s.DRI        = true; break;
  47445.                        };
  47446.                     
  47447.                   Query.Next();
  47448.                   };
  47449.                Query.Close();
  47450.                };
  47451.             };
  47452.         //--- Load procedure --------------------------------------------------------------
  47453.         if (Variables.lProcedures || Variables.lPackages)
  47454.             {
  47455.             Query.SQL =    'SELECT PR.OWNER,PR.TABLE_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  47456.                          +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT '
  47457.  
  47458.             Query.SQL += 'FROM DBA_TAB_PRIVS PR '
  47459.                          +  'WHERE ';
  47460.  
  47461.             if ( lAllObjects )
  47462.                 Query.SQL += GetWhereCondition('PR.OWNER')+' AND ';
  47463.  
  47464.             Query.SQL += '(PR.PRIVILEGE=\'EXECUTE\')';
  47465.  
  47466.             if ( Query.Open() )
  47467.                 {
  47468.                 while (! Query.Eof)
  47469.                     {
  47470.                       if (Query.GetFieldValue( 'COUNT' ) == 0)
  47471.                           {
  47472.                        s = Schema.AddUserPermission()
  47473.                        s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  47474.                         }
  47475.                    else
  47476.                         {
  47477.                        s = Schema.AddRolePermission();
  47478.                        s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  47479.                         };
  47480.                         
  47481.                    s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  47482.                       s.ObjectName        = Query.GetFieldValue( 'TABLE_NAME'    );
  47483.                     s.ObjectType         = 1;    // 1 == Procedure
  47484.                    s.Execute            = true;
  47485.                     
  47486.                   Query.Next();
  47487.                   };
  47488.                Query.Close();
  47489.                 };
  47490.             };
  47491.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47492.         }
  47493.     else    
  47494.         Log.Writeln( Translator.Translate( 'W_NO_DBA',0 ) );
  47495.     };
  47496.     
  47497. //-----------------------------------------------------------------------------------------
  47498.  
  47499. Schema.Run();    
  47500. };
  47501.  
  47502. //===========================================================================================
  47503.  
  47504. function GetWhereCondition( FieldName )
  47505. {
  47506. var Result = '';
  47507.  
  47508. for (t in aOwners)
  47509.     {
  47510.     if (Result != '')
  47511.         Result += ' OR ';
  47512.     Result += FieldName+'=\''+aOwners[ t ]+'\'';
  47513.     };
  47514.  
  47515. return( '('+Result+')' );      
  47516. };
  47517.  
  47518. //===========================================================================================
  47519.  
  47520. function Disconnect()
  47521. {
  47522. Database.Disconnect();
  47523. };
  47524.  
  47525. //===========================================================================================
  47526.  
  47527. function text255(owner,name,type)
  47528. {
  47529.     var Query_text = Database.DefineQuery();
  47530.     Query_text.SQL = 'select OWNER, NAME, LINE, TEXT '
  47531.                          + 'from ALL_SOURCE '
  47532.                          + 'where OWNER=\''+owner+'\' and NAME=\''+name+'\' and TYPE=\''+type+'\' '
  47533.                          + 'order by LINE';
  47534.  
  47535.     if ( Query_text.Open() )
  47536.     {
  47537.         text = '';
  47538.         while (!Query_text.Eof)
  47539.         {
  47540.             if (Query_text.GetFieldValue('TEXT')!=null)
  47541.             {
  47542.                 text = text + Query_text.GetFieldValue('TEXT');
  47543.                if (Query_text.GetFieldValue('TEXT').length<255)
  47544.                     text = text + ' ';
  47545.             }
  47546.             else
  47547.                 text = text + ' ';
  47548.             Query_text.Next();
  47549.         }
  47550.         Query_text.Close();
  47551.     }
  47552.     return text;
  47553. }
  47554.  
  47555. //===========================================================================================
  47556.  
  47557. function AddQuotInText(text,type,name)
  47558. {
  47559.     var regexpr = new RegExp(type,"i");
  47560.     ord = text.search( regexpr );
  47561.     temp = text.substr(ord+type.length);
  47562.     temp = TrimLeft(temp);
  47563.     if (name==null)
  47564.         temp = type+' '+temp;
  47565.     else
  47566.     {
  47567.         if (temp.charAt(0)=='"')
  47568.             temp = temp.substr(name.length+2);
  47569.         else
  47570.             temp = temp.substr(name.length);
  47571.         temp = type+' "'+name+'" '+temp;
  47572.     }
  47573.     return temp;
  47574. }
  47575. ]]></VALUE>
  47576. <LANGUAGE>1</LANGUAGE>
  47577. <LANGUAGEWIN>---</LANGUAGEWIN>
  47578. <CATEGORY>6</CATEGORY>
  47579. <MAINSCRIPT>0</MAINSCRIPT>
  47580. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  47581. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  47582. <AUTHOR>David Fux</AUTHOR>
  47583. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  47584. <VERSION>1.0</VERSION>
  47585. <CREATED><DATE>8/13/2001</DATE><TIME>11:32:03</TIME></CREATED>
  47586. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  47587. </TEMPLATE>
  47588. <TEMPLATE>
  47589. <NAME>Oracle</NAME>
  47590. <ID>47</ID>
  47591. <GUID>{86A45859-A931-4D2E-9591-BB05DD98675D}</GUID>
  47592. <CAPTION>Oracle</CAPTION>
  47593. <PACKAGEGUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</PACKAGEGUID>
  47594. <ENABLED>1</ENABLED>
  47595. <LEVEL>0</LEVEL>
  47596. <IDPARENT>0</IDPARENT>
  47597. <VALUE><![CDATA[function Connect()
  47598. {
  47599. Translator.DefaultLng = 'csy';
  47600. ReadVocabulary();
  47601. Scripting.Oracle_main.Connect();
  47602. };
  47603.  
  47604. //======================================================================
  47605.  
  47606. function Main()
  47607. {
  47608. Scripting.Oracle_main.Main();
  47609. };
  47610.  
  47611. //======================================================================
  47612.  
  47613. function Disconnect()
  47614. {
  47615. Scripting.Oracle_main.Disconnect();
  47616. };
  47617.  
  47618. //======================================================================
  47619.  
  47620. function DefineVariables()
  47621. {
  47622. Schema.DatabaseId = 30;
  47623.  
  47624. Variables.DefineVariable( 'lAllObjects',    'NaΦφst vÜechny dostupnΘ objekty "ALL_"',    1 );
  47625. Variables.lAllObjects    = true;
  47626. Variables.DefineVariable( 'lNotAllObjTyp','NaΦφst pouze pou₧itΘ u₧ivatelskΘ typy', 1 );
  47627. Variables.lNotAllObjTyp    = true;
  47628. Variables.DefineVariable( 'lTableSpace',    'NaΦφst table space k tabulkßm, index∙m a constraint∙m',    1 );
  47629. Variables.lTableSpace    = false;
  47630. Variables.DefineVariable( 'lTableStorage','NaΦφst storage parametry k tabulkßm',    1 );
  47631. Variables.lTableStorage    = false;
  47632. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',                1 );
  47633. Variables.lCheckCon        = true;
  47634. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',                1 );
  47635. Variables.lUniCon            = true;
  47636. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                                 1 );
  47637. Variables.lIndexes        = true;
  47638. Variables.DefineVariable( 'lIndexStorage','NaΦφst storage parametry k index∙m',    1 );
  47639. Variables.lIndexStorage    = false;
  47640. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                            1 );
  47641. Variables.lTriggers        = true;
  47642. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury a funkce',            1 );
  47643. Variables.lProcedures    = true;
  47644. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                                1 );
  47645. Variables.lViews            = true;
  47646. Variables.DefineVariable( 'lPackages',        'NaΦφst balφΦky a t∞la balφΦk∙',            1 );
  47647. Variables.lPackages        = true;
  47648. Variables.DefineVariable( 'lSynonyms',        'NaΦφst synonyma', 1 );
  47649. Variables.lSynonyms        = true;
  47650. Variables.DefineVariable( 'lSequences',    'NaΦφst sequence', 1 );
  47651. Variables.lSequences        = true;
  47652. Variables.DefineVariable( 'lPermissions',    'NaΦφst u₧ivatele, skupiny a prßva',    1 );
  47653. Variables.lPermissions    = true;
  47654. Variables.DefineVariable( 'cTerminator',    'Terminator pro procedury, pohledy, atd.:', 0 );
  47655. Variables.cTerminator    = '\x2F'
  47656. };
  47657.  
  47658. //======================================================================
  47659.  
  47660. function ReadVocabulary()
  47661. {
  47662. Translator.Add( 'W_NO_DBA',    'Upozorn∞nφ: Nelze naΦφst u₧ivatelΘ a skupiny. Nemßte prßvo SELECT_ANY_TALBLE!' );
  47663. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  47664. };
  47665. ]]></VALUE>
  47666. <LANGUAGE>1</LANGUAGE>
  47667. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  47668. <CATEGORY>6</CATEGORY>
  47669. <MAINSCRIPT>1</MAINSCRIPT>
  47670. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  47671. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  47672. <AUTHOR>David Fux</AUTHOR>
  47673. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  47674. <VERSION>1.0</VERSION>
  47675. <CREATED><DATE>8/23/2001</DATE><TIME>13:51:55</TIME></CREATED>
  47676. <MODIFIED><DATE>9/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  47677. </TEMPLATE>
  47678. <TEMPLATE>
  47679. <NAME>Oracle9i_main</NAME>
  47680. <ID>48</ID>
  47681. <GUID>{0B8A5605-066E-47ED-AD6E-7F00A05D082A}</GUID>
  47682. <CAPTION>Oracle9i_main</CAPTION>
  47683. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  47684. <ENABLED>1</ENABLED>
  47685. <LEVEL>0</LEVEL>
  47686. <IDPARENT>0</IDPARENT>
  47687. <VALUE><![CDATA[function Connect()
  47688. {
  47689. var Query, Query2;
  47690. var lBufferPoolExists = false;
  47691. var lStorage          = Variables.lTableStorage;
  47692. var lAllObjects    = Variables.lAllObjects;
  47693. var cStorage        = '';
  47694. var cDataDict        = '';
  47695. var cOwner            = '';
  47696.  
  47697. if (Variables.lAllObjects)
  47698.     cDataDict = 'ALL'
  47699. else
  47700.     cDataDict = 'USER';
  47701.  
  47702. Scripting.RE_Dictionary.ReadVocabulary();
  47703. Schema.ClearTables();
  47704. Schema.CaseSensitive = true;
  47705.  
  47706. if ( Database.Connect() )
  47707.     {
  47708.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  47709.     Query = Database.DefineQuery();
  47710.     Query2 = Database.DefineQuery();
  47711.     
  47712.     // Get the current user
  47713.     if (! lAllObjects)
  47714.         {
  47715.         Query.SQL = 'SELECT USER FROM DUAL';        
  47716.         if ( Query.Open() )
  47717.             {
  47718.             cUser = Query.GetFieldValue( 'USER' );
  47719.             Query.Close();
  47720.             };
  47721.         };    
  47722.  
  47723.     // Check if the column BUFFER_POOL exists
  47724.     if ( lStorage )
  47725.         {
  47726.         Query.SQL = 'SELECT COUNT(*) '
  47727.                      +    'FROM ALL_TAB_COLUMNS '
  47728.                      + 'WHERE TABLE_NAME=\'ALL_TABLES\' AND '
  47729.                      +         'COLUMN_NAME=\'BUFFER_POOL\'';
  47730.         
  47731.         if ( Query.Open() )
  47732.             {
  47733.             lBufferPoolExists = (Query.GetFieldValue( 'COUNT(*)'    ) == 1);
  47734.             Query.Close();
  47735.             }
  47736.         };
  47737.         
  47738.     // Build query
  47739.     Query.SQL = 'SELECT TABLE_NAME, TABLESPACE_NAME';
  47740.     if ( lAllObjects )
  47741.         Query.SQL += ',OWNER'
  47742.     else
  47743.         Query.SQL += ',\''+cUser+'\' AS OWNER';    
  47744.  
  47745.  
  47746.     // Add storage informations into query
  47747.     if ( lStorage )        
  47748.         {
  47749.         Query.SQL +=', PCT_FREE, PCT_USED, INI_TRANS, MAX_TRANS, '
  47750.                     + 'INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, '
  47751.                     + 'PCT_INCREASE, FREELISTS, FREELIST_GROUPS, CLUSTER_NAME, CLUSTER_OWNER';
  47752.         if (lBufferPoolExists)            
  47753.           Query.SQL += ',BUFFER_POOL';
  47754.         }
  47755.  
  47756.     Query.SQL +=' FROM '+cDataDict+'_TABLES';
  47757.     
  47758.     // Don't reverse any system objects
  47759.     if ( lAllObjects )
  47760.         {
  47761.         Query.SQL +=' WHERE (OWNER <> \'SYS\' ) AND '
  47762.                      +             '(OWNER <> \'SYSTEM\' ) AND '
  47763.                      +             '(OWNER <> \'CTXSYS\' ) AND '
  47764.                      +             '(OWNER <> \'MDSYS\' ) AND '
  47765.                      +             '(OWNER <> \'ORDSYS\' ) AND '
  47766.                      +             '(OWNER <> \'OUTLN\' ) AND '
  47767.                       +             '(OWNER <> \'AURORA$JIS$UTILITY$\' ) AND '
  47768.                       +             '(OWNER <> \'OSE$HTTP$ADMIN\' ) AND '
  47769.                      +             '(OWNER <> \'WKSYS\' ) AND '
  47770.                      +             '(OWNER <> \'OLAPSYS\' )';
  47771.          };
  47772.      
  47773.     // Sorted list of tables
  47774.     Query.SQL += ' ORDER BY ';
  47775.     if ( lAllObjects )
  47776.         Query.SQL += 'OWNER,';
  47777.     Query.SQL += 'TABLE_NAME';
  47778.  
  47779.     if ( Query.Open() )
  47780.         {
  47781.         while (! Query.Eof)
  47782.             {
  47783.            t = Schema.AddTable();
  47784.             t.TableSchema     = Query.GetFieldValue( 'OWNER'         );
  47785.             t.TableName     = Query.GetFieldValue( 'TABLE_NAME' );
  47786.             t.Id                = t.TableSchema+'.'+t.TableName;
  47787.            t.Selected      = true;
  47788.  
  47789. //Cluster
  47790.     clust_cols = '';
  47791.     if ((lStorage) && (Query.GetFieldValue('CLUSTER_NAME')!=null))
  47792.     {
  47793.     Query2.SQL = 'SELECT TABLE_NAME,COLUMN_NAME,COLUMN_ID'
  47794.     if ( lAllObjects )
  47795.         Query2.SQL += ',OWNER'
  47796.     else
  47797.         Query2.SQL += ',\''+cUser+'\' AS OWNER';
  47798.     Query2.SQL += ' FROM '+cDataDict+'_TAB_COLUMNS WHERE';
  47799.     if ( lAllObjects )
  47800.         Query2.SQL += ' OWNER=\''+Query.GetFieldValue('CLUSTER_OWNER')+'\' AND';
  47801.     Query2.SQL += ' TABLE_NAME=\''+Query.GetFieldValue('CLUSTER_NAME')+'\'';
  47802.     Query2.SQL += ' ORDER BY ';
  47803.     if ( lAllObjects )
  47804.         Query2.SQL += 'OWNER,';
  47805.     Query2.SQL += 'TABLE_NAME,COLUMN_ID';
  47806.  
  47807.     if ( Query2.Open() )
  47808.         {
  47809.         while (! Query2.Eof)
  47810.             {
  47811.             clust_cols = clust_cols+'"'+Query2.GetFieldValue('COLUMN_NAME')+'"';
  47812.             Query2.Next();
  47813.             if (! Query2.Eof)
  47814.                 clust_cols += ',';
  47815.             }
  47816.         Query2.Close();
  47817.         }
  47818.     }
  47819.  
  47820.             if (lStorage)
  47821.                 {
  47822.                 cStorage  = 'PCTFREE '+Query.GetFieldValue( 'PCT_FREE' )+'\r\n';
  47823.                 cStorage += 'PCTUSED '+Query.GetFieldValue( 'PCT_USED' )+'\r\n';
  47824.                 cStorage += 'INITRANS '+Query.GetFieldValue( 'INI_TRANS' )+'\r\n';
  47825.                 cStorage += 'MAXTRANS '+Query.GetFieldValue( 'MAX_TRANS' )+'\r\n';
  47826.                 cStorage += 'STORAGE(INITIAL '+(Query.GetFieldValue( 'INITIAL_EXTENT' )/1024).toString() +' K\r\n';
  47827.                 cStorage += '\tNEXT '+(Query.GetFieldValue( 'NEXT_EXTENT' )/1024).toString() +' K\r\n';
  47828.                 cStorage += '\tMINEXTENTS '+Query.GetFieldValue( 'MIN_EXTENTS' ) +'\r\n';
  47829.                 cStorage += '\tMAXEXTENTS '+Query.GetFieldValue( 'MAX_EXTENTS' ) +'\r\n';
  47830.                 if (Query.GetFieldValue( 'PCT_INCREASE' ) != null)
  47831.                     cStorage += '\tPCTINCREASE '+Query.GetFieldValue( 'PCT_INCREASE' ) +'\r\n';
  47832.                 cStorage += '\tFREELISTS '+Query.GetFieldValue( 'FREELISTS' ) +'\r\n';
  47833.                 cStorage += '\tFREELIST GROUPS '+Query.GetFieldValue( 'FREELIST_GROUPS' ) +'\r\n';
  47834.                 if (lBufferPoolExists)
  47835.                     cStorage += '\tBUFFER_POOL '+Query.GetFieldValue( 'BUFFER_POOL' ) +'\r\n';
  47836.                 cStorage += '\t)';
  47837.                 if (clust_cols != '')
  47838.                     cStorage += '\nCLUSTER "'+Query.GetFieldValue('CLUSTER_OWNER')+'"."'+Query.GetFieldValue('CLUSTER_NAME')+'"('+clust_cols+')\r\n';
  47839.                 t.Storage = cStorage;
  47840.                 }
  47841.             t.SetUserVariable('Owner',Query.GetFieldValue('OWNER') );
  47842.             if (Variables.lTableSpace)
  47843.                 if (Query.GetFieldValue('TABLESPACE_NAME')!=null)
  47844.                     t.SetUserVariable('TableTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  47845.  
  47846.             Query.Next();
  47847.             }
  47848.         Query.Close();
  47849.         }
  47850.     else
  47851.         Database.Disconnect();
  47852.     
  47853.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47854.     };
  47855. };
  47856.  
  47857. //===========================================================================================
  47858.  
  47859. function Main()
  47860. {
  47861. var Query             = Database.DefineQuery();
  47862. var Query2            = Database.DefineQuery();
  47863. var lAllObjects    = Variables.lAllObjects;
  47864. var lNotAllPFVP    = Variables.lNotAllPFVP;
  47865. var lNotAllObjTyp = Variables.lNotAllObjTyp;
  47866. var cTerminator    = Variables.cTerminator;
  47867. var cDataDict        = '';
  47868. var cUser            = '';
  47869. var s,t,flag;
  47870.  
  47871. aOwners = new Array();
  47872. aOwnersSelected = new Array();
  47873.  
  47874. flag = 0;
  47875. for (t=0; t<Schema.CountTables; t++)
  47876. {
  47877.     aOwners[ Schema.Tables(t).TableSchema ] = Schema.Tables(t).TableSchema;
  47878.     if (Schema.Tables(t).Selected)
  47879.     {
  47880.         aOwnersSelected[ Schema.Tables(t).TableSchema ] = Schema.Tables(t).TableSchema;
  47881.         flag = 1;
  47882.     }
  47883. }
  47884. if (flag == 0)
  47885.     aOwnersSelected = aOwners;
  47886.  
  47887. Schema.Clear();
  47888.  
  47889. Schema.BeforeScript = '';
  47890.  
  47891. if (lAllObjects)
  47892.     cDataDict = 'ALL'
  47893. else
  47894.     cDataDict = 'USER';
  47895.  
  47896. //--- Get the current user ------------------------------------------------------------------
  47897. if (! lAllObjects)
  47898.     {
  47899.     Query.SQL = 'SELECT USER FROM DUAL';        
  47900.     if ( Query.Open() )
  47901.         {
  47902.         cUser = Query.GetFieldValue( 'USER' );
  47903.         Query.Close();
  47904.         };
  47905.     };    
  47906.  
  47907. //--- Load Table Comments -------------------------------------------------------------------
  47908. Log.Writeln(  Translator.Translate( 'RE_T_COMMENTS',0 ) );
  47909.  
  47910. Query.SQL = 'SELECT TABLE_NAME,COMMENTS'
  47911.  
  47912. if ( lAllObjects )
  47913.     Query.SQL += ',OWNER'
  47914. else    
  47915.     Query.SQL += ',\''+cUser+'\' AS OWNER'
  47916.  
  47917. Query.SQL += ' FROM '+cDataDict+'_TAB_COMMENTS ';
  47918.  
  47919. if ( lAllObjects )
  47920.     Query.SQL += ' WHERE '+GetWhereConditionSelected( 'OWNER' );
  47921.  
  47922. if ( Query.Open() )
  47923.     {
  47924.     while (! Query.Eof)
  47925.         {
  47926.         s = Schema.GetTable( Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ) );
  47927.         if (s != null)
  47928.             s.Description = Query.GetFieldValue( 'COMMENTS' )
  47929.  
  47930.         Query.Next();
  47931.         }
  47932.     Query.Close();
  47933.     };
  47934. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47935.  
  47936. //--- Load All Object Types -----------------------------------------------------------------
  47937. if ( ! lNotAllObjTyp )
  47938. {
  47939.     Log.Writeln(  Translator.Translate( 'RE_UDFS',0 ) );
  47940.     
  47941.     Query.SQL = 'select DISTINCT NAME, TYPE ';
  47942.     if ( lAllObjects )
  47943.         Query.SQL += ',OWNER '
  47944.     else
  47945.         Query.SQL += ',\''+cUser+'\' AS OWNER ';
  47946.     Query.SQL += 'FROM '+cDataDict+'_SOURCE ' + 'WHERE ';
  47947.     if ( lAllObjects )
  47948.         Query.SQL += GetWhereCondition( 'OWNER' )+' AND ';
  47949.     Query.SQL += '(TYPE=\'TYPE\' OR TYPE=\'TYPE BODY\') '
  47950.     Query.SQL += 'ORDER BY TYPE,OWNER';
  47951.  
  47952.     if ( Query.Open() )
  47953.     {
  47954.         while (!Query.Eof)
  47955.         {
  47956.            s = Schema.AddDictType();
  47957.              s.DictTypeName    = Query.GetFieldValue( 'NAME' );
  47958.             s.DataType         = 400;
  47959.             s.UserDataType = Query.GetFieldValue( 'NAME' );
  47960.             s.ID = Query.GetFieldValue( 'NAME' );
  47961. //            s.SetUserVariable('UTypeOwner',Query.GetFieldValue('OWNER') );
  47962.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  47963.             s2 = Schema.AddTextObject();
  47964.             if (Query.GetFieldValue('TYPE') == 'TYPE')
  47965.                 s2.TextObjectType = 30; //USER TYPES
  47966.             else
  47967.                 s2.TextObjectType = 31; //USER TYPE BODIES
  47968.             s2.TextObjectName = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'NAME' );
  47969.             text = AddSchemaInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'));
  47970.             s2.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  47971.  
  47972.             Query.Next();
  47973.         }
  47974.         Query.Close();
  47975.     }
  47976.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  47977. }
  47978.  
  47979. //--- Load Columns --------------------------------------------------------------------------
  47980. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  47981.  
  47982. Query.SQL = 'SELECT CO.TABLE_NAME,CO.COLUMN_NAME,CO.COLUMN_ID,CO.DATA_TYPE,'
  47983.              + 'CO.DATA_LENGTH,CO.DATA_PRECISION,CO.DATA_SCALE,CO.NULLABLE,CO.DATA_DEFAULT,CC.COMMENTS'
  47984.  
  47985. if ( lAllObjects )
  47986.     Query.SQL += ',CO.OWNER'
  47987. else
  47988.     Query.SQL += ',\''+cUser+'\' AS OWNER';
  47989.  
  47990. Query.SQL += ' FROM '+cDataDict+'_TAB_COLUMNS CO,'+cDataDict+'_COL_COMMENTS CC '
  47991.              +  ' WHERE ';
  47992.  
  47993. if ( lAllObjects )
  47994.     Query.SQL += GetWhereConditionSelected( 'CO.OWNER' )+' AND ';
  47995.  
  47996. Query.SQL += '(CO.TABLE_NAME=CC.TABLE_NAME AND CO.COLUMN_NAME=CC.COLUMN_NAME';
  47997.  
  47998. if ( lAllObjects )
  47999.     Query.SQL += ' AND CO.OWNER=CC.OWNER';
  48000.     
  48001. Query.SQL += ')';    
  48002.  
  48003. if ( Query.Open() )
  48004. {
  48005.     while (! Query.Eof)
  48006.     {
  48007.         tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48008.         if (tsel != null)
  48009.         if (tsel.Selected)
  48010.         {
  48011.        s = Schema.AddColumn();
  48012.        s.Ordinal        = Math.ceil( Query.GetFieldValue( 'COLUMN_ID'    ) );
  48013.         s.TableSchema     = Query.GetFieldValue( 'OWNER'         );
  48014.         s.TableName     = Query.GetFieldValue( 'TABLE_NAME'     );
  48015.         s.ColumnName   = Query.GetFieldValue( 'COLUMN_NAME' );
  48016.         s.ID                = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  48017.         
  48018.         cDataType = Query.GetFieldValue( 'DATA_TYPE' );
  48019.  
  48020.         if (cDataType == 'NUMBER')
  48021.         {
  48022.             if (Query.GetFieldValue( 'DATA_PRECISION'    ) != null)
  48023.             {
  48024.                 s.DataType  = Schema.GetDataTypeIdByName( 'NUMBER(X,Y)' );
  48025.                 s.Length        = Math.ceil( Query.GetFieldValue( 'DATA_PRECISION'    ) );
  48026.                 s.Decimal = Math.ceil( Query.GetFieldValue( 'DATA_SCALE' ) );
  48027.             }
  48028.             else 
  48029.                 if ( Query.GetFieldValue( 'DATA_SCALE'    ) != null)
  48030.                 {
  48031.                     s.DataType    = Schema.GetDataTypeIdByName( 'INTEGER' )
  48032.                 }
  48033.                 else
  48034.                 {
  48035.                     s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  48036.                 }
  48037.         }
  48038.         else
  48039.         {
  48040.             if (cDataType == 'FLOAT')
  48041.             {
  48042.                 data_prec = Math.ceil( Query.GetFieldValue( 'DATA_PRECISION'    ) );
  48043.                 if (data_prec == 126)  //float or double precision
  48044.                     s.DataType = 90;  //float
  48045.                 else
  48046.                     if (data_prec == 63)
  48047.                         s.DataType = 80;  //real
  48048.                     else
  48049.                         s.DataType = 100;  //float(b)
  48050.                 s.Length = data_prec;
  48051.             }
  48052.             else
  48053.             {
  48054.                 if (cDataType.search( /INTERVAL Y/i ) != -1)
  48055.                 {
  48056.                     s.DataType = 230;  //Interval year to month
  48057.                     s.Length = Math.ceil( Query.GetFieldValue( 'DATA_PRECISION' ) );
  48058.                 }
  48059.                 else
  48060.                     if (cDataType.search( /INTERVAL D/i ) != -1)
  48061.                     {
  48062.                         s.DataType = 240;  //Interval day to seconds
  48063.                         s.Length = Math.ceil( Query.GetFieldValue( 'DATA_PRECISION' ) );
  48064.                         s.Decimal = Math.ceil( Query.GetFieldValue( 'DATA_SCALE' ) );
  48065.                     }
  48066.                     else
  48067.                         if (cDataType.search( /TIMESTAMP/i ) != -1)
  48068.                         {
  48069.                             if (cDataType.search( /WITH T/i ) != -1)
  48070.                             {
  48071.                                 s.DataType = 210;  //Timestamp with time zone
  48072.                                 s.Length = Math.ceil( Query.GetFieldValue( 'DATA_SCALE' ) );
  48073.                             }
  48074.                             else
  48075.                                 if (cDataType.search( /WITH L/i ) != -1)
  48076.                                 {
  48077.                                     s.DataType = 220;  //Timestamp with local time zone
  48078.                                     s.Length = Math.ceil( Query.GetFieldValue( 'DATA_SCALE' ) );
  48079.                                 }
  48080.                                 else
  48081.                                 {
  48082.                                     s.DataType = 200;  //Timestamp
  48083.                                     s.Length = Math.ceil( Query.GetFieldValue( 'DATA_SCALE' ) );
  48084.                                 }
  48085.                         }
  48086.                         else
  48087.                         {
  48088.                             s.DataType    = Schema.GetDataTypeIdByName( cDataType );
  48089.                             if ((cDataType == 'NCHAR') || (cDataType == 'NVARCHAR2'))
  48090.                                 s.Length = Math.ceil(Query.GetFieldValue('DATA_LENGTH')) / 2;
  48091.                             else
  48092.                                 s.Length = Math.ceil(Query.GetFieldValue('DATA_LENGTH'));
  48093.                             s.Decimal    = Math.ceil( Query.GetFieldValue( 'DATA_SCALE'    ) );
  48094.                         }
  48095.             }
  48096.         }
  48097.  
  48098.         if (s.DataType == -1)
  48099.         {
  48100.             Query2.SQL = 'select DISTINCT NAME, TYPE ';
  48101.             if ( lAllObjects )
  48102.                 Query2.SQL += ',OWNER '
  48103.             else
  48104.                 Query2.SQL += ',\''+cUser+'\' AS OWNER ';
  48105.             Query2.SQL += 'FROM '+cDataDict+'_SOURCE ' + 'WHERE ';
  48106.             Query2.SQL += '((TYPE=\'TYPE\' OR TYPE=\'TYPE BODY\') AND NAME=\''+cDataType+'\') '
  48107.             Query2.SQL += 'ORDER BY TYPE,OWNER';
  48108.             if ( Query2.Open() )
  48109.             {
  48110.                 if (!Query2.Eof)
  48111.                 {
  48112.                     cDT_comp = Schema.GetDictType(cDataType);
  48113.                     if (cDT_comp == null)
  48114.                     {
  48115.                    t1 = Schema.AddDictType();
  48116.                      t1.DictTypeName    = Query2.GetFieldValue( 'NAME' );
  48117.                     t1.DataType         = 400;
  48118.                     t1.UserDataType = Query2.GetFieldValue( 'NAME' );
  48119.                     t1.ID = Query2.GetFieldValue( 'NAME' );
  48120. //                    t1.SetUserVariable('UTypeOwner',Query2.GetFieldValue('OWNER') );
  48121.  
  48122.                     text = text255(Query2.GetFieldValue('OWNER'),Query2.GetFieldValue('NAME'),Query2.GetFieldValue('TYPE'));
  48123.                     t2 = Schema.AddTextObject();
  48124.                     if (Query2.GetFieldValue('TYPE') == 'TYPE')
  48125.                         t2.TextObjectType = 30; //USER TYPES
  48126.                     else
  48127.                         t2.TextObjectType = 31; //USER TYPE BODIES
  48128.                     t2.TextObjectName = Query2.GetFieldValue( 'OWNER' )+'.'+Query2.GetFieldValue( 'NAME' );
  48129.                     text = AddSchemaInText(text,Query2.GetFieldValue('TYPE'),Query2.GetFieldValue('OWNER'),Query2.GetFieldValue('NAME'));
  48130.                     t2.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  48131.                     }
  48132.                     s.DataType = 0;
  48133.                     s.DictTypeName    = cDataType;
  48134.                 }
  48135.                 else
  48136.                 {
  48137.                     cDT_comp = Schema.GetDictType(cDataType);
  48138.                     if (cDT_comp == null)
  48139.                     {
  48140.                        t1 = Schema.AddDictType();
  48141.                          t1.DictTypeName    = cDataType;
  48142.                         t1.DataType         = 400;
  48143.                         t1.UserDataType = cDataType;
  48144.                         t1.ID = cDataType;
  48145.                     }
  48146.                     s.DataType = 0;
  48147.                     s.DictTypeName    = cDataType;
  48148. //    Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),Query.GetFieldValue( 'DATA_TYPE' ),s.ColumnName) );
  48149.                 }
  48150.                 Query2.Close();
  48151.             }
  48152.         }
  48153.         s.Default        = Query.GetFieldValue( 'DATA_DEFAULT' );
  48154.         s.Nullable        = Query.GetFieldValue( 'NULLABLE' ) == 'Y';
  48155.         s.Description  = Query.GetFieldValue( 'COMMENTS' );
  48156.         
  48157.         } // end of "if (tsel.Selected)"
  48158.         Query.Next();
  48159.     }
  48160.     Query.Close();
  48161. }
  48162. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48163.  
  48164. //--- Load Primary Keys ------------------------------------------------------------------
  48165. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  48166.  
  48167. Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  48168.               +          'CC.COLUMN_NAME,CC.POSITION,'
  48169.               +          'IX.INDEX_NAME,IX.TABLESPACE_NAME, CO.DEFERRABLE, CO.DEFERRED '
  48170.               + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC,'
  48171.               + cDataDict+'_INDEXES IX '
  48172.               + 'WHERE CO.CONSTRAINT_TYPE=\'P\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME) '
  48173.               + 'AND IX.INDEX_NAME(+)=CO.CONSTRAINT_NAME';
  48174.  
  48175. if ( lAllObjects )
  48176.     Query.SQL += ' AND '+GetWhereConditionSelected( 'CO.OWNER' );
  48177.  
  48178. if ( Query.Open() )
  48179.     {
  48180.     while (! Query.Eof)
  48181.         {
  48182.         tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48183.         if (tsel != null)
  48184.         if (tsel.Selected)
  48185.         {
  48186.         s = Schema.AddPrimaryKey();
  48187.                            
  48188.         s.PkName            = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  48189.         s.TableSchema     = Query.GetFieldValue( 'OWNER'                );
  48190.         s.TableName        = Query.GetFieldValue( 'TABLE_NAME'            );
  48191.         s.ColumnName    = Query.GetFieldValue( 'COLUMN_NAME'        );
  48192.         s.Ordinal        = Math.ceil( Query.GetFieldValue( 'POSITION'    ) );
  48193.  
  48194.         if (Variables.lTableSpace)
  48195.             if (Query.GetFieldValue('TABLESPACE_NAME') != null)
  48196.                 tsel.SetUserVariable('PkTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  48197.         tsel.SetUserVariable('lPkDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  48198.         tsel.SetUserVariable('lPkDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  48199.         }
  48200.         Query.Next();
  48201.         };
  48202.     Query.Close();
  48203.     };
  48204. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48205.  
  48206. //--- Load Unique Constraints -----------------------------------------------------------------
  48207. if ( Variables.lUniCon )
  48208.     {
  48209.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  48210.  
  48211.     Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  48212.                   +          'CC.COLUMN_NAME,CC.POSITION,'
  48213.                   +          'IX.INDEX_NAME,IX.TABLESPACE_NAME, CO.DEFERRABLE, CO.DEFERRED '
  48214.                   + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC,'
  48215.                   + cDataDict+'_INDEXES IX '
  48216.                   + 'WHERE CO.CONSTRAINT_TYPE=\'U\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME) '
  48217.                   + 'AND IX.INDEX_NAME(+)=CO.CONSTRAINT_NAME';
  48218.  
  48219.     if ( lAllObjects )
  48220.         Query.SQL += ' AND '+GetWhereConditionSelected( 'CO.OWNER' );
  48221.  
  48222.     if ( Query.Open() )
  48223.         {
  48224.         while (! Query.Eof)
  48225.             {
  48226.             tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48227.             if (tsel != null)
  48228.             if (tsel.Selected)
  48229.             {
  48230.            s = Schema.AddUniqueConstraint();
  48231.  
  48232.            s.ConstraintName    = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  48233.            s.TableSchema         = Query.GetFieldValue( 'OWNER'                );
  48234.            s.TableName            = Query.GetFieldValue( 'TABLE_NAME'            );
  48235.            s.ColumnName        = Query.GetFieldValue( 'COLUMN_NAME'        );
  48236.             s.Ordinal            = Math.ceil( Query.GetFieldValue( 'POSITION'    ) );
  48237.  
  48238.             if (Variables.lTableSpace)
  48239.                 if (Query.GetFieldValue('TABLESPACE_NAME') != null)
  48240.                     s.SetUserVariable('UniqueAkTablespace',Query.GetFieldValue('TABLESPACE_NAME') );
  48241.             s.SetUserVariable('lUniqueAkDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  48242.             s.SetUserVariable('lUniqueAkDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  48243.             }
  48244.             Query.Next();
  48245.             };
  48246.         Query.Close();
  48247.         };
  48248.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48249.     };    
  48250.  
  48251. //--- Load Check Constraints -----------------------------------------------------------------
  48252. if ( Variables.lCheckCon )
  48253.     {
  48254.     var CheckList = new ActiveXObject("Scripting.Dictionary");
  48255.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  48256.  
  48257.     Query.SQL  = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,CO.TABLE_NAME,'
  48258.                   +          'CC.COLUMN_NAME,CC.POSITION,'
  48259.                   +          'CO.DEFERRABLE, CO.DEFERRED,'
  48260.                   +          '(SELECT COUNT(*) FROM '+cDataDict+'_CONS_COLUMNS CC2 WHERE CO.OWNER=CC2.OWNER AND CO.TABLE_NAME=CC2.TABLE_NAME AND CO.CONSTRAINT_NAME=CC2.CONSTRAINT_NAME) AS COLCOUNT,CO.SEARCH_CONDITION '
  48261.                   + 'FROM '+cDataDict+'_CONSTRAINTS CO,'+cDataDict+'_CONS_COLUMNS CC '
  48262.                   + 'WHERE CO.CONSTRAINT_TYPE=\'C\' AND (CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME)';
  48263.  
  48264.     if ( lAllObjects )
  48265.         Query.SQL += ' AND '+GetWhereConditionSelected( 'CO.OWNER' );
  48266.     Query.SQL += ' ORDER BY CO.OWNER,CO.TABLE_NAME,CC.COLUMN_NAME';
  48267.  
  48268.     ch_old = '';
  48269.     if ( Query.Open() )
  48270.         {
  48271.         while (! Query.Eof)
  48272.             {
  48273.             tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48274.             if (tsel != null)
  48275.             if (tsel.Selected)
  48276.             {
  48277.             if ( Query.GetFieldValue( 'COLCOUNT' )==1 )
  48278.                 {
  48279.                 cConstraint = Query.GetFieldValue( 'SEARCH_CONDITION'    );
  48280.                 cColumnName = Query.GetFieldValue( 'COLUMN_NAME'        );
  48281.  
  48282.                 // Don't reverse NOT NULL check constraints
  48283.                 if ((cConstraint != '"'+cColumnName+'" IS NOT NULL') &&
  48284.                     (cConstraint != cColumnName+' IS NOT NULL'))
  48285.                     {
  48286.                     ch = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('COLUMN_NAME');
  48287.                     if (ch != ch_old)
  48288.                         {
  48289.                        s = Schema.AddColumnCheckConstraint();           
  48290.                        s.ConstraintName     = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  48291.                        s.TableSchema         = Query.GetFieldValue( 'OWNER'                );
  48292.                           s.TableName            = Query.GetFieldValue( 'TABLE_NAME'            );
  48293.                        s.ColumnName        = cColumnName;
  48294.                           s.Text                = cConstraint;
  48295.                       
  48296.                         scol = Schema.GetColumn(s.TableSchema+'.'+s.TableName+'.'+cColumnName);
  48297.                         if (scol != null)
  48298.                             {
  48299.                             scol.SetUserVariable('lCheckDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  48300.                             scol.SetUserVariable('lCheckDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  48301.                             }
  48302.                         
  48303.                         ch_old = ch;
  48304.                         }
  48305.                         else
  48306.                         {
  48307.                         cId = Query.GetFieldValue( 'CONSTRAINT_NAME' )+'.'+Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' );
  48308.                          if ( ! CheckList.Exists( cId ) )
  48309.                             {
  48310.                             CheckList.Add( cId, cId );
  48311.                              other = 'ALTER TABLE '+'"'+Query.GetFieldValue('OWNER')+'"'+'.'+'"'+Query.GetFieldValue('TABLE_NAME')+'"'+ ' ADD ';
  48312.                             other += 'CONSTRAINT '+'"'+Query.GetFieldValue('CONSTRAINT_NAME')+'" ';
  48313.                              other += 'CHECK ('+Query.GetFieldValue('SEARCH_CONDITION')+') ';
  48314.                              if (Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE')
  48315.                                      other += 'DEFERRABLE ';
  48316.                              if (Query.GetFieldValue('DEFERRED')=='DEFERRED')
  48317.                                 other += 'INITIALLY DEFERRED ';
  48318.                              other += '\n'+cTerminator+'\n';
  48319.                              tsel.Others = tsel.Others + other;
  48320.                              }
  48321.                         }
  48322.                       }
  48323.                       else
  48324.                       {
  48325.                     scol = Schema.GetColumn(Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+cColumnName);
  48326.                     if (scol != null)
  48327.                         {
  48328.                         scol.SetUserVariable('ConstraintNotNullName',Query.GetFieldValue('CONSTRAINT_NAME'));
  48329.                         scol.SetUserVariable('lNotNullDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  48330.                         scol.SetUserVariable('lNotNullDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  48331.                         }
  48332.                       }
  48333.                }
  48334.             else
  48335.                 {
  48336.                 cId = Query.GetFieldValue( 'CONSTRAINT_NAME' )+'.'+Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' );
  48337.                  if ( ! CheckList.Exists( cId ) )
  48338.                     {
  48339.                     CheckList.Add( cId, cId );
  48340.                      other = 'ALTER TABLE '+'"'+Query.GetFieldValue('OWNER')+'"'+'.'+'"'+Query.GetFieldValue('TABLE_NAME')+'"'+ ' ADD ';
  48341.                     other += 'CONSTRAINT '+'"'+Query.GetFieldValue('CONSTRAINT_NAME')+'" ';
  48342.                      other += 'CHECK ('+Query.GetFieldValue('SEARCH_CONDITION')+') ';
  48343.                      if (Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE')
  48344.                          other += 'DEFERRABLE ';
  48345.                      if (Query.GetFieldValue('DEFERRED')=='DEFERRED')
  48346.                          other += 'INITIALLY DEFERRED ';
  48347.                      other += '\n'+cTerminator+'\n';
  48348.                      tsel.Others = tsel.Others + other;
  48349.                       };
  48350.                   };
  48351.               }
  48352.             Query.Next();
  48353.             
  48354.             };
  48355.         Query.Close();
  48356.         };
  48357.  
  48358.     CheckList.RemoveAll();
  48359.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48360.     };
  48361.  
  48362. //--- Load References ----------------------------------------------------------------------
  48363. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  48364.  
  48365. Query.SQL = 'SELECT CO.CONSTRAINT_NAME,CO.OWNER,'
  48366.              +          'CO.R_CONSTRAINT_NAME,CO.R_OWNER,CO.DELETE_RULE,'
  48367.              +             'CR.TABLE_NAME AS R_TABLE_NAME,CR.COLUMN_NAME AS R_COLUMN_NAME,CR.POSITION AS R_POSITION,'
  48368.              +             'CC.TABLE_NAME,CC.COLUMN_NAME,CC.POSITION,'
  48369.              +             'CO.DEFERRABLE, CO.DEFERRED '
  48370.              + 'FROM ALL_CONSTRAINTS CO,'
  48371.              +          'ALL_CONS_COLUMNS CR,'
  48372.              +          'ALL_CONS_COLUMNS CC '        
  48373.             + 'WHERE CO.CONSTRAINT_TYPE=\'R\' AND '
  48374.             +            'CO.R_OWNER = CR.OWNER AND '
  48375.             +            'CO.R_CONSTRAINT_NAME = CR.CONSTRAINT_NAME AND '
  48376.             +            'CO.OWNER = CC.OWNER AND '
  48377.             +            'CO.CONSTRAINT_NAME = CC.CONSTRAINT_NAME';
  48378.  
  48379. if ( lAllObjects )
  48380.     Query.SQL += ' AND '+GetWhereConditionSelected( 'CO.R_OWNER' )
  48381. else    
  48382.     Query.SQL += ' AND CO.R_OWNER = \''+cUser+'\'';
  48383.  
  48384. if ( Query.Open() )
  48385.     {
  48386.     while (! Query.Eof)
  48387.         {
  48388.         tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48389.         if (tsel != null)
  48390.         if (tsel.Selected)
  48391.         {
  48392.         if (Query.GetFieldValue( 'POSITION' ) == Query.GetFieldValue( 'R_POSITION' ))
  48393.             {
  48394.             s = Schema.AddForeignKey();
  48395.  
  48396.             s.PkTableSchema= Query.GetFieldValue( 'R_OWNER'                );
  48397.             s.PkTableName    = Query.GetFieldValue( 'R_TABLE_NAME'        );
  48398.             s.PkName            = Query.GetFieldValue( 'R_CONSTRAINT_NAME');
  48399.             s.PkColumnName    = Query.GetFieldValue( 'R_COLUMN_NAME'        );
  48400.  
  48401.             s.FkTableSchema= Query.GetFieldValue( 'OWNER'                );
  48402.             s.FkTableName    = Query.GetFieldValue( 'TABLE_NAME'            );
  48403.             s.FkName            = Query.GetFieldValue( 'CONSTRAINT_NAME'    );
  48404.             s.FkColumnName    = Query.GetFieldValue( 'COLUMN_NAME'        );
  48405.     
  48406.             s.Ordinal        = Math.ceil(Query.GetFieldValue( 'POSITION' ));
  48407.         
  48408.             s.UpdateRule    = 'restrict';
  48409.             switch ( Query.GetFieldValue( 'DELETE_RULE' ) )
  48410.                 {
  48411.                 case 'CASCADE'        : s.DeleteRule = 'cascade';    break; 
  48412.                 case 'SET NULL'    : s.DeleteRule = 'set null';    break; 
  48413.                 case 'NO ACTION'    : s.DeleteRule = 'restrict';    break;
  48414.                 };
  48415.  
  48416.             s.SetUserVariable('lRefIntDeferrable',Query.GetFieldValue('DEFERRABLE')=='DEFERRABLE' );
  48417.             s.SetUserVariable('lRefIntDeferred',Query.GetFieldValue('DEFERRED')=='DEFERRED' );
  48418.             };
  48419.         }
  48420.         Query.Next();
  48421.         };
  48422.     Query.Close();
  48423.     };
  48424. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48425.  
  48426. //--- Load Indexes -------------------------------------------------------------------------
  48427. if ( Variables.lIndexes )
  48428. {
  48429.     var IndexList = DefineInterfaceList();
  48430.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  48431.  
  48432.     Query.SQL = 'SELECT IX.TABLE_OWNER,IX.TABLE_NAME,IX.INDEX_NAME,IX.UNIQUENESS,'
  48433.                  +          'IX.INDEX_TYPE,IE.COLUMN_EXPRESSION,'
  48434.                  +             'IC.COLUMN_NAME,IC.DESCEND,IC.COLUMN_POSITION,IX.TABLESPACE_NAME';
  48435.  
  48436.     if ( lAllObjects )
  48437.         Query.SQL += ',IX.OWNER'
  48438.     else
  48439.         Query.SQL += ',\''+cUser+'\' AS OWNER';
  48440.  
  48441.     // Add storage informations into query
  48442.     if ( Variables.lIndexStorage )        
  48443.         {
  48444.         Query.SQL +=', IX.PCT_FREE, IX.INI_TRANS, IX.MAX_TRANS, '
  48445.                     + 'IX.INITIAL_EXTENT, IX.NEXT_EXTENT, IX.MIN_EXTENTS, IX.MAX_EXTENTS, '
  48446.                     + 'IX.PCT_INCREASE, IX.FREELISTS, IX.FREELIST_GROUPS';
  48447.         }
  48448.     Query.SQL += ' FROM '+cDataDict+'_INDEXES IX,'+cDataDict+'_IND_COLUMNS IC,'+cDataDict+'_IND_EXPRESSIONS IE'
  48449.                  +  ' WHERE ';
  48450.  
  48451.     if ( lAllObjects )
  48452.         Query.SQL += GetWhereConditionSelected( 'IX.TABLE_OWNER' )+' AND ';
  48453.  
  48454.     Query.SQL += '(IX.INDEX_NAME NOT IN (SELECT CONSTRAINT_NAME FROM ALL_CONSTRAINTS WHERE '+GetWhereConditionSelected('OWNER')+')) AND '
  48455.                  +     '(IX.INDEX_NAME = IC.INDEX_NAME) AND (IC.INDEX_NAME = IE.INDEX_NAME(+)) AND '
  48456.                  +     '(IC.COLUMN_POSITION  = IE.COLUMN_POSITION(+))';
  48457.  
  48458.     if ( lAllObjects )
  48459.        Query.SQL += ' AND (IX.OWNER = IC.INDEX_OWNER)';
  48460.  
  48461.     Query.SQL += ' ORDER BY ';
  48462.     if ( lAllObjects )
  48463.         Query.SQL += 'IX.OWNER,';
  48464.     Query.SQL += 'IX.TABLE_NAME,IX.INDEX_NAME,IC.COLUMN_POSITION';
  48465.  
  48466.     if ( Query.Open() )
  48467.     {
  48468.         Expression = '';
  48469.         cStorage = '';
  48470.         flag = 0;
  48471.         if (!Query.Eof)
  48472.         {
  48473.             tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48474.             while ((!tsel.Selected) && (!Query.Eof))
  48475.             {
  48476.                 Query.Next();
  48477.                 tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48478.             }
  48479.             index_name_old = Query.GetFieldValue( 'OWNER')+"."+Query.GetFieldValue( 'TABLE_NAME'    )+"."+Query.GetFieldValue( 'INDEX_NAME' );
  48480.         }
  48481.         while (!Query.Eof)
  48482.         {
  48483.             tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48484.             if (tsel != null)
  48485.             if (tsel.Selected)
  48486.             {
  48487.             index_name = Query.GetFieldValue( 'OWNER')+"."+Query.GetFieldValue( 'TABLE_NAME'    )+"."+Query.GetFieldValue( 'INDEX_NAME' );
  48488.  
  48489.             if (index_name != index_name_old)
  48490.             {
  48491.                s = Schema.AddIndex();
  48492.  
  48493.                s.TableSchema             = t_schema;
  48494.                s.TableName                = t_name;
  48495.                 s.IndexName           = i_name;
  48496.                 s.Unique                    = (uniqueness == 'UNIQUE');
  48497.  
  48498.                 s.ColumnName            = c_name;
  48499.                 s.DescendingColumn    = descend != 'ASC';        
  48500.                 s.Ordinal                = Math.ceil( ordinal );
  48501.                 s.Expression = Expression;
  48502.                 
  48503.                 if (index_type=="FUNCTION-BASED NORMAL")
  48504.                 {
  48505.                     s.ExprType = true;
  48506.                     for (i=0; i<IndexList.Count; i++)
  48507.                     {
  48508.                         IndexList.GetInterface( i ).ExprType = true;
  48509.                         IndexList.GetInterface( i ).Expression = Expression;
  48510.                     }
  48511.                 }
  48512.  
  48513.                 s.Storage = cStorage;
  48514.                 s.SetUserVariable('UIndexOwner',i_schema);
  48515.                 if (Variables.lTableSpace)
  48516.                     s.SetUserVariable('IndexTablespace',i_tablespace);
  48517.                                                     
  48518.                 Expression = '';
  48519.                 IndexList.Clear();
  48520.             }
  48521.             else
  48522.                 if (flag != 0)
  48523.                 {
  48524.                s = Schema.AddIndex();
  48525.  
  48526.                s.TableSchema             = t_schema;
  48527.                s.TableName                = t_name;
  48528.                 s.IndexName           = i_name;
  48529.                 s.Unique                    = (uniqueness == 'UNIQUE');
  48530.  
  48531.                 s.ColumnName            = c_name;
  48532.                 s.DescendingColumn    = descend != 'ASC';        
  48533.                 s.Ordinal                = Math.ceil( ordinal );
  48534.  
  48535.                 s.Storage = cStorage;
  48536.                 s.SetUserVariable('UIndexOwner',i_schema);
  48537.                 if (Variables.lTableSpace)
  48538.                     s.SetUserVariable('IndexTablespace',i_tablespace)
  48539.                 
  48540.                 IndexList.AddInterface( index_name, s );
  48541.                 }
  48542.             flag = 1;
  48543.                 
  48544.             t_schema        = Query.GetFieldValue( 'TABLE_OWNER');
  48545.            t_name        = Query.GetFieldValue( 'TABLE_NAME'    );
  48546.             i_name         = Query.GetFieldValue( 'INDEX_NAME'    );
  48547.             uniqueness    = Query.GetFieldValue( 'UNIQUENESS'    );
  48548.  
  48549.             index_type    = Query.GetFieldValue( 'INDEX_TYPE' );
  48550.  
  48551.             c_name        = Query.GetFieldValue( 'COLUMN_NAME' );
  48552.             descend        = Query.GetFieldValue( 'DESCEND' );
  48553.             ordinal        = Query.GetFieldValue( 'COLUMN_POSITION' );
  48554.             
  48555.             if (Query.GetFieldValue( 'COLUMN_EXPRESSION' )!='')
  48556.             {
  48557.                 if (Expression.length==0)
  48558.                     Expression = Query.GetFieldValue( 'COLUMN_EXPRESSION' );
  48559.                 else
  48560.                     Expression = Expression + ',' + Query.GetFieldValue( 'COLUMN_EXPRESSION' );
  48561.                 if (Query.GetFieldValue( 'DESCEND' ) != 'ASC')
  48562.                     Expression = Expression + ' Desc';
  48563.             }
  48564.             else
  48565.             {
  48566.                 if (Expression.length==0)
  48567.                     Expression = '"'+Query.GetFieldValue( 'COLUMN_NAME' )+'"';
  48568.                 else
  48569.                     Expression = Expression + ',' + '"'+Query.GetFieldValue( 'COLUMN_NAME' )+'"';
  48570.             }
  48571.  
  48572.             if (Variables.lIndexStorage)
  48573.             {
  48574.                 cStorage     = 'PCTFREE '+Query.GetFieldValue( 'PCT_FREE' )+'\r\n';        
  48575.                 cStorage += 'INITRANS '+Query.GetFieldValue( 'INI_TRANS' )+'\r\n';
  48576.                 cStorage += 'MAXTRANS '+Query.GetFieldValue( 'MAX_TRANS' )+'\r\n';
  48577.                 cStorage += 'STORAGE(INITIAL '+(Query.GetFieldValue( 'INITIAL_EXTENT' )/1024).toString() +' K\r\n';
  48578.                 cStorage += '\tNEXT '+(Query.GetFieldValue( 'NEXT_EXTENT' )/1024).toString() +' K\r\n';
  48579.                 cStorage += '\tMINEXTENTS '+Query.GetFieldValue( 'MIN_EXTENTS' ) +'\r\n';
  48580.                 cStorage += '\tMAXEXTENTS '+Query.GetFieldValue( 'MAX_EXTENTS' ) +'\r\n';
  48581.                 if (Query.GetFieldValue( 'PCT_INCREASE' ) != null)
  48582.                     cStorage += '\tPCTINCREASE '+Query.GetFieldValue( 'PCT_INCREASE' ) +'\r\n';
  48583.                 cStorage += '\tFREELISTS '+Query.GetFieldValue( 'FREELISTS' ) +'\r\n';
  48584.                 cStorage += '\tFREELIST GROUPS '+Query.GetFieldValue( 'FREELIST_GROUPS' ) +'\r\n';
  48585.                 cStorage += '\t)';
  48586.             };
  48587.             i_schema = Query.GetFieldValue( 'OWNER' );
  48588.             if (Query.GetFieldValue('TABLESPACE_NAME')!=null)
  48589.                 i_tablespace =    Query.GetFieldValue( 'TABLESPACE_NAME' );
  48590.             else
  48591.                 i_tablespace = '';
  48592.  
  48593.             index_name_old = index_name;
  48594.             }
  48595.             Query.Next();
  48596.  
  48597.             if (Query.Eof)
  48598.             {
  48599.                s = Schema.AddIndex();
  48600.  
  48601.                s.TableSchema             = t_schema;
  48602.                s.TableName                = t_name;
  48603.                 s.IndexName           = i_name;
  48604.                 s.Unique                    = (uniqueness == 'UNIQUE');
  48605.  
  48606.                 s.ColumnName            = c_name;
  48607.                 s.DescendingColumn    = descend != 'ASC';
  48608.                 s.Ordinal                = Math.ceil( ordinal );
  48609.                 s.Expression = Expression;
  48610.  
  48611.                 if (index_type=="FUNCTION-BASED NORMAL")
  48612.                 {
  48613.                     s.ExprType = true;
  48614.                     for (i=0; i<IndexList.Count; i++)
  48615.                     {
  48616.                         IndexList.GetInterface( i ).ExprType = true;
  48617.                         IndexList.GetInterface( i ).Expression = Expression;
  48618.                     }
  48619.                 }
  48620.                     
  48621.                 s.Storage = cStorage;
  48622.                 s.SetUserVariable('UIndexOwner',i_schema);
  48623.                 if (Variables.lTableSpace)
  48624.                     s.SetUserVariable('IndexTablespace',i_tablespace)
  48625.  
  48626.                 IndexList.Clear();
  48627.             }
  48628.       }
  48629.        Query.Close();
  48630.     }
  48631.  
  48632.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48633. };
  48634.  
  48635. //--- Load Triggers -------------------------------------------------------------------------
  48636.  
  48637. if ( Variables.lTriggers )
  48638.     {
  48639.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  48640.  
  48641.     Query.SQL = 'SELECT TRIGGER_NAME,TABLE_OWNER,TABLE_NAME,DESCRIPTION,TRIGGER_BODY,';
  48642.     Query.SQL += 'TRIGGER_TYPE,TRIGGERING_EVENT,BASE_OBJECT_TYPE,COLUMN_NAME,REFERENCING_NAMES,WHEN_CLAUSE, ';
  48643.     if ( lAllObjects )
  48644.         Query.SQL += 'OWNER '
  48645.     else
  48646.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  48647.         
  48648.     Query.SQL += 'FROM '+cDataDict+'_TRIGGERS '
  48649.  
  48650.     if ( lAllObjects )
  48651.     {
  48652.         if ( ! lNotAllPFVP )
  48653.             Query.SQL += 'WHERE '+GetWhereCondition( 'OWNER' );
  48654.         else
  48655.             Query.SQL += 'WHERE '+GetWhereConditionSelected( 'OWNER' );
  48656.     }
  48657.  
  48658.     if ( Query.Open() )
  48659.         {
  48660.         while (! Query.Eof)
  48661.             {
  48662.             if (Query.GetFieldValue('BASE_OBJECT_TYPE')=='TABLE')
  48663.             {
  48664.             tsel = Schema.GetTable(Query.GetFieldValue( 'TABLE_OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  48665.             if (tsel != null)
  48666.             if (tsel.Selected)
  48667.             {
  48668.             Body = 'CREATE TRIGGER '+'"'+ Query.GetFieldValue('OWNER')+'"'+'.'+'"'+Query.GetFieldValue( 'TRIGGER_NAME' )+'"';
  48669.             if (Query.GetFieldValue('TRIGGER_TYPE').search( /BEFORE/i ) != -1)
  48670.                 Body += ' BEFORE ';
  48671.             if (Query.GetFieldValue('TRIGGER_TYPE').search( /AFTER/i ) != -1)
  48672.                 Body += ' AFTER ';
  48673.             if (Query.GetFieldValue('TRIGGER_TYPE').search( /INSTEAD/i ) != -1)
  48674.                 Body += ' INSTEAD OF ';
  48675.             Body += Query.GetFieldValue('TRIGGERING_EVENT')
  48676.             if (Query.GetFieldValue('TRIGGERING_EVENT').search( /UPDATE/i ) != -1)
  48677.             {
  48678.             Query2.SQL = 'SELECT TRIGGER_OWNER,TRIGGER_NAME,TABLE_OWNER,TABLE_NAME,COLUMN_LIST,COLUMN_NAME ';
  48679.             Query2.SQL += 'FROM '+cDataDict+'_TRIGGER_COLS '
  48680.             Query2.SQL += 'WHERE TRIGGER_OWNER=\''+Query.GetFieldValue('OWNER')+'\''
  48681.                             + ' AND TRIGGER_NAME=\''+Query.GetFieldValue('TRIGGER_NAME')+'\''
  48682.                             + ' AND TABLE_OWNER=\''+Query.GetFieldValue('TABLE_OWNER')+'\''
  48683.                             + ' AND TABLE_NAME=\''+Query.GetFieldValue('TABLE_NAME')+'\'';
  48684.             flag=0;
  48685.             if ( Query2.Open() )
  48686.             {
  48687.                 while (! Query2.Eof)
  48688.                 {
  48689.                     if (flag==0)
  48690.                     {
  48691.                         Body += ' OF '
  48692.                         flag=1;
  48693.                     }
  48694.                     else
  48695.                     {
  48696.                         if (Query2.GetFieldValue( 'COLUMN_LIST' ) == 'YES')
  48697.                             Body += ',';
  48698.                     }
  48699.                     if (Query2.GetFieldValue( 'COLUMN_LIST' ) == 'YES')
  48700.                         Body += '"'+Query2.GetFieldValue( 'COLUMN_NAME' )+'"';
  48701.                     Query2.Next();
  48702.                 }
  48703.                 Query2.Close();
  48704.             }
  48705.             } //end of UPDATE
  48706.             Body += '\n\tON '+'"'+Query.GetFieldValue('TABLE_OWNER')+'"'+'.'+'"'+Query.GetFieldValue('TABLE_NAME')+'"'+' ';
  48707.             Body += Query.GetFieldValue('REFERENCING_NAMES');
  48708.             if (Query.GetFieldValue('TRIGGER_TYPE').search( /EACH ROW/i ) != -1)
  48709.                 Body += ' FOR EACH ROW\n';
  48710.             else
  48711.                 Body += '\n';
  48712.             Body += Query.GetFieldValue( 'TRIGGER_BODY' );
  48713.  
  48714.            s = Schema.AddTrigger();
  48715.            s.TableSchema     = Query.GetFieldValue( 'TABLE_OWNER'    );
  48716.            s.TableName        = Query.GetFieldValue( 'TABLE_NAME'        );
  48717.            s.TriggerName    = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TRIGGER_NAME'    );
  48718.            s.Text            = Body+'\r\n'+cTerminator;
  48719.               } //end of tsel
  48720.               } // end if (Query.GetFieldValue('BASE_OBJECT_TYPE')=='TABLE')
  48721.               else
  48722.               {
  48723.             Body = 'CREATE TRIGGER '+Query.GetFieldValue( 'DESCRIPTION' )
  48724.                     + Query.GetFieldValue( 'TRIGGER_BODY' );              
  48725.            Schema.AfterScript += Body+'\r\n'+cTerminator+'\n\n';
  48726.               }
  48727.             Query.Next();
  48728.             };
  48729.         Query.Close();
  48730.         };
  48731.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48732.     };
  48733.  
  48734. //--- Load Views -------------------------------------------------------------------------
  48735.  
  48736. if ( Variables.lViews )
  48737.     {
  48738.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  48739.     
  48740.     SubQuery = Database.DefineQuery();
  48741.     Query.SQL = 'SELECT VIEW_NAME, TEXT, ';
  48742.     if ( lAllObjects )
  48743.         Query.SQL += 'OWNER '
  48744.     else
  48745.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  48746.  
  48747.     Query.SQL += 'FROM '+cDataDict+'_VIEWS ';
  48748.  
  48749.     if ( lAllObjects )
  48750.     {
  48751.         if ( ! lNotAllPFVP )
  48752.             Query.SQL += 'WHERE '+GetWhereCondition( 'OWNER' );
  48753.         else
  48754.             Query.SQL += 'WHERE '+GetWhereConditionSelected( 'OWNER' );
  48755.     }
  48756.  
  48757.     if ( Query.Open() )
  48758.         {
  48759.         while (! Query.Eof)
  48760.             {
  48761.             ViewName = Query.GetFieldValue( 'VIEW_NAME');
  48762.     
  48763.             SubQuery.SQL = 'SELECT COLUMN_NAME '
  48764.                              + 'FROM '+cDataDict+'_TAB_COLUMNS '
  48765.                              + 'WHERE TABLE_NAME=\''+ViewName+'\' '
  48766.                              + 'ORDER BY COLUMN_ID';
  48767.  
  48768.             if ( SubQuery.Open() )
  48769.                 {
  48770.                 ParamList = '';
  48771.                 while (! SubQuery.Eof)
  48772.                     {
  48773.                     if (ParamList != '')
  48774.                         ParamList += ','
  48775.  
  48776.                     ParamList += '"'+SubQuery.GetFieldValue( 'COLUMN_NAME' )+'"';
  48777.                     SubQuery.Next();
  48778.                     };
  48779.                     SubQuery.Close();
  48780.                     
  48781.                     ParamList = '('+ParamList+')';
  48782.                 };
  48783.  
  48784.             body    = 'CREATE VIEW '+'"'+Query.GetFieldValue( 'OWNER' )+'"'+'.'+'"'+ViewName+'"'+' '+ParamList+' AS\r\n'
  48785.                     + Query.GetFieldValue( 'TEXT'    );
  48786.  
  48787.            s = Schema.AddView();
  48788.            s.ViewName    = Query.GetFieldValue( 'OWNER' )+'.'+ViewName;
  48789.            s.Text        = body+'\r\n'+cTerminator;
  48790.  
  48791.             Query.Next();
  48792.             };
  48793.         Query.Close();
  48794.         };
  48795.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48796.     };
  48797.  
  48798. //--- Load procedures and functions ----------------------------------------------------------------------
  48799. if ( Variables.lProcedures    )
  48800.     {
  48801.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  48802.  
  48803.     Query.SQL  = 'SELECT DISTINCT NAME,TYPE,'
  48804.     
  48805.     if ( lAllObjects )
  48806.         Query.SQL += 'OWNER '
  48807.     else
  48808.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  48809.     
  48810.     Query.SQL += 'FROM '+cDataDict+'_SOURCE '
  48811.                  +  'WHERE (TYPE=\'PROCEDURE\' OR TYPE=\'FUNCTION\')';
  48812.  
  48813.     if ( lAllObjects )
  48814.     {
  48815.         if ( ! lNotAllPFVP )
  48816.             Query.SQL += ' AND '+GetWhereCondition( 'OWNER' );
  48817.         else
  48818.             Query.SQL += ' AND '+GetWhereConditionSelected( 'OWNER' );
  48819.     }
  48820.  
  48821.     Query.SQL += ' ORDER BY TYPE,OWNER';
  48822.  
  48823.     if ( Query.Open() )
  48824.         {
  48825.         while (! Query.Eof)
  48826.             {
  48827.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  48828.             if (Query.GetFieldValue('TYPE') == 'PROCEDURE')
  48829.             {
  48830.                 s = Schema.AddProcedure();
  48831.                 s.ProcedureName    = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'NAME' );
  48832.             }
  48833.             else
  48834.             {
  48835.                 s = Schema.AddTextObject();
  48836.                 s.TextObjectType = 10; //FUNCTIONS
  48837.                 s.TextObjectName    = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'NAME' );
  48838.             }
  48839.             text = AddSchemaInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'));
  48840.             s.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  48841.  
  48842.             Query.Next();
  48843.             };
  48844.  
  48845.         Query.Close();
  48846.         };
  48847.  
  48848.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48849.     };
  48850.  
  48851. //--- Load packages and body packages --------------------------------------------------------------
  48852.  
  48853. if ( Variables.lPackages )
  48854.     {
  48855.     Log.Writeln(  Translator.Translate( 'RE_PACKAGES',0 ) );
  48856.  
  48857.     Query.SQL = 'SELECT DISTINCT NAME,TYPE,'
  48858.  
  48859.     if ( lAllObjects )
  48860.         Query.SQL += 'OWNER '
  48861.     else
  48862.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  48863.  
  48864.     Query.SQL += 'FROM '+cDataDict+'_SOURCE '
  48865.                  +  'WHERE (TYPE=\'PACKAGE\' OR TYPE=\'PACKAGE BODY\')';
  48866.  
  48867.     if ( lAllObjects )
  48868.     {
  48869.         if ( ! lNotAllPFVP )
  48870.             Query.SQL += ' AND '+GetWhereCondition( 'OWNER' );
  48871.         else
  48872.             Query.SQL += ' AND '+GetWhereConditionSelected( 'OWNER' );
  48873.     }
  48874.  
  48875.     Query.SQL += ' ORDER BY TYPE,OWNER';
  48876.  
  48877.     if ( Query.Open() )
  48878.         {
  48879.         while (! Query.Eof)
  48880.             {
  48881.             text = text255(Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'),Query.GetFieldValue('TYPE'));
  48882.             s = Schema.AddTextObject();
  48883.             if (Query.GetFieldValue('TYPE') == 'PACKAGE')
  48884.                 s.TextObjectType = 20; //PACKAGES
  48885.             else
  48886.                 s.TextObjectType = 21; //PACKAGE BODIES
  48887.               s.TextObjectName    = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'NAME' );
  48888.             text = AddSchemaInText(text,Query.GetFieldValue('TYPE'),Query.GetFieldValue('OWNER'),Query.GetFieldValue('NAME'));
  48889.             s.Text = 'CREATE ' + text + '\n'+cTerminator+'\n';
  48890.  
  48891.             Query.Next();
  48892.             };
  48893.         Query.Close();
  48894.         };
  48895.  
  48896.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48897.     };
  48898.  
  48899. //--- Load synonyms --------------------------------------------------------------
  48900.  
  48901. if ( Variables.lSynonyms )
  48902.     {
  48903.     Log.Writeln(  Translator.Translate( 'RE_SYNONYMS',0 ) );
  48904.  
  48905.     Query.SQL = 'SELECT SYNONYM_NAME,TABLE_OWNER,TABLE_NAME,DB_LINK,';
  48906.  
  48907.     if ( lAllObjects )
  48908.         Query.SQL += 'OWNER '
  48909.     else
  48910.         Query.SQL += '\''+cUser+'\' AS OWNER ';
  48911.  
  48912.     Query.SQL += 'FROM '+cDataDict+'_SYNONYMS ';
  48913.  
  48914.     if ( lAllObjects )
  48915.     {
  48916.         if ( ! lNotAllPFVP )
  48917.             Query.SQL += 'WHERE '+GetWhereCondition( 'OWNER' );
  48918.         else
  48919.             Query.SQL += 'WHERE '+GetWhereConditionSelected( 'OWNER' );
  48920.     }
  48921.  
  48922.     if ( Query.Open() )
  48923.         {
  48924.         while (! Query.Eof)
  48925.             {
  48926.             s = Schema.AddTextObject();
  48927.             s.TextObjectType = 50; //SYNONYMS
  48928.               s.TextObjectName    = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'SYNONYM_NAME' );
  48929.               if (Query.GetFieldValue('OWNER') == 'PUBLIC')
  48930.                   text = 'CREATE PUBLIC SYNONYM "'+Query.GetFieldValue('SYNONYM_NAME')+'"'
  48931.                         +' FOR "'+Query.GetFieldValue('TABLE_OWNER')+'"."'+Query.GetFieldValue('TABLE_NAME')+'"';
  48932.             else
  48933.                 text = 'CREATE SYNONYM "'+Query.GetFieldValue('OWNER')+'"."'+Query.GetFieldValue('SYNONYM_NAME')+'"'
  48934.                         +' FOR "'+Query.GetFieldValue('TABLE_OWNER')+'"."'+Query.GetFieldValue('TABLE_NAME')+'"';
  48935.             if ( (Query.GetFieldValue('DB_LINK') != '') && (Query.GetFieldValue('DB_LINK') != null) )
  48936.                 text += '@'+Query.GetFieldValue('DB_LINK');
  48937.  
  48938.             s.Text = text + '\n'+cTerminator+'\n';
  48939.  
  48940.             Query.Next();
  48941.             };
  48942.         Query.Close();
  48943.         };
  48944.  
  48945.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  48946.     };
  48947.  
  48948. //--- Load sequences --------------------------------------------------------------
  48949.  
  48950. if ( Variables.lSequences )
  48951.     {
  48952.     Log.Writeln(  Translator.Translate( 'RE_SEQUENCES',0 ) );
  48953.  
  48954.     Query.SQL = 'SELECT SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,CYCLE_FLAG,ORDER_FLAG,'
  48955.                  + 'CACHE_SIZE,LAST_NUMBER,';
  48956.  
  48957.     if ( lAllObjects )
  48958.         Query.SQL += 'SEQUENCE_OWNER '
  48959.     else
  48960.         Query.SQL += '\''+cUser+'\' AS SEQUENCE_OWNER ';
  48961.  
  48962.     Query.SQL += 'FROM '+cDataDict+'_SEQUENCES ';
  48963.  
  48964.     if ( lAllObjects )
  48965.     {
  48966.         if ( ! lNotAllPFVP )
  48967.             Query.SQL += 'WHERE '+GetWhereCondition( 'SEQUENCE_OWNER' );
  48968.         else
  48969.             Query.SQL += 'WHERE '+GetWhereConditionSelected( 'SEQUENCE_OWNER' );
  48970.     }
  48971.  
  48972.     if ( Query.Open() )
  48973.         {
  48974.         while (! Query.Eof)
  48975.             {
  48976.             s = Schema.AddTextObject();
  48977.             s.TextObjectType = 40; //SEQUENCES
  48978.               s.TextObjectName    = Query.GetFieldValue( 'SEQUENCE_OWNER' )+'.'+Query.GetFieldValue( 'SEQUENCE_NAME' );
  48979.             text = 'CREATE SEQUENCE "'+Query.GetFieldValue('SEQUENCE_OWNER')+'"."'+Query.GetFieldValue('SEQUENCE_NAME')+'"'
  48980.                     +' INCREMENT BY '+Query.GetFieldValue('INCREMENT_BY')+' START WITH '+Query.GetFieldValue('LAST_NUMBER')
  48981.                     +' MAXVALUE '+Query.GetFieldValue('MAX_VALUE')+' MINVALUE '+Query.GetFieldValue('MIN_VALUE');
  48982.             if (Query.GetFieldValue('CYCLE_FLAG')=='N')
  48983.                 text += ' NOCYCLE';
  48984.             else
  48985.                 text += ' CYCLE';
  48986.             if (Query.GetFieldValue('CACHE_SIZE')==0)
  48987.                 text += ' NOCACHE';
  48988.             else
  48989.                 text += ' CACHE '+Query.GetFieldValue('CACHE_SIZE');
  48990.             if (Query.GetFieldValue('ORDER_FLAG')=='N')
  48991.                 text += ' NOORDER';
  48992.             else
  48993.                 text += ' ORDER';
  48994.  
  48995.             s.Text = text + '\n'+cTerminator+'\n';
  48996.  
  48997.             Query.Next();
  48998.             };
  48999.         Query.Close();
  49000.         };
  49001.  
  49002.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49003.     };
  49004.  
  49005. //--- Load permissions -----------------------------------------------------------------------------
  49006.  
  49007. if ( Variables.lPermissions )
  49008.     {
  49009.     Query.SQL = 'SELECT COUNT(*) '
  49010.                  +    'FROM ALL_VIEWS '
  49011.                  +    'WHERE (VIEW_NAME=\'DBA_USERS\') OR '
  49012.                  +            '(VIEW_NAME=\'DBA_ROLES\') OR '
  49013.                  +            '(VIEW_NAME=\'DBA_ROLE_PRIVS\') OR '
  49014.                  +            '(VIEW_NAME=\'DBA_TAB_PRIVS\')';
  49015.                  
  49016.     if ( Query.Open() )
  49017.         {
  49018.         lDbaPermission = (Query.GetFieldValue( 'COUNT(*)' ) == 4);
  49019.         Query.Close();
  49020.         };
  49021.     
  49022.     if (lDbaPermission)
  49023.         {
  49024.         //--- Load users -----------------------------------------------------------------------------
  49025.         Log.Writeln(  Translator.Translate( 'RE_USERS',0 ) );
  49026.  
  49027.         Query.SQL =    'SELECT USERNAME,USER_ID '
  49028.                      +    'FROM DBA_USERS';
  49029.  
  49030.         if ( Query.Open() )
  49031.             {
  49032.             while (! Query.Eof)
  49033.                 {
  49034.                s = Schema.AddUser()
  49035.                s.UserName = Query.GetFieldValue( 'USERNAME' );
  49036.  
  49037.               Query.Next();
  49038.               };
  49039.            Query.Close();
  49040.            };
  49041.     
  49042.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49043.         //--- Load roles -----------------------------------------------------------------------------
  49044.         Log.Writeln(  Translator.Translate( 'RE_ROLES',0 ) );
  49045.  
  49046.         Query.SQL =    'SELECT ROLE '
  49047.                      +    'FROM DBA_ROLES';
  49048.  
  49049.         if ( Query.Open() )
  49050.             {
  49051.             while (! Query.Eof)
  49052.                 {
  49053.                s = Schema.AddRole();
  49054.               s.RoleName = Query.GetFieldValue( 'ROLE' );
  49055.  
  49056.               Query.Next();
  49057.               };
  49058.            Query.Close();
  49059.            };
  49060.  
  49061.         Query.SQL =    'SELECT GRANTEE,GRANTED_ROLE '
  49062.                      +    'FROM DBA_ROLE_PRIVS';
  49063.  
  49064.         if ( Query.Open() )
  49065.             {
  49066.             while (! Query.Eof)
  49067.                 {
  49068.                s = Schema.AddRoleToUser();
  49069.               s.UserName = Query.GetFieldValue( 'GRANTEE'          );
  49070.               s.RoleName = Query.GetFieldValue( 'GRANTED_ROLE' );
  49071.  
  49072.               Query.Next();
  49073.               };
  49074.            Query.Close();
  49075.            };
  49076.  
  49077.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49078.         //--- Load table permissions ---------------------------------------------------------------------
  49079.         Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  49080.  
  49081.         Query.SQL =    'SELECT TA.TABLE_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  49082.                      +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT,'
  49083.  
  49084.         if ( lAllObjects )
  49085.             Query.SQL += 'TA.OWNER '
  49086.         else
  49087.             Query.SQL += '\''+cUser+'\' AS OWNER ';
  49088.  
  49089.          Query.SQL += 'FROM DBA_TAB_PRIVS PR,'+cDataDict+'_TABLES TA '
  49090.                        + 'WHERE TA.TABLE_NAME=PR.TABLE_NAME';
  49091.  
  49092.         if ( lAllObjects )
  49093.             Query.SQL += ' AND TA.OWNER=PR.OWNER AND '+GetWhereConditionSelected( 'TA.OWNER' )
  49094.         else
  49095.             Query.SQL +=  ' AND PR.OWNER=\''+cUser+'\'';
  49096.  
  49097.         Query.SQL += ' ORDER BY ';
  49098.         if ( lAllObjects )
  49099.             Query.SQL += 'TA.OWNER,';
  49100.         Query.SQL += 'TA.TABLE_NAME,PR.GRANTEE';
  49101.  
  49102.         if ( Query.Open() )
  49103.             {
  49104.             UserName = '';
  49105.  
  49106.             while (! Query.Eof)        
  49107.                 {
  49108.                 tsel = Schema.GetTable(Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME' ));
  49109.                 if (tsel != null)
  49110.                 if (tsel.Selected)
  49111.                 {
  49112.                 comp = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('TABLE_NAME')+'.'+Query.GetFieldValue('GRANTEE');
  49113.                 if (UserName != comp)
  49114.                     {
  49115.                       if (Query.GetFieldValue( 'COUNT' ) == 0)
  49116.                           {
  49117.                        s = Schema.AddUserPermission()
  49118.                        s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  49119.                         }
  49120.                    else    
  49121.                         {
  49122.                        s = Schema.AddRolePermission();
  49123.                        s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  49124.                         };
  49125.                         
  49126.                    s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  49127.                       s.ObjectName        = Query.GetFieldValue( 'TABLE_NAME'    );
  49128.                     s.ObjectType         = 0    // 0 == Table
  49129.                     
  49130.                     UserName = comp;
  49131.                    };
  49132.  
  49133.                switch ( Query.GetFieldValue( 'PRIVILEGE' ) )
  49134.                    {
  49135.                    case 'SELECT':            s.Select    = true; break;
  49136.                    case 'INSERT':            s.Insert    = true; break;
  49137.                    case 'UPDATE':            s.Update    = true; break;
  49138.                    case 'DELETE':            s.Delete    = true; break;
  49139.                    case 'REFERENCES':    s.DRI        = true; break;
  49140.                    };
  49141.                 }
  49142.               Query.Next();
  49143.               };
  49144.            Query.Close();
  49145.            };
  49146.  
  49147.         //--- Load view permissions ---------------------------------------------------------------------
  49148.         if (Variables.lViews)
  49149.             {
  49150.             Query.SQL =    'SELECT VI.VIEW_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  49151.                          +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT,'
  49152.  
  49153.             if ( lAllObjects )
  49154.                 Query.SQL += 'VI.OWNER '
  49155.             else
  49156.                 Query.SQL += '\''+cUser+'\' AS OWNER ';
  49157.  
  49158.             Query.SQL +='FROM DBA_TAB_PRIVS PR,'+cDataDict+'_VIEWS VI '
  49159.                          + 'WHERE VI.VIEW_NAME=PR.TABLE_NAME ';
  49160.  
  49161.             if ( lAllObjects )
  49162.             {
  49163.                 if ( ! lNotAllPFVP )
  49164.                     Query.SQL += ' AND VI.OWNER=PR.OWNER AND '+GetWhereCondition( 'VI.OWNER' )
  49165.                 else
  49166.                     Query.SQL += ' AND VI.OWNER=PR.OWNER AND '+GetWhereConditionSelected( 'VI.OWNER' )
  49167.             }
  49168.             else    
  49169.                 Query.SQL +=  ' AND PR.OWNER=\''+cUser+'\'';
  49170.  
  49171.             Query.SQL += ' ORDER BY ';
  49172.             if ( lAllObjects )
  49173.                 Query.SQL += 'VI.OWNER,';
  49174.             Query.SQL += 'VI.VIEW_NAME,PR.GRANTEE';
  49175.  
  49176.             if ( Query.Open() )
  49177.                 {
  49178.                 UserName = '';
  49179.  
  49180.                 while (! Query.Eof)        
  49181.                     {
  49182.                     comp = Query.GetFieldValue('OWNER')+'.'+Query.GetFieldValue('VIEW_NAME')+'.'+Query.GetFieldValue('GRANTEE');
  49183.                     if (UserName != comp )
  49184.                         {
  49185.                           if (Query.GetFieldValue( 'COUNT' ) == 0)
  49186.                               {
  49187.                            s = Schema.AddUserPermission()
  49188.                            s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  49189.                             }
  49190.                        else    
  49191.                             {
  49192.                            s = Schema.AddRolePermission();
  49193.                            s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  49194.                             };
  49195.                         
  49196.                        s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  49197.                           s.ObjectName        = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'VIEW_NAME' );
  49198.                         s.ObjectType         = 3    // 3 == Views
  49199.                         
  49200.                         UserName = comp;
  49201.                        };
  49202.     
  49203.                    switch ( Query.GetFieldValue( 'PRIVILEGE' ) )
  49204.                        {
  49205.                        case 'SELECT':            s.Select    = true; break;
  49206.                        case 'INSERT':            s.Insert    = true; break;
  49207.                        case 'UPDATE':            s.Update    = true; break;
  49208.                        case 'DELETE':            s.Delete    = true; break;
  49209.                        case 'REFERENCES':    s.DRI        = true; break;
  49210.                        };
  49211.                   Query.Next();
  49212.                   };
  49213.                Query.Close();
  49214.                };
  49215.             };
  49216.         //--- Load procedure -----------------------------------------------------------
  49217.         if (Variables.lProcedures || Variables.lPackages)
  49218.             {
  49219.             Query.SQL =    'SELECT PR.OWNER,PR.TABLE_NAME,PR.PRIVILEGE,PR.GRANTEE,'
  49220.                          +         '(SELECT COUNT(*) FROM DBA_ROLES RO WHERE RO.ROLE=PR.GRANTEE) AS COUNT '
  49221.  
  49222.             Query.SQL += 'FROM DBA_TAB_PRIVS PR '
  49223.                          +  'WHERE ';
  49224.  
  49225.             if ( lAllObjects )
  49226.             {
  49227.                 if ( ! lNotAllPFVP )
  49228.                     Query.SQL += GetWhereCondition('PR.OWNER')+' AND '
  49229.                 else
  49230.                     Query.SQL += GetWhereConditionSelected('PR.OWNER')+' AND ';
  49231.             }
  49232.  
  49233.             Query.SQL += '(PR.PRIVILEGE=\'EXECUTE\')';
  49234.  
  49235.             if ( Query.Open() )
  49236.                 {
  49237.                 while (! Query.Eof)
  49238.                     {
  49239.                       if (Query.GetFieldValue( 'COUNT' ) == 0)
  49240.                           {
  49241.                        s = Schema.AddUserPermission()
  49242.                        s.UserName    = Query.GetFieldValue( 'GRANTEE'    );
  49243.                         }
  49244.                    else
  49245.                         {
  49246.                        s = Schema.AddRolePermission();
  49247.                        s.RoleName    = Query.GetFieldValue( 'GRANTEE'    );
  49248.                         };
  49249.                         
  49250.                    s.ObjectSchema        = Query.GetFieldValue( 'OWNER'        );
  49251.                       s.ObjectName        = Query.GetFieldValue( 'OWNER' )+'.'+Query.GetFieldValue( 'TABLE_NAME'    );
  49252.                     s.ObjectType         = 1;    // 1 == Procedure
  49253.                    s.Execute            = true;
  49254.  
  49255.                   Query.Next();
  49256.                   };
  49257.                Query.Close();
  49258.                 };
  49259.             };
  49260.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49261.         }
  49262.     else    
  49263.         Log.Writeln( Translator.Translate( 'W_NO_DBA',0 ) );
  49264.     };
  49265.     
  49266. //-----------------------------------------------------------------------------------------
  49267.  
  49268. Schema.Run();    
  49269. };
  49270.  
  49271. //===========================================================================================
  49272.  
  49273. function GetWhereCondition( FieldName )
  49274. {
  49275. var Result = '';
  49276.  
  49277. for (t in aOwners)
  49278.     {
  49279.     if (Result != '')
  49280.         Result += ' OR ';
  49281.     Result += FieldName+'=\''+aOwners[ t ]+'\'';
  49282.     };
  49283.  
  49284. return( '('+Result+')' );      
  49285. };
  49286. //-----------------------------------------
  49287. function GetWhereConditionSelected( FieldName )
  49288. {
  49289. var Result = '';
  49290.  
  49291. for (t in aOwnersSelected)
  49292.     {
  49293.     if (Result != '')
  49294.         Result += ' OR ';
  49295.     Result += FieldName+'=\''+aOwnersSelected[ t ]+'\'';
  49296.     };
  49297.  
  49298. return( '('+Result+')' );      
  49299. };
  49300.  
  49301. //===========================================================================================
  49302.  
  49303. function Disconnect()
  49304. {
  49305. Database.Disconnect();
  49306. };
  49307.  
  49308. //===========================================================================================
  49309.  
  49310. function text255(owner,name,type)
  49311. {
  49312.     var Query_text = Database.DefineQuery();
  49313.     Query_text.SQL = 'select OWNER, NAME, LINE, TEXT '
  49314.                          + 'from ALL_SOURCE '
  49315.                          + 'where OWNER=\''+owner+'\' and NAME=\''+name+'\' and TYPE=\''+type+'\' '
  49316.                          + 'order by LINE';
  49317.  
  49318.     if ( Query_text.Open() )
  49319.     {
  49320.         text = '';
  49321.         while (!Query_text.Eof)
  49322.         {
  49323.             if (Query_text.GetFieldValue('TEXT')!=null)
  49324.             {
  49325.                 text = text + Query_text.GetFieldValue('TEXT');
  49326.                if (Query_text.GetFieldValue('TEXT').length<255)
  49327.                     text = text + ' ';
  49328.             }
  49329.             else
  49330.                 text = text + ' ';
  49331.             Query_text.Next();
  49332.         }
  49333.         Query_text.Close();
  49334.     }
  49335.     return text;
  49336. }
  49337.  
  49338. //===========================================================================================
  49339.  
  49340. function AddSchemaInText(text,type,owner,name)
  49341. {
  49342.     var regexpr = new RegExp(type,"i");
  49343.     ord = text.search( regexpr );
  49344.     temp = text.substr(ord+type.length);
  49345.     temp = TrimLeft(temp);
  49346.     if (name==null)
  49347.         temp = type+' "'+owner+'".'+temp;
  49348.     else
  49349.     {
  49350.         if (temp.charAt(0)=='"')
  49351.             temp = temp.substr(name.length+2);
  49352.         else
  49353.             temp = temp.substr(name.length);
  49354.         temp = type+' "'+owner+'"."'+name+'" '+temp;
  49355.     }
  49356.     return temp;
  49357. }
  49358. ]]></VALUE>
  49359. <LANGUAGE>1</LANGUAGE>
  49360. <LANGUAGEWIN>---</LANGUAGEWIN>
  49361. <CATEGORY>6</CATEGORY>
  49362. <MAINSCRIPT>0</MAINSCRIPT>
  49363. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  49364. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  49365. <AUTHOR></AUTHOR>
  49366. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  49367. <VERSION>1.0</VERSION>
  49368. <CREATED><DATE>5/20/2002</DATE><TIME>17:13:50</TIME></CREATED>
  49369. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  49370. </TEMPLATE>
  49371. <TEMPLATE>
  49372. <NAME>Oracle9i</NAME>
  49373. <ID>49</ID>
  49374. <GUID>{747BD642-116B-4193-9841-148E56D83C46}</GUID>
  49375. <CAPTION>Oracle9i</CAPTION>
  49376. <PACKAGEGUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</PACKAGEGUID>
  49377. <ENABLED>1</ENABLED>
  49378. <LEVEL>0</LEVEL>
  49379. <IDPARENT>0</IDPARENT>
  49380. <VALUE><![CDATA[function Connect()
  49381. {
  49382. Translator.DefaultLng = 'csy';
  49383. ReadVocabulary();
  49384. Scripting.Oracle9i_main.Connect();
  49385. };
  49386.  
  49387. //======================================================================
  49388.  
  49389. function Main()
  49390. {
  49391. Scripting.Oracle9i_main.Main();
  49392. };
  49393.  
  49394. //======================================================================
  49395.  
  49396. function Disconnect()
  49397. {
  49398. Scripting.Oracle9i_main.Disconnect();
  49399. };
  49400.  
  49401. //======================================================================
  49402.  
  49403. function DefineVariables()
  49404. {
  49405. Schema.DatabaseId = 200;
  49406.  
  49407. Variables.DefineVariable( 'lAllObjects',    'NaΦφst vÜechny dostupnΘ objekty "ALL_"',    1 );
  49408. Variables.lAllObjects    = true;
  49409. Variables.DefineVariable( 'lNotAllPFVP',    'NaΦφst pouze procedury, funkce, pohledy a balφΦky pro vybranΘ schema',    1 );
  49410. Variables.lNotAllPFVP    = true;
  49411. Variables.DefineVariable( 'lNotAllObjTyp','NaΦφst pouze pou₧itΘ u₧ivatelskΘ typy', 1 );
  49412. Variables.lNotAllObjTyp    = true;
  49413. Variables.DefineVariable( 'lTableSpace',    'NaΦφst table space k tabulkßm, index∙m a constraint∙m',    1 );
  49414. Variables.lTableSpace    = false;
  49415. Variables.DefineVariable( 'lTableStorage','NaΦφst storage parametry k tabulkßm',    1 );
  49416. Variables.lTableStorage    = false;
  49417. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',                1 );
  49418. Variables.lCheckCon        = true;
  49419. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',                1 );
  49420. Variables.lUniCon            = true;
  49421. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                                 1 );
  49422. Variables.lIndexes        = true;
  49423. Variables.DefineVariable( 'lIndexStorage','NaΦφst storage parametry k index∙m',    1 );
  49424. Variables.lIndexStorage    = false;
  49425. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                            1 );
  49426. Variables.lTriggers        = true;
  49427. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury a funkce',            1 );
  49428. Variables.lProcedures    = true;
  49429. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                                1 );
  49430. Variables.lViews            = true;
  49431. Variables.DefineVariable( 'lPackages',        'NaΦφst balφΦky a t∞la balφΦk∙',            1 );
  49432. Variables.lPackages        = true;
  49433. Variables.DefineVariable( 'lSynonyms',        'NaΦφst synonyma', 1 );
  49434. Variables.lSynonyms        = true;
  49435. Variables.DefineVariable( 'lSequences',    'NaΦφst sequence', 1 );
  49436. Variables.lSequences        = true;
  49437. Variables.DefineVariable( 'lPermissions',    'NaΦφst u₧ivatele, skupiny a prßva',    1 );
  49438. Variables.lPermissions    = true;
  49439. Variables.DefineVariable( 'cTerminator',    'Terminator pro procedury, pohledy, atd.:', 0 );
  49440. Variables.cTerminator    = '\x2F'
  49441. };
  49442.  
  49443. //======================================================================
  49444.  
  49445. function ReadVocabulary()
  49446. {
  49447. Translator.Add( 'W_NO_DBA',    'Upozorn∞nφ: Nelze naΦφst u₧ivatelΘ a skupiny. Nemßte prßvo SELECT_ANY_TALBLE!' );
  49448. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  49449. };
  49450. ]]></VALUE>
  49451. <LANGUAGE>1</LANGUAGE>
  49452. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  49453. <CATEGORY>6</CATEGORY>
  49454. <MAINSCRIPT>1</MAINSCRIPT>
  49455. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  49456. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  49457. <AUTHOR></AUTHOR>
  49458. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  49459. <VERSION>1.0</VERSION>
  49460. <CREATED><DATE>5/20/2002</DATE><TIME>17:14:09</TIME></CREATED>
  49461. <MODIFIED><DATE>9/2/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  49462. </TEMPLATE>
  49463. <TEMPLATE>
  49464. <NAME>PostgreSQL73beta</NAME>
  49465. <ID>50</ID>
  49466. <GUID>{0CDA24A5-A0B5-44F9-86F2-F6E0DE7E9B44}</GUID>
  49467. <CAPTION>PostgreSQL7.3(beta)</CAPTION>
  49468. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  49469. <ENABLED>1</ENABLED>
  49470. <LEVEL>0</LEVEL>
  49471. <IDPARENT>0</IDPARENT>
  49472. <VALUE><![CDATA[function Connect()
  49473. {
  49474. Translator.DefaultLng = 'csy';
  49475. ReadVocabulary();
  49476. Scripting.PostgreSQL73beta_main.Connect();
  49477. };
  49478.  
  49479. //======================================================================
  49480.  
  49481. function Main()
  49482. {
  49483. Scripting.PostgreSQL73beta_main.Main();
  49484. };
  49485.  
  49486. //======================================================================
  49487.  
  49488. function Disconnect()
  49489. {
  49490. Scripting.PostgreSQL73beta_main.Disconnect();
  49491. };
  49492.  
  49493. //======================================================================
  49494.  
  49495. function DefineVariables()
  49496. {
  49497. Schema.DatabaseId = 280;
  49498.  
  49499. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',                1 );
  49500. Variables.lCheckCon        = true;
  49501. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',                1 );
  49502. Variables.lUniCon            = true;
  49503. Variables.DefineVariable( 'lRefInt',        'NaΦφst refenΦnφ integritu',                1 );
  49504. Variables.lRefInt            = true;
  49505. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                                 1 );
  49506. Variables.lIndexes        = true;
  49507. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                            1 );
  49508. Variables.lTriggers        = true;
  49509. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury a funkce',            1 );
  49510. Variables.lProcedures    = true;
  49511. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                                1 );
  49512. Variables.lViews            = true;
  49513. Variables.DefineVariable( 'lPermissions',    'NaΦφst u₧ivatele, skupiny a prßva',    1 );
  49514. Variables.lPermissions    = true;
  49515. Variables.DefineVariable( 'lDescriptions','NaΦφst popisy',                                1 );
  49516. Variables.lDescriptions    = true;
  49517. };
  49518.  
  49519. //======================================================================
  49520.  
  49521. function ReadVocabulary()
  49522. {
  49523. Translator.Add( 'RE_DESC_NS', 'Tato verze PostgreSQL neumo₧≥uje naΦtenφ popis∙' );
  49524. };
  49525. ]]></VALUE>
  49526. <LANGUAGE>1</LANGUAGE>
  49527. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  49528. <CATEGORY>6</CATEGORY>
  49529. <MAINSCRIPT>1</MAINSCRIPT>
  49530. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  49531. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  49532. <AUTHOR></AUTHOR>
  49533. <COMPANY></COMPANY>
  49534. <VERSION></VERSION>
  49535. <CREATED><DATE>9/3/2001</DATE><TIME>11:04:16</TIME></CREATED>
  49536. <MODIFIED><DATE>8/21/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  49537. </TEMPLATE>
  49538. <TEMPLATE>
  49539. <NAME>PostgreSQL73beta_main</NAME>
  49540. <ID>51</ID>
  49541. <GUID>{CBE94394-782F-48B9-BB21-A3781E427202}</GUID>
  49542. <CAPTION>PostgreSQL7.3(beta)_main</CAPTION>
  49543. <PACKAGEGUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</PACKAGEGUID>
  49544. <ENABLED>1</ENABLED>
  49545. <LEVEL>0</LEVEL>
  49546. <IDPARENT>0</IDPARENT>
  49547. <VALUE><![CDATA[//==== Function Connect() ========
  49548.  
  49549. function Connect()
  49550. {
  49551. var Query, t;
  49552.  
  49553. Scripting.RE_Dictionary.ReadVocabulary();
  49554. Schema.ClearTables();
  49555. Schema.Terminator = ';';
  49556.  
  49557. if ( Database.Connect() )
  49558. {
  49559.     QVer = Database.DefineQuery();
  49560.     QVer.SQL = "SELECT version()";
  49561.     var sVersion;
  49562.     
  49563.     if (QVer.Open())
  49564.     {
  49565.         sVersion = QVer.GetFieldValue('version');
  49566.         QVer.Close();
  49567.         Log.Writeln(sVersion);
  49568.     }
  49569.     
  49570.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  49571.     
  49572.     Query      = Database.DefineQuery();
  49573.     Query.SQL = "SELECT * FROM pg_tables WHERE pg_tables.tablename not Like 'pg_%' ORDER BY tablename;";
  49574.  
  49575.     if ( Query.Open() )
  49576.     {
  49577.         while (! Query.Eof)
  49578.         {
  49579.            t = Schema.AddTable();
  49580.            t.TableSchema = Query.GetFieldValue( 'tableowner' );
  49581.             t.TableName   = Query.GetFieldValue( 'tablename'  );
  49582.            t.Id          = t.TableSchema+'.'+t.TableName;
  49583.            t.Selected    = true;
  49584.     
  49585.             Query.Next();
  49586.         }
  49587.         Query.Close();
  49588.     }
  49589.     else
  49590.         Database.Disconnect();
  49591.         
  49592.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49593.     };
  49594. };
  49595.  
  49596. //==== Function Main(x,x) ========
  49597.  
  49598. function Main( TableCatalog,TableSchema )
  49599. {
  49600. var Query = Database.DefineQuery();
  49601. var QTemp = Database.DefineQuery();
  49602. var nPos, Args, s, i, Body, Length, MatchType;
  49603.  
  49604. Schema.Clear();
  49605.  
  49606. if (Variables.lDescriptions)
  49607.     {
  49608.     var lDescription = false;
  49609.     Query.SQL = "SELECT count(*) "
  49610.                  + "FROM pg_class c, pg_attribute a "
  49611.                  + "WHERE c.relname = 'pg_description' AND "
  49612.                  +       "a.attname = 'objsubid' AND "
  49613.                  +       "a.attrelid=c.oid";
  49614.     if ( Query.Open() )
  49615.         {
  49616.         lDescription = (Query.GetFieldValue( 'count' ) != 0);
  49617.         Query.Close();
  49618.         };
  49619.     
  49620.     if ( !lDescription )
  49621.         {
  49622.         Variables.lDescriptions = false;
  49623.         Log.Writeln( Translator.Translate( 'RE_DESC_NS',0 ) );
  49624.         };
  49625.     };
  49626.     
  49627. //--- Load Table Descriptions ------------------------------------------------
  49628. if (Variables.lDescriptions)
  49629.     {
  49630.     Query.SQL = "SELECT t.tableowner, t.tablename, d.description "
  49631.                  + "FROM pg_class c, pg_tables t, pg_description d "
  49632.                  +    "WHERE d.objsubid='0' AND "
  49633.                  +            "t.tablename not Like 'pg_%' AND "
  49634.                  +            "c.relname=t.tablename AND "
  49635.                  +            "d.objoid=c.oid";
  49636.  
  49637.     if ( Query.Open() )
  49638.         {
  49639.         while (! Query.Eof)
  49640.             {
  49641.             if (( s = Schema.GetTable( Query.GetFieldValue('tableowner')+"."+Query.GetFieldValue('tablename') ) ) != null)
  49642.                 s.Description = Query.GetFieldValue('description');
  49643.             Query.Next();
  49644.             };
  49645.         Query.Close();
  49646.         };
  49647.     };        
  49648.  
  49649. //--- Load User-defined types & Domains -------------------------------------
  49650.     
  49651.     Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  49652.     
  49653.     Query.SQL =    "SELECT DISTINCT y.typname, y.typbyval, y.typtype, y.typtypmod, y.typbasetype, y.typinput, y.typoutput, y.typlen, y.typelem, y.typdelim, y.typalign, y.typstorage, y.typdefault "
  49654.                 + "FROM pg_class c, pg_tables t, pg_type y, pg_attribute a "
  49655.                  + "WHERE (t.tablename NOT LIKE 'pg_%') AND "
  49656.                  + "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  49657.                  + "(c.relname = t.tablename) AND (a.atttypid = y.oid) AND y.oid > 16000 order by typname";
  49658.     
  49659.     var typname, byval, typtype, dtype, btype, ifun, ofun, ilen, elm, dlm, alng, strg, dft, tm;
  49660.                  
  49661.     if (Query.Open())
  49662.     {
  49663.         while (!Query.Eof)
  49664.         {        
  49665.             typename = Query.GetFieldValue('typname');
  49666.             byval        = Query.GetFieldValue('typbyval');
  49667.             typtype  = Query.GEtFieldValue('typtype');
  49668.              typemode    = Query.GetFieldValue('typtypmod');
  49669.              btype     = Query.GetFieldValue('typbasetype');
  49670.              ifun         = Query.GetFieldValue('typinput');
  49671.             ofun         = Query.GetFieldValue('typoutput');
  49672.             ilen         = Query.GetFieldValue('typlen');
  49673.             elm          = Query.GetFieldValue('typelem');
  49674.             dlm          = Query.GetFieldValue('typdelim');
  49675.             alng         = Query.GetFieldValue('typalign');
  49676.             strg         = Query.GetFieldValue('typstorage');
  49677.             dft          = Query.GetFieldValue('typdefault');
  49678.             tm = ',\n';
  49679.     
  49680.             s         = Schema.AddDictType();      //Adding dicttype
  49681.             s.ID     = Query.GetFieldValue('typname');
  49682.              s.DictTypeName    = typename;         
  49683.              
  49684.              if (typtype=='d')      
  49685.              //-------- Domain    type ------------            
  49686.             {                                         
  49687.                 QTemp.SQL = "SELECT typname FROM pg_type WHERE oid = " + btype;
  49688.                 
  49689.                 if (QTemp.Open())                // Return basetype name
  49690.                 {
  49691.                     btype = QTemp.GetFieldValue('typname');
  49692.                     QTemp.Close();
  49693.                 }    
  49694.                 
  49695.                 s.DataType = GetDataType(btype); 
  49696.                 s.Default = dft;
  49697.                 
  49698.                 Length = typemode;
  49699.                                 
  49700.                 if (Length != -1)
  49701.                     switch (s.DataType)
  49702.                     {
  49703.                         // Numeric
  49704.                        case 40    :    s.Length  = Math.ceil( Length/65536 )-1;
  49705.                                        s.Decimal = Length%65536-4;
  49706.                                         break;
  49707.                         // Float4
  49708.                        case 60    :    s.Length  = Math.ceil( Length/65536 )-1;
  49709.                                        s.Decimal = Length%65536-4;
  49710.                                         break;
  49711.                         // Float8                                                                        
  49712.                        case 70    :    s.Length  = Math.ceil( Length/65536 )-1;
  49713.                                        s.Decimal = Length%65536-4;
  49714.                                         break;
  49715.                         // Char
  49716.                         case 100    :    s.Length = Length-4;
  49717.                                         break;
  49718.                         // Varchar
  49719.                        case 110    :    s.Length = Length-4;
  49720.                                        break;
  49721.                         // Other data type
  49722.                         case 310    :  break;
  49723.                        default     :    s.Length = Length;
  49724.                     }
  49725.             }    
  49726.             else
  49727.             //-------- User-defined type ------------ 
  49728.             {
  49729.                 s.DataType = 310;               // Other data type
  49730.                 s.UserDataType = typename;
  49731.                         
  49732.                 s2 = Schema.AddTextObject(); // Adding User-defined type text object
  49733.                 s2.TextObjectType = 20; 
  49734.                 s2.TextObjectName = typename;
  49735.                 s2.Text = 'Create type ' + typename + '\n' + '(' + '\n';
  49736.                         
  49737.                 s2.Text += 'input = ' + ifun + tm    // Input function
  49738.                           + 'output = ' + ofun + tm    // Output function
  49739.                           + 'internallength = ';        
  49740.                 
  49741.                 if (ilen != -1)                              // Internall length 
  49742.                     s2.Text += ilen + tm;
  49743.                 else 
  49744.                     s2.Text += 'variable' + tm;
  49745.     
  49746.                 if (dft!= '')                                // Default value
  49747.                     s2.Text += 'default = ' + dft + tm;
  49748.                 
  49749.                 if (elm != 0)                                // Get element data type 
  49750.                 {                                
  49751.                     QTemp.SQL = "SELECT typname FROM pg_type WHERE oid = " + elm;
  49752.                 
  49753.                     if (QTemp.Open())
  49754.                     {
  49755.                         elm = QTemp.GetFieldValue('typname');
  49756.                         QTemp.Close();
  49757.                     }    
  49758.                 
  49759.                     s2.Text += 'element = ' + elm + tm    // Element + delimiter    
  49760.                               + 'delimiter = \'' + dlm + '\'' + tm    ;
  49761.                 }            
  49762.             
  49763.                 switch (alng)                      // Get aligment type
  49764.                 {
  49765.                     case 'c': alng = 'char'; break;
  49766.                     case 's': alng = 'short'; break;
  49767.                     case 'i': alng = 'int'; break;
  49768.                     case 'd': alng = 'double'; break;
  49769.                 }
  49770.                 switch (strg)                      // Get storage type
  49771.                 {
  49772.                     case 'p': strg = 'plain'; break;
  49773.                     case 'e': strg = 'external'; break;
  49774.                     case 'm': strg = 'main'; break;
  49775.                     case 'x': strg = 'extended'; break;
  49776.                 }        
  49777.                 
  49778.                 if (byval > 0)                        // Reference byvalue
  49779.                     s2.Text += 'passedbyvalue' + tm; 
  49780.                                             
  49781.                 s2.Text += 'alignment = ' + alng + tm
  49782.                           + 'storage = ' + strg + '\n)'
  49783.                           + Schema.Terminator;
  49784.             }  
  49785.             Query.Next();
  49786.         }
  49787.         Query.Close();
  49788.     }
  49789.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49790.     
  49791. //--- Load Columns --------------------------------------------------------------------------
  49792.  
  49793. Log.Writeln( Translator.Translate( 'RE_COLUMNS',0 ) );
  49794.  
  49795. if (Variables.lDescriptions)
  49796.     Query.SQL = "SELECT t.tableowner,t.tablename,a.attnum,a.attname,a.attnotnull,a.atttypmod,y.typname,f.adsrc,d.description "
  49797.                  + "FROM pg_class c, pg_tables t, pg_type y, "
  49798.                         + "pg_attribute a LEFT JOIN pg_attrdef f ON (f.adrelid=a.attrelid and f.adnum=a.attnum) "
  49799.                           + "LEFT JOIN pg_description d ON (a.attrelid=d.objoid and a.attnum=d.objsubid) "
  49800.                  + "WHERE (t.tablename NOT LIKE 'pg_%') AND "
  49801.                  +            "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  49802.                  +           "(c.relname=t.tablename) AND (a.atttypid=y.oid)"
  49803. else
  49804.     Query.SQL = "SELECT t.tableowner,t.tablename,a.attnum,a.attname,a.attnotnull,a.atttypmod,y.typname,d.adsrc,'' as description "
  49805.                  +    "FROM pg_class c, pg_tables t, pg_type y,"
  49806.                  +          "pg_attribute a LEFT JOIN pg_attrdef d ON (d.adrelid=a.attrelid and d.adnum=a.attnum) "
  49807.                  +    "WHERE (t.tablename NOT LIKE \'pg_%\') AND "
  49808.                +            "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  49809.                  +       "(c.relname=t.tablename) AND (a.atttypid=y.oid)";
  49810.  
  49811. Query.Open()
  49812. while (! Query.Eof)
  49813.     {
  49814.     s = Schema.AddColumn();
  49815.     
  49816.     s.Ordinal        = Query.GetFieldValue( 'attnum' );
  49817.       s.TableSchema  = Query.GetFieldValue( 'tableowner' );
  49818.     s.TableName     = Query.GetFieldValue( 'tablename' );
  49819.     s.ColumnName   = Query.GetFieldValue( 'attname' );
  49820.     s.Default        = Query.GetFieldValue( 'adsrc' );
  49821.     s.Nullable        = Query.GetFieldValue( 'attnotnull' ) == false;
  49822.     s.DataType        = GetDataType( Query.GetFieldValue( 'typname' ) );
  49823.     s.Description  = Query.GetFieldValue( 'description' );
  49824.  
  49825.     Length = Query.GetFieldValue( 'atttypmod' );
  49826.  
  49827.     if (Length != -1)
  49828.         switch (s.DataType)
  49829.         {
  49830.             // Numeric
  49831.            case 40    :    s.Length  = Math.ceil( Length/65536 )-1;
  49832.                            s.Decimal = Length%65536-4;
  49833.                             break;
  49834.             
  49835.             // Float4
  49836.            case 60    :    s.Length  = Math.ceil( Length/65536 )-1;
  49837.                            s.Decimal = Length%65536-4;
  49838.                             break;
  49839.             
  49840.             // Float8                                                                        
  49841.            case 70    :    s.Length  = Math.ceil( Length/65536 )-1;
  49842.                            s.Decimal = Length%65536-4;
  49843.                             break;
  49844.                             
  49845.             // Char
  49846.             case 100    :    s.Length = Length-4; break;
  49847.             
  49848.             // Varchar
  49849.            case 110    :    s.Length = Length-4; break;
  49850.  
  49851.             // Other data type
  49852.             case 310    :  break;
  49853.            default     :    s.Length = Length;
  49854.         }
  49855.         
  49856.     if (s.DataType == 310)
  49857.     {
  49858.         s.DataType = 0;
  49859.         s.DictTypeName = Query.GetFieldValue('typname');        
  49860.     }    
  49861.  
  49862.     Query.Next();
  49863.     };
  49864.             
  49865. Query.Close();
  49866.  
  49867. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49868.  
  49869. //--- Load Primary Keys --------------------------------------------------------------------
  49870.  
  49871. Log.Writeln( Translator.Translate( 'RE_PKS',0 ) );
  49872.  
  49873. Query.SQL    = "SELECT t.tablename, t.tableowner, c.conname, c.conkey "
  49874.                 + "FROM pg_constraint c, pg_class s, pg_tables t "
  49875.                 + "WHERE t.tablename=s.relname AND c.conrelid > 0 "
  49876.                 + "AND c.conrelid=s.oid AND c.contype=\'p\';";
  49877.     
  49878.     var args = new Array();
  49879.     var arrkey, reg;
  49880.         reg = /^\{|\}$/g;    
  49881.             
  49882. if (Query.Open());
  49883.     while (! Query.Eof)
  49884.     {
  49885.         arrkey =    Query.GetFieldValue('conkey').toString();
  49886.         args = arrkey.replace(reg,'').split(',');    
  49887.         
  49888.         for(i=0;i<args.length;i++)
  49889.         {
  49890.             QTemp.SQL = "SELECT  a.attname, a.attnum "
  49891.                             +"FROM pg_attribute a, pg_class c, pg_tables t "
  49892.                             +"WHERE a.attrelid=c.oid and t.tablename=c.relname "
  49893.                             +"and tablename=\'"+Query.GetFieldValue('tablename')+"\' and a.attnum="+args[i];
  49894.             if (QTemp.Open())
  49895.             {
  49896.                 while(!QTemp.Eof)
  49897.                 {
  49898.                     s = Schema.AddPrimaryKey();
  49899.                     s.TableSchema     = Query.GetFieldValue('tableowner');
  49900.                     s.TableName        = Query.GetFieldValue('tablename');
  49901.                     s.ColumnName    = QTemp.GetFieldValue('attname');
  49902.                    s.PkName            = Query.GetFieldValue('conname');
  49903.                       s.Ordinal        = QTemp.GetFieldValue('attnum');
  49904.                       QTemp.Next();
  49905.                 }    
  49906.                 QTemp.Close();
  49907.             }    
  49908.         }                
  49909.         Query.Next();
  49910.     }
  49911.     Query.Close();
  49912. }
  49913. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49914.  
  49915. //--- Load Check Constraints -------------------------------------------------------
  49916.  
  49917. if (Variables.lCheckCon)
  49918. {
  49919.     Log.Writeln(Translator.Translate('RE_CHECK_CONS', 0));
  49920.  
  49921.     Query.SQL = "SELECT t.tablename, t.tableowner, c.conname, c.conkey, c.consrc "
  49922.                     +"FROM pg_constraint c, pg_class s, pg_tables t "
  49923.                     +"WHERE t.tablename=s.relname AND c.conrelid > 0 "
  49924.                     +"AND c.conrelid=s.oid AND c.contype=\'c\'";
  49925.                 
  49926.     var args = new Array();
  49927.     var arrkey, reg1, reg2;
  49928.         reg = /^\{|\}$/g;    
  49929.         reg2 = /^\(|\)$/g;
  49930.     
  49931.     if (Query.Open())
  49932.     {
  49933.         while(!Query.Eof)
  49934.         {
  49935.             arrkey =    Query.GetFieldValue('conkey').toString();
  49936.             args = arrkey.replace(reg,'').split(',');        
  49937.             
  49938.             for(i=0;i<args.length;i++)
  49939.             {
  49940.                 QTemp.SQL = "SELECT  a.attname "
  49941.                                 +"FROM pg_attribute a, pg_class c, pg_tables t "
  49942.                                 +"WHERE a.attrelid=c.oid and t.tablename=c.relname "
  49943.                                 +"and tablename=\'"+Query.GetFieldValue('tablename')+"\' and a.attnum="+args[i];
  49944.                 
  49945.                 if (QTemp.Open())
  49946.                 {
  49947.                     while(!QTemp.Eof)
  49948.                     {
  49949.                         s = Schema.AddColumnCheckConstraint();
  49950.                        s.ConstraintName     = Query.GetFieldValue('conname');
  49951.                           s.TableSchema         = Query.GetFieldValue('tableowner');
  49952.                           s.TableName            = Query.GetFieldValue('tablename');
  49953.                           s.ColumnName        = QTemp.GetFieldValue('attname');
  49954.                           s.Text                = Query.GetFieldValue('consrc').replace(reg2,'');            
  49955.                         QTemp.Next();
  49956.                     }    
  49957.                     QTemp.Close();
  49958.                 }    
  49959.             }
  49960.             Query.Next();
  49961.         }
  49962.     }
  49963.     Query.Close();
  49964. Log.Writeln(Translator.Translate('DONE', 0)); 
  49965. }    
  49966.  
  49967. //--- Load Unique Constraints -----------------------------------------------------------------
  49968.  
  49969. if ( Variables.lUniCon )
  49970.     {
  49971.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  49972.  
  49973.     Query.SQL    = "SELECT t.tableowner,t.tablename,c.relname,a.attnum,a.attname "
  49974.                     + "FROM pg_index i, pg_class c, pg_class c2, pg_attribute a, pg_tables t "
  49975.                     + "WHERE t.tablename not like 'pg_%' AND "    
  49976.                     +          "i.indisunique AND NOT i.indisprimary AND "
  49977.                     +          "i.indexrelid = a.attrelid AND "
  49978.                     +          "i.indexrelid = c.relfilenode AND "
  49979.                     +          "i.indrelid = c2.relfilenode AND "
  49980.                     +          "c2.relname = t.tablename";
  49981.  
  49982.     if ( Query.Open() )
  49983.         {
  49984.         while (! Query.Eof)
  49985.             {
  49986.            s = Schema.AddUniqueConstraint();
  49987.  
  49988.            s.ConstraintName    = Query.GetFieldValue( 'relname'        );
  49989.            s.TableSchema         = Query.GetFieldValue( 'tableowner'    );
  49990.            s.TableName            = Query.GetFieldValue( 'tablename'    );
  49991.            s.ColumnName        = Query.GetFieldValue( 'attname'        );
  49992.             s.Ordinal            = Query.GetFieldValue( 'attnum'        );
  49993.  
  49994.             Query.Next();
  49995.             };
  49996.         Query.Close();
  49997.         };
  49998.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  49999.     };
  50000.  
  50001. //--- Load Indexes --------------------------------------------------------------------
  50002. if ( Variables.lIndexes )
  50003.     {
  50004.     Log.Writeln( Translator.Translate('RE_INDXS',0) );
  50005.  
  50006.     Query.SQL    = "SELECT t.tableowner,t.tablename,c.relname,a.attnum,a.attname,am.amname,"
  50007.                     +             "i.indisunique,i.indkey,i.indproc,i.indexrelid "
  50008.                     + "FROM pg_index i, pg_class c, pg_class c2, pg_attribute a, pg_tables t, pg_am am "
  50009.                     + "WHERE (NOT i.indisprimary) AND ((NOT i.indisunique)) AND "
  50010.                     +            "i.indexrelid = a.attrelid AND "
  50011.                     +            "i.indexrelid = c.relfilenode AND "
  50012.                     +            "i.indrelid = c2.relfilenode AND "
  50013.                     +            "c2.relname = t.tablename AND (t.tablename NOT LIKE 'pg_%') AND "
  50014.                     +            "c.relam = am.oid "
  50015.                     + "ORDER BY i.indexrelid"
  50016.  
  50017.     relId = 0;
  50018.  
  50019.     if (Query.Open())
  50020.         {
  50021.         while (! Query.Eof)
  50022.             {
  50023.             // Next index?
  50024.             if ( Query.GetFieldValue( 'indexrelid' ) != relId )
  50025.                 {
  50026.                 relId = Query.GetFieldValue( 'indexrelid' );
  50027.                 i = 0;
  50028.                 };
  50029.             
  50030.             QTemp.SQL = "SELECT a.attname "
  50031.                       + "FROM pg_attribute a, pg_index i "
  50032.                          + "WHERE i.indexrelid = '" +Query.GetFieldValue( 'indexrelid' )+ "' AND "
  50033.                          +       "i.indrelid = a.attrelid AND i.indkey["+(i++)+"] = a.attnum";
  50034.  
  50035.             if (QTemp.Open())
  50036.                 {
  50037.                s = Schema.AddIndex();
  50038.  
  50039.                s.TableSchema     = Query.GetFieldValue( 'tableowner'        );
  50040.                s.TableName        = Query.GetFieldValue( 'tablename'        );
  50041.                 s.IndexName    = Query.GetFieldValue( 'relname'            );
  50042.                 s.Unique            = Query.GetFieldValue( 'indisunique'    ) == 1;
  50043.                 s.ColumnName    = QTemp.GetFieldValue( 'attname'          );
  50044.                 s.Ordinal        = Query.GetFieldValue( 'attnum'             );
  50045.                 s.SetUserVariable( 'eIxAccess', Query.GetFieldValue( 'amname' ) );
  50046.     
  50047.                 if (Query.GetFieldValue( 'indproc' ) != '-')
  50048.                     s.SetUserVariable( 'cIxFunction', Query.GetFieldValue( 'indproc' ) );
  50049.  
  50050.  
  50051.  
  50052.                 QTemp.Close();
  50053.                 };
  50054.  
  50055.             Query.Next();
  50056.             }
  50057.             
  50058.         Query.Close();
  50059.         };
  50060.  
  50061.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50062.     };
  50063.     
  50064. //--- Load References -----------------------------------------------------------------------------
  50065. if ( Variables.lRefInt )
  50066.     {
  50067.     Log.Writeln( Translator.Translate('RE_REFS',0) );
  50068.  
  50069.     Query.SQL = "SELECT distinct cp.oid AS poid, cf.oid AS foid,p.proname,t.tgargs,t.tgconstrname,t.tgdeferrable,t.tginitdeferred,"
  50070.                  +             "cp.relname AS pkrelname,sp.usename AS pkusename,"
  50071.                  +             "cf.relname AS fkrelname,sf.usename AS fkusename "
  50072.                  +    "FROM pg_proc p,pg_trigger t,pg_index i,pg_class c,pg_class cp,"
  50073.                  +          "pg_class cf,pg_user sp,pg_user sf "
  50074.                  + "WHERE t.tgfoid = p.oid AND p.proname ~ '^RI_' AND p.proname <> 'RI_FKey_check_ins' AND "
  50075.                  +            "t.tgrelid = cp.relfilenode AND "
  50076.                  +            "t.tgconstrrelid = cf.relfilenode AND "
  50077.                  +       "t.tgrelid = i.indrelid AND "
  50078.                  +       "i.indexrelid = c.relfilenode AND "
  50079.                  +            "cp.relowner = sp.usesysid AND "
  50080.                  +            "cf.relowner = sf.usesysid"
  50081.  
  50082.     if (Query.Open());
  50083.         {
  50084.         nUnk = 0;
  50085.  
  50086.         while (! Query.Eof)
  50087.             {
  50088.             if (Query.GetFieldValue( 'proname' ).search(/RI_FKey_check/) != 0)
  50089.                 {
  50090.                 // Parse columns
  50091.                 i = 0;
  50092.                 
  50093.                 Args  = Query.GetFieldValue( 'tgargs' );
  50094.                 PkColumns = new Array( 1 );
  50095.                 FkColumns = new Array( 1 );
  50096.  
  50097.                 cPkCol = '';
  50098.                 cFkCol = '';
  50099.  
  50100.                 while ((Pos = Args.search(/\\000/)) != -1)
  50101.                     {
  50102.                     i++
  50103.                     if (i == 4)
  50104.                         MatchType = Args.substr( 0,Pos );
  50105.                         
  50106.                     if (i > 4)
  50107.                         if ((i % 2) == 1)
  50108.                             {
  50109.                             PkColumns[ PkColumns.length ] = Args.substr(0,Pos);
  50110.                             cPkCol += ':'+Args.substr(0,Pos);
  50111.                             }
  50112.                         else
  50113.                             {
  50114.                             FkColumns[ FkColumns.length ] = Args.substr(0,Pos);
  50115.                             cFkCol += ':'+Args.substr(0,Pos);
  50116.                             };
  50117.     
  50118.                     Args = Args.substr( Pos+4 );
  50119.                     };
  50120.  
  50121.                 ConstId = ConstName = Query.GetFieldValue( 'tgconstrname'    );
  50122.                 var reg = new RegExp(/^\$.*/);
  50123.  
  50124.                 if (reg.test(ConstName))
  50125.                     ConstId     = ConstName+'.'+Query.GetFieldValue( 'poid' )+'.'+Query.GetFieldValue( 'foid' )+'.'+cPkCol+'.'+cFkCol+'>';
  50126.     
  50127.                 if (lRINotExists = (Schema.GetForeignKey( ConstId ) == null))
  50128.                     if (reg.test(ConstName))
  50129.                         ConstName = '<unnamed_'+(++nUnk)+'>';
  50130.  
  50131.                 for (i=1;i<PkColumns.length;i++)
  50132.                     {
  50133.                     if (lRINotExists)
  50134.                         { 
  50135.                         // Add referential integrity
  50136.                         s = Schema.AddForeignKey();
  50137.                         s.PkTableSchema= Query.GetFieldValue( 'pkusename'        );
  50138.                         s.PkTableName    = Query.GetFieldValue( 'pkrelname'        );
  50139.                         s.PkColumnName    = FkColumns[ i ];
  50140.  
  50141.                         s.FkTableSchema= Query.GetFieldValue( 'fkusename'        );
  50142.                         s.FkTableName    = Query.GetFieldValue( 'fkrelname'        );
  50143.                         s.FkName            = ConstName;
  50144.                         s.FkColumnName    = PkColumns[ i ];
  50145.  
  50146.                         if (MatchType != 'UNSPECIFIED')
  50147.                             s.SetUserVariable('cMatchType',MatchType);
  50148.  
  50149.                         s.SetUserVariable('lDeferrable',(Query.GetFieldValue( 'tgdeferrable'   ) != 0));
  50150.                         s.SetUserVariable('lImmediate', (Query.GetFieldValue( 'tginitdeferred' ) == 0));
  50151.  
  50152.                         s.Ordinal        = i;
  50153.                         s.Id                = ConstId;
  50154.  
  50155.                         s.UpdateRule   = 'restrict';
  50156.                         s.DeleteRule   = 'restrict';
  50157.                         };
  50158.  
  50159.                     switch ( Query.GetFieldValue( 'proname' ) )
  50160.                         {                        
  50161.                         case 'RI_FKey_setnull_upd'        : s.UpdateRule = 'set null';        break;
  50162.                         case 'RI_FKey_cascade_upd'        : s.UpdateRule = 'cascade';        break;
  50163.                         case 'RI_FKey_setdefault_upd' : s.UpdateRule = 'set default';    break;
  50164.                         case 'RI_FKey_setnull_del'        : s.DeleteRule = 'set null';        break;
  50165.                         case 'RI_FKey_cascade_del'        : s.DeleteRule = 'cascade';        break;
  50166.                         case 'RI_FKey_setdefault_del'    : s.DeleteRule = 'set default';    break;
  50167.                         };
  50168.                     };
  50169.                 };
  50170.  
  50171.             Query.Next();
  50172.             };    
  50173.         Query.Close();
  50174.         };
  50175.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50176.     };
  50177.  
  50178. //--- Load Triggers -------------------------------------------------------------------------
  50179. if ( Variables.lTriggers )
  50180.     {
  50181.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  50182.  
  50183.     Query.SQL = 'SELECT usename,relname,tgname,tgtype,tgargs,proname '
  50184.                  + 'FROM pg_trigger t, pg_proc p, pg_class c, pg_user s '
  50185.                  + 'WHERE t.tgconstrrelid=0 AND '
  50186.                  +            't.tgfoid=p.oid AND '
  50187.                  +            't.tgrelid=c.relfilenode AND '
  50188.                  +            'c.relowner=s.usesysid';
  50189.  
  50190.     if ( Query.Open() )
  50191.         {
  50192.         while (! Query.Eof)
  50193.             {
  50194.             Body = 'Create trigger ' + Query.GetFieldValue( 'tgname' );
  50195.             type = Query.GetFieldValue( 'tgtype' );
  50196.             
  50197.             if ((type & 2)==0)
  50198.                 Body += ' after'
  50199.             else
  50200.                 Body += ' before';
  50201.  
  50202.             if ((type & 4)==4)
  50203.                 Body += ' insert or'
  50204.             if ((type & 8)== 8)
  50205.                 Body += ' delete or';
  50206.             if ((type &16)==16)
  50207.                 Body += ' update or';
  50208.  
  50209.             Body = Body.substr( 0, Body.length-2 ) +'\r\n'
  50210.  
  50211.            s                     = Schema.AddTrigger();
  50212.            s.TableSchema     = Query.GetFieldValue( 'usename'    );
  50213.            s.TableName        = Query.GetFieldValue( 'relname'    );
  50214.            s.TriggerName    = Query.GetFieldValue( 'tgname'    );
  50215.  
  50216.             Body += 'on '+s.TableName+' for each row execute procedure '+Query.GetFieldValue( 'proname' )+' (';
  50217.  
  50218.             Args = Query.GetFieldValue( 'tgargs' );
  50219.             while ((Pos = Args.search(/\\000/)) != -1)
  50220.                 {
  50221.                 Body += Args.substr(0,Pos)
  50222.                 Args  = Args.substr( Pos+4 );
  50223.  
  50224.                 if (Args.length != 0)
  50225.                     Body += Body + ',';
  50226.                 };
  50227.  
  50228.            s.Text = Body+')'+Schema.Terminator;
  50229.   
  50230.             Query.Next();
  50231.             };
  50232.         Query.Close();
  50233.         };
  50234.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50235.     };
  50236.  
  50237. //--- Load Views -----------------------------------------------------------------------
  50238. if ( Variables.lViews )
  50239. {
  50240.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  50241.  
  50242.     Query.SQL = "SELECT viewname, viewowner, definition "
  50243.                  + "FROM pg_views "
  50244.                  + "WHERE pg_views.viewname not Like 'pg_%';";
  50245.  
  50246.     if ( Query.Open() )
  50247.     {
  50248.         while (! Query.Eof)
  50249.         {
  50250.             ViewName = Query.GetFieldValue( 'viewname' );
  50251.             Body        = 'Create view '+ViewName+' As\r\n';
  50252.             
  50253.             s = Schema.AddView();
  50254.               s.ViewName    = ViewName;
  50255.               s.Text = Body += Query.GetFieldValue( 'definition' );
  50256.              Query.Next();
  50257.       }
  50258.         Query.Close();
  50259.     }
  50260.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50261. }    
  50262.  
  50263. //--- Load Functions --------------------------------------------------------------
  50264.  
  50265. if (Variables.lProcedures)
  50266. {
  50267.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  50268.     
  50269.     QFun = Database.DefineQuery();
  50270.     var arrNames = new Array();
  50271.     var proname, yes, count = 0;
  50272.  
  50273.     QFun.SQL = "SELECT DISTINCT p.proname "
  50274.                + "FROM pg_class c, pg_tables t, pg_type y, pg_attribute a, pg_proc p "
  50275.                  + "WHERE (t.tablename !~~\'pg_%\') AND (a.attnum > 0) AND (a.attrelid = c.oid) AND "
  50276.                    + "(c.relname = t.tablename) AND (a.atttypid = y.oid) AND (p.oid=y.typinput OR p.oid=y.typoutput) AND "
  50277.                 + " y.oid > 16000 AND y.typtype!~~\'d\';";
  50278.  
  50279.     if (QFun.Open())            // Select names of user-types' functions
  50280.     {
  50281.         while (!QFun.Eof)
  50282.         {
  50283.             arrNames[count++] = QFun.GetFieldValue('proname');
  50284.              QFun.Next();    
  50285.         }
  50286.         QFun.Close();
  50287.     }    
  50288.     
  50289.     Query.SQL = "SELECT DISTINCT n.nspname, s.usename, p.proname, p.provolatile, p.prosecdef, p.prorettype, p.prosrc, p.probin, p.pronargs, p.proargtypes, p.proisstrict, l.lanname "
  50290.                  + "FROM pg_proc p, pg_language l, pg_namespace n, pg_shadow s "
  50291.                  + "WHERE n.oid=p.pronamespace AND s.usesysid=p.proowner AND p.prolang=l.oid AND n.nspname !~~\'pg_%\' ORDER BY proname;";
  50292.  
  50293.     if (Query.Open())
  50294.     {
  50295.         while (!Query.Eof)
  50296.         {
  50297.             proname = Query.GetFieldValue('proname');
  50298.             yes = false;
  50299.             
  50300.             for (count=0;count<arrNames.length;count++)
  50301.             {
  50302.                 if (arrNames[count]==proname)
  50303.                     yes = true;
  50304.             }
  50305.             
  50306.             if (yes)            // Function is used by User-Type
  50307.             {    
  50308.                 s = Schema.AddTextObject(); 
  50309.                 s.TextObjectType = 30; 
  50310.                 s.TextObjectName = proname;
  50311.             }        
  50312.             else                // Not used by User-Type
  50313.             {
  50314.                 s = Schema.AddProcedure();
  50315.                   s.ProcedureName = proname;
  50316.             }
  50317.             
  50318.            Body = 'Create function ' + proname + '(';
  50319.  
  50320.             //--- get function arguments ---
  50321.                         
  50322.             if (Query.GetFieldValue( 'pronargs' ) != 0)
  50323.             {
  50324.                 if (Query.GetFieldValue( 'proargtypes' ) != '')
  50325.                 {
  50326.                     Args = (Query.GetFieldValue( 'proargtypes' )) + ' ';
  50327.                     while ( Args != '' )
  50328.                     {
  50329.                         nPos = Args.search( /\s/i )            
  50330.                         QTemp.SQL = 'SELECT typname FROM pg_type WHERE oid = ' + Args.substr( 0,nPos );
  50331.                         if (QTemp.Open())
  50332.                        {
  50333.                              Body += QTemp.GetFieldValue( 'typname' );
  50334.                          };
  50335.                         QTemp.Close();
  50336.                         Args = Args.substr( nPos+1 );
  50337.                         if (Args != '')
  50338.                           Body += ',';
  50339.                     }
  50340.                 }
  50341.                 else
  50342.                     Body += 'opaque';
  50343.             }
  50344.             Body += ')\n';
  50345.            
  50346.            //--- get the return type ---
  50347.             
  50348.             cReturns = 'opaque';
  50349.            
  50350.            if (Query.GetFieldValue( 'prorettype' ) != 0)
  50351.             {
  50352.                 QTemp.SQL = 'SELECT typname FROM pg_type WHERE oid=' + Query.GetFieldValue( 'prorettype' );
  50353.                 if (QTemp.Open())
  50354.                      cReturns = QTemp.GetFieldValue( 'typname');
  50355.                 QTemp.Close();
  50356.             }
  50357.                 
  50358.            Body += 'Returns '+cReturns+'\n';
  50359.            Body += 'Language \''+Query.GetFieldValue('lanname')+'\'';
  50360.  
  50361.             //-- Cache ---
  50362.             var pvol = Query.GetFieldValue( 'provolatile' ); 
  50363.             if (pvol)
  50364.             {
  50365.                 switch (pvol)
  50366.                 {
  50367.                     case 'i': pvol = 'Immutable'; break;
  50368.                     case 's': pvol = 'Stable'; break;
  50369.                     case 'v': pvol = 'Volatile '; break;// DEFAULT
  50370.                 }
  50371.                 Body += '\n'+pvol;
  50372.             }
  50373.             
  50374.             // --    Null inputs    ---        
  50375.             var pstrict = parseInt(Query.GetFieldValue( 'proisstrict' ));        
  50376.             if (pstrict)
  50377.                 pstrict = 'Returns Null On Null Input';// STRICT is the same
  50378.             else
  50379.                 pstrict = 'Called On Null Input';// DEFAULT
  50380.             Body += '\n'+pstrict;
  50381.                     
  50382.             // SECURITY INVOKER the function is executed with the privileges of the user that calls it.  
  50383.             // SECURITY DEFINER specifies that the function is to be executed with the privileges of the user that created it. 
  50384.             var psecdef = parseInt(Query.GetFieldValue( 'prosecdef' ));
  50385.             
  50386.             if (psecdef > 0)
  50387.             {
  50388.                 psecdef = 'Security definer'; 
  50389.                 Body += '\n'+psecdef;
  50390.             }
  50391.             /*else
  50392.                 psecdef = 'SECURITY INVOKER'; //DEFAULT */
  50393.         
  50394.             
  50395.               if (Query.GetFieldValue('lanname').toUpperCase()=='C')
  50396.               {      
  50397.                 Body += '\nAs \''+Query.GetFieldValue('probin').replace(/\'/g, "''")+'\'';
  50398.                 if (Query.GetFieldValue('prosrc')!=Query.GetFieldValue('proname'))    
  50399.                     Body += ', \''+Query.GetFieldValue('prosrc').replace(/\'/g, "''")+'\'';
  50400.             }
  50401.             else
  50402.                 Body += '\nAs \''+Query.GetFieldValue('prosrc').replace(/\'/g, "''")+'\'';
  50403.  
  50404.             s.Text = Body+Schema.Terminator;
  50405.             Query.Next();
  50406.             }
  50407.         Query.Close();
  50408.         
  50409.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50410.         }
  50411.     }    
  50412.  
  50413. //--- Load Permissions ----------------------------------------------------------------------------
  50414. if ( Variables.lPermissions )
  50415. {
  50416.            
  50417.     //--- Load Users -------------------------------------------------------------------------------
  50418.     Log.Writeln( Translator.Translate( 'RE_USERS',0 ) );
  50419.  
  50420.     Query.SQL = "SELECT usename FROM pg_user;";
  50421.  
  50422.     if ( Query.Open() )
  50423.     {
  50424.         s = Schema.AddUser();
  50425.         s.UserName = 'PUBLIC';
  50426.         s.Generate = false;
  50427.         
  50428.         while (! Query.Eof)
  50429.         {
  50430.             s = Schema.AddUser();
  50431.             s.UserName = Query.GetFieldValue( 'usename' );            
  50432.               Query.Next();
  50433.        };
  50434.         Query.Close();
  50435.     };   
  50436.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50437.         
  50438.     //--- Load Roles -------------------------------------------------------------------------------
  50439.     Log.Writeln(  Translator.Translate( 'RE_ROLES',0 ) );
  50440.  
  50441.     Query.SQL = "SELECT groname,grolist FROM pg_group;";
  50442.  
  50443.     if ( Query.Open() )
  50444.     {
  50445.         while (! Query.Eof)
  50446.         {
  50447.            s = Schema.AddRole();
  50448.               s.RoleName = Query.GetFieldValue( 'groname' );
  50449.    
  50450.            Args = Query.GetFieldValue( 'grolist' );
  50451.            
  50452.            if (Args != '')
  50453.            {
  50454.                Args = Args.substr( 1,Args.length-2 )+',';
  50455.  
  50456.                while ((Pos = Args.search(/\,/)) != -1)
  50457.                 {
  50458.                     QTemp.SQL = 'SELECT usename FROM pg_user WHERE usesysid=' + Args.substr( 0,Pos );
  50459.                     if (QTemp.Open())
  50460.                     {
  50461.                        s              = Schema.AddRoleToUser();
  50462.                       s.UserName = QTemp.GetFieldValue( 'usename' );
  50463.                       s.RoleName = Query.GetFieldValue( 'groname' );
  50464.                         QTemp.Close();
  50465.                     };
  50466.                     Args  = Args.substr( Pos+1 );
  50467.                 };
  50468.             };
  50469.    
  50470.           Query.Next();
  50471.         };
  50472.         Query.Close();
  50473.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50474.     };   
  50475.  
  50476.     //--- Load Object Permissions -----------------------------------------------------------------
  50477.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  50478.  
  50479.     Query.SQL = "SELECT s.usename,c.relname,c.relacl " +
  50480.                     "FROM pg_class c, pg_user s " +
  50481.                     "WHERE c.relname not Like 'pg_%' AND " +
  50482.                             "(c.relkind='r' OR c.relkind='v') AND " +
  50483.                             "c.relowner=s.usesysid";
  50484.  
  50485.     if ( Query.Open() )
  50486.     {
  50487.         while (! Query.Eof)
  50488.         {
  50489.             if ( Query.GetFieldValue( 'relacl' ) != '' )
  50490.             {
  50491.                 Args = Query.GetFieldValue( 'relacl' ).substr( 1 );
  50492.  
  50493.                 while ( (nPos = Args.search( /\,/i )) != -1 )
  50494.                 {
  50495.                     Item = Args.substr( 1,nPos-2 );
  50496.                     Args = Args.substr( nPos+1 );
  50497.                     if (Item.search( /group\s/i ) == 0)
  50498.                     {
  50499.                         Item = Item.substr( 6 );
  50500.                       s = Schema.AddRolePermission();
  50501.                       s.RoleName = Item.substr( 0,Item.search( /\=/ ) );
  50502.                   }
  50503.                    else
  50504.                    {
  50505.                       s = Schema.AddUserPermission();
  50506.                         s.UserName = Item.substr( 0,Item.search( /\=/ ) );
  50507.                         if ( s.UserName == '' )
  50508.                             s.UserName = 'PUBLIC';
  50509.                   };
  50510.  
  50511.                    Item = Item.substr( Item.search( /\=/ )+1 );
  50512.  
  50513.                     s.ObjectSchema = Query.GetFieldValue( 'usename' );
  50514.                    s.ObjectName    = Query.GetFieldValue( 'relname' );
  50515.                s.Insert            = ( Item.search( /a/ ) != -1 );
  50516.                     s.Select            = ( Item.search( /r/ ) != -1 );
  50517.                     s.Update            = ( Item.search( /w/ ) != -1 );
  50518.                     s.Delete       = s.Update;
  50519.                 };
  50520.             };
  50521.             Query.Next();        
  50522.        };
  50523.         Query.Close();
  50524.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50525.     };   
  50526. };
  50527.  
  50528. //--- Process reversed database structure ---------------------------------------------------------
  50529.  
  50530. Schema.Run();    
  50531. };
  50532.  
  50533. //===========================================================================================
  50534.  
  50535. function GetDataType( TypeName )
  50536. {
  50537. switch (TypeName)
  50538.     {
  50539.     case 'int2':            return(  10 );
  50540.     case 'int4':            return(  20 );
  50541.     case 'int8':            return(  30 );
  50542.     case 'numeric':        return(  40 );
  50543.     case 'float4':            return(  60 );
  50544.     case 'float8':            return(  70 );
  50545.     case 'serial':            return(  80 );
  50546.     case 'money':            return(  90 );
  50547.     case 'bpchar':            return( 100 );
  50548.     case 'varchar':        return( 110 );
  50549.     case 'text':            return( 120 );
  50550.     case 'timestamp':        return( 130 );
  50551.     case 'timestamptz':  return( 135 );
  50552.     case 'interval':        return( 140 );
  50553.     case 'date':            return( 150 );
  50554.     case 'time':            return( 160 );
  50555.     case 'timetz':            return( 165 );
  50556.     case 'bool':            return( 170 );
  50557.     case 'point':            return( 180 );
  50558.     case 'line':            return( 190 );
  50559.     case 'lseg':            return( 200 );
  50560.     case 'box':                return( 210 );
  50561.     case 'path':            return( 220 );
  50562.     case 'polygon':        return( 230 );
  50563.     case 'circle':            return( 240 );
  50564.     case 'cidr':            return( 250 );
  50565.     case 'inet':            return( 260 );
  50566.     case 'macaddr':        return( 270 );
  50567.     case 'bit':                return( 290 );
  50568.     case 'varbit':            return( 300 );
  50569.     case 'oid':                return( 320 );
  50570.     }
  50571. return( 310 );
  50572. };
  50573.  
  50574. //===========================================================================================
  50575.  
  50576. function Disconnect()
  50577. {
  50578. Database.Disconnect();
  50579. };
  50580.  
  50581. //===========================================================================================
  50582. ]]></VALUE>
  50583. <LANGUAGE>1</LANGUAGE>
  50584. <LANGUAGEWIN>---</LANGUAGEWIN>
  50585. <CATEGORY>6</CATEGORY>
  50586. <MAINSCRIPT>0</MAINSCRIPT>
  50587. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  50588. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  50589. <AUTHOR>David Fux</AUTHOR>
  50590. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  50591. <VERSION>1.0</VERSION>
  50592. <CREATED><DATE>9/26/2001</DATE><TIME>13:11:46</TIME></CREATED>
  50593. <MODIFIED><DATE>10/22/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  50594. </TEMPLATE>
  50595. <TEMPLATE>
  50596. <NAME>PostgreSQL</NAME>
  50597. <ID>52</ID>
  50598. <GUID>{D1CAF72A-0F8E-4E32-BA15-DA0026BF5A20}</GUID>
  50599. <CAPTION>PostgreSQL</CAPTION>
  50600. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  50601. <ENABLED>1</ENABLED>
  50602. <LEVEL>0</LEVEL>
  50603. <IDPARENT>0</IDPARENT>
  50604. <VALUE><![CDATA[function Connect()
  50605. {
  50606. Translator.DefaultLng = 'csy';
  50607. ReadVocabulary();
  50608. Scripting.PostgreSQL_main.Connect();
  50609. };
  50610.  
  50611. //======================================================================
  50612.  
  50613. function Main()
  50614. {
  50615. Scripting.PostgreSQL_main.Main();
  50616. };
  50617.  
  50618. //======================================================================
  50619.  
  50620. function Disconnect()
  50621. {
  50622. Scripting.PostgreSQL_main.Disconnect();
  50623. };
  50624.  
  50625. //======================================================================
  50626.  
  50627. function DefineVariables()
  50628. {
  50629. Schema.DatabaseId = 50;
  50630.  
  50631. Variables.DefineVariable( 'lCheckCon',        'Nast check constrainty',                1 );
  50632. Variables.lCheckCon        = true;
  50633. Variables.DefineVariable( 'lUniCon',        'Nast unique constrainty',                1 );
  50634. Variables.lUniCon            = true;
  50635. Variables.DefineVariable( 'lRefInt',        'Nast refenn integritu',                1 );
  50636. Variables.lRefInt            = true;
  50637. Variables.DefineVariable( 'lIndexes',        'Nast indexy',                                 1 );
  50638. Variables.lIndexes        = true;
  50639. Variables.DefineVariable( 'lTriggers',        'Nast triggery',                            1 );
  50640. Variables.lTriggers        = true;
  50641. Variables.DefineVariable( 'lProcedures',    'Nast procedury and funkce',            1 );
  50642. Variables.lProcedures    = true;
  50643. Variables.DefineVariable( 'lViews',            'Nast pohledy',                                1 );
  50644. Variables.lViews            = true;
  50645. Variables.DefineVariable( 'lPermissions',    'Nast uivatele, skupiny a prva',    1 );
  50646. Variables.lPermissions    = true;
  50647. Variables.DefineVariable( 'lDescriptions','Nast popisy',                                1 );
  50648. Variables.lDescriptions    = true;
  50649. };
  50650.  
  50651. //======================================================================
  50652.  
  50653. function ReadVocabulary()
  50654. {
  50655. Translator.Add( 'RE_DESC_NS', 'Tto verze PostgreSQL neumouje naten popis' );
  50656. };
  50657. ]]></VALUE>
  50658. <LANGUAGE>1</LANGUAGE>
  50659. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  50660. <CATEGORY>6</CATEGORY>
  50661. <MAINSCRIPT>1</MAINSCRIPT>
  50662. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  50663. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  50664. <AUTHOR></AUTHOR>
  50665. <COMPANY></COMPANY>
  50666. <VERSION></VERSION>
  50667. <CREATED><DATE>9/3/2001</DATE><TIME>11:04:16</TIME></CREATED>
  50668. <MODIFIED><DATE>8/6/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  50669. </TEMPLATE>
  50670. <TEMPLATE>
  50671. <NAME>PostgreSQL_main</NAME>
  50672. <ID>53</ID>
  50673. <GUID>{DC2247E9-9A00-4694-BF72-5DCAC87E8B43}</GUID>
  50674. <CAPTION>PostgreSQL_main</CAPTION>
  50675. <PACKAGEGUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</PACKAGEGUID>
  50676. <ENABLED>1</ENABLED>
  50677. <LEVEL>0</LEVEL>
  50678. <IDPARENT>0</IDPARENT>
  50679. <VALUE><![CDATA[function Connect()
  50680. {
  50681. var Query, t;
  50682.  
  50683. Scripting.RE_Dictionary.ReadVocabulary();
  50684. Schema.ClearTables();
  50685. Schema.Terminator = ';';
  50686.  
  50687. if ( Database.Connect() )
  50688.     {
  50689.     Query = Database.DefineQuery();
  50690.  
  50691.     Query.SQL = "SELECT version()";
  50692.     if (Query.Open())
  50693.         {
  50694.         Log.Writeln( Query.GetFieldValue( 'version' )+'\r\n' );
  50695.         Query.Close();
  50696.         };
  50697.  
  50698.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  50699.     
  50700.     Query.SQL = "SELECT * FROM pg_tables WHERE pg_tables.tablename not Like 'pg_%' ORDER BY tablename;";
  50701.     if ( Query.Open() )
  50702.         {
  50703.         while (! Query.Eof)
  50704.             {
  50705.            t = Schema.AddTable();
  50706.            t.TableSchema = Query.GetFieldValue( 'tableowner' );
  50707.             t.TableName   = Query.GetFieldValue( 'tablename'  );
  50708.            t.Id          = t.TableSchema+'.'+t.TableName;
  50709.            t.Selected    = true;
  50710.     
  50711.             Query.Next();
  50712.             }
  50713.         Query.Close();
  50714.         }
  50715.     else
  50716.         Database.Disconnect();
  50717.         
  50718.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50719.     
  50720.     };
  50721. };
  50722.  
  50723. //===========================================================================================
  50724.  
  50725. function Main( TableCatalog,TableSchema )
  50726. {
  50727. var Query = Database.DefineQuery();
  50728. var QTemp = Database.DefineQuery();
  50729. var nPos, Args, s, i, Body, Length, MatchType;
  50730.  
  50731. Schema.Clear();
  50732.  
  50733. if (Variables.lDescriptions)
  50734.     {
  50735.     var lDescription = false;
  50736.     Query.SQL = "SELECT count(*) "
  50737.                  + "FROM pg_class c, pg_attribute a "
  50738.                  + "WHERE c.relname = 'pg_description' AND "
  50739.                  +       "a.attname = 'objsubid' AND "
  50740.                  +       "a.attrelid=c.oid";
  50741.     if ( Query.Open() )
  50742.         {
  50743.         lDescription = (Query.GetFieldValue( 'count' ) != 0);
  50744.         Query.Close();
  50745.         };
  50746.     
  50747.     if ( !lDescription )
  50748.         {
  50749.         Variables.lDescriptions = false;
  50750.         Log.Writeln( Translator.Translate( 'RE_DESC_NS',0 ) );
  50751.         };
  50752.     };
  50753.  
  50754. //--- Load Table Descriptions ---------------------------------------------------------------
  50755. if (Variables.lDescriptions)
  50756.     {
  50757.     Query.SQL = "SELECT t.tableowner, t.tablename, d.description "
  50758.                  + "FROM pg_class c, pg_tables t, pg_description d "
  50759.                  +    "WHERE d.objsubid='0' AND "
  50760.                  +            "t.tablename not Like 'pg_%' AND "
  50761.                  +            "c.relname=t.tablename AND "
  50762.                  +            "d.objoid=c.oid";
  50763.  
  50764.     if ( Query.Open() )
  50765.         {
  50766.         while (! Query.Eof)
  50767.             {
  50768.             if (( s = Schema.GetTable( Query.GetFieldValue('tableowner')+"."+Query.GetFieldValue('tablename') ) ) != null)
  50769.                 s.Description = Query.GetFieldValue('description');
  50770.             Query.Next();
  50771.             };
  50772.         Query.Close();
  50773.         };
  50774.     };        
  50775.  
  50776. //--- Load User-defined types --------------------------------------------------------------------
  50777.     
  50778.     Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  50779.     
  50780.     Query.SQL =    "SELECT DISTINCT y.typname, y.typbyval, y.typinput, y.typoutput, y.typlen, y.typelem, y.typdelim, y.typalign, y.typstorage, y.typdefault "
  50781.                 + "FROM pg_class c, pg_tables t, pg_type y, pg_attribute a "
  50782.                  + "WHERE (t.tablename NOT LIKE 'pg_%') AND "
  50783.                  + "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  50784.                  + "(c.relname = t.tablename) AND (a.atttypid = y.oid) AND y.oid > 16000 order by typname";
  50785.     
  50786.     var byval, ifun, ofun, ilen, elm, dlm, alng, strg, dft, tm;
  50787.                  
  50788.     if (Query.Open())
  50789.     {
  50790.         while (!Query.Eof)
  50791.         {
  50792.            s = Schema.AddDictType();    //Adding dicttype
  50793.              s.DictTypeName    = Query.GetFieldValue('typname');
  50794.             s.DataType         = 310;        // Other data type
  50795.             s.UserDataType = Query.GetFieldValue('typname');
  50796.             s2 = Schema.AddTextObject(); //Adding User-defined type textobject
  50797.             s2.TextObjectType = 20; 
  50798.             s2.TextObjectName = Query.GetFieldValue('typname');
  50799.             s2.Text = 'Create type ' + Query.GetFieldValue('typname') + '\n' + '(' + '\n';
  50800.              
  50801.              byval = Query.GetFieldValue('typbyval');
  50802.              ifun  = Query.GetFieldValue('typinput');
  50803.             ofun  = Query.GetFieldValue('typoutput');
  50804.             ilen  = Query.GetFieldValue('typlen');
  50805.             elm   = Query.GetFieldValue('typelem');
  50806.             dlm   = Query.GetFieldValue('typdelim');
  50807.             alng  = Query.GetFieldValue('typalign');
  50808.             strg  = Query.GetFieldValue('typstorage');
  50809.             dft   = Query.GetFieldValue('typdefault');
  50810.             tm = ',\n';
  50811.                 
  50812.             s2.Text += 'input = ' + ifun + tm
  50813.                       + 'output = ' + ofun + tm
  50814.                       + 'internallength = ';
  50815.             if (ilen != -1)  
  50816.                 s2.Text += ilen + tm;
  50817.             else 
  50818.                 s2.Text += 'variable' + tm;
  50819.  
  50820.             if (dft!='-')
  50821.                 s2.Text += 'default = ' + dft + tm;
  50822.                 
  50823.             if (elm != 0)
  50824.             {
  50825.                 QTemp.SQL = "SELECT typname FROM pg_type WHERE oid = " + elm;
  50826.                 
  50827.                 if (QTemp.Open())
  50828.                 {
  50829.                     while(!QTemp.Eof)
  50830.                     {
  50831.                         elm = QTemp.GetFieldValue('typname');
  50832.                         QTemp.Next();
  50833.                     }
  50834.                     QTemp.Close();
  50835.                 }    
  50836.             
  50837.                 s2.Text += 'element = ' + elm + tm
  50838.                           + 'delimiter = \'' + dlm + '\'' + tm    ;
  50839.             }        
  50840.             switch (alng)
  50841.             {
  50842.                 case 'c': alng = 'char'; break;
  50843.                 case 's': alng = 'short'; break;
  50844.                 case 'i': alng = 'int'; break;
  50845.                 case 'd': alng = 'double'; break;
  50846.             }
  50847.             switch (strg)
  50848.             {
  50849.                 case 'p': strg = 'plain'; break;
  50850.                 case 'e': strg = 'external'; break;
  50851.                 case 'm': strg = 'main'; break;
  50852.                 case 'x': strg = 'extended'; break;
  50853.             }        
  50854.                   
  50855.             if (byval > 0)                        // Reference byvalue
  50856.                     s2.Text += 'passedbyvalue' + tm; 
  50857.     
  50858.             s2.Text += 'alignment = ' + alng + tm
  50859.                       + 'storage = ' + strg + '\n)'
  50860.                       + Schema.Terminator;
  50861.                       
  50862.             Query.Next();
  50863.         };
  50864.         Query.Close();
  50865.     };
  50866.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50867.         
  50868. //--- Load Columns --------------------------------------------------------------------------
  50869. Log.Writeln( Translator.Translate( 'RE_COLUMNS',0 ) );
  50870.  
  50871. if (Variables.lDescriptions)
  50872.     Query.SQL = "SELECT t.tableowner,t.tablename,a.attnum,a.attname,a.attnotnull,a.atttypmod,y.typname,f.adsrc,d.description "
  50873.                  + "FROM pg_class c, pg_tables t, pg_type y, "
  50874.                         + "pg_attribute a LEFT JOIN pg_attrdef f ON (f.adrelid=a.attrelid and f.adnum=a.attnum) "
  50875.                           + "LEFT JOIN pg_description d ON (a.attrelid=d.objoid and a.attnum=d.objsubid) "
  50876.                  + "WHERE (t.tablename NOT LIKE 'pg_%') AND "
  50877.                  +            "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  50878.                  +           "(c.relname=t.tablename) AND (a.atttypid=y.oid)"
  50879. else
  50880.     Query.SQL = "SELECT t.tableowner,t.tablename,a.attnum,a.attname,a.attnotnull,a.atttypmod,y.typname,d.adsrc,'' as description "
  50881.                  +    "FROM pg_class c, pg_tables t, pg_type y,"
  50882.                  +          "pg_attribute a LEFT JOIN pg_attrdef d ON (d.adrelid=a.attrelid and d.adnum=a.attnum) "
  50883.                  +    "WHERE (t.tablename NOT LIKE \'pg_%\') AND "
  50884.                +            "(a.attnum > 0) AND (a.attrelid = c.oid) AND "
  50885.                  +       "(c.relname=t.tablename) AND (a.atttypid=y.oid)";
  50886.  
  50887. Query.Open()
  50888. while (! Query.Eof)
  50889.     {
  50890.     s = Schema.AddColumn();
  50891.     
  50892.     s.Ordinal        = Query.GetFieldValue( 'attnum' );
  50893.       s.TableSchema  = Query.GetFieldValue( 'tableowner' );
  50894.     s.TableName     = Query.GetFieldValue( 'tablename' );
  50895.     s.ColumnName   = Query.GetFieldValue( 'attname' );
  50896.     s.Default        = Query.GetFieldValue( 'adsrc' );
  50897.     s.Nullable        = Query.GetFieldValue( 'attnotnull' ) == false;
  50898.     s.DataType        = GetDataType( Query.GetFieldValue( 'typname' ) );
  50899.     s.Description  = Query.GetFieldValue( 'description' );
  50900.  
  50901.     Length = Query.GetFieldValue( 'atttypmod' );
  50902.  
  50903.     if (Length != -1)
  50904.         switch (s.DataType)
  50905.             {
  50906.             // Numeric
  50907.            case 40    :    s.Length  = Math.ceil( Length/65536 )-1;
  50908.                            s.Decimal = Length%65536-4;
  50909.                             break;
  50910.             
  50911.             // Float4
  50912.            case 60    :    s.Length  = Math.ceil( Length/65536 )-1;
  50913.                            s.Decimal = Length%65536-4;
  50914.                             break;
  50915.             
  50916.             // Float8                                                                        
  50917.            case 70    :    s.Length  = Math.ceil( Length/65536 )-1;
  50918.                            s.Decimal = Length%65536-4;
  50919.                             break;
  50920.                             
  50921.             // Char
  50922.             case 100    :    s.Length = Length-4; break;
  50923.             
  50924.             // Varchar
  50925.            case 110    :    s.Length = Length-4; break;
  50926.  
  50927.             // Other data type
  50928.             case 310    :  break;
  50929.            default     :    s.Length = Length;
  50930.             };
  50931.         
  50932.     if (s.DataType == 310)
  50933.     {
  50934.         s.DataType = 0;
  50935.         s.DictTypeName = Query.GetFieldValue('typname');        
  50936.     }    
  50937.  
  50938.     Query.Next();
  50939.     };
  50940.             
  50941. Query.Close();
  50942.  
  50943. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50944. //--- Load Primary Keys --------------------------------------------------------------------
  50945. Log.Writeln( Translator.Translate( 'RE_PKS',0 ) );
  50946.  
  50947. Query.SQL    = "SELECT t.tableowner,t.tablename,c.relname,a.attnum,a.attname "
  50948.                 + "FROM pg_index i, pg_class c, pg_class c2, pg_attribute a, pg_tables t "
  50949.                 + "WHERE i.indisprimary AND "
  50950.                 +          "i.indexrelid = a.attrelid AND "
  50951.                 +          "i.indexrelid = c.relfilenode AND "
  50952.                 +          "i.indrelid = c2.relfilenode AND "
  50953.                 +          "c2.relname = t.tablename";
  50954.  
  50955. if (Query.Open());
  50956.     { 
  50957.     while (! Query.Eof)
  50958.         {
  50959.         s = Schema.AddPrimaryKey();
  50960.                 
  50961.           s.TableSchema     = Query.GetFieldValue( 'tableowner'    );
  50962.           s.TableName        = Query.GetFieldValue( 'tablename'    );
  50963.         s.ColumnName    = Query.GetFieldValue( 'attname'        );
  50964.         s.PkName            = Query.GetFieldValue( 'relname'        );
  50965.         s.Ordinal        = Query.GetFieldValue( 'attnum'        );
  50966.             
  50967.         Query.Next();
  50968.         };
  50969.             
  50970.     Query.Close();
  50971.     };
  50972.  
  50973. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  50974. //--- Load Unique Constraints -----------------------------------------------------------------
  50975. if ( Variables.lUniCon )
  50976.     {
  50977.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  50978.  
  50979.     Query.SQL    = "SELECT t.tableowner,t.tablename,c.relname,a.attnum,a.attname "
  50980.                     + "FROM pg_index i, pg_class c, pg_class c2, pg_attribute a, pg_tables t "
  50981.                     + "WHERE    i.indisunique AND NOT i.indisprimary AND "
  50982.                     +          "i.indexrelid = a.attrelid AND "
  50983.                     +          "i.indexrelid = c.relfilenode AND "
  50984.                     +          "i.indrelid = c2.relfilenode AND "
  50985.                     +          "c2.relname = t.tablename";
  50986.  
  50987.     if ( Query.Open() )
  50988.         {
  50989.         while (! Query.Eof)
  50990.             {
  50991.            s = Schema.AddUniqueConstraint();
  50992.  
  50993.            s.ConstraintName    = Query.GetFieldValue( 'relname'        );
  50994.            s.TableSchema         = Query.GetFieldValue( 'tableowner'    );
  50995.            s.TableName            = Query.GetFieldValue( 'tablename'    );
  50996.            s.ColumnName        = Query.GetFieldValue( 'attname'        );
  50997.             s.Ordinal            = Query.GetFieldValue( 'attnum'        );
  50998.  
  50999.             Query.Next();
  51000.             };
  51001.         Query.Close();
  51002.         };
  51003.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51004.     };
  51005.  
  51006. //--- Load Check Constraints -----------------------------------------------------------------
  51007. if ( Variables.lCheckCon )
  51008.     {
  51009.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  51010.  
  51011.     Query.SQL    = "SELECT t.tableowner,t.tablename,r.rcname,r.rcbin,r.rcsrc,r.rcrelid "
  51012.                     + "FROM pg_relcheck r, pg_class c, pg_tables t "
  51013.                     + "WHERE r. rcrelid = c.oid and c.relname = t.tablename"
  51014.  
  51015.     if ( Query.Open() )
  51016.         {
  51017.         while (! Query.Eof)
  51018.             {
  51019.             Args = ( Query.GetFieldValue( 'rcbin' ) );
  51020.             nPos = Args.search( /args/i ) + 8;
  51021.             Args = Args.substr( nPos,50 );
  51022.             nPos = Args.search( /varattno/i );
  51023.             if (nPos == -1)
  51024.                 {
  51025.                s = Schema.AddCheckConstraint();
  51026.                s.ConstraintName     = Query.GetFieldValue( 'rcname'        );
  51027.                   s.TableSchema         = Query.GetFieldValue( 'tableowner'    );
  51028.                   s.TableName            = Query.GetFieldValue( 'tablename'    );
  51029.                   s.Text                = Query.GetFieldValue( 'rcsrc'        );
  51030.                 };
  51031.             else
  51032.                 {
  51033.                 Args = Args.substr( nPos+9,5 );
  51034.                 nPos = Args.search( /\s/i );
  51035.                 Args = Args.substr( 0,nPos );
  51036.  
  51037.                 QTemp.SQL    = 'SELECT attname FROM pg_attribute '
  51038.                                 + 'WHERE attrelid='+Query.GetFieldValue( 'rcrelid' )+' AND '
  51039.                                 +           'attnum='+Args;
  51040.  
  51041.                 if ( QTemp.Open() )
  51042.                     {
  51043.                    s = Schema.AddColumnCheckConstraint();
  51044.                    s.ConstraintName     = Query.GetFieldValue( 'rcname'        );
  51045.                       s.TableSchema         = Query.GetFieldValue( 'tableowner'    );
  51046.                       s.TableName            = Query.GetFieldValue( 'tablename'    );
  51047.                       s.ColumnName        = QTemp.GetFieldValue( 'attname'     );
  51048.                       s.Text                = Query.GetFieldValue( 'rcsrc'        );
  51049.  
  51050.                       QTemp.Close();
  51051.                     };
  51052.                 };    
  51053.                 
  51054.             Query.Next();
  51055.             
  51056.             };
  51057.         Query.Close();
  51058.         };
  51059.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51060.     };
  51061.  
  51062. //--- Load Indexes --------------------------------------------------------------------
  51063. if ( Variables.lIndexes )
  51064.     {
  51065.     Log.Writeln( Translator.Translate('RE_INDXS',0) );
  51066.  
  51067.     Query.SQL    = "SELECT t.tableowner,t.tablename,c.relname,a.attnum,a.attname,am.amname,"
  51068.                     +             "i.indisunique,i.indkey,i.indproc,i.indexrelid "
  51069.                     + "FROM pg_index i, pg_class c, pg_class c2, pg_attribute a, pg_tables t, pg_am am "
  51070.                     + "WHERE (NOT i.indisprimary) AND ((NOT i.indisunique)) AND "
  51071.                     +            "i.indexrelid = a.attrelid AND "
  51072.                     +            "i.indexrelid = c.relfilenode AND "
  51073.                     +            "i.indrelid = c2.relfilenode AND "
  51074.                     +            "c2.relname = t.tablename AND (t.tablename NOT LIKE 'pg_%') AND "
  51075.                     +            "c.relam = am.oid "
  51076.                     + "ORDER BY i.indexrelid"
  51077.  
  51078.     relId = 0;
  51079.  
  51080.     if (Query.Open())
  51081.         {
  51082.         while (! Query.Eof)
  51083.             {
  51084.             // Next index?
  51085.             if ( Query.GetFieldValue( 'indexrelid' ) != relId )
  51086.                 {
  51087.                 relId = Query.GetFieldValue( 'indexrelid' );
  51088.                 i = 0;
  51089.                 };
  51090.             
  51091.             QTemp.SQL = "SELECT a.attname "
  51092.                       + "FROM pg_attribute a, pg_index i "
  51093.                          + "WHERE i.indexrelid = '" +Query.GetFieldValue( 'indexrelid' )+ "' AND "
  51094.                          +       "i.indrelid = a.attrelid AND i.indkey["+(i++)+"] = a.attnum";
  51095.  
  51096.             if (QTemp.Open())
  51097.                 {
  51098.                s = Schema.AddIndex();
  51099.  
  51100.                s.TableSchema     = Query.GetFieldValue( 'tableowner'        );
  51101.                s.TableName        = Query.GetFieldValue( 'tablename'        );
  51102.                 s.IndexName    = Query.GetFieldValue( 'relname'            );
  51103.                 s.Unique            = Query.GetFieldValue( 'indisunique'    ) == 1;
  51104.                 s.ColumnName    = QTemp.GetFieldValue( 'attname'          );
  51105.                 s.Ordinal        = Query.GetFieldValue( 'attnum'             );
  51106.                 s.SetUserVariable( 'eIxAccess', Query.GetFieldValue( 'amname' ) );
  51107.     
  51108.                 if (Query.GetFieldValue( 'indproc' ) != '-')
  51109.                     s.SetUserVariable( 'cIxFunction', Query.GetFieldValue( 'indproc' ) );
  51110.  
  51111.  
  51112.  
  51113.                 QTemp.Close();
  51114.                 };
  51115.  
  51116.             Query.Next();
  51117.             }
  51118.             
  51119.         Query.Close();
  51120.         };
  51121.  
  51122.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51123.     };
  51124.     
  51125. //--- Load References -----------------------------------------------------------------------------
  51126. if ( Variables.lRefInt )
  51127.     {
  51128.     Log.Writeln( Translator.Translate('RE_REFS',0) );
  51129.  
  51130.     Query.SQL = "SELECT cp.oid AS poid, cf.oid AS foid,p.proname,t.tgargs,t.tgconstrname,t.tgdeferrable,t.tginitdeferred,"
  51131.                  +             "cp.relname AS pkrelname,sp.usename AS pkusename,"
  51132.                  +             "cf.relname AS fkrelname,sf.usename AS fkusename "
  51133.                  +    "FROM pg_proc p,pg_trigger t,pg_index i,pg_class c,pg_class cp,"
  51134.                  +          "pg_class cf,pg_user sp,pg_user sf "
  51135.                  + "WHERE t.tgfoid = p.oid AND p.proname ~ '^RI_' AND p.proname <> 'RI_FKey_check_ins' AND "
  51136.                  +            "t.tgrelid = cp.relfilenode AND "
  51137.                  +            "t.tgconstrrelid = cf.relfilenode AND "
  51138.                  +       "t.tgrelid = i.indrelid AND "
  51139.                  +       "i.indexrelid = c.relfilenode AND "
  51140.                  +            "cp.relowner = sp.usesysid AND "
  51141.                  +            "cf.relowner = sf.usesysid"
  51142.  
  51143.     if (Query.Open());
  51144.         {
  51145.         nUnk = 0;
  51146.  
  51147.         while (! Query.Eof)
  51148.             {
  51149.             if (Query.GetFieldValue( 'proname' ).search(/RI_FKey_check/) != 0)
  51150.                 {
  51151.                 // Parse columns
  51152.                 i = 0;
  51153.                 
  51154.                 Args  = Query.GetFieldValue( 'tgargs' );
  51155.                 PkColumns = new Array( 1 );
  51156.                 FkColumns = new Array( 1 );
  51157.  
  51158.                 cPkCol = '';
  51159.                 cFkCol = '';
  51160.  
  51161.                 while ((Pos = Args.search(/\\000/)) != -1)
  51162.                     {
  51163.                     i++
  51164.                     if (i == 4)
  51165.                         MatchType = Args.substr( 0,Pos );
  51166.                         
  51167.                     if (i > 4)
  51168.                         if ((i % 2) == 1)
  51169.                             {
  51170.                             PkColumns[ PkColumns.length ] = Args.substr(0,Pos);
  51171.                             cPkCol += ':'+Args.substr(0,Pos);
  51172.                             }
  51173.                         else
  51174.                             {
  51175.                             FkColumns[ FkColumns.length ] = Args.substr(0,Pos);
  51176.                             cFkCol += ':'+Args.substr(0,Pos);
  51177.                             };
  51178.     
  51179.                     Args = Args.substr( Pos+4 );
  51180.                     };
  51181.  
  51182.                 ConstId = ConstName = Query.GetFieldValue( 'tgconstrname'    );
  51183.                 if (ConstName == '<unnamed>')
  51184.                     ConstId     = '<unnamed.'+Query.GetFieldValue( 'poid' )+'.'+Query.GetFieldValue( 'foid' )+'.'+cPkCol+'.'+cFkCol+'>';
  51185.     
  51186.                 if ( lRINotExists = (Schema.GetForeignKey( ConstId ) == null) )
  51187.                     if (ConstName == '<unnamed>')
  51188.                         ConstName = '<unnamed_'+(++nUnk)+'>';
  51189.  
  51190.                 for (i=1;i<PkColumns.length;i++)
  51191.                     {
  51192.                     if (lRINotExists)
  51193.                         { 
  51194.                         // Add referential integrity
  51195.                         s = Schema.AddForeignKey();
  51196.                         s.PkTableSchema= Query.GetFieldValue( 'pkusename'        );
  51197.                         s.PkTableName    = Query.GetFieldValue( 'pkrelname'        );
  51198.                         s.PkColumnName    = FkColumns[ i ];
  51199.  
  51200.                         s.FkTableSchema= Query.GetFieldValue( 'fkusename'        );
  51201.                         s.FkTableName    = Query.GetFieldValue( 'fkrelname'        );
  51202.                         s.FkName            = ConstName;
  51203.                         s.FkColumnName    = PkColumns[ i ];
  51204.  
  51205.                         if (MatchType != 'UNSPECIFIED')
  51206.                             s.SetUserVariable('cMatchType',MatchType);
  51207.  
  51208.                         s.SetUserVariable('lDeferrable',(Query.GetFieldValue( 'tgdeferrable'   ) != 0));
  51209.                         s.SetUserVariable('lImmediate', (Query.GetFieldValue( 'tginitdeferred' ) == 0));
  51210.  
  51211.                         s.Ordinal        = i;
  51212.                         s.Id                = ConstId;
  51213.  
  51214.                         s.UpdateRule   = 'restrict';
  51215.                         s.DeleteRule   = 'restrict';
  51216.                         };
  51217.  
  51218.                     switch ( Query.GetFieldValue( 'proname' ) )
  51219.                         {                        
  51220.                         case 'RI_FKey_setnull_upd'        : s.UpdateRule = 'set null';        break;
  51221.                         case 'RI_FKey_cascade_upd'        : s.UpdateRule = 'cascade';        break;
  51222.                         case 'RI_FKey_setdefault_upd' : s.UpdateRule = 'set default';    break;
  51223.                         case 'RI_FKey_setnull_del'        : s.DeleteRule = 'set null';        break;
  51224.                         case 'RI_FKey_cascade_del'        : s.DeleteRule = 'cascade';        break;
  51225.                         case 'RI_FKey_setdefault_del'    : s.DeleteRule = 'set default';    break;
  51226.                         };
  51227.                     };
  51228.                 };
  51229.  
  51230.             Query.Next();
  51231.             };    
  51232.         Query.Close();
  51233.         };
  51234.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51235.     };
  51236.  
  51237. //--- Load Triggers -------------------------------------------------------------------------
  51238. if ( Variables.lTriggers )
  51239.     {
  51240.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  51241.  
  51242.     Query.SQL = 'SELECT usename,relname,tgname,tgtype,tgargs,proname '
  51243.                  + 'FROM pg_trigger t, pg_proc p, pg_class c, pg_user s '
  51244.                  + 'WHERE t.tgconstrrelid=0 AND '
  51245.                  +            't.tgfoid=p.oid AND '
  51246.                  +            't.tgrelid=c.relfilenode AND '
  51247.                  +            'c.relowner=s.usesysid';
  51248.  
  51249.     if ( Query.Open() )
  51250.         {
  51251.         while (! Query.Eof)
  51252.             {
  51253.             Body = 'Create trigger ' + Query.GetFieldValue( 'tgname' );
  51254.             type = Query.GetFieldValue( 'tgtype' );
  51255.             
  51256.             if ((type & 2)==0)
  51257.                 Body += ' after'
  51258.             else
  51259.                 Body += ' before';
  51260.  
  51261.             if ((type & 4)== 4)
  51262.                 Body += ' insert or'
  51263.             if ((type & 8)== 8)
  51264.                 Body += ' delete or';
  51265.             if ((type &16)==16)
  51266.                 Body += ' update or';
  51267.  
  51268.             Body = Body.substr( 0, Body.length-2 ) +'\r\n'
  51269.  
  51270.            s                     = Schema.AddTrigger();
  51271.            s.TableSchema     = Query.GetFieldValue( 'usename'    );
  51272.            s.TableName        = Query.GetFieldValue( 'relname'    );
  51273.            s.TriggerName    = Query.GetFieldValue( 'tgname'    );
  51274.  
  51275.             Body += 'on '+s.TableName+' for each row execute procedure '+Query.GetFieldValue( 'proname' )+' (';
  51276.  
  51277.             Args = Query.GetFieldValue( 'tgargs' );
  51278.             while ((Pos = Args.search(/\\000/)) != -1)
  51279.                 {
  51280.                 Body += Args.substr(0,Pos)
  51281.                 Args  = Args.substr( Pos+4 );
  51282.  
  51283.                 if (Args.length != 0)
  51284.                     Body += Body + ',';
  51285.                 };
  51286.  
  51287.            s.Text = Body+')'+Schema.Terminator;
  51288.   
  51289.             Query.Next();
  51290.             };
  51291.         Query.Close();
  51292.         };
  51293.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51294.     };
  51295.  
  51296. //--- Load Views -----------------------------------------------------------------------
  51297. if ( Variables.lViews )
  51298.     {
  51299.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  51300.  
  51301.     Query.SQL = "SELECT viewname, viewowner, definition "
  51302.                  + "FROM pg_views "
  51303.                  + "WHERE pg_views.viewname not Like 'pg_%';";
  51304.  
  51305.     if ( Query.Open() )
  51306.         {
  51307.         while (! Query.Eof)
  51308.             {
  51309.             ViewName = Query.GetFieldValue( 'viewname' );
  51310.             Body        = 'Create view '+ViewName+' AS\r\n'
  51311.                         + Query.GetFieldValue( 'definition'    );
  51312.                              
  51313.            s = Schema.AddView();
  51314.               s.ViewName    = ViewName;
  51315.            s.Text        = Body;
  51316.         
  51317.             Query.Next();
  51318.           };
  51319.         Query.Close();
  51320.         };
  51321.         
  51322.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51323.     };    
  51324.  
  51325. //--- Load Functions --------------------------------------------------------------
  51326. if (Variables.lProcedures)
  51327. {
  51328.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  51329.     
  51330.     Q = Database.DefineQuery();
  51331.     Q.SQL = "SELECT DISTINCT y.typinput, y.typoutput "
  51332.             + "FROM pg_class c, pg_tables t, pg_type y, pg_attribute a "
  51333.             + "WHERE (t.tablename NOT LIKE 'pg_%') AND (a.attnum > 0) AND (a.attrelid = c.oid) AND "
  51334.             + "(c.relname = t.tablename) AND (a.atttypid = y.oid) AND y.oid > 16000;";
  51335.             
  51336.     var arrNames = new Array();
  51337.     var proname, yes, count = 0;
  51338.         
  51339.     if (Q.Open())            // Select names of user-types' functions
  51340.     {
  51341.         while (!Q.Eof)
  51342.         {
  51343.             arrNames[count++] = Q.GetFieldValue('typinput');
  51344.             arrNames[count++] = Q.GetFieldValue('typoutput');            
  51345.              Q.Next();    
  51346.         }
  51347.         Q.Close();
  51348.     }    
  51349.  
  51350.     Query.SQL = "SELECT p.proname,p.prosrc,p.probin,p.prorettype,p.pronargs,p.proargtypes, "
  51351.                  + "proiscachable,proisstrict,l.lanname,u.usename "
  51352.               + "FROM pg_proc p, pg_language l, pg_user u "
  51353.               + "WHERE u.usename!=\'postgres\' AND p.oid>10000 AND "
  51354.               +    "u.usesysid=p.proowner AND p.prolang=l.oid order by proname;";
  51355.  
  51356.     if (Query.Open())        // Load all functions
  51357.     {
  51358.         while (!Query.Eof)
  51359.         {
  51360.             proname = Query.GetFieldValue( 'proname' );
  51361.             yes = false;
  51362.             for (count=0;count<arrNames.length;count++)
  51363.             {
  51364.                 if (arrNames[count]==proname)
  51365.                     yes = true;
  51366.             }
  51367.                 
  51368.             if (yes)            // Function is used by User-Type
  51369.             {    
  51370.                 s = Schema.AddTextObject(); 
  51371.                 s.TextObjectType = 30; 
  51372.                 s.TextObjectName = proname;
  51373.             }        
  51374.             else                // Not used by User-Type
  51375.             {
  51376.                 s = Schema.AddProcedure();
  51377.                   s.ProcedureName = proname;
  51378.             }
  51379.             
  51380.            Body = 'Create function ' + proname + '(';
  51381.  
  51382.             //--- get function arguments ---
  51383.                         
  51384.             if (Query.GetFieldValue( 'pronargs' ) != 0)
  51385.             {
  51386.                 if (Query.GetFieldValue( 'proargtypes' ) != '')
  51387.                 {
  51388.                     Args = (Query.GetFieldValue( 'proargtypes' )) + ' ';
  51389.                     while ( Args != '' )
  51390.                     {
  51391.                         nPos = Args.search( /\s/i )            
  51392.                         QTemp.SQL = 'SELECT typname FROM pg_type WHERE oid = ' + Args.substr( 0,nPos );
  51393.                         if (QTemp.Open())
  51394.                        {
  51395.                              Body += QTemp.GetFieldValue( 'typname' );
  51396.                          };
  51397.                         QTemp.Close();
  51398.                         Args = Args.substr( nPos+1 );
  51399.                         if (Args != '')
  51400.                           Body += ',';
  51401.                     };
  51402.                 }
  51403.                 else
  51404.                     Body += 'opaque';
  51405.             };    
  51406.             Body += ')\n';
  51407.            
  51408.            //--- get the return type ---
  51409.             cReturns = 'opaque';
  51410.             
  51411.             if (Query.GetFieldValue( 'prorettype' ) != 0)
  51412.                 {
  51413.                 QTemp.SQL = 'SELECT typname FROM pg_type WHERE oid=' + Query.GetFieldValue( 'prorettype' );
  51414.                 if (QTemp.Open())
  51415.                      cReturns = QTemp.GetFieldValue( 'typname');
  51416.                 QTemp.Close();
  51417.                 };
  51418.  
  51419.            Body += 'returns '+cReturns+'\n';
  51420.               
  51421.               if (Query.GetFieldValue('lanname').toUpperCase()=='C')
  51422.               {      
  51423.                 Body += 'as \''+Query.GetFieldValue('probin').replace(/\'/g, "''")+'\'';
  51424.                 if (Query.GetFieldValue('prosrc')!=Query.GetFieldValue('proname'))    
  51425.                     Body += ', \''+Query.GetFieldValue('prosrc').replace(/\'/g, "''")+'\'';
  51426.                 Body += '\n';    
  51427.             }
  51428.             else
  51429.                 Body += 'as \''+Query.GetFieldValue('prosrc').replace(/\'/g, "''")+'\'\n';
  51430.             
  51431.             Body += 'language \''+Query.GetFieldValue('lanname')+'\'';
  51432.                                 
  51433.             //--- get functions additional attributes
  51434.             if ((Query.GetFieldValue( 'proiscachable' )==1) || (Query.GetFieldValue( 'proisstrict' )==1))
  51435.                 {
  51436.                 Body += '\nwith (';
  51437.                 Temp  = '';
  51438.  
  51439.                 if (Query.GetFieldValue( 'proiscachable' )==1)
  51440.                     {
  51441.                     Body += 'iscachable';
  51442.                     Temp = ',';
  51443.                     };
  51444.                     
  51445.                 if (Query.GetFieldValue( 'proisstrict' )==1)
  51446.                     Body += Temp + 'isstrict';
  51447.                     
  51448.                 Body += ')';    
  51449.                 };
  51450.  
  51451.           s.Text = Body+Schema.Terminator;  
  51452.  
  51453.             Query.Next();
  51454.             }
  51455.         Query.Close();
  51456.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51457.         };
  51458.     };
  51459.  
  51460. //--- Load Permissions ----------------------------------------------------------------------------
  51461. if ( Variables.lPermissions )
  51462.     {
  51463.            
  51464.     //--- Load Users -------------------------------------------------------------------------------
  51465.     Log.Writeln( Translator.Translate( 'RE_USERS',0 ) );
  51466.  
  51467.     Query.SQL = "SELECT * FROM pg_user;";
  51468.  
  51469.     if ( Query.Open() )
  51470.         {
  51471.         s               = Schema.AddUser();
  51472.         s.UserName = 'PUBLIC';
  51473.         s.Generate = false;
  51474.         
  51475.         while (! Query.Eof)
  51476.             {
  51477.             s               = Schema.AddUser();
  51478.             s.UserName = Query.GetFieldValue( 'usename' );            
  51479.               Query.Next();
  51480.            };
  51481.         Query.Close();
  51482.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51483.         };   
  51484.         
  51485.     //--- Load Roles -------------------------------------------------------------------------------
  51486.     Log.Writeln(  Translator.Translate( 'RE_ROLES',0 ) );
  51487.  
  51488.     Query.SQL = "SELECT groname,grolist FROM pg_group;";
  51489.  
  51490.     if ( Query.Open() )
  51491.         {
  51492.         while (! Query.Eof)
  51493.             {
  51494.            s              = Schema.AddRole();
  51495.               s.RoleName = Query.GetFieldValue( 'groname' );
  51496.    
  51497.            Args = Query.GetFieldValue( 'grolist' );
  51498.            
  51499.            if (Args != '')
  51500.                {
  51501.                Args = Args.substr( 1,Args.length-2 )+',';
  51502.  
  51503.                while ((Pos = Args.search(/\,/)) != -1)
  51504.                     {
  51505.                     QTemp.SQL = 'SELECT usename FROM pg_user WHERE usesysid=' + Args.substr( 0,Pos );
  51506.                     if (QTemp.Open())
  51507.                         {
  51508.                        s              = Schema.AddRoleToUser();
  51509.                       s.UserName = QTemp.GetFieldValue( 'usename' );
  51510.                       s.RoleName = Query.GetFieldValue( 'groname' );
  51511.                         QTemp.Close();
  51512.                         };
  51513.                     Args  = Args.substr( Pos+1 );
  51514.                     };
  51515.                 };
  51516.    
  51517.           Query.Next();
  51518.            };
  51519.         Query.Close();
  51520.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51521.         };   
  51522.  
  51523.     //--- Load Object Permissions -----------------------------------------------------------------
  51524.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  51525.  
  51526.     Query.SQL = "SELECT s.usename,c.relname,c.relacl " +
  51527.                     "FROM pg_class c, pg_user s " +
  51528.                     "WHERE c.relname not Like 'pg_%' AND " +
  51529.                             "(c.relkind='r' OR c.relkind='v') AND " +
  51530.                             "c.relowner=s.usesysid";
  51531.  
  51532.     if ( Query.Open() )
  51533.         {
  51534.         while (! Query.Eof)
  51535.             {
  51536.             if ( Query.GetFieldValue( 'relacl' ) != '' )
  51537.                 {
  51538.                 Args = Query.GetFieldValue( 'relacl' ).substr( 1 );
  51539.  
  51540.                 while ( (nPos = Args.search( /\,/i )) != -1 )
  51541.                     {
  51542.                     Item = Args.substr( 1,nPos-2 );
  51543.                     Args = Args.substr( nPos+1 );
  51544.                     if (Item.search( /group\s/i ) == 0)
  51545.                         {
  51546.                         Item = Item.substr( 6 );
  51547.                       s = Schema.AddRolePermission();
  51548.                       s.RoleName = Item.substr( 0,Item.search( /\=/ ) );
  51549.                       }
  51550.                    else
  51551.                        {
  51552.                       s = Schema.AddUserPermission();
  51553.                         s.UserName = Item.substr( 0,Item.search( /\=/ ) );
  51554.                         if ( s.UserName == '' )
  51555.                             s.UserName = 'PUBLIC';
  51556.                       };
  51557.  
  51558.                    Item = Item.substr( Item.search( /\=/ )+1 );
  51559.  
  51560.                     s.ObjectSchema = Query.GetFieldValue( 'usename' );
  51561.                    s.ObjectName    = Query.GetFieldValue( 'relname' );
  51562.                s.Insert            = ( Item.search( /a/ ) != -1 );
  51563.                     s.Select            = ( Item.search( /r/ ) != -1 );
  51564.                     s.Update            = ( Item.search( /w/ ) != -1 );
  51565.                     s.Delete       = s.Update;
  51566.                     };
  51567.                 };
  51568.             Query.Next();        
  51569.            };
  51570.         Query.Close();
  51571.         Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51572.         };   
  51573.     };
  51574.  
  51575. //--- Process reversed database structure ---------------------------------------------------------
  51576.  
  51577. Schema.Run();    
  51578. };
  51579.  
  51580. //===========================================================================================
  51581.  
  51582. function GetDataType( TypeName )
  51583. {
  51584. switch (TypeName)
  51585.     {
  51586.     case 'int2':            return(  10 );
  51587.     case 'int4':            return(  20 );
  51588.     case 'int8':            return(  30 );
  51589.     case 'numeric':        return(  40 );
  51590.     case 'float4':            return(  60 );
  51591.     case 'float8':            return(  70 );
  51592.     case 'serial':            return(  80 );
  51593.     case 'money':            return(  90 );
  51594.     case 'bpchar':            return( 100 );
  51595.     case 'varchar':        return( 110 );
  51596.     case 'text':            return( 120 );
  51597.     case 'timestamp':        return( 130 );
  51598.     case 'timestamptz':  return( 135 );
  51599.     case 'interval':        return( 140 );
  51600.     case 'date':            return( 150 );
  51601.     case 'time':            return( 160 );
  51602.     case 'timetz':            return( 165 );
  51603.     case 'bool':            return( 170 );
  51604.     case 'point':            return( 180 );
  51605.     case 'line':            return( 190 );
  51606.     case 'lseg':            return( 200 );
  51607.     case 'box':                return( 210 );
  51608.     case 'path':            return( 220 );
  51609.     case 'polygon':        return( 230 );
  51610.     case 'circle':            return( 240 );
  51611.     case 'cidr':            return( 250 );
  51612.     case 'inet':            return( 260 );
  51613.     case 'macaddr':        return( 270 );
  51614.     case 'bit':                return( 290 );
  51615.     case 'varbit':            return( 300 );
  51616.     case 'oid':                return( 320 );
  51617.     }
  51618. return( 310 );
  51619. };
  51620.  
  51621. //===========================================================================================
  51622.  
  51623. function Disconnect()
  51624. {
  51625. Database.Disconnect();
  51626. };
  51627.  
  51628. //===========================================================================================
  51629. ]]></VALUE>
  51630. <LANGUAGE>1</LANGUAGE>
  51631. <LANGUAGEWIN>---</LANGUAGEWIN>
  51632. <CATEGORY>6</CATEGORY>
  51633. <MAINSCRIPT>0</MAINSCRIPT>
  51634. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  51635. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  51636. <AUTHOR>David Fux</AUTHOR>
  51637. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  51638. <VERSION>1.0</VERSION>
  51639. <CREATED><DATE>9/26/2001</DATE><TIME>13:11:46</TIME></CREATED>
  51640. <MODIFIED><DATE>10/22/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  51641. </TEMPLATE>
  51642. <TEMPLATE>
  51643. <NAME>SybaseASE_main</NAME>
  51644. <ID>54</ID>
  51645. <GUID>{767CECFF-2227-11D6-A818-004033539E18}</GUID>
  51646. <CAPTION>SybaseASE_main</CAPTION>
  51647. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  51648. <ENABLED>1</ENABLED>
  51649. <LEVEL>0</LEVEL>
  51650. <IDPARENT>0</IDPARENT>
  51651. <VALUE><![CDATA[function Connect()
  51652. {
  51653. var Query, cId;
  51654.  
  51655. Scripting.RE_Dictionary.ReadVocabulary();
  51656. Schema.ClearTables();
  51657.  
  51658. if ( Database.Connect() )
  51659. {
  51660.     Log.Writeln( Translator.Translate( 'RE_TABLES',0 ) );
  51661.     Query      = Database.DefineQuery();
  51662.     Query.SQL = 'select o.name as tablename,u.name as username '
  51663.                  + 'from sysobjects o, sysusers u '
  51664.                  +    'where o.type = \'U\' and ' 
  51665.                  + 'u.uid = o.uid '
  51666.                   + 'order by u.name, o.name';
  51667.                     
  51668.     if ( Query.Open() )
  51669.     {
  51670.         while (! Query.Eof)
  51671.         {
  51672.            t = Schema.AddTable();
  51673.             t.TableSchema  = Query.GetFieldValue( 'username' );
  51674.             t.TableName     = Query.GetFieldValue( 'tablename' );
  51675.             t.id                = Query.GetFieldValue('username')+Query.GetFieldValue('tablename');
  51676.            t.Selected      = true;
  51677.            t.SetUserVariable('Owner',Query.GetFieldValue('username') );
  51678.     
  51679.             Query.Next();
  51680.         }
  51681.         Query.Close();
  51682.     }
  51683.     else
  51684.         Database.Disconnect();
  51685.  
  51686.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51687. }
  51688. }
  51689.  
  51690. //===========================================================================================
  51691.  
  51692. function Main()
  51693. {
  51694. var Query = Database.DefineQuery();
  51695. var Query2 = Database.DefineQuery();
  51696. var s, p;
  51697.  
  51698. Schema.Clear();
  51699.  
  51700. //--- Load User-defined Data Types -----------------------------------------------------------------------
  51701.  
  51702. Log.Writeln( Translator.Translate( 'RE_UDFS',0 ) );
  51703.  
  51704. Query.SQL = 'select t.name as user_type, t2.name as storage_type, t.length as length, '
  51705.              + 't.scale as scale, t.allownulls as nulls, '
  51706.              + 'object_name(t.tdefault) as default_name, object_name(t.domain) as rule_name, '
  51707.              + 'object_name(t.accessrule) as access_rule_name, u.name as user_name, t.prec as prec '
  51708.              + 'from systypes t, systypes t2, sysusers u '
  51709.              + 'where t.type = t2.type and t.usertype > 99 '
  51710.              + 'and t2.name not in (\'sysname\', \'nchar\', \'nvarchar\') '
  51711.              + 'and t2.usertype < 100 and u.uid=t.uid';
  51712.  
  51713. if ( Query.Open() )
  51714. {
  51715.     while (! Query.Eof)
  51716.     {
  51717.        s = Schema.AddDictType();
  51718.          s.DictTypeName    = Query.GetFieldValue( 'user_type' );
  51719.         s.DataType         = GetDataType( Query.GetFieldValue( 'storage_type' ) );
  51720.         if ( (Query.GetFieldValue('storage_type') == 'numeric') || (Query.GetFieldValue('storage_type') == 'decimal') )
  51721.         {
  51722.             s.Length            = Query.GetFieldValue( 'prec'        );
  51723.             s.Decimal        = Query.GetFieldValue( 'scale'    );
  51724.         }
  51725.         else
  51726.         {
  51727.             s.Length            = Query.GetFieldValue( 'length'    );
  51728.             s.Decimal        = Query.GetFieldValue( 'scale'    );
  51729.         }
  51730.         if (Query.GetFieldValue('storage_type') == 'float')
  51731.         {
  51732.             if (s.Length==8)
  51733.             {
  51734.                 s.DataType        = GetDataType( 'float' )
  51735.                 s.Length=16
  51736.             }
  51737.             else
  51738.             {
  51739.                 s.DataType        = GetDataType( 'real' )
  51740.                 s.Length=8;
  51741.             }
  51742.         }
  51743.         if (s.DataType == 0)
  51744.             Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_UDT',0 ),Query.GetFieldValue( 'storage_type' ),s.DictTypeName) );
  51745.  
  51746.         s.SetUserVariable('UTypeOwner',Query.GetFieldValue('user_name') );
  51747.         s.SetUserVariable('LNullType',Query.GetFieldValue('nulls') );
  51748.         if (Query.GetFieldValue('default_name')!=null)
  51749.             s.SetUserVariable('UTypeDefObject',Query.GetFieldValue('default_name') );
  51750.         if (Query.GetFieldValue('rule_name')!=null)
  51751.             s.SetUserVariable('UTypeRuleObject',Query.GetFieldValue('rule_name') );
  51752.  
  51753.         Query.Next();
  51754.     }
  51755.     Query.Close();
  51756. }         
  51757. //... Load Default Object of User-defined Data Types ...
  51758. Query.SQL = 'select distinct ut.tdefault, u.name as user_name, '
  51759.              + 'so.name as default_name '
  51760.              + 'from systypes ut, sysusers u, syscomments sc, sysobjects so '
  51761.              + 'where ut.usertype > 99 and u.uid=ut.uid and '
  51762.              + 'sc.id=ut.tdefault and so.id=ut.tdefault';
  51763.  
  51764. if ( Query.Open() )
  51765. {
  51766.     while (! Query.Eof)
  51767.     {
  51768.        text = text255(Query.GetFieldValue('tdefault')) + "\ngo\n";
  51769.        Schema.BeforeScript=Schema.BeforeScript + text;
  51770.         Query.Next();
  51771.     }
  51772.     Query.Close();
  51773. }
  51774. //... Load Rule Object of User-defined Data Types ...
  51775. Query.SQL = 'select distinct ut.domain, u.name as user_name, '
  51776.              + 'so.name as rule_name '
  51777.              + 'from systypes ut, sysusers u, syscomments sc, sysobjects so '
  51778.              + 'where ut.usertype > 99 and u.uid=ut.uid and '
  51779.              + 'sc.id=ut.domain and so.id=ut.domain';
  51780.  
  51781. if ( Query.Open() )
  51782. {
  51783.     while (! Query.Eof)
  51784.     {
  51785.        text = text255(Query.GetFieldValue('domain')) + "\ngo\n";
  51786.        Schema.BeforeScript=Schema.BeforeScript + text;
  51787.         Query.Next();
  51788.     }
  51789.     Query.Close();
  51790. }
  51791.  
  51792. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51793.  
  51794. //--- Load Columns --------------------------------------------------------------------------
  51795.  
  51796. Log.Writeln(  Translator.Translate( 'RE_COLUMNS',0 ) );
  51797.  
  51798. Query.SQL = 'select o.name as tablename,u.name as username, c.name as colname,c.colid,c.status as nulls, ' 
  51799.                 +'t.name as typename, t.usertype,c.length, c.scale as scale, c.cdefault as cdefault, '
  51800.                 +'c.domain as domain, c.prec as prec '
  51801.                 +'from sysobjects o, sysusers u, systypes t,syscolumns c '
  51802.                 +'where o.type = \'U\'  and u.uid = o.uid and '
  51803.                 +'o.id = c.id and t.usertype = c.usertype';  
  51804.  
  51805. if ( Query.Open() )
  51806. {
  51807.     while (! Query.Eof)
  51808.     {
  51809.        s = Schema.AddColumn();
  51810.        s.Ordinal        = Query.GetFieldValue( 'colid'        );
  51811.         s.TableSchema     = Query.GetFieldValue( 'username'    );
  51812.         s.TableName     = Query.GetFieldValue( 'tablename'    );
  51813.         s.ColumnName   = Query.GetFieldValue( 'colname'        );
  51814.         
  51815.         if ( Query.GetFieldValue( 'usertype' ) < 100 )
  51816.         {
  51817.             //s.DataType        = Schema.GetDataTypeIdByName( Query.GetFieldValue( 'typename' ) );
  51818.             s.DataType        = GetDataType( Query.GetFieldValue( 'typename' ) );
  51819.             if ( (Query.GetFieldValue('typename') == 'numeric') || (Query.GetFieldValue('typename') == 'decimal') )
  51820.             {
  51821.                 s.Length            = Query.GetFieldValue( 'prec'        );
  51822.                 s.Decimal        = Query.GetFieldValue( 'scale'    );
  51823.             }
  51824.             else
  51825.             {
  51826.                 s.Length            = Query.GetFieldValue( 'length'    );
  51827.                 s.Decimal        = Query.GetFieldValue( 'scale'    );
  51828.             }
  51829.             if (Query.GetFieldValue('typename') == 'float')
  51830.             {
  51831.                 if (s.Length==8)
  51832.                 {
  51833.                     s.DataType        = GetDataType( 'float' )
  51834.                     s.Length=16
  51835.                 }
  51836.                 else
  51837.                 {
  51838.                     s.DataType        = GetDataType( 'real' )
  51839.                     s.Length=8;
  51840.                 }
  51841.             }
  51842.  
  51843.             if (s.DataType == 0)
  51844.                 Log.Writeln( SysUtils.FormatStr( Translator.Translate( 'W_UNK_ADT',0 ),Query.GetFieldValue( 'typename' ),s.ColumnName) );
  51845.         }
  51846.         else    
  51847.             s.DictTypeName    = Query.GetFieldValue( 'typename' );
  51848.  
  51849.         s.Nullable        = (Query.GetFieldValue('nulls') & 8) != 0;
  51850.  
  51851.         if (Query.GetFieldValue('cdefault')!=0)
  51852.         {
  51853.             Query2.SQL = 'select o.type as type, '
  51854.                     + 'o.name as default_name from syscolumns c, sysobjects o '
  51855.                     + 'where o.id=c.cdefault and c.cdefault='+Query.GetFieldValue('cdefault')
  51856.                     + ' and o.type=\'D\'';
  51857.             if ( Query2.Open() )
  51858.             {
  51859.                 cDefault = text255(Query.GetFieldValue('cdefault'));
  51860.                 if (cDefault.search( / AS / ) == -1)
  51861.                 {    
  51862.                     cDefault = cDefault.substr( cDefault.search( /DEFAULT / )+9 )
  51863.                     s.Default = cDefault;
  51864.                 }
  51865.                 else
  51866.                     s.SetUserVariable('DefObject',Query2.GetFieldValue('default_name') );
  51867.                 Query2.Close();
  51868.             }
  51869.         }
  51870.  
  51871.         if (Query.GetFieldValue('domain')!=0)
  51872.         {
  51873.             Query2.SQL = 'select o.type as type, '
  51874.                     + 'o.name as rule_name from syscolumns c, sysobjects o '
  51875.                     + 'where o.id=c.domain and c.domain='+Query.GetFieldValue('domain')
  51876.                     + ' and o.type=\'R\'';
  51877.             if ( Query2.Open() )
  51878.             {
  51879.                 cRole = text255(Query.GetFieldValue('domain'));
  51880.                 if (cRole.search( / AS / ) != -1)
  51881.                     s.SetUserVariable('RuleObject',Query2.GetFieldValue('rule_name') );
  51882.                 Query2.Close();
  51883.             }
  51884.         }
  51885.  
  51886.         if ((Query.GetFieldValue('nulls')&128)==128)
  51887.             s.SetUserVariable('Identity',true)
  51888.             
  51889.         Query.Next();
  51890.     }
  51891.     Query.Close();
  51892. }
  51893.  
  51894. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51895.  
  51896. //--- Load Primary Keys --------------------------------------------------------------------
  51897.  
  51898. Log.Writeln(  Translator.Translate( 'RE_PKS',0 ) );
  51899.  
  51900. for (i=0;i<Schema.CountTables;i++)
  51901. {
  51902.     t = Schema.Tables(i);
  51903.     if (t.Selected==1)
  51904.     {
  51905.         Query.SQL = 'select si.name as index_name, so.name as table_name, si.status2, si.status, si.keycnt, '
  51906.                      + 'co.name as column_name, u.name as table_owner '
  51907.                      + 'from sysindexes si, sysobjects so, syscolumns co, syscolumns co2, sysusers u '
  51908.                      + 'where si.id=so.id and so.name=\''+t.TableName+'\' and '
  51909.                      + 'index_col(\''+t.TableSchema+'.'+t.TableName+'\',si.indid,co2.colid)=co.name and co.id=so.id and co2.id=so.id '
  51910.                      + 'and u.uid=so.uid';
  51911.  
  51912.         if ( Query.Open() )
  51913.         {
  51914.             j=0;
  51915.             while (! Query.Eof)
  51916.             {
  51917.                 if ( ((Query.GetFieldValue('status')&2048)==2048) && ((Query.GetFieldValue('status2')&2)==2) )
  51918.                 {
  51919.                        s = Schema.AddPrimaryKey();
  51920.  
  51921.                        s.TableSchema     = Query.GetFieldValue( 'table_owner'    );
  51922.                        s.TableName        = Query.GetFieldValue( 'table_name'        );
  51923.                        s.ColumnName    = Query.GetFieldValue( 'column_name'    );
  51924.                        s.PkName            = Query.GetFieldValue( 'index_name'    );
  51925.  
  51926.                          s.Ordinal        = j;
  51927.                          
  51928.                          table = Schema.GetTable(s.TableSchema+s.TableName);
  51929.                          if ((Query.GetFieldValue('status')&16)!=16)
  51930.                              table.SetUserVariable('lpkNonclustered',true);
  51931.                              //status bits 16 (decimal) means clustered
  51932.                     j++;
  51933.                 }
  51934.                 Query.Next();
  51935.             }
  51936.             Query.Close();
  51937.         }
  51938.     }
  51939. }
  51940.             
  51941. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  51942.  
  51943. //--- Load References ----------------------------------------------------------------------
  51944.  
  51945. if ( Variables.lRefInt )
  51946. {
  51947. Log.Writeln(  Translator.Translate( 'RE_REFS',0 ) );
  51948.  
  51949. Query.SQL = 'select si.name as primary_name, object_name(constrid) as foreign_name, object_name(tableid) as referencing_table, object_name(reftabid) as referenced_table, '
  51950.              + 'sr.keycnt, sr.fokey1, sr.refkey1, u_t.name as referencing_owner, u_ref.name as referenced_owner, '
  51951.              + 'co_fo.name as referencing_column, co_ref.name as referenced_rolumn '
  51952.              + 'from sysreferences sr, sysindexes si, sysobjects so_t, sysobjects so_ref, '
  51953.              + 'sysusers u_t, sysusers u_ref, syscolumns co_fo, syscolumns co_ref '
  51954.              + 'where si.indid = sr.indexid and si.id = sr.reftabid '
  51955.              + 'and sr.tableid=so_t.id and sr.reftabid=so_ref.id '
  51956.              + 'and u_t.uid=so_t.uid and u_ref.uid=so_ref.uid '
  51957.              + 'and co_fo.colid=sr.fokey1 and co_fo.id=so_t.id and co_ref.colid=sr.refkey1 and co_ref.id=so_ref.id';
  51958.  
  51959. if ( Query.Open() )
  51960. {
  51961.     i=0;
  51962.     while (! Query.Eof)
  51963.     {
  51964.         for (j=1;j<=Query.GetFieldValue('keycnt');j++)
  51965.         {
  51966.         Query2.SQL = 'select sr.fokey'+j.toString(10)+', sr.refkey'+j.toString(10)+', '
  51967.                     + 'co_fo.name as referencing_column2, co_ref.name as referenced_column2 '
  51968.                     + 'from sysreferences sr, sysobjects so, sysobjects so_t, sysobjects so_ref, syscolumns co_fo, syscolumns co_ref '
  51969.                     + 'where sr.constrid=so.id and sr.tableid=so_t.id and sr.reftabid=so_ref.id and '
  51970.                     + 'co_fo.colid=sr.fokey'+j.toString(10)+' and co_fo.id=so_t.id and co_ref.colid=sr.refkey'+j.toString(10)+' '
  51971.                     + 'and co_ref.id=so_ref.id and so.name=\''+Query.GetFieldValue('foreign_name')+'\'';
  51972.  
  51973.         if (Query2.Open())
  51974.         {
  51975.               s = Schema.AddForeignKey();
  51976.  
  51977.               s.PkTableSchema= Query.GetFieldValue(  'referenced_owner'    );
  51978.            s.PkTableName    = Query.GetFieldValue(  'referenced_table'    );
  51979.            s.PkName            = Query.GetFieldValue(    'primary_name'            );
  51980.            s.PkColumnName    = Query2.GetFieldValue( 'referenced_column2'    );
  51981.  
  51982.            s.FkTableSchema= Query.GetFieldValue(  'referencing_owner'    );
  51983.            s.FkTableName    = Query.GetFieldValue(  'referencing_table'    );
  51984.            s.FkName            = Query.GetFieldValue(  'foreign_name'            );
  51985.            s.FkColumnName    = Query2.GetFieldValue( 'referencing_column2');
  51986.  
  51987.             s.Ordinal        = i;
  51988.         
  51989.             s.UpdateRule = 'restrict';
  51990.             s.DeleteRule = 'restrict';
  51991.             
  51992.             i++;
  51993.             Query2.Close();
  51994.         }
  51995.         }
  51996.         Query.Next();
  51997.     }
  51998.     Query.Close();
  51999. }
  52000.                 
  52001. Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52002. }
  52003.  
  52004. //--- Load Check Constraints ---------------------------------------------------------------
  52005.  
  52006. if ( Variables.lCheckCon )
  52007. {
  52008.     Log.Writeln(  Translator.Translate( 'RE_CHECK_CONS',0 ) );
  52009.     
  52010.     Query.SQL = 'select distinct sc.constrid, sc.tableid, so.name as name_constraint, so.type, so2.name as name_table, sc.colid, co.name as name_column, u.name as name_user, so.id '
  52011.                  + 'from sysconstraints sc, sysobjects so, sysobjects so2, syscolumns co, sysusers u, syscomments t '
  52012.                  + 'where sc.status=128 and sc.constrid=so.id and sc.tableid=so2.id and co.colid=sc.colid and co.id = so2.id and u.uid=so2.uid and sc.constrid=t.id';
  52013.     if ( Query.Open() )
  52014.     {
  52015.         while (! Query.Eof)
  52016.         {
  52017.            s = Schema.AddColumnCheckConstraint();
  52018.            s.ColumnName = Query.GetFieldValue( 'name_column' );
  52019.            s.ConstraintName = Query.GetFieldValue( 'name_constraint' );
  52020.            s.TableSchema = Query.GetFieldValue( 'name_user' );
  52021.            s.TableName = Query.GetFieldValue( 'name_table' );
  52022.            text = text255(Query.GetFieldValue('id'));
  52023.            por = text.search( / CHECK / );
  52024.            if (por != -1)
  52025.            {
  52026.                text = text.substr(por+6);
  52027.            }
  52028.            por = text.search( /\(/ );
  52029.            if (por != -1)
  52030.            {
  52031.                text = text.substr(por+1,text.length-(por+1)-2);
  52032.            }
  52033.            s.Text = text;
  52034.  
  52035.             Query.Next();
  52036.         }
  52037.         Query.Close();
  52038.     }
  52039. //        
  52040.     Query.SQL = 'select distinct sc.constrid, sc.tableid, so.name as name_constraint, so.type, so2.name as name_table, sc.colid, u.name as name_user, so.id '
  52041.                  + 'from sysconstraints sc, sysobjects so, sysobjects so2, sysusers u, syscomments t '
  52042.                  + 'where sc.status=128 and sc.constrid=so.id and sc.tableid=so2.id and u.uid=so2.uid and sc.constrid=t.id and sc.colid=0';
  52043.     if ( Query.Open() )
  52044.     {
  52045.         while (! Query.Eof)
  52046.         {
  52047.             {
  52048.                  table = Schema.GetTable(Query.GetFieldValue('name_user')+Query.GetFieldValue('name_table'));
  52049.                 text = text255(Query.GetFieldValue('id'));
  52050.                  other = 'alter table ' + Query.GetFieldValue('name_table') + ' add ';
  52051.                  other = other + text + '\ngo';
  52052.                  table.Others = table.Others + other;
  52053.             }
  52054.             Query.Next();
  52055.         }
  52056.         Query.Close();
  52057.     }
  52058.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52059. }
  52060.  
  52061. //--- Load Unique Constraints -----------------------------------------------------------------
  52062.  
  52063. if ( Variables.lUniCon )
  52064. {
  52065.     Log.Writeln(  Translator.Translate( 'RE_UNI_CONS',0 ) );
  52066.  
  52067.     Query.SQL = 'select si.name as index_name, so.name as table_name, co2.name as column_name, si.status, si.status2, u.name as table_owner '
  52068.                  + 'from sysobjects so, sysindexes si, syscolumns co, syscolumns co2, sysusers u '
  52069.                  + 'where so.type= \'U\' and si.id = so.id and co.id = so.id and '
  52070.                  + 'index_col(u.name+\'.\'+so.name,si.indid,co.colid) = co2.name and co2.id = so.id and u.uid=so.uid';
  52071.     var i=0;
  52072.     if ( Query.Open() )
  52073.     {
  52074.         while (! Query.Eof)
  52075.         {
  52076.             if ( ((Query.GetFieldValue('status')&2048)!=2048) && ((Query.GetFieldValue('status2')&2)==2) )
  52077.             {
  52078.                s = Schema.AddUniqueConstraint();
  52079.  
  52080.                s.TableSchema         = Query.GetFieldValue( 'table_owner'    );
  52081.                s.TableName            = Query.GetFieldValue( 'table_name'        );
  52082.                s.ColumnName        = Query.GetFieldValue( 'column_name'    );
  52083.                s.ConstraintName    = Query.GetFieldValue( 'index_name'        );
  52084.                  s.Ordinal            = i;
  52085.                  
  52086.                 i++;
  52087.             }
  52088.             Query.Next();
  52089.         }
  52090.         Query.Close();
  52091.     }
  52092.  
  52093.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52094. };    
  52095.  
  52096. //--- Load Indexes -------------------------------------------------------------------------
  52097.  
  52098. if ( Variables.lIndexes )
  52099. {
  52100.     Log.Writeln(  Translator.Translate( 'RE_INDXS',0 ) );
  52101.     
  52102.     Query.SQL = 'select si.name as index_name, so.name as table_name, co2.name as column_name, si.status, si.status2, u.name as table_owner, '
  52103.                  + 'index_colorder(u.name+\'.\'+so.name,si.indid,co.colid) as column_order '
  52104.                  + 'from sysobjects so, sysindexes si, syscolumns co, syscolumns co2, sysusers u '
  52105.                  + 'where so.type= \'U\' and si.id = so.id and co.id = so.id and '
  52106.                  + 'index_col(u.name+\'.\'+so.name,si.indid,co.colid) = co2.name and co2.id = so.id and u.uid=so.uid';
  52107.     var i=0;
  52108.     if ( Query.Open() )
  52109.     {
  52110.         while (! Query.Eof)
  52111.         {
  52112.             if ((Query.GetFieldValue('status2')&2)!=2)
  52113.             {
  52114.               s = Schema.AddIndex();
  52115.  
  52116.                s.TableSchema             = Query.GetFieldValue( 'table_owner'    );
  52117.                s.TableName                = Query.GetFieldValue( 'table_name'        );
  52118.                 s.IndexName           = Query.GetFieldValue( 'index_name'        );
  52119.                 s.Unique                    = (Query.GetFieldValue('status')&2) == 2;
  52120.                 s.Clustered                = (Query.GetFieldValue('status')&16) == 16;
  52121.  
  52122.                 s.ColumnName            = Query.GetFieldValue( 'column_name');
  52123.                 s.DescendingColumn    = Query.GetFieldValue( 'column_order'    ) == 'DESC';
  52124.  
  52125.                 s.Ordinal                = i;
  52126.                 
  52127.                 i++;
  52128.             }
  52129.             Query.Next();
  52130.         }
  52131.         Query.Close();
  52132.     }
  52133.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52134. };    
  52135.  
  52136. //--- Load Triggers -------------------------------------------------------------------------
  52137.  
  52138. if ( Variables.lTriggers )
  52139. {
  52140.     Log.Writeln(  Translator.Translate( 'RE_TRIGGERS',0 ) );
  52141.     
  52142.     Query.SQL = 'select distinct so.name as trigger_name, u.name as user_name, so2.name as table_name, so.id '
  52143.                  + 'from sysobjects so, sysusers u, sysobjects so2, syscomments t '
  52144.                  + 'where so.type = \'TR\' and u.uid = so.uid and so2.type=\'U\' and so2.id=so.deltrig and so.id=t.id';
  52145.  
  52146.     if ( Query.Open() )
  52147.     {
  52148.         while (! Query.Eof)
  52149.         {
  52150.            s = Schema.AddTrigger();
  52151.            s.TableSchema = Query.GetFieldValue( 'user_name' );
  52152.            s.TableName = Query.GetFieldValue( 'table_name' );
  52153.            s.TriggerName = s.TableSchema+"."+Query.GetFieldValue( 'trigger_name' );
  52154.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  52155.                
  52156.             Query.Next();
  52157.         }
  52158.         Query.Close();
  52159.     }
  52160.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52161. }
  52162.     
  52163. //--- Load Views -------------------------------------------------------------------------
  52164.  
  52165. if ( Variables.lViews )
  52166. {
  52167.     Log.Writeln(  Translator.Translate( 'RE_VIEWS',0 ) );
  52168.     
  52169.     Query.SQL = 'select distinct so.name as view_name, so.id, u.name as view_owner '
  52170.                  + 'from sysobjects so, syscomments t, sysusers u '
  52171.                  + 'where so.type = \'V\' and so.id=t.id and u.uid=so.uid';
  52172.  
  52173.     if ( Query.Open() )
  52174.     {
  52175.         while (! Query.Eof)
  52176.         {
  52177.            s = Schema.AddView();
  52178.            s.ViewName = Query.GetFieldValue('view_owner')+"."+Query.GetFieldValue('view_name');
  52179.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  52180.  
  52181.             Query.Next();
  52182.        }
  52183.         Query.Close();
  52184.     }
  52185.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52186. }
  52187.  
  52188. //--- Load Procedures ----------------------------------------------------------------------
  52189.  
  52190. if ( Variables.lProcedures    )
  52191.     {
  52192.     Log.Writeln(  Translator.Translate( 'RE_PROCS',0 ) );
  52193.  
  52194.     Query.SQL = 'select distinct so.name as procedure_name, so.id, so.type as type, u.name as owner '
  52195.                  + 'from sysobjects so, syscomments t, sysusers u '
  52196.                  + 'where (so.type = \'P\' or so.type = \'XP\') '
  52197.                  + 'and so.id=t.id and u.uid=so.uid';
  52198.  
  52199.     if ( Query.Open() )
  52200.     {
  52201.         while (! Query.Eof)
  52202.         {
  52203.            s = Schema.AddProcedure();
  52204.            s.ProcedureName = Query.GetFieldValue('owner')+"."+Query.GetFieldValue('procedure_name');
  52205.            if (Query.GetFieldValue('type')=='XP')
  52206.                s.Text = "CREATE PROCEDURE " + Query.GetFieldValue('owner') + "."
  52207.                        + Query.GetFieldValue('procedure_name') + "\n AS EXTERNAL NAME \'"
  52208.                        + text255(Query.GetFieldValue('id')) + "\'\ngo";
  52209.             else
  52210.                s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  52211.             Query.Next();
  52212.         }
  52213.         Query.Close();
  52214.     }
  52215.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52216. }
  52217.  
  52218. //--- Load Functions ----------------------------------------------------------------------
  52219.  
  52220. if ( Variables.lFunctions    )
  52221.     {
  52222.     Log.Writeln(  Translator.Translate( 'RE_FUNCTIONS',0 ) );
  52223.  
  52224.     Query.SQL = 'select distinct so.name as function_name, so.id, so.type as type, u.name as owner '
  52225.                  + 'from sysobjects so, syscomments t, sysusers u '
  52226.                  + 'where so.type = \'F\' and so.id=t.id and u.uid=so.uid';
  52227.  
  52228.     if ( Query.Open() )
  52229.     {
  52230.         while (! Query.Eof)
  52231.         {
  52232.            s = Schema.AddTextObject();
  52233.            s.TextObjectType = 10; //Functions
  52234.             s.TextObjectName = Query.GetFieldValue('owner')+"."+Query.GetFieldValue('function_name');           
  52235.            s.Text = text255(Query.GetFieldValue('id')) + "\ngo";
  52236.            
  52237.             Query.Next();
  52238.         }
  52239.         Query.Close();
  52240.     }
  52241.     Log.Writeln( Translator.Translate( 'DONE',0 ) );
  52242. }
  52243.  
  52244. //--- Load users and roles -------------------------------------------------------------------------
  52245.  
  52246. if ( Variables.lUsers && Variables.lPermissions    )
  52247. {
  52248.     Log.Writeln(  Translator.Translate( 'RE_USERS_ROLES',0 ) );
  52249.  
  52250.     Query.SQL = 'select u.uid as uid, u.gid as gid, u.name as name, u.suid, u2.name as name2 '
  52251.                   + 'from sysusers u, sysusers u2 '
  52252.                  + 'where not exists (select * from sysroles r where u.uid = r.lrid) '
  52253.                  + 'and u2.uid=u.gid';
  52254.  
  52255.     if ( Query.Open() )
  52256.     {
  52257.         while (! Query.Eof)
  52258.         {
  52259.             if (Query.GetFieldValue('uid') != Query.GetFieldValue('gid'))
  52260.             {
  52261.                s = Schema.AddUser();
  52262.                s.UserName = Query.GetFieldValue( 'name' );
  52263.                ru = Schema.AddRoleToUser();
  52264.                ru.RoleName = Query.GetFieldValue( 'name2' );
  52265.                ru.UserName = Query.GetFieldValue( 'name' );
  52266.            }
  52267.            else
  52268.            {
  52269.                   s = Schema.AddRole();
  52270.                 s.RoleName = Query.GetFieldValue( 'name' );
  52271.             }
  52272.           Query.Next();
  52273.       }     
  52274.        Query.Close();
  52275.    }
  52276.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  52277. }
  52278.  
  52279. //--- Load tables and views permissions ------------------------------------------------------------
  52280.  
  52281. if ( Variables.lPermissions )
  52282. {
  52283.     Log.Writeln(  Translator.Translate( 'RE_PERMISSIONS',0 ) );
  52284.  
  52285.     Query.SQL = 'select p.id, so.name as tvp_name, p.uid as uid, u.gid as gid, '
  52286.                  + 'u.name as ur_name, p.action as action, p.protecttype, so.type, u2.name as tv_owner '
  52287.                  + 'from sysprotects p, sysobjects so, sysusers u, sysusers u2 '
  52288.                  + 'where p.id=so.id and p.uid=u.uid and '
  52289.                  + '(so.type=\'U\' or so.type=\'V\' or so.type=\'P\' or so.type=\'XP\') '
  52290.                  + 'and u2.uid=so.uid '
  52291.                  + 'order by id, uid';
  52292.  
  52293.     if ( Query.Open() )
  52294.     {
  52295.         ex_b = false;
  52296.         in_b = false;
  52297.         up_b = false;
  52298.         se_b = false;
  52299.         dr_b = false; 
  52300.         de_b = false;
  52301.         if (!Query.Eof)
  52302.             id_old = Query.GetFieldValue('tvp_name')+Query.GetFieldValue('ur_name');
  52303.         while (!Query.Eof)
  52304.         {
  52305.             id = Query.GetFieldValue('tvp_name')+Query.GetFieldValue('ur_name');
  52306.             if (id!=id_old)
  52307.             {
  52308.                 if (uid != gid)
  52309.                 {
  52310.                    s = Schema.AddUserPermission();
  52311.                    s.UserName = urname;
  52312.                }
  52313.                else    
  52314.                {
  52315.                    s = Schema.AddRolePermission();
  52316.                    s.RoleName = urname;
  52317.                }
  52318.                s.ObjectSchema = o_schema;
  52319.                s.ObjectName = o_name;
  52320.                switch ( type )
  52321.                 {
  52322.                     case 'U': s.ObjectType = 0; break;
  52323.                     case 'V': s.ObjectType = 3; break;
  52324.                     case 'P': s.ObjectType = 1; break;
  52325.                 }
  52326.                 s.Execute = ex_b;
  52327.                 s.Insert = in_b;
  52328.                s.Update    = up_b;
  52329.                s.Select    = se_b;
  52330.              s.DRI = dr_b;
  52331.               s.Delete    = de_b;
  52332.               
  52333.                 ex_b = false;
  52334.                 in_b = false;
  52335.                 up_b = false;
  52336.                 se_b = false;
  52337.                 dr_b = false; 
  52338.                 de_b = false;
  52339.             }
  52340.  
  52341.             uid = Query.GetFieldValue('uid');
  52342.             gid = Query.GetFieldValue('gid');
  52343.             urname = Query.GetFieldValue( 'ur_name' );
  52344.             o_schema = Query.GetFieldValue( 'tv_owner' );
  52345.            o_name = Query.GetFieldValue( 'tvp_name' );
  52346.            type = Query.GetFieldValue( 'type' );
  52347.  
  52348.             if (Query.GetFieldValue( 'action' ) == 224) ex_b=true;
  52349.             if (Query.GetFieldValue( 'action' ) == 195) in_b=true;
  52350.             if (Query.GetFieldValue( 'action' ) == 197) up_b=true;
  52351.             if (Query.GetFieldValue( 'action' ) == 193) se_b=true;
  52352.             if (Query.GetFieldValue( 'action' ) == 151) dr_b=true;
  52353.             if (Query.GetFieldValue( 'action' ) == 196) de_b=true;
  52354.  
  52355.             id_old = id;
  52356.             Query.Next();
  52357.             if (Query.Eof)
  52358.             {
  52359.                 if (uid != gid)
  52360.                 {
  52361.                    s = Schema.AddUserPermission();
  52362.                    s.UserName = urname;
  52363.                }
  52364.                else    
  52365.                {
  52366.                    s = Schema.AddRolePermission();
  52367.                    s.RoleName = urname;
  52368.                }
  52369.                s.ObjectSchema = o_schema;
  52370.                s.ObjectName = o_name;
  52371.                switch ( type )
  52372.                 {
  52373.                     case 'U': s.ObjectType = 0; break;
  52374.                     case 'V': s.ObjectType = 3; break;
  52375.                     case 'P': s.ObjectType = 1; break;
  52376.                 }
  52377.                 s.Execute = ex_b;
  52378.                 s.Insert = in_b;
  52379.                s.Update    = up_b;
  52380.                s.Select    = se_b;
  52381.              s.DRI = dr_b;
  52382.               s.Delete    = de_b;
  52383.             }
  52384.       }
  52385.        Query.Close();
  52386.    }
  52387.    Log.Writeln( Translator.Translate( 'DONE',0 ) )
  52388. }
  52389.  
  52390. Schema.Run();    
  52391. };
  52392.  
  52393. //===========================================================================================
  52394.  
  52395. function GetDataType( cTypeName )
  52396. {
  52397. switch (cTypeName)
  52398.     {
  52399.     case 'char':                    return(  10 );
  52400.     case 'binary':                    return(  20 );
  52401.     case 'bit':                        return(  30 );
  52402.     case 'datetime':                return(  40 );
  52403.     case 'decimal':                return(  50 );
  52404.     case 'float':                    return(  60 );
  52405.     case 'image':                    return(  70 );
  52406.     case 'int':                        return(  80 );
  52407.     case 'money':                    return(  90 );
  52408.     case 'nchar':                    return( 100 );
  52409.     case 'numeric':                return( 110 );
  52410.     case 'nvarchar':                return( 120 );
  52411.     case 'real':                    return( 130 );
  52412.     case 'smalldatetime':        return( 140 );
  52413.     case 'timestamp':                return( 145 );
  52414.     case 'smallint':                return( 150 );
  52415.     case 'smallmoney':            return( 160 );
  52416.     case 'text':                    return( 170 );
  52417.     case 'tinyint':                return( 180 );
  52418.     case 'varbinary':                return( 190 );
  52419.     case 'varchar':                return( 200 );
  52420.     case 'unichar':                return( 210 );
  52421.     case 'univarchar':            return( 220 );
  52422.     case 'sysname':                return( 230 );
  52423.     case 'double precision':    return( 240 );
  52424.     case 'float(n)':                return( 250 );
  52425.     }
  52426. return( 0 );
  52427. };
  52428.  
  52429. //===========================================================================================
  52430.  
  52431. function Disconnect()
  52432. {
  52433. Database.Disconnect();
  52434. }
  52435.  
  52436. //===========================================================================================
  52437.  
  52438. function text255(id_object)
  52439. {
  52440.     var Query_text = Database.DefineQuery();
  52441.     Query_text.SQL = 'select sc.id, sc.colid, sc.text as text '
  52442.                          + 'from syscomments sc where sc.id='+id_object
  52443.                          + ' order by sc.colid';
  52444.  
  52445.     if ( Query_text.Open() )
  52446.     {
  52447.         text = '';
  52448.         while (!Query_text.Eof)
  52449.         {
  52450.             if (Query_text.GetFieldValue('text')!=null)
  52451.             {
  52452.                 text = text + Query_text.GetFieldValue('text');
  52453.                if (Query_text.GetFieldValue('text').length<255)
  52454.                     text = text + ' ';
  52455.             }
  52456.             else
  52457.                 text = text + ' ';
  52458.             Query_text.Next();
  52459.         }
  52460.         Query_text.Close();
  52461.     }
  52462.     return text;
  52463. }
  52464.  
  52465. //===========================================================================================
  52466. ]]></VALUE>
  52467. <LANGUAGE>1</LANGUAGE>
  52468. <LANGUAGEWIN>---</LANGUAGEWIN>
  52469. <CATEGORY>6</CATEGORY>
  52470. <MAINSCRIPT>0</MAINSCRIPT>
  52471. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  52472. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  52473. <AUTHOR></AUTHOR>
  52474. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  52475. <VERSION>1.0</VERSION>
  52476. <CREATED><DATE>2/15/2002</DATE><TIME>16:30:13</TIME></CREATED>
  52477. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  52478. </TEMPLATE>
  52479. <TEMPLATE>
  52480. <NAME>SybaseASE</NAME>
  52481. <ID>55</ID>
  52482. <GUID>{CB6143F9-06B7-4114-98F5-A520DB651E35}</GUID>
  52483. <CAPTION>SybaseASE</CAPTION>
  52484. <PACKAGEGUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</PACKAGEGUID>
  52485. <ENABLED>1</ENABLED>
  52486. <LEVEL>0</LEVEL>
  52487. <IDPARENT>0</IDPARENT>
  52488. <VALUE><![CDATA[function Connect()
  52489. {
  52490. Translator.DefaultLng = 'csy';
  52491. ReadVocabulary();
  52492. Scripting.SybaseASE_main.Connect();
  52493. };
  52494.  
  52495. //======================================================================
  52496.  
  52497. function Main()
  52498. {
  52499. Scripting.SybaseASE_main.Main();
  52500. };
  52501.  
  52502. //======================================================================
  52503.  
  52504. function Disconnect()
  52505. {
  52506. Scripting.SybaseASE_main.Disconnect();
  52507. };
  52508.  
  52509. //======================================================================
  52510.  
  52511. function DefineVariables()
  52512. {
  52513. Schema.DatabaseId = 210;
  52514.  
  52515. Variables.DefineVariable( 'lRefInt',        'NaΦφst referenΦnφ integritu',1 );
  52516. Variables.lRefInt            = true;
  52517. Variables.DefineVariable( 'lCheckCon',        'NaΦφst check constrainty',    1 );
  52518. Variables.lCheckCon        = true;
  52519. Variables.DefineVariable( 'lUniCon',        'NaΦφst unique constrainty',    1 );
  52520. Variables.lUniCon            = true;
  52521. Variables.DefineVariable( 'lIndexes',        'NaΦφst indexy',                     1 );
  52522. Variables.lIndexes        = true;
  52523. Variables.DefineVariable( 'lTriggers',        'NaΦφst triggery',                1 );
  52524. Variables.lTriggers        = true;
  52525. Variables.DefineVariable( 'lProcedures',    'NaΦφst procedury',                 1 );
  52526. Variables.lProcedures    = true;
  52527. Variables.DefineVariable( 'lFunctions',    'NaΦφst funkce',                     1 );
  52528. Variables.lFunctions        = true;
  52529. Variables.DefineVariable( 'lViews',            'NaΦφst pohledy',                    1 );
  52530. Variables.lViews            = true;
  52531. Variables.DefineVariable( 'lUsers',            'NaΦφst u₧ivatele a skupiny',    1 );
  52532. Variables.lUsers            = true;
  52533. Variables.DefineVariable( 'lPermissions',    'NaΦφst prßva',                    1 );
  52534. Variables.lPermissions    = true;
  52535. };
  52536.  
  52537. //======================================================================
  52538.  
  52539. function ReadVocabulary()
  52540. {
  52541. Translator.Add( 'W_UNK_ADT',    'Upozorn∞nφ: Neznßm² datov² typ %s v atributu %s!' );
  52542. Translator.Add( 'W_UNK_UDT',    'Upozorn∞nφ: Neznßm² datov² typ %s v u₧ivatelskΘm datovΘm typu %s!' );
  52543. Translator.Add( 'W_REF_INT',    'Upozorn∞nφ: ReferenΦnφ constraint %s byl p°eveden z NO ACTION na RESTRICT!' );
  52544. };
  52545. ]]></VALUE>
  52546. <LANGUAGE>1</LANGUAGE>
  52547. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  52548. <CATEGORY>6</CATEGORY>
  52549. <MAINSCRIPT>1</MAINSCRIPT>
  52550. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  52551. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  52552. <AUTHOR></AUTHOR>
  52553. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  52554. <VERSION>1.0</VERSION>
  52555. <CREATED><DATE>4/12/2002</DATE><TIME>9:23:53</TIME></CREATED>
  52556. <MODIFIED><DATE>10/17/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  52557. </TEMPLATE>
  52558. <TEMPLATE>
  52559. <NAME>Dictionary</NAME>
  52560. <ID>56</ID>
  52561. <GUID>{FD4F6FA2-5335-11D4-9756-0050BF0C7D34}</GUID>
  52562. <CAPTION>Dictionary</CAPTION>
  52563. <PACKAGEGUID>{76BDC75C-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  52564. <ENABLED>1</ENABLED>
  52565. <LEVEL>0</LEVEL>
  52566. <IDPARENT>0</IDPARENT>
  52567. <VALUE><![CDATA[function ReadVocabulary()
  52568. {
  52569. // obecnΘ
  52570. Translator.Add( 'YES',                    'ano'                         );
  52571. Translator.Add( 'NO',                    'ne'                             );
  52572. Translator.Add( 'DONE',                    'vy°φzeno'                     );
  52573. Translator.Add( 'TYPE',                    'typ'                             );
  52574. Translator.Add( 'NAME',                    'nßzev'                         );
  52575. Translator.Add( 'OTHERS',                'ostatnφ'                     );
  52576. Translator.Add( 'PARENT',                'parent'                        );
  52577. Translator.Add( 'CHILD',                'child'                        );
  52578. Translator.Add( 'EXTERNAL',            'externφ'                    );
  52579. Translator.Add( 'OBJECT',                'objekt'                        );
  52580. Translator.Add( 'OBJECT_NAME',        'nßzev objektu'            );
  52581. Translator.Add( 'OBJECT_TYPE',        'typ objektu'                );
  52582. Translator.Add( 'TEXT',                    'text'                        );
  52583. Translator.Add( 'DATE',                    'datum'                        );
  52584.  
  52585. // tables
  52586. Translator.Add( 'TABLES',                'tabulky'                     );
  52587. Translator.Add( 'TABLE_NAME',            'nßzev tabulky'            );
  52588. Translator.Add( 'PARENT_TABLE',        'parent tabulka'            );
  52589. Translator.Add( 'CHILD_TABLE',        'child tabulka'            );
  52590.  
  52591. // entity
  52592. Translator.Add( 'ENTITY',                'entita'                     );
  52593. Translator.Add( 'ENTITIES',            'entity'                     );
  52594. Translator.Add( 'ENTITY_NAME',        'nßzev entity'             );
  52595. Translator.Add( 'ENTITY_TYPE',        'typ entity'                );
  52596. Translator.Add( 'DEPENDENT',            'zßvislß'                    );
  52597. Translator.Add( 'INDEPENDENT',        'nezßvislß'                    );
  52598. Translator.Add( 'PARENT_ENTITY',        'parent entita'            );
  52599. Translator.Add( 'CHILD_ENTITY',        'child entita'                );
  52600.  
  52601. // columns
  52602. Translator.Add( 'COLUMNS',                'sloupce'                     );
  52603. Translator.Add( 'COLUMN_NAME',        'nßzev sloupce'            );
  52604. Translator.Add( 'COLUMN_NAMES',        'nßzvy sloupc∙'            );
  52605. Translator.Add( 'DOMAIN',                'domΘna'                         );
  52606.  
  52607. // atributy
  52608. Translator.Add( 'ATTRIBUTE',            'atribut'                     );
  52609. Translator.Add( 'ATTRIBUTES',            'atributy'                     );
  52610. Translator.Add( 'ATTRIBUTE_NAME',    'nßzev atributu'            );
  52611. Translator.Add( 'ROLE_NAME',            'nßzev role'                );
  52612. Translator.Add( 'ATTR_ROLENAME',        'nßzev atributu/role'    );
  52613.  
  52614. // relace
  52615. Translator.Add( 'RELATIONSHIP',        'relace'                     );
  52616. Translator.Add( 'RELATIONSHIPS',        'relace'                     );
  52617. Translator.Add( 'RELSHIP_NAME',        'nßzev relace'                 );
  52618. Translator.Add( 'RELSHIP_TYPE',        'typ relace'                 );
  52619. Translator.Add( 'IDENTIFYING',        'identifikaΦnφ'            );
  52620. Translator.Add( 'NON_IDENTIFYING',    'neidentifikaΦnφ'            );
  52621. Translator.Add( 'INFORMATIVE',        'informaΦnφ'                );
  52622. Translator.Add( 'EXISTENCE',            'parcialita'                ); 
  52623. Translator.Add( 'PARTIALITY_PARENT','parent parcialita'        ); 
  52624. Translator.Add( 'PARTIALITY_CHILD', 'child parcialita'       ); 
  52625. Translator.Add( 'MANDATORY',            'povinnß'                     );
  52626. Translator.Add( 'OPTIONAL',            'volitelnß'                    );
  52627.  
  52628. // referenΦnφ integrita
  52629. Translator.Add( 'REFER_INTEGRITY',  'referenΦnφ integrita'    );
  52630. Translator.Add( 'R_INT_NONE',        'none'                        );
  52631. Translator.Add( 'R_INT_SET_NULL',    'set null'                    );
  52632. Translator.Add( 'R_INT_RESTRICT',    'restrict'                    );
  52633. Translator.Add( 'R_INT_CASCADE',        'cascade'                    );
  52634. Translator.Add( 'R_INT_SET_DEF',        'set default'                );
  52635. Translator.Add( 'R_INT_INSERT',        'insert'                        );
  52636. Translator.Add( 'R_INT_UPDATE',        'update'                        );
  52637. Translator.Add( 'R_INT_DELETE',        'delete'                        );
  52638.  
  52639. // indexy
  52640. Translator.Add( 'INDEX',                'index'                         );
  52641. Translator.Add( 'INDEXES',                'indexy'                         );
  52642. Translator.Add( 'INDEX_NAME',            'nßzev indexu'                );
  52643. Translator.Add( 'INDEX_ITEMS',        'polo₧ky indexu'            );
  52644. Translator.Add( 'DESCENDING',            'vzestupn²'                    );
  52645. Translator.Add( 'CLUSTERED',            'clustrovan²'                );
  52646. Translator.Add( 'CASE_SENSITIVE',    'case sensitive'            );
  52647. Translator.Add( 'EXPRESSION',            'v²raz'                        );
  52648. Translator.Add( 'FILTER',                'filtr'                        );
  52649.  
  52650. // klφΦe
  52651. Translator.Add( 'KEY',                    'klφΦ'                        );
  52652. Translator.Add( 'KEYS',                    'klφΦe'                        );
  52653. Translator.Add( 'KEY_NAME',            'nßzev klφΦe'                );
  52654. Translator.Add( 'KEY_TYPE',            'typ klφΦe'                    );
  52655. Translator.Add( 'PK',                    'PK'                            );
  52656. Translator.Add( 'FK',                    'FK'                            );
  52657. Translator.Add( 'PFK',                    'PFK'                            );
  52658. Translator.Add( 'PRIMARY_KEY',        'primßrnφ klφΦ'            );
  52659. Translator.Add( 'FOREIGN_KEY',        'cizφ klφΦ'                    );
  52660. Translator.Add( 'PARENT_KEY',            'parent klφΦ'                 );
  52661. Translator.Add( 'CHILD_KEY',            'child klφΦ'                );
  52662. Translator.Add( 'UNIQUE_ATTR',        'jedineΦn² atribut'        );
  52663.  
  52664. // alternativnφ klφΦe
  52665. Translator.Add( 'ALTERNATE_KEY',        'alternativnφ klφΦ'        );
  52666. Translator.Add( 'ALTERNATE_KEYS',    'alternativnφ klφΦe'        );
  52667.  
  52668. // datov² slovnφk
  52669. Translator.Add( 'DATA_DICTIONARY',    'datov² slovnφk'            );
  52670. Translator.Add( 'DICTIONARY',            'slovnφk'                    );
  52671. Translator.Add( 'USER_TYPES',            'u₧ivatelskΘ typy'        );
  52672. Translator.Add( 'USER_TYPE',            'u₧ivatelsk² typ'            );
  52673. Translator.Add( 'USER_TYPE_NAME',    'nßzev u₧ivatelskΘho typu' );
  52674.  
  52675. // user permissions
  52676. Translator.Add( 'USERS',                'u₧ivatelΘ'                     );
  52677. Translator.Add( 'USER_ROLES',            'u₧ivatelskΘ role'        );
  52678. Translator.Add( 'PERMISSIONS',        'prßva'                         );
  52679. Translator.Add( 'USER_NAME',            'jmΘno u₧ivatele'            );
  52680.  
  52681. Translator.Add( 'P_SELECT',            'select'                         );
  52682. Translator.Add( 'P_INSERT',            'insert'                         );
  52683. Translator.Add( 'P_UPDATE',            'update'                         );
  52684. Translator.Add( 'P_DELETE',            'delete'                         );
  52685. Translator.Add( 'P_EXECUTE',            'execute'                     );
  52686. Translator.Add( 'P_DRI',                'DRI'                             );
  52687.  
  52688. // ostatnφ
  52689. Translator.Add( 'DATA_TYPE',            'datov² typ'                );
  52690. Translator.Add( 'LENGTH',                'dΘlka'                        );
  52691. Translator.Add( 'DECIMAL',                'desetiny'                    );
  52692.  
  52693. Translator.Add( 'TRIGGER',                'trigger'                    );
  52694. Translator.Add( 'TRIGGERS',            'triggery'                    );
  52695. Translator.Add( 'TRIG_ENTITY',        'triggery pro entity'   );                
  52696. Translator.Add( 'TRIG_USER',            'u₧ivatelskΘ triggery'  );                
  52697. Translator.Add( 'VIEW',                    'pohled'                        );
  52698. Translator.Add( 'VIEWS',                'pohledy'                    );
  52699. Translator.Add( 'PROCEDURE',            'procedura'                    );
  52700. Translator.Add( 'PROCEDURES',            'procedury'                     );
  52701.  
  52702. Translator.Add( 'MODEL',                'model'                        );
  52703. Translator.Add( 'CONSTRAINT',            'constraint'                );
  52704. Translator.Add( 'CONSTRAINTS',        'constrainty'                );
  52705. Translator.Add( 'CONSTRAINT_NAME',    'nßzev constraintu'        );
  52706. Translator.Add( 'STORAGE',                'storage'                    );
  52707. Translator.Add( 'DESCRIPTION',        'popis'                        );
  52708. Translator.Add( 'NOTES',                'poznßmky'                    );
  52709. Translator.Add( 'VM_NOTES',            'poznßmky ze spr.verz.'    );
  52710. Translator.Add( 'RESTRICTIONS',        'omezenφ'                    );
  52711. Translator.Add( 'USAGE',                'pou₧ito v'                    );
  52712. Translator.Add( 'CHECK',                'check'                        );
  52713. Translator.Add( 'CHECK_C_NAME',        'nßzev check constraintu'    );
  52714. Translator.Add( 'DEFAULT',                'default'                        );
  52715. Translator.Add( 'DEFAULT_C_NAME',    'nßzev default constraintu');
  52716. Translator.Add( 'UNIQUE',                'unique'                            );
  52717. Translator.Add( 'UNIQUE_C_NAME',        'nßzev unique constraintu'    );
  52718. Translator.Add( 'NOT_NULL',            'not null'                    );
  52719. Translator.Add( 'DEF',                    'def'                            );
  52720. Translator.Add( 'DEF2',                    'def2'                        );
  52721. Translator.Add( 'GENERATE',            'generuj'                    );
  52722. Translator.Add( 'UDEF_VARS',            'u₧ivatelskΘ prom∞nnΘ'    );
  52723. Translator.Add( 'VALUE',                'hodnota'                     );
  52724. Translator.Add( 'OTHER_SQL',            'ostatnφ SQL skript'        );
  52725.  
  52726. // model datov²ch tok∙
  52727. Translator.Add( 'PROCESS',                'proces'                        );    
  52728. Translator.Add( 'PROCESSES',            'procesy'                    );
  52729. Translator.Add( 'DATA_FLOW',            'datov² tok'                );    
  52730. Translator.Add( 'DATA_FLOWS',            'datovΘ toky'                );    
  52731. Translator.Add( 'DATA_STORE',            'datastore'                    );    
  52732. Translator.Add( 'DATA_STORES',        'datastory'                    );    
  52733. Translator.Add( 'TERMINATOR',            'terminßtor'                );    
  52734. Translator.Add( 'TERMINATORS',        'terminßtory'                );
  52735.  
  52736. // procesy
  52737. Translator.Add( 'PROCESS_NO',            'Φφslo procesu'            );
  52738. Translator.Add( 'PROCESS_NAME',        'nßzev procesu'             );
  52739. Translator.Add( 'LOWEST_LEVEL',        'minispecifikace'         );
  52740. Translator.Add( 'SUBPROCESS_COUNT',    'poΦet podproces∙'        );
  52741. Translator.Add( 'SPECIFICATION',        'specifikace'                );
  52742.  
  52743. // terminßtory
  52744. Translator.Add( 'TERMINATOR_NAME',    'nßzev terminßtoru'        );
  52745.  
  52746. // data story
  52747. Translator.Add( 'DATA_STORE_NAME',    'nßzev datastoru'            );
  52748.  
  52749. // datovΘ toky
  52750. Translator.Add( 'DATA_FLOW_NAME',    'nßzev datovΘho toku'    );
  52751. Translator.Add( 'T_DATA_FLOW',        'datov² tok'                );        // typ
  52752. Translator.Add( 'T_CONTROL_FLOW',    '°φdφcφ tok'                );        // typ
  52753.  
  52754. // To-Do list
  52755. Translator.Add( 'CATEGORY',            'kategorie'                    );
  52756. Translator.Add( 'GENERAL_INFO',        'obecnΘ informace'        );
  52757. Translator.Add( 'TO_DO_LIST',            'To-Do list'                );
  52758. Translator.Add( 'PRIORITY',            'priorita'                    );
  52759. Translator.Add( 'OWNER',                'majitel'                    );
  52760.  
  52761. // zßkladnφ informace/RTF
  52762. Translator.Add( 'PROJECT',                'projekt'                    );
  52763. Translator.Add( 'SUBMODEL',            'submodel'                    );
  52764. Translator.Add( 'VERSION',                'verze'                         );
  52765. Translator.Add( 'COMPANY',                'spoleΦnost'                    );
  52766. Translator.Add( 'AUTHOR',                'autor'                        );
  52767. Translator.Add( 'CREATED',                'vytvo°eno dne'            );
  52768. Translator.Add( 'LAST_MODIFIED',        'poslednφ zm∞na'            );
  52769. Translator.Add( 'FOR_PROJECT',        'k projektu'                );
  52770. }
  52771. ]]></VALUE>
  52772. <LANGUAGE>1</LANGUAGE>
  52773. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  52774. <CATEGORY>1</CATEGORY>
  52775. <MAINSCRIPT>0</MAINSCRIPT>
  52776. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  52777. <DESCRIPTION><![CDATA[Zßkladnφ slovnφk pro generovßnφ jazykov∞ nezßvisl²ch report∙.]]></DESCRIPTION>
  52778. <AUTHOR>David Fux</AUTHOR>
  52779. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  52780. <VERSION>1.1</VERSION>
  52781. <CREATED><DATE>7/6/2000</DATE><TIME>12:08:41</TIME></CREATED>
  52782. <MODIFIED><DATE>5/30/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  52783. </TEMPLATE>
  52784. <TEMPLATE>
  52785. <NAME>LngSpec</NAME>
  52786. <ID>57</ID>
  52787. <GUID>{47032288-5670-11D4-9756-0050BF0C7D34}</GUID>
  52788. <CAPTION>LngSpec</CAPTION>
  52789. <PACKAGEGUID>{76BDC75C-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  52790. <ENABLED>1</ENABLED>
  52791. <LEVEL>0</LEVEL>
  52792. <IDPARENT>0</IDPARENT>
  52793. <VALUE><![CDATA[function SetLngSpecifications()
  52794. {
  52795. Rtf.LanguageId    = '1029';
  52796. Rtf.CodePage      = '1250';
  52797. Rtf.CharacterSet  = '238';
  52798. HTML.CharacterSet    = 'windows-1250';
  52799. };
  52800. ]]></VALUE>
  52801. <LANGUAGE>1</LANGUAGE>
  52802. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  52803. <CATEGORY>1</CATEGORY>
  52804. <MAINSCRIPT>0</MAINSCRIPT>
  52805. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  52806. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  52807. <AUTHOR>David Fux</AUTHOR>
  52808. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  52809. <VERSION>1.0</VERSION>
  52810. <CREATED><DATE>7/10/2000</DATE><TIME>14:43:23</TIME></CREATED>
  52811. <MODIFIED><DATE>4/22/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  52812. </TEMPLATE>
  52813. <TEMPLATE>
  52814. <NAME>Dictionary</NAME>
  52815. <ID>58</ID>
  52816. <GUID>{EA763A4B-5677-11D4-9756-0050BF0C7D34}</GUID>
  52817. <CAPTION>Dictionary</CAPTION>
  52818. <PACKAGEGUID>{FC867993-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  52819. <ENABLED>1</ENABLED>
  52820. <LEVEL>0</LEVEL>
  52821. <IDPARENT>0</IDPARENT>
  52822. <VALUE><![CDATA[function ReadVocabulary()
  52823. {
  52824. // common
  52825. Translator.Add( 'YES',                    'yes'                         );
  52826. Translator.Add( 'NO',                    'no'                             );
  52827. Translator.Add( 'DONE',                    'done'                         );
  52828. Translator.Add( 'TYPE',                    'type'                         );
  52829. Translator.Add( 'NAME',                    'name'                         );
  52830. Translator.Add( 'OTHERS',                'others'                         );
  52831. Translator.Add( 'PARENT',                'parent'                        );
  52832. Translator.Add( 'CHILD',                'child'                        );
  52833. Translator.Add( 'EXTERNAL',            'external'                    );
  52834. Translator.Add( 'OBJECT',                'object'                        );
  52835. Translator.Add( 'OBJECT_NAME',        'object name'                );
  52836. Translator.Add( 'OBJECT_TYPE',        'object type'                );
  52837. Translator.Add( 'TEXT',                    'text'                        );
  52838. Translator.Add( 'DATE',                    'date'                        );
  52839.  
  52840. // tables
  52841. Translator.Add( 'TABLES',                'tables'                         );
  52842. Translator.Add( 'TABLE_NAME',            'table name'                 );
  52843. Translator.Add( 'PARENT_TABLE',        'parent table'                );
  52844. Translator.Add( 'CHILD_TABLE',        'child table'                );
  52845.  
  52846. // entities
  52847. Translator.Add( 'ENTITY',                'entity'                     );
  52848. Translator.Add( 'ENTITIES',            'entities'                     );
  52849. Translator.Add( 'ENTITY_NAME',        'entity name'                 );
  52850. Translator.Add( 'ENTITY_TYPE',        'entity type'                );
  52851. Translator.Add( 'DEPENDENT',            'dependent'                    );
  52852. Translator.Add( 'INDEPENDENT',        'independent'                );
  52853. Translator.Add( 'PARENT_ENTITY',        'parent entity'            );
  52854. Translator.Add( 'CHILD_ENTITY',        'child entity'                );
  52855.  
  52856. // columns
  52857. Translator.Add( 'COLUMNS',                'columns'                     );
  52858. Translator.Add( 'COLUMN_NAME',        'column name'                 );
  52859. Translator.Add( 'COLUMN_NAMES',        'column names'             );
  52860. Translator.Add( 'DOMAIN',                'domain'                         );
  52861.  
  52862. // atributes
  52863. Translator.Add( 'ATTRIBUTE',            'attribute'                 );
  52864. Translator.Add( 'ATTRIBUTES',            'attributes'                 );
  52865. Translator.Add( 'ATTRIBUTE_NAME',    'attribute name'            );
  52866. Translator.Add( 'ROLE_NAME',            'role name'                    );
  52867. Translator.Add( 'ATTR_ROLENAME',        'attribute/role name'    );
  52868.  
  52869. // relationships
  52870. Translator.Add( 'RELATIONSHIP',        'relationship'             );
  52871. Translator.Add( 'RELATIONSHIPS',        'relationships'             );
  52872. Translator.Add( 'RELSHIP_NAME',        'relationship name'        );
  52873. Translator.Add( 'RELSHIP_TYPE',        'relationship type'         );
  52874. Translator.Add( 'IDENTIFYING',        'identifying'                );
  52875. Translator.Add( 'NON_IDENTIFYING',    'non-identifying'            );
  52876. Translator.Add( 'INFORMATIVE',        'informative'                );
  52877. Translator.Add( 'EXISTENCE',            'parciality'                ); 
  52878. Translator.Add( 'PARTIALITY_PARENT','parent parciality'        ); 
  52879. Translator.Add( 'PARTIALITY_CHILD', 'child parciality'       ); 
  52880. Translator.Add( 'MANDATORY',            'mandatory'                 );
  52881. Translator.Add( 'OPTIONAL',            'optional'                    );
  52882.  
  52883. // referential integrity
  52884. Translator.Add( 'REFER_INTEGRITY',  'referential integrity'    );
  52885. Translator.Add( 'R_INT_NONE',        'none'                        );
  52886. Translator.Add( 'R_INT_SET_NULL',    'set null'                    );
  52887. Translator.Add( 'R_INT_RESTRICT',    'restrict'                    );
  52888. Translator.Add( 'R_INT_CASCADE',        'cascade'                    );
  52889. Translator.Add( 'R_INT_SET_DEF',        'set default'                );
  52890. Translator.Add( 'R_INT_INSERT',        'insert'                        );
  52891. Translator.Add( 'R_INT_UPDATE',        'update'                        );
  52892. Translator.Add( 'R_INT_DELETE',        'delete'                        );
  52893.  
  52894. // indexes
  52895. Translator.Add( 'INDEX',                'index'                         );
  52896. Translator.Add( 'INDEXES',                'indexes'                     );
  52897. Translator.Add( 'INDEX_NAME',            'index name'                );
  52898. Translator.Add( 'INDEX_ITEMS',        'index items'                );
  52899. Translator.Add( 'DESCENDING',            'descending'                );
  52900. Translator.Add( 'CLUSTERED',            'clustered'                    );
  52901. Translator.Add( 'CASE_SENSITIVE',    'case sensitive'            );
  52902. Translator.Add( 'EXPRESSION',            'expression'                );
  52903. Translator.Add( 'FILTER',                'filter'                        );
  52904.  
  52905. // keys
  52906. Translator.Add( 'KEY',                    'key'                            );
  52907. Translator.Add( 'KEYS',                    'keys'                        );
  52908. Translator.Add( 'KEY_NAME',            'key name'                    );
  52909. Translator.Add( 'KEY_TYPE',            'key type'                    );
  52910. Translator.Add( 'PK',                    'PK'                            );
  52911. Translator.Add( 'FK',                    'FK'                            );
  52912. Translator.Add( 'PFK',                    'PFK'                            );
  52913. Translator.Add( 'PRIMARY_KEY',        'primary key'                );
  52914. Translator.Add( 'FOREIGN_KEY',        'foreign key'                );
  52915. Translator.Add( 'PARENT_KEY',            'parent key'                 );
  52916. Translator.Add( 'CHILD_KEY',            'child key'                    );
  52917. Translator.Add( 'UNIQUE_ATTR',        'unique attribute'        );
  52918.  
  52919. // alternative keys
  52920. Translator.Add( 'ALTERNATE_KEY',        'alternative key'            );
  52921. Translator.Add( 'ALTERNATE_KEYS',    'alternative keys'        );
  52922.  
  52923. // data dictionary
  52924. Translator.Add( 'DATA_DICTIONARY',    'data dictionary'            );
  52925. Translator.Add( 'DICTIONARY',            'dictionary'                );
  52926. Translator.Add( 'USER_TYPES',            'user types'                );
  52927. Translator.Add( 'USER_TYPE',            'user type'                    );
  52928. Translator.Add( 'USER_TYPE_NAME',    'user type name'             );
  52929.  
  52930. // user permissions
  52931. Translator.Add( 'USERS',                'users'                         );
  52932. Translator.Add( 'USER_ROLES',            'user roles'                 );
  52933. Translator.Add( 'PERMISSIONS',        'permissions'                 );
  52934. Translator.Add( 'USER_NAME',            'user name'                     );
  52935.  
  52936. Translator.Add( 'P_SELECT',            'select'                         );
  52937. Translator.Add( 'P_INSERT',            'insert'                         );
  52938. Translator.Add( 'P_UPDATE',            'update'                         );
  52939. Translator.Add( 'P_DELETE',            'delete'                         );
  52940. Translator.Add( 'P_EXECUTE',            'execute'                     );
  52941. Translator.Add( 'P_DRI',                'DRI'                             );
  52942.  
  52943. // others
  52944. Translator.Add( 'DATA_TYPE',            'data type'                    );
  52945. Translator.Add( 'LENGTH',                'length'                        );
  52946. Translator.Add( 'DECIMAL',                'decimal'                    );
  52947.  
  52948. Translator.Add( 'TRIGGER',                'trigger'                    );
  52949. Translator.Add( 'TRIGGERS',            'triggers'                    );
  52950. Translator.Add( 'TRIG_ENTITY',        'triggers for entities' );                
  52951. Translator.Add( 'TRIG_USER',            'user triggers'            );                
  52952. Translator.Add( 'VIEW',                    'view'                        );
  52953. Translator.Add( 'VIEWS',                'views'                        );
  52954. Translator.Add( 'PROCEDURE',            'procedure'                    );
  52955. Translator.Add( 'PROCEDURES',            'procedures'                );
  52956.  
  52957. Translator.Add( 'MODEL',                'model'                        );
  52958. Translator.Add( 'CONSTRAINT',            'constraint'                );
  52959. Translator.Add( 'CONSTRAINTS',        'constraints'                );
  52960. Translator.Add( 'CONSTRAINT_NAME',    'constraint name'            );
  52961. Translator.Add( 'STORAGE',                'storage'                    );
  52962. Translator.Add( 'DESCRIPTION',        'description'                );
  52963. Translator.Add( 'NOTES',                'notes'                        );
  52964. Translator.Add( 'VM_NOTES',            'notes from VM'            );
  52965. Translator.Add( 'RESTRICTIONS',        'restrictions'                );
  52966. Translator.Add( 'USAGE',                'used in'                    );
  52967. Translator.Add( 'CHECK',                'check'                        );
  52968. Translator.Add( 'CHECK_C_NAME',        'check constraint name' );
  52969. Translator.Add( 'DEFAULT',                'default'                    );
  52970. Translator.Add( 'DEFAULT_C_NAME',    'default constraint name'     );
  52971. Translator.Add( 'UNIQUE',                'unique'                            );
  52972. Translator.Add( 'UNIQUE_C_NAME',        'unique constraint name'     );
  52973. Translator.Add( 'NOT_NULL',            'not null'                    );
  52974. Translator.Add( 'DEF',                    'def'                            );
  52975. Translator.Add( 'DEF2',                    'def2'                        );
  52976. Translator.Add( 'GENERATE',            'generate'                    );
  52977. Translator.Add( 'UDEF_VARS',            'user-defined variables');
  52978. Translator.Add( 'VALUE',                'value'                        );
  52979. Translator.Add( 'OTHER_SQL',            'other SQL script'        );
  52980.  
  52981. // data flow models
  52982. Translator.Add( 'PROCESS',                'process'                    );    
  52983. Translator.Add( 'PROCESSES',            'processes'                    );
  52984. Translator.Add( 'DATA_FLOW',            'data flow'                    );    
  52985. Translator.Add( 'DATA_FLOWS',            'data flows'                );    
  52986. Translator.Add( 'DATA_STORE',            'data store'                );    
  52987. Translator.Add( 'DATA_STORES',        'data stores'                );    
  52988. Translator.Add( 'TERMINATOR',            'terminator'                );    
  52989. Translator.Add( 'TERMINATORS',        'terminators'                );
  52990.  
  52991. // process
  52992. Translator.Add( 'PROCESS_NO',            'process no'                );
  52993. Translator.Add( 'PROCESS_NAME',        'process name'             );
  52994. Translator.Add( 'LOWEST_LEVEL',        'lowest level'                 );
  52995. Translator.Add( 'SUBPROCESS_COUNT',    'subprocess count'        );
  52996. Translator.Add( 'SPECIFICATION',        'specification'            );
  52997.  
  52998. // terminators
  52999. Translator.Add( 'TERMINATOR_NAME',    'terminator name'            );
  53000.  
  53001. // data stores
  53002. Translator.Add( 'DATA_STORE_NAME',    'data store name'            );
  53003.  
  53004. // data flows
  53005. Translator.Add( 'DATA_FLOW_NAME',    'data flow name'            );
  53006. Translator.Add( 'T_DATA_FLOW',        'data flow'                    );        // type
  53007. Translator.Add( 'T_CONTROL_FLOW',    'control flow'                );        // type
  53008.  
  53009. // To-Do list
  53010. Translator.Add( 'CATEGORY',            'category'                    );
  53011. Translator.Add( 'GENERAL_INFO',        'general info'                );
  53012. Translator.Add( 'TO_DO_LIST',            'To-Do list'                );
  53013. Translator.Add( 'PRIORITY',            'priority'                    );
  53014. Translator.Add( 'OWNER',                'owner'                        );
  53015.  
  53016. // basic info/RTF
  53017. Translator.Add( 'PROJECT',                'project'                    );
  53018. Translator.Add( 'SUBMODEL',            'submodel'                    );
  53019. Translator.Add( 'VERSION',                'version'                    );
  53020. Translator.Add( 'COMPANY',                'company'                    );
  53021. Translator.Add( 'AUTHOR',                'author'                        );
  53022. Translator.Add( 'CREATED',                'created'                    );
  53023. Translator.Add( 'LAST_MODIFIED',        'last modified'            );
  53024. Translator.Add( 'FOR_PROJECT',        'for project'                );
  53025. }
  53026.  
  53027. ]]></VALUE>
  53028. <LANGUAGE>1</LANGUAGE>
  53029. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  53030. <CATEGORY>1</CATEGORY>
  53031. <MAINSCRIPT>0</MAINSCRIPT>
  53032. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53033. <DESCRIPTION><![CDATA[Basic vocabulary for generating language independent reports.]]></DESCRIPTION>
  53034. <AUTHOR>David Fux</AUTHOR>
  53035. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53036. <VERSION>1.0</VERSION>
  53037. <CREATED><DATE>7/10/2000</DATE><TIME>15:38:54</TIME></CREATED>
  53038. <MODIFIED><DATE>5/30/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  53039. </TEMPLATE>
  53040. <TEMPLATE>
  53041. <NAME>LngSpec</NAME>
  53042. <ID>59</ID>
  53043. <GUID>{E35D766A-5672-11D4-9756-0050BF0C7D34}</GUID>
  53044. <CAPTION>LngSpec</CAPTION>
  53045. <PACKAGEGUID>{FC867993-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53046. <ENABLED>1</ENABLED>
  53047. <LEVEL>0</LEVEL>
  53048. <IDPARENT>0</IDPARENT>
  53049. <VALUE><![CDATA[function SetLngSpecifications()
  53050. {
  53051. Rtf.LanguageId       = '1033';
  53052. Rtf.CodePage         = '437';
  53053. Rtf.CharacterSet     = '0';
  53054. HTML.CharacterSet    = 'iso-8859-1'; 
  53055. };
  53056. ]]></VALUE>
  53057. <LANGUAGE>1</LANGUAGE>
  53058. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  53059. <CATEGORY>1</CATEGORY>
  53060. <MAINSCRIPT>0</MAINSCRIPT>
  53061. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53062. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53063. <AUTHOR>David Fux</AUTHOR>
  53064. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53065. <VERSION>1.0</VERSION>
  53066. <CREATED><DATE>7/10/2000</DATE><TIME>15:03:58</TIME></CREATED>
  53067. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  53068. </TEMPLATE>
  53069. <TEMPLATE>
  53070. <NAME>SysReportUtils</NAME>
  53071. <ID>60</ID>
  53072. <GUID>{F85CE6DA-688A-11D4-9757-0050BF0C7D34}</GUID>
  53073. <CAPTION>SysReportUtils</CAPTION>
  53074. <PACKAGEGUID>{70CDAF66-7F9F-4811-A7D5-68654B657E56}</PACKAGEGUID>
  53075. <ENABLED>1</ENABLED>
  53076. <LEVEL>0</LEVEL>
  53077. <IDPARENT>0</IDPARENT>
  53078. <VALUE><![CDATA[function LogicToString( Value )
  53079. {
  53080. if (Value)
  53081.     return( Translator.Translate( 'YES',2 ) )
  53082. else
  53083.     return( Translator.Translate( 'NO',2 ) );
  53084. };
  53085.  
  53086. function GetAttrInfo( EntityId,lByRefer )
  53087. {
  53088. AttrCounter = 0;
  53089. PrimaryKey = '';
  53090.  
  53091. // Loading information to attributes
  53092.  for (a = 0; a < Model.CountAttributes; a++)
  53093.     {
  53094.     Attribute = Model.Attributes(a);
  53095.     if (Attribute.EntityId == EntityId)
  53096.         {
  53097.         AttrCounter++;
  53098.         if (Attribute.Pk)
  53099.             {
  53100.             if (PrimaryKey != '' )
  53101.                 PrimaryKey += ', ';
  53102.             if (lByRefer)
  53103.                 PrimaryKey += Rtf.CallBookmark( 'Attribute_'+Attribute.Id )
  53104.             else
  53105.                 PrimaryKey += Attribute.Name;
  53106.             }    
  53107.         }
  53108.     }
  53109.  
  53110. return( new Array( PrimaryKey,AttrCounter ) );
  53111. };
  53112.  
  53113. function GetIndexInfo( IndexId )
  53114. {
  53115. IxCounter  = 0;
  53116. Attributes = '';
  53117. Columns    = '';
  53118.  
  53119. // Loading information to attributes
  53120. for (i=0; i<Model.CountIndexItems; i++)
  53121.     if (Model.IndexItems(i).IndexId == IndexId)
  53122.         {
  53123.         IxCounter++;
  53124.         Attribute = Model.GetAttribute( Model.IndexItems(i).AttributeId );
  53125.         if (Attributes != '' )
  53126.             Attributes += ', ';
  53127.         Attributes += Attribute.Name;
  53128.         if (Columns != '' )
  53129.             Columns += ', ';
  53130.         Columns += Attribute.ColName;
  53131.         };
  53132.  
  53133. return( new Array( Attributes,IxCounter,Columns ) );
  53134. };
  53135.  
  53136. function GetAlterKeyInfo( AlterKeyId )
  53137. {
  53138. AKeyCounter  = 0;
  53139. Attributes   = '';
  53140. Columns      = '';
  53141.  
  53142. // Loading information to attributes
  53143. for (i=0; i<Model.CountAlterKeyItems; i++)
  53144.     if (Model.AlterKeyItems(i).AlterKeyId == AlterKeyId)
  53145.         {
  53146.         AKeyCounter++;
  53147.         Attribute = Model.GetAttribute( Model.AlterKeyItems(i).AttributeId );
  53148.         if (Attributes != '' )
  53149.             Attributes += ', ';
  53150.         Attributes += Attribute.Name;
  53151.         if (Columns != '' )
  53152.             Columns += ', ';
  53153.         Columns += Attribute.ColName;
  53154.         };
  53155.  
  53156. return( new Array( Attributes,AKeyCounter,Columns ) );
  53157. };
  53158.  
  53159.  
  53160. function ReportUDefVariables( Report, Style, Object, Width )
  53161. {
  53162. var lExist = false;
  53163.  
  53164. for (i=0; i<Object.CountUserEditors && !lExist; i++)
  53165.       lExist = Object.UserEditors(i).Enabled;
  53166.  
  53167. if (lExist)
  53168.     {
  53169.     Report.Write( Style,    Translator.Translate( 'UDEF_VARS',1 ) ); 
  53170.  
  53171.     Table = Report.DefineTable( true,false );
  53172.     if (Width != null)
  53173.     {
  53174.         Table.Width = Width;
  53175.     }
  53176.     Table.DefineColumn( 50 );
  53177.     Table.DefineColumn( 50 );
  53178.  
  53179.     Table.DefineCell( 0,0,Translator.Translate( 'NAME', 1 ) );
  53180.     Table.DefineCell( 0,1,Translator.Translate( 'VALUE',1 ) );
  53181.  
  53182.    for (i=0; i<Object.CountUserEditors; i++)
  53183.         {
  53184.         UserEditor = Object.UserEditors(i);
  53185.  
  53186.         Table.DefineCell( i+1,0,UserEditor.Caption );
  53187.         if (UserEditor.Type == 1)
  53188.             if (UserVarToBool(Object.GetUserVariable( UserEditor.Name )))
  53189.                 Table.DefineCell( i+1,1,Translator.Translate( 'YES',1 ) )
  53190.             else    
  53191.                 Table.DefineCell( i+1,1,Translator.Translate( 'NO', 1 ) );
  53192.         else        
  53193.             Table.DefineCell( i+1,1,Object.GetUserVariable( UserEditor.Name ) );
  53194.         };
  53195.  
  53196.     Table.Draw();
  53197.     Table.Close();
  53198.     };
  53199. };
  53200. ]]></VALUE>
  53201. <LANGUAGE>1</LANGUAGE>
  53202. <LANGUAGEWIN>---</LANGUAGEWIN>
  53203. <CATEGORY>1</CATEGORY>
  53204. <MAINSCRIPT>0</MAINSCRIPT>
  53205. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53206. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53207. <AUTHOR>David Fux</AUTHOR>
  53208. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53209. <VERSION>1.0</VERSION>
  53210. <CREATED><DATE>8/2/2000</DATE><TIME>16:59:34</TIME></CREATED>
  53211. <MODIFIED><DATE>5/15/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  53212. </TEMPLATE>
  53213. <TEMPLATE>
  53214. <NAME>DFR_Main</NAME>
  53215. <ID>61</ID>
  53216. <GUID>{F244CD6C-6864-11D4-9757-0050BF0C7D34}</GUID>
  53217. <CAPTION>DFR</CAPTION>
  53218. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53219. <ENABLED>1</ENABLED>
  53220. <LEVEL>0</LEVEL>
  53221. <IDPARENT>0</IDPARENT>
  53222. <VALUE><![CDATA[function Main()
  53223. {
  53224. var i, Object;
  53225.  
  53226. Log.Clear();
  53227. Log.Writeln( 'Reading language specifications' );
  53228. Scripting.LngSpec.SetLngSpecifications();
  53229.  
  53230. Log.Writeln( 'Reading vocabulary' );
  53231. Scripting.Dictionary.ReadVocabulary();
  53232. Scripting.DFR_Dictionary.ReadVocabulary();
  53233.  
  53234. Rtf.New();
  53235.  
  53236. if ( !Variables.lHierarchic )
  53237.     {
  53238.     Variables.lBindTerminator    = false;
  53239.     Variables.lBindDataStore    = false;
  53240.     Variables.lBindDataFlow        = false;
  53241.     }
  53242.  
  53243. // Style definition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53244.  
  53245. Rtf.DefineStyle( 'SECTBEG',  '{{\\header \\pard\\plain \\f1\\fs24\\qr \\brdrb\\brdrsh\\brdrw10\\brsp10 {','\\par}}' ); 
  53246. Rtf.DefineStyle( 'SECTEND',  '','{\\footer \\pard\\plain \\f1\\fs24\\qc -\\chpgn - \\par}}\\sect' );
  53247.  
  53248. Rtf.DefineStyle( 'CAPTION1', '{\\pard \\outlinelevel0\\keepn\\b\\f0\\fs28\\sa140\\cf6\\qc ','\\par}\\pard ' ); 
  53249. Rtf.DefineStyle( 'CAPTION2', '{\\pard \\outlinelevel1\\keepn\\b0\\f0\\fs24\\sb180\\sa120\\cf9 ','\\par}\\pard ' ); 
  53250. Rtf.DefineStyle( 'CAPTION3', '{\\pard \\outlinelevel2\\keepn\\b\\f0\\fs22\\sb140\\sa80\\brdrb\\brdrsh\\brdrw1\\brsp1 ','\\par}\\pard ' ); 
  53251.  
  53252. // Define references  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53253.  
  53254. if ( Variables.lReferences )
  53255.     {
  53256.  
  53257.     // Define process references
  53258.     if ( Variables.lProcessDetails )
  53259.         {
  53260.         for (i=0; i<Model.CountProcesses; i++)
  53261.             {
  53262.             Object = Model.Processes(i);
  53263.             Rtf.DefineBookmark( 'Process_'+Object.Id,Object.Name );
  53264.             };
  53265.         };
  53266.  
  53267.     // Define terminator references
  53268.     if ( Variables.lTerminatorDetails )
  53269.         for (i=0; i<Model.CountTerminators; i++)
  53270.             {
  53271.             Object = Model.Terminators(i);
  53272.             Rtf.DefineBookmark( 'Terminator_'+Object.Id,Object.Name );
  53273.             };
  53274.  
  53275.     // Define data store references
  53276.     if ( Variables.lDataStoreDetails )
  53277.         for (i=0; i<Model.CountDataStores; i++)
  53278.             {
  53279.             Object = Model.DataStores(i);
  53280.             Rtf.DefineBookmark( 'DataStore_'+Object.Id,Object.Name );
  53281.             };
  53282.  
  53283.     // Define data flows references
  53284.     if ( Variables.lDataFlowDetails )
  53285.         for (i=0; i<Model.CountDataFlows; i++)
  53286.             {
  53287.             Object = Model.DataFlows(i);
  53288.             Rtf.DefineBookmark( 'DataFlow_'+Object.Id,Object.Name );
  53289.             };
  53290.     }
  53291.  
  53292. // Generate report - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53293.  
  53294. // Report title
  53295. if ( Variables.lTitle )
  53296.     Scripting.DFR_Title.Generate();
  53297.  
  53298. // Process tree
  53299. if ( Variables.lProcessTree )
  53300.     Scripting.DFR_ProcessTree.Generate();
  53301.  
  53302. // Process summary
  53303. if ( Variables.lProcessSummary )
  53304.     Scripting.DFR_ProcessSummary.Generate();
  53305.  
  53306. // Process deatails
  53307. if ( Variables.lProcessDetails )
  53308.     Scripting.DFR_ProcessDetails.Generate();
  53309.  
  53310. // Terminator summary
  53311. if ( Variables.lTerminatorSummary )
  53312.     Scripting.DFR_TerminatorSummary.Generate();
  53313.  
  53314. // Terminator deatails
  53315. if ( Variables.lTerminatorDetails && !Variables.lBindTerminator )
  53316.     Scripting.DFR_TerminatorDetails.Generate();
  53317.  
  53318. // Data store summary
  53319. if ( Variables.lDataStoreSummary )
  53320.     Scripting.DFR_DataStoreSummary.Generate();
  53321.  
  53322. // Data store deatails
  53323. if ( Variables.lDataStoreDetails && !Variables.lBindDataStore )
  53324.     Scripting.DFR_DataStoreDetails.Generate();
  53325.  
  53326. // Data flow summary
  53327. if ( Variables.lDataFlowSummary )
  53328.     Scripting.DFR_DataFlowSummary.Generate();
  53329.  
  53330. // Data flow deatails
  53331. if ( Variables.lDataFlowDetails && !Variables.lBindDataFlow )
  53332.     Scripting.DFR_DataFlowDetails.Generate();
  53333.  
  53334. Log.Writeln( 'Closing report' );
  53335. Rtf.Close();
  53336.  
  53337. // Save report  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53338.  
  53339. Log.Writeln( 'Saving report' );
  53340. TextStream.SaveDialogFilter     = 'rich text files (*.rtf)|*.rtf';
  53341. TextStream.SaveDialogDefaultExt = 'rtf';
  53342. TextStream.Text = Rtf.Text;
  53343. TextStream.Save();
  53344.  
  53345. Log.Writeln( 'Ready' );
  53346. };
  53347. ]]></VALUE>
  53348. <LANGUAGE>1</LANGUAGE>
  53349. <LANGUAGEWIN>---</LANGUAGEWIN>
  53350. <CATEGORY>4</CATEGORY>
  53351. <MAINSCRIPT>0</MAINSCRIPT>
  53352. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53353. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53354. <AUTHOR>David Fux</AUTHOR>
  53355. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53356. <VERSION>1.1</VERSION>
  53357. <CREATED><DATE>8/2/2000</DATE><TIME>11:14:30</TIME></CREATED>
  53358. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53359. </TEMPLATE>
  53360. <TEMPLATE>
  53361. <NAME>DFR_Title</NAME>
  53362. <ID>62</ID>
  53363. <GUID>{F244CD6E-6864-11D4-9757-0050BF0C7D34}</GUID>
  53364. <CAPTION>DFR_Title</CAPTION>
  53365. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53366. <ENABLED>1</ENABLED>
  53367. <LEVEL>0</LEVEL>
  53368. <IDPARENT>0</IDPARENT>
  53369. <VALUE><![CDATA[function Generate()
  53370. {
  53371. Log.Writeln( 'Generating title page'  );
  53372.  
  53373. Rtf.Write(   '{\\titlepg\\qc' );
  53374. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw30\\brsp10'  );
  53375. Rtf.Writeln( '\\fs72\\brdrt\\brdrsh\\brdrw15\\brsp10' );
  53376. Rtf.Writeln( '\\b\\f0\\shad '+Translator.Translate( 'DATA_FLOW_REPORT', 2 ) );
  53377. Rtf.Writeln( '\\fs24'  +Translator.Translate( 'FOR_PROJECT', 2 ) );
  53378. Rtf.Writeln( '\\fs38' +Model.ProjectName );
  53379. Rtf.Writeln( '\\fs20' );
  53380. Rtf.Writeln( '\\fs24' +Translator.Translate('MODEL', 2 ) );
  53381. Rtf.Writeln( '\\fs42' +Model.ModelName );
  53382. Rtf.Writeln( '\\fs20' );
  53383. Rtf.Writeln( '\\fs24'+Translator.Translate('VERSION', 1 ) +' '+Model.Version );
  53384. Rtf.Writeln( '' );
  53385. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw15\\brsp30' );
  53386. Rtf.Writeln( '\\brdrt\\brdrsh\\brdrw30\\brsp30\\sa7300' );
  53387. Rtf.Writeln( '\\pard \\qr\\b\\fs24 ' + Model.Company + '\\b0' );
  53388. if ( Model.Author != '' ) 
  53389.   Rtf.Writeln( '(c) by ' + Model.Author );  
  53390. Rtf.Writeln( '' );
  53391. Rtf.Writeln( Translator.Translate( 'CREATED', 1 )+': '+SysUtils.DateToStr( Model.Created ) );
  53392. Rtf.Writeln( Translator.Translate( 'LAST_MODIFIED', 1 )+': '+SysUtils.DateToStr( Model.Modified ) );
  53393. Rtf.Write( '\\shad0}\\sect' );
  53394. };
  53395. ]]></VALUE>
  53396. <LANGUAGE>1</LANGUAGE>
  53397. <LANGUAGEWIN>---</LANGUAGEWIN>
  53398. <CATEGORY>4</CATEGORY>
  53399. <MAINSCRIPT>0</MAINSCRIPT>
  53400. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53401. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53402. <AUTHOR>David Fux</AUTHOR>
  53403. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53404. <VERSION>1.1</VERSION>
  53405. <CREATED><DATE>8/2/2000</DATE><TIME>11:23:10</TIME></CREATED>
  53406. <MODIFIED><DATE>11/16/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53407. </TEMPLATE>
  53408. <TEMPLATE>
  53409. <NAME>DFR_ProcessTree</NAME>
  53410. <ID>63</ID>
  53411. <GUID>{F244CD6F-6864-11D4-9757-0050BF0C7D34}</GUID>
  53412. <CAPTION>DFR_ProcessTree</CAPTION>
  53413. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53414. <ENABLED>1</ENABLED>
  53415. <LEVEL>0</LEVEL>
  53416. <IDPARENT>0</IDPARENT>
  53417. <VALUE><![CDATA[function Generate()
  53418. {
  53419. Log.Writeln( 'Generating process tree'  );
  53420.  
  53421. Rtf.Write( 'SECTBEG',    Translator.Translate( 'PROCESSES',     1    ) );
  53422. Rtf.Write( 'CAPTION1',    Translator.Translate( 'PROCESS_TREE',1    ) );
  53423.  
  53424. Rtf.Writeln( '0 ' +Translator.Translate( 'MAIN_PROCESS',1 )+' (0.'+Translator.Translate( 'LEVEL',0 )+')' );
  53425. GetSubProcesses( Model.GetProcess( 0 ),1,'' );
  53426.  
  53427. Rtf.Write( 'SECTEND','' );
  53428. };
  53429.  
  53430. //===============================================================================
  53431.  
  53432. function GetSubProcesses( Process, Level, Space )
  53433. {
  53434. var p = 0;
  53435. var SubProcess;
  53436.  
  53437. Space += '   ';
  53438.  
  53439. for (p=0; p<Process.CountProcesses; p++)
  53440.     {
  53441.     SubProcess = Process.Processes(p);
  53442.     if ( SubProcess.ParentId == 0 )
  53443.          {
  53444.         Rtf.Writeln( Space+ SubProcess.ProcessNo +' '+ SubProcess.Name +' ('+Level+'.'+Translator.Translate( 'LEVEL',0 )+')' );
  53445.         GetSubProcesses( SubProcess,Level+1,Space );
  53446.         };
  53447.     };    
  53448. };
  53449. ]]></VALUE>
  53450. <LANGUAGE>1</LANGUAGE>
  53451. <LANGUAGEWIN>---</LANGUAGEWIN>
  53452. <CATEGORY>4</CATEGORY>
  53453. <MAINSCRIPT>0</MAINSCRIPT>
  53454. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53455. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53456. <AUTHOR>David Fux</AUTHOR>
  53457. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53458. <VERSION>1.1</VERSION>
  53459. <CREATED><DATE>8/2/2000</DATE><TIME>11:29:33</TIME></CREATED>
  53460. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53461. </TEMPLATE>
  53462. <TEMPLATE>
  53463. <NAME>DFR_ProcessSummary</NAME>
  53464. <ID>64</ID>
  53465. <GUID>{4A37DA3C-6C3F-11D4-9757-0050BF0C7D34}</GUID>
  53466. <CAPTION>DFR_ProcessSummary</CAPTION>
  53467. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53468. <ENABLED>1</ENABLED>
  53469. <LEVEL>0</LEVEL>
  53470. <IDPARENT>0</IDPARENT>
  53471. <VALUE><![CDATA[function Generate()
  53472. {
  53473. var p;
  53474. var aProcesses = new Array();
  53475.  
  53476. Log.Writeln( 'Generating process summary' );
  53477.  
  53478. // Process list
  53479. for (p=1; p<Model.CountProcesses; p++)
  53480.     aProcesses[ p ] = Model.Processes( p );
  53481.  
  53482. if (aProcesses.length != 0)
  53483.     {
  53484.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'PROCESSES',    1    ) );
  53485.     Rtf.Write( 'CAPTION1',    Translator.Translate( 'PROCESS_LIST',1    ) );
  53486.     ProcessSummaryTable( aProcesses );
  53487.     Rtf.Write( 'SECTEND','' );
  53488.     }
  53489. };
  53490.  
  53491. //===============================================================================
  53492.  
  53493. function ProcessSummaryTable( aProcesses )
  53494. {
  53495. var s, nSubProcesses;
  53496. var p, Process;
  53497. var Table
  53498. var lProcRefer    = ( Variables.lReferences && Variables.lProcessDetails    );
  53499.  
  53500. // Table definition
  53501. Table = Rtf.DefineTable( true,false );
  53502. Table.DefineColumn( 15 );
  53503. Table.DefineColumn( 25 );
  53504. Table.DefineColumn( 12 );
  53505. Table.DefineColumn( 12 );
  53506. Table.DefineColumn( 20 );
  53507. Table.DefineColumn( 16 );
  53508.  
  53509. // Table header
  53510. Table.DefineCell( 0,0,Translator.Translate( 'PROCESS_NO',        1     ) );
  53511. Table.DefineCell( 0,1,Translator.Translate( 'PROCESS_NAME',        1     ) );
  53512. Table.DefineCell( 0,2,Translator.Translate( 'LOWEST_LEVEL',        1     ) );
  53513. Table.DefineCell( 0,3,Translator.Translate( 'EXTERNAL',            1     ) );
  53514. Table.DefineCell( 0,4,Translator.Translate( 'PROCESS',            1     ) );
  53515. Table.DefineCell( 0,5,Translator.Translate( 'SUBPROCESS_COUNT',1     ) );
  53516. Table.DefineCell( 1,0,'\\fs8' );
  53517.  
  53518. // Process list
  53519. for (p=1; p<aProcesses.length; p++)
  53520.     {
  53521.     Process = aProcesses[p];
  53522.  
  53523.     Table.DefineCell( p+1,0,Process.ProcessNo );
  53524.  
  53525.     if (lProcRefer)    
  53526.         Table.DefineCell( p+1,1,Rtf.CallBookmark( 'Process_'+Process.Id ))
  53527.     else
  53528.         Table.DefineCell( p+1,1,Process.Name );
  53529.     
  53530.     Table.DefineCell( p+1,2,Scripting.SysReportUtils.LogicToString( Process.LowestLevel ) );
  53531.     Table.DefineCell( p+1,3,Scripting.SysReportUtils.LogicToString( Process.ParentId!=0 ) );
  53532.  
  53533.     if (Process.ProcessId == 0)
  53534.         Table.DefineCell( p+1,4,Translator.Translate('MAIN_PROCESS',1) )
  53535.     else
  53536.         Table.DefineCell( p+1,4,Model.GetProcess(Process.ProcessId).Name );
  53537.  
  53538.     
  53539.     if (Process.LowestLevel)
  53540.         Table.DefineCell( p+1,5,'-----' )
  53541.     else
  53542.         {
  53543.         nSubProcesses = 0;
  53544.         for (s=0; s<Process.CountProcesses; s++ )
  53545.             if (Process.Processes(s).ParentId == 0)
  53546.                 nSubProcesses++;
  53547.         Table.DefineCell( p+1,5,nSubProcesses.toString() );
  53548.         };
  53549.     };    
  53550.  
  53551. Table.Draw();
  53552. Table.Close();
  53553. };
  53554. ]]></VALUE>
  53555. <LANGUAGE>1</LANGUAGE>
  53556. <LANGUAGEWIN>---</LANGUAGEWIN>
  53557. <CATEGORY>4</CATEGORY>
  53558. <MAINSCRIPT>0</MAINSCRIPT>
  53559. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53560. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53561. <AUTHOR>David Fux</AUTHOR>
  53562. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53563. <VERSION>1.1</VERSION>
  53564. <CREATED><DATE>8/7/2000</DATE><TIME>10:54:04</TIME></CREATED>
  53565. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53566. </TEMPLATE>
  53567. <TEMPLATE>
  53568. <NAME>DFR_ProcessDetails</NAME>
  53569. <ID>65</ID>
  53570. <GUID>{2E0D5012-6C59-11D4-9757-0050BF0C7D34}</GUID>
  53571. <CAPTION>DFR_ProcessDetails</CAPTION>
  53572. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53573. <ENABLED>1</ENABLED>
  53574. <LEVEL>0</LEVEL>
  53575. <IDPARENT>0</IDPARENT>
  53576. <VALUE><![CDATA[function Generate()
  53577. {
  53578. var p;
  53579.  
  53580. lProcRefer    = ( Variables.lReferences && Variables.lProcessDetails    );
  53581.  
  53582. Log.Writeln( 'Generating process details' );
  53583.  
  53584. Rtf.Write( 'SECTBEG',Translator.Translate( 'PROCESSES',1 ) );
  53585.  
  53586. if (Variables.lHierarchic)
  53587.     {
  53588.     Rtf.Write( 'CAPTION1',Translator.Translate( 'MAIN_PROCESS',1 ) );
  53589.     GetSubProcesses( Model.GetProcess(0) );
  53590.    }
  53591. else
  53592.     {
  53593.     Rtf.Write( 'CAPTION1',Translator.Translate( 'PROCESS_DETAILS',1 ) );
  53594.     for (p=0;p<Model.CountProcesses;++p)
  53595.         if (Model.Processes(p).Id != 0 )
  53596.             Details( Model.Processes(p) );
  53597.    };
  53598.            
  53599. Rtf.Write( 'SECTEND','' );
  53600. };
  53601.  
  53602. //===============================================================================
  53603.  
  53604. function GetSubProcesses( Process )
  53605. {
  53606. var i = 0, p;
  53607. var aProcesses = new Array();
  53608. var SubProcess;
  53609. var Id = Process.Id;
  53610.  
  53611. // Draw process list for current process  - - - - - - - - - - - - - - - - - - - - -
  53612. for (p=0; p<Process.CountProcesses; p++)
  53613.     aProcesses[ ++i ] = Process.Processes(p);
  53614.  
  53615. if (aProcesses.length != 0)
  53616.     {
  53617.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'PROCESS_LIST',1    ) );
  53618.     Scripting.DFR_ProcessSummary.ProcessSummaryTable(aProcesses);
  53619.     };
  53620.  
  53621. // Draw detailed subprocess information for current process  - - - - - - - - - - - -
  53622. for (p=1; p<aProcesses.length; p++)
  53623.     Details( aProcesses[p] );
  53624.  
  53625. // Generate terminator list for current process - - - - - - - - - - - - - - - - - - -
  53626. if (Variables.lBindTerminator)
  53627.     Scripting.DFR_TerminatorDetails.GenerateSubPrTerminators( Id );
  53628.  
  53629. // Generate data store list for current process - - - - - - - - - - - - - - - - - - -
  53630. if (Variables.lBindDataStore)
  53631.     Scripting.DFR_DataStoreDetails.GenerateSubPrDataStores( Id );
  53632.  
  53633. // Generate data store list for current process - - - - - - - - - - - - - - - - - - -
  53634. if (Variables.lBindDataFlow)
  53635.     Scripting.DFR_DataFlowDetails.GenerateSubPrDataFlows( Id );
  53636.  
  53637. // Search for further subprocesses - - - - - - - - - - - - - - - - - - - - - - - - -
  53638. for (p=0; p<Process.CountProcesses; p++)
  53639.     {
  53640.     SubProcess = Process.Processes(p);
  53641.  
  53642.     if (!SubProcess.LowestLevel)
  53643.          {
  53644.         Rtf.Write( '\\pard\\page' );
  53645.         Rtf.Write( 'CAPTION1',    Translator.Translate( 'PROCESS',1    )+" '"+SubProcess.Name+"'" );
  53646.         GetSubProcesses( SubProcess );
  53647.         };
  53648.     };    
  53649. };
  53650.  
  53651. //===============================================================================
  53652.  
  53653. function Details( Process )
  53654. {
  53655. var nLevel = 0;
  53656. var nRow   = 2;
  53657. var Table;
  53658. var ParentProcess = Process;
  53659.  
  53660. // Basic process informations - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53661. Rtf.Write( 'CAPTION2',    Translator.Translate( 'PROCESS',1    )+" '"+Process.Name+"'" );
  53662.  
  53663. // Table definition
  53664. Table = Rtf.DefineTable( false,true );
  53665. Table.CellKeepNext = true;
  53666. Table.DefineColumn( 30 );
  53667. Table.DefineColumn( 40 );
  53668. Table.DefineColumn( 20 );
  53669. Table.DefineColumn( 10 );
  53670.  
  53671. // Table header
  53672. Table.DefineCell(        0,0,Translator.Translate( 'PROCESS_NO',    1 ) );
  53673. Table.DefineCell(     1,0,Translator.Translate( 'PROCESS_NAME',    1 ) );
  53674. Table.DefineHeadCell(1,2,Translator.Translate( 'EXTERNAL',        1 ) );
  53675. Table.DefineCell(        2,0,Translator.Translate( 'LEVEL',            1 ) );
  53676. Table.DefineHeadCell(2,2,Translator.Translate( 'LOWEST_LEVEL',    1 ) );
  53677.  
  53678. Table.DefineCell( 0,1,Process.ProcessNo )
  53679.  
  53680. if (lProcRefer)
  53681.     Table.DefineCell( 1,1,Rtf.SetBookmark( 'Process_'+Process.Id ) )
  53682. else
  53683.     Table.DefineCell( 1,1,Process.Name );
  53684. Table.DefineCell( 1,3,Scripting.SysReportUtils.LogicToString( Process.ParentId != 0 ) );
  53685.  
  53686. while (ParentProcess.Id != 0)
  53687. {
  53688.     nLevel++;
  53689.     ParentProcess = Model.GetProcess( ParentProcess.ProcessId );
  53690. };
  53691. Table.DefineCell( 2,1,nLevel.toString() );
  53692. Table.DefineCell( 2,3,Scripting.SysReportUtils.LogicToString( Process.LowestLevel ) );
  53693.  
  53694. if (Process.Specification != '')
  53695.     {
  53696.     Table.DefineCell( ++nRow, 0,Translator.Translate( 'SPECIFICATION',1 ) );
  53697.     Table.DefineCell( nRow,    1,Process.Specification );
  53698.     }
  53699.  
  53700. if (Process.Description != '')
  53701.     {
  53702.     Table.DefineCell( ++nRow, 0,Translator.Translate( 'DESCRIPTION',1 ) );
  53703.     Table.DefineCell( nRow,    1,Process.Description );
  53704.     }
  53705.  
  53706. if (Process.Notes != '')
  53707.     {
  53708.     Table.DefineCell(++nRow, 0,Translator.Translate( 'NOTES',1 ) );
  53709.     Table.DefineCell( nRow, 1, Process.Notes)
  53710.     }
  53711.  
  53712. Table.Draw();
  53713. Table.Close();
  53714.  
  53715. // Process reference list - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  53716. Scripting.DFR_ReferenceList.Generate( Process,1 );
  53717. }
  53718. ]]></VALUE>
  53719. <LANGUAGE>1</LANGUAGE>
  53720. <LANGUAGEWIN>---</LANGUAGEWIN>
  53721. <CATEGORY>4</CATEGORY>
  53722. <MAINSCRIPT>0</MAINSCRIPT>
  53723. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53724. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53725. <AUTHOR>David Fux</AUTHOR>
  53726. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53727. <VERSION>1.1</VERSION>
  53728. <CREATED><DATE>8/7/2000</DATE><TIME>12:14:48</TIME></CREATED>
  53729. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53730. </TEMPLATE>
  53731. <TEMPLATE>
  53732. <NAME>DFR_TerminatorSummary</NAME>
  53733. <ID>66</ID>
  53734. <GUID>{CE341F92-6CFB-11D4-9757-0050BF0C7D34}</GUID>
  53735. <CAPTION>DFR_TerminatorSummary</CAPTION>
  53736. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53737. <ENABLED>1</ENABLED>
  53738. <LEVEL>0</LEVEL>
  53739. <IDPARENT>0</IDPARENT>
  53740. <VALUE><![CDATA[function Generate()
  53741. {
  53742. var t, i=0;
  53743. var aTerminators = new Array();
  53744.  
  53745. Log.Writeln( 'Generating terminator summary' );
  53746.  
  53747. // Terminator list
  53748. for (t=0; t<Model.CountTerminators; t++)
  53749.     aTerminators[ ++i ] = Model.Terminators(t);
  53750.  
  53751. if (aTerminators.length != 0)
  53752.     {
  53753.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'TERMINATORS',     1    ) );
  53754.     Rtf.Write( 'CAPTION1',    Translator.Translate( 'TERMINATOR_LIST',1    ) );
  53755.     TerminatorSummaryTable(aTerminators);
  53756.     Rtf.Write( 'SECTEND','' );
  53757.     }
  53758. };
  53759.  
  53760. //===============================================================================
  53761.  
  53762. function TerminatorSummaryTable( aTerminators )
  53763. {
  53764. var t, Terminator;
  53765. var lTermRefer    = ( Variables.lReferences && Variables.lTerminatorDetails    );
  53766. var Table;
  53767.  
  53768. // Table definition
  53769. Table = Rtf.DefineTable( true,false );
  53770. Table.DefineColumn( 40 );
  53771. Table.DefineColumn( 40 );
  53772. Table.DefineColumn( 20 );
  53773.  
  53774. // Table header
  53775. Table.DefineCell( 0,0,Translator.Translate( 'TERMINATOR_NAME',1    ) );
  53776. Table.DefineCell( 0,1,Translator.Translate( 'PROCESS',            1     ) );
  53777. Table.DefineCell( 0,2,Translator.Translate( 'EXTERNAL',            1     ) );
  53778. Table.DefineCell( 1,0,'\\fs8' );
  53779.  
  53780. // Terminator list
  53781. for (t=1; t<aTerminators.length; t++)
  53782.     {
  53783.     Terminator = aTerminators[t];
  53784.  
  53785.     if (lTermRefer)    
  53786.         Table.DefineCell( t+1,0,Rtf.CallBookmark( 'Terminator_'+Terminator.Id ))
  53787.     else
  53788.         Table.DefineCell( t+1,0,Terminator.Name );
  53789.  
  53790.     if (Terminator.ProcessId == 0)
  53791.         Table.DefineCell( t+1,1,Translator.Translate('MAIN_PROCESS',1) );
  53792.     else
  53793.         Table.DefineCell( t+1,1,Model.GetProcess( Terminator.ProcessId ).Name );
  53794.     Table.DefineCell( t+1,2,Scripting.SysReportUtils.LogicToString( Terminator.ParentId!=0 ) );
  53795.     };    
  53796.  
  53797. Table.Draw();
  53798. Table.Close();
  53799. };
  53800. ]]></VALUE>
  53801. <LANGUAGE>1</LANGUAGE>
  53802. <LANGUAGEWIN>---</LANGUAGEWIN>
  53803. <CATEGORY>4</CATEGORY>
  53804. <MAINSCRIPT>0</MAINSCRIPT>
  53805. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53806. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53807. <AUTHOR>David Fux</AUTHOR>
  53808. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53809. <VERSION>1.0</VERSION>
  53810. <CREATED><DATE>8/8/2000</DATE><TIME>7:18:24</TIME></CREATED>
  53811. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53812. </TEMPLATE>
  53813. <TEMPLATE>
  53814. <NAME>DFR_TerminatorDetails</NAME>
  53815. <ID>67</ID>
  53816. <GUID>{C6DDEB72-6D20-11D4-9757-0050BF0C7D34}</GUID>
  53817. <CAPTION>DFR_TerminatorDetails</CAPTION>
  53818. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53819. <ENABLED>1</ENABLED>
  53820. <LEVEL>0</LEVEL>
  53821. <IDPARENT>0</IDPARENT>
  53822. <VALUE><![CDATA[function Generate()
  53823. {
  53824. var t;
  53825.  
  53826. Log.Writeln( 'Generating terminator details' );
  53827.  
  53828. Rtf.Write( 'SECTBEG',    Translator.Translate( 'TERMINATORS',            1    ) );
  53829. Rtf.Write( 'CAPTION1',    Translator.Translate( 'TERMINATOR_DETAILS',    1    ) );
  53830.  
  53831. for (t=0; t<Model.CountTerminators; t++)
  53832.     Details( Model.Terminators(t) );
  53833.  
  53834. Rtf.Write( 'SECTEND','' );
  53835. };
  53836.  
  53837. //===============================================================================
  53838.  
  53839. function GenerateSubPrTerminators( ProcessId )
  53840. {
  53841. var t, i=0;
  53842. var aTerminators = new Array();
  53843.  
  53844. Log.Writeln( 'Generating terminator details' );
  53845.  
  53846. // Draw terminator list for current process  - - - - - - - - - - - - - - - - - - - - -
  53847. for (t=0; t<Model.CountTerminators; t++)
  53848.     if (Model.Terminators(t).ProcessId == ProcessId)
  53849.         aTerminators[ ++i ] = Model.Terminators(t);
  53850.  
  53851. if (aTerminators.length != 0)
  53852.     {
  53853.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'TERMINATOR_LIST',1    ) );
  53854.     Scripting.DFR_TerminatorSummary.TerminatorSummaryTable(aTerminators);
  53855.     };
  53856.  
  53857. // Draw detailed terminator information for current process  - - - - - - - - - - - - -
  53858. for (t=1; t<aTerminators.length; t++)
  53859.     Details( aTerminators[t] );
  53860.  
  53861. };
  53862.  
  53863. //===============================================================================
  53864.  
  53865. function Details( Terminator )
  53866. {
  53867. var Table;
  53868.  
  53869. // Basic terminator informations - - - - - - - - - - - - - - - - - - - - - - - - - -
  53870. Rtf.Write( 'CAPTION2',    Translator.Translate( 'TERMINATOR',1    )+" '"+Terminator.Name+"'" );
  53871.  
  53872. // Table definition
  53873. Table = Rtf.DefineTable( false,true );
  53874. Table.CellKeepNext = true;
  53875. Table.DefineColumn( 30 );
  53876. Table.DefineColumn( 70 );
  53877. Table.DefineColumn( 20 );
  53878. Table.DefineColumn( 10 );
  53879.  
  53880. // Table header
  53881. Table.DefineCell( 0,0,Translator.Translate( 'TERMINATOR_NAME',1 ) );
  53882. Table.DefineHeadCell( 0,2,Translator.Translate( 'EXTERNAL',      1 ) );
  53883.  
  53884. if (Variables.lReferences)
  53885.     Table.DefineCell( 0,1,Rtf.SetBookmark( 'Terminator_'+Terminator.Id ) )
  53886. else
  53887.     Table.DefineCell( 0,1,Terminator.Name );
  53888. Table.DefineCell( 0,3,Scripting.SysReportUtils.LogicToString( Terminator.ParentId!=0 ));
  53889.  
  53890. if (Terminator.Description != '')
  53891.     {
  53892.     Table.DefineCell( 1,0,Translator.Translate( 'DESCRIPTION',1 ) );
  53893.     Table.DefineCell( 1,1,Terminator.Description );
  53894.     }
  53895.  
  53896. if (Terminator.Notes != '')
  53897.     {
  53898.     Table.DefineCell( 2,0,Translator.Translate( 'NOTES',1 ) );
  53899.     Table.DefineCell( 2,1,Terminator.Notes )
  53900.     }    
  53901.  
  53902. Table.Draw();
  53903. Table.Close();
  53904.  
  53905. Scripting.DFR_ReferenceList.Generate( Terminator,2 )
  53906. };
  53907. ]]></VALUE>
  53908. <LANGUAGE>1</LANGUAGE>
  53909. <LANGUAGEWIN>---</LANGUAGEWIN>
  53910. <CATEGORY>4</CATEGORY>
  53911. <MAINSCRIPT>0</MAINSCRIPT>
  53912. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  53913. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  53914. <AUTHOR>David Fux</AUTHOR>
  53915. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  53916. <VERSION>1.1</VERSION>
  53917. <CREATED><DATE>8/8/2000</DATE><TIME>11:42:28</TIME></CREATED>
  53918. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  53919. </TEMPLATE>
  53920. <TEMPLATE>
  53921. <NAME>DFR_DataStoreSummary</NAME>
  53922. <ID>68</ID>
  53923. <GUID>{C6DDEB76-6D20-11D4-9757-0050BF0C7D34}</GUID>
  53924. <CAPTION>DFR_DataStoreSummary</CAPTION>
  53925. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  53926. <ENABLED>1</ENABLED>
  53927. <LEVEL>0</LEVEL>
  53928. <IDPARENT>0</IDPARENT>
  53929. <VALUE><![CDATA[function Generate()
  53930. {
  53931. var d, i=0;
  53932. var aDataStores = new Array();
  53933.  
  53934. Log.Writeln( 'Generating data store summary' );
  53935.  
  53936. // Data store list
  53937. for (d=0; d<Model.CountDataStores; d++)
  53938.     aDataStores[ ++i ] = Model.DataStores(d);
  53939.  
  53940. if (aDataStores.length != 0)
  53941.     {
  53942.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'DATA_STORES',     1    ) );
  53943.     Rtf.Write( 'CAPTION1',    Translator.Translate( 'DATA_STORE_LIST',1    ) );
  53944.     DataStoreSummaryTable(aDataStores);
  53945.     Rtf.Write( 'SECTEND','' );
  53946.     }
  53947. };
  53948.  
  53949. //===============================================================================
  53950.  
  53951. function DataStoreSummaryTable( aDataStores )
  53952. {
  53953. var d, DataStore, Table;
  53954. var lDSRefer    = ( Variables.lReferences && Variables.lDataStoreDetails    );
  53955.  
  53956. // Table definition
  53957. Table = Rtf.DefineTable( true,false );
  53958. Table.DefineColumn( 30 );
  53959. Table.DefineColumn( 30 );
  53960. Table.DefineColumn( 25 );
  53961. Table.DefineColumn( 15 );
  53962.  
  53963. // Table header
  53964. Table.DefineCell( 0,0,Translator.Translate( 'DATA_STORE_NAME',1     ) );
  53965. Table.DefineCell( 0,1,Translator.Translate( 'PROCESS',            1     ) );
  53966. Table.DefineCell( 0,2,Translator.Translate( 'ENTITY_NAME',        1     ) );
  53967. Table.DefineCell( 0,3,Translator.Translate( 'EXTERNAL',            1     ) );
  53968. Table.DefineCell( 1,0,'\\fs8' );
  53969.  
  53970. // Terminator list
  53971. for (d=1; d<aDataStores.length; d++)
  53972.     {
  53973.     DataStore = aDataStores[d];
  53974.  
  53975.     if (lDSRefer)    
  53976.         Table.DefineCell( d+1,0,Rtf.CallBookmark( 'DataStore_'+DataStore.Id ))
  53977.     else
  53978.         Table.DefineCell( d+1,0,DataStore.Name );
  53979.     
  53980.     if (DataStore.ProcessId == 0)
  53981.         Table.DefineCell( d+1,1,Translator.Translate('MAIN_PROCESS',1) );
  53982.     else
  53983.         Table.DefineCell( d+1,1,Model.GetProcess( DataStore.ProcessId ).Name );
  53984.  
  53985.     if (DataStore.EntityId == 0)    
  53986.         Table.DefineCell( d+1,2,'-----' )
  53987.     else    
  53988.         Table.DefineCell( d+1,2,Model.GetEntity( DataStore.EntityId ).Name );
  53989.  
  53990.     Table.DefineCell( d+1,3,Scripting.SysReportUtils.LogicToString( DataStore.ParentId!=0 ) );
  53991.     };    
  53992.  
  53993. Table.Draw();
  53994. Table.Close();
  53995. };
  53996. ]]></VALUE>
  53997. <LANGUAGE>1</LANGUAGE>
  53998. <LANGUAGEWIN>---</LANGUAGEWIN>
  53999. <CATEGORY>4</CATEGORY>
  54000. <MAINSCRIPT>0</MAINSCRIPT>
  54001. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54002. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54003. <AUTHOR>David Fux</AUTHOR>
  54004. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54005. <VERSION>1.1</VERSION>
  54006. <CREATED><DATE>8/8/2000</DATE><TIME>12:47:03</TIME></CREATED>
  54007. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54008. </TEMPLATE>
  54009. <TEMPLATE>
  54010. <NAME>DFR_DataStoreDetails</NAME>
  54011. <ID>69</ID>
  54012. <GUID>{C6DDEB77-6D20-11D4-9757-0050BF0C7D34}</GUID>
  54013. <CAPTION>DFR_DataStoreDetails</CAPTION>
  54014. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54015. <ENABLED>1</ENABLED>
  54016. <LEVEL>0</LEVEL>
  54017. <IDPARENT>0</IDPARENT>
  54018. <VALUE><![CDATA[function Generate()
  54019. {
  54020. var d;
  54021.  
  54022. Log.Writeln( 'Generating data store details' );
  54023. Rtf.Write( 'SECTBEG',    Translator.Translate( 'DATA_STORES',            1 ) );
  54024. Rtf.Write( 'CAPTION1',    Translator.Translate( 'DATA_STORE_DETAILS',    1 ) );
  54025.  
  54026. for (d=0; d<Model.CountDataStores; d++)
  54027.     Details( Model.DataStores(d) );
  54028.  
  54029. Rtf.Write( 'SECTEND','' );
  54030. };
  54031.  
  54032. //===============================================================================
  54033.  
  54034. function GenerateSubPrDataStores( ProcessId )
  54035. {
  54036. var d, i=0;
  54037. var aDataStores = new Array();
  54038.  
  54039. Log.Writeln( 'Generating data store details' );
  54040.  
  54041. // Draw data store list for current process  - - - - - - - - - - - - - - - - - - - - -
  54042. for (d=0; d<Model.CountDataStores; d++)
  54043.     if (Model.DataStores(d).ProcessId == ProcessId)
  54044.         aDataStores[ ++i ] = Model.DataStores(d);
  54045.  
  54046. if (aDataStores.length != 0)
  54047.     {
  54048.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'DATA_STORE_LIST',1    ) );
  54049.     Scripting.DFR_DataStoreSummary.DataStoreSummaryTable(aDataStores);
  54050.     };
  54051.  
  54052. // Draw detailed data store information for current process  - - - - - - - - - - - - -
  54053. for (d=1; d<aDataStores.length; d++)
  54054.     Details( aDataStores[d] );
  54055.  
  54056. };
  54057.  
  54058. //===============================================================================
  54059.  
  54060. function Details( DataStore )
  54061. {
  54062. var Table;
  54063.  
  54064. // Basic data store informations - - - - - - - - - - - - - - - - - - - - - - - - - -
  54065. Rtf.Write( 'CAPTION2',    Translator.Translate( 'DATA_STORE',1    )+" '"+DataStore.Name+"'" );
  54066.  
  54067. // Table definition
  54068. Table = Rtf.DefineTable( false,true );
  54069. Table.CellKeepNext = true;
  54070. Table.DefineColumn( 30 );
  54071. Table.DefineColumn( 40 );
  54072. Table.DefineColumn( 20 );
  54073. Table.DefineColumn( 10 );
  54074.  
  54075. // Table header
  54076. Table.DefineCell( 0,0,Translator.Translate( 'DATA_STORE_NAME',1 ) );
  54077. Table.DefineHeadCell( 0,2,Translator.Translate( 'EXTERNAL',            1 ) );
  54078. Table.DefineCell( 1,0,Translator.Translate( 'ENTITY_NAME',        1 ) );
  54079.  
  54080. if (Variables.lReferences)
  54081.     Table.DefineCell( 0,1,Rtf.SetBookmark( 'DataStore_'+DataStore.Id ) )
  54082. else
  54083.     Table.DefineCell( 0,1,DataStore.Name );
  54084. Table.DefineCell( 0,3,Scripting.SysReportUtils.LogicToString( DataStore.ParentId != 0 ) );
  54085.  
  54086. if (DataStore.EntityId==0)
  54087.     Table.DefineCell( 1,1,'-----' )
  54088. else    
  54089.     Table.DefineCell( 1,1,Model.GetEntity( DataStore.EntityId ).Name );
  54090.  
  54091. if (DataStore.Description != '')
  54092.     {
  54093.     Table.DefineCell( 2,0,Translator.Translate( 'DESCRIPTION',1 ) );
  54094.     Table.DefineCell( 2,1,DataStore.Description );
  54095.     }
  54096.  
  54097. if (DataStore.Notes != '')
  54098.     {
  54099.     Table.DefineCell( 3,0,Translator.Translate( 'NOTES',1 ) );
  54100.     Table.DefineCell( 3,1,DataStore.Notes );
  54101.     }    
  54102.  
  54103. Table.Draw();
  54104. Table.Close();
  54105.  
  54106. // Draw reference list for current data store
  54107. Scripting.DFR_ReferenceList.Generate( DataStore,3 )
  54108. };
  54109. ]]></VALUE>
  54110. <LANGUAGE>1</LANGUAGE>
  54111. <LANGUAGEWIN>---</LANGUAGEWIN>
  54112. <CATEGORY>4</CATEGORY>
  54113. <MAINSCRIPT>0</MAINSCRIPT>
  54114. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54115. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54116. <AUTHOR>David Fux</AUTHOR>
  54117. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54118. <VERSION>1.1</VERSION>
  54119. <CREATED><DATE>8/8/2000</DATE><TIME>12:47:48</TIME></CREATED>
  54120. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54121. </TEMPLATE>
  54122. <TEMPLATE>
  54123. <NAME>DFR_DataFlowSummary</NAME>
  54124. <ID>70</ID>
  54125. <GUID>{C6DDEB7C-6D20-11D4-9757-0050BF0C7D34}</GUID>
  54126. <CAPTION>DFR_DataFlowSummary</CAPTION>
  54127. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54128. <ENABLED>1</ENABLED>
  54129. <LEVEL>0</LEVEL>
  54130. <IDPARENT>0</IDPARENT>
  54131. <VALUE><![CDATA[function Generate()
  54132. {
  54133. var d, i=0;
  54134. var aDataFlows = new Array();
  54135.  
  54136. Log.Writeln( 'Generating data flow summary' );
  54137.  
  54138. // Data store list
  54139. for (d=0; d<Model.CountDataFlows; d++)
  54140.     aDataFlows[ ++i ] = Model.DataFlows(d);
  54141.  
  54142. if (aDataFlows.length != 0)
  54143.     {
  54144.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'DATA_FLOWS',     1    ) );
  54145.     Rtf.Write( 'CAPTION1',    Translator.Translate( 'DATA_FLOW_LIST',1    ) );
  54146.     DataFlowSummaryTable(aDataFlows);
  54147.     Rtf.Write( 'SECTEND','' );
  54148.     }
  54149. };
  54150.  
  54151. //===============================================================================
  54152.  
  54153. function DataFlowSummaryTable( aDataFlows )
  54154. {
  54155. var d, DataFlow, Table;
  54156. var lDFRefer    = ( Variables.lReferences && Variables.lDataFlowDetails    );
  54157.  
  54158. // Table definition
  54159. Table = Rtf.DefineTable( true,false );
  54160. Table.DefineColumn( 40 );
  54161. Table.DefineColumn( 40 );
  54162. Table.DefineColumn( 20 );
  54163.  
  54164. // Table header
  54165. Table.DefineCell( 0,0,Translator.Translate( 'DATA_FLOW_NAME',1     ) );
  54166. Table.DefineCell( 0,1,Translator.Translate( 'PROCESS',            1     ) );
  54167. Table.DefineCell( 0,2,Translator.Translate( 'EXTERNAL',            1     ) );
  54168. Table.DefineCell( 1,0,'\\fs8' );
  54169.  
  54170. // Data flow list
  54171. for (d=1; d<aDataFlows.length; d++)
  54172.     {
  54173.     DataFlow = aDataFlows[d];
  54174.  
  54175.     if (lDFRefer)    
  54176.         Table.DefineCell( d+1,0,Rtf.CallBookmark( 'DataFlow_'+DataFlow.Id ))
  54177.     else
  54178.         Table.DefineCell( d+1,0,DataFlow.Name );
  54179.     
  54180.     if (DataFlow.ProcessId == 0)
  54181.         Table.DefineCell( d+1,1,Translator.Translate('MAIN_PROCESS',1) );
  54182.     else
  54183.         Table.DefineCell( d+1,1,Model.GetProcess( DataFlow.ProcessId ).Name );
  54184.  
  54185.     Table.DefineCell( d+1,2,Scripting.SysReportUtils.LogicToString( DataFlow.ParentId!=0 ) );
  54186.     };    
  54187.  
  54188. Table.Draw();
  54189. Table.Close();
  54190. };
  54191. ]]></VALUE>
  54192. <LANGUAGE>1</LANGUAGE>
  54193. <LANGUAGEWIN>---</LANGUAGEWIN>
  54194. <CATEGORY>4</CATEGORY>
  54195. <MAINSCRIPT>0</MAINSCRIPT>
  54196. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54197. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54198. <AUTHOR>David Fux</AUTHOR>
  54199. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54200. <VERSION>1.1</VERSION>
  54201. <CREATED><DATE>8/8/2000</DATE><TIME>15:28:15</TIME></CREATED>
  54202. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54203. </TEMPLATE>
  54204. <TEMPLATE>
  54205. <NAME>DFR_DataFlowDetails</NAME>
  54206. <ID>71</ID>
  54207. <GUID>{C6DDEB7D-6D20-11D4-9757-0050BF0C7D34}</GUID>
  54208. <CAPTION>DFR_DataFlowDetails</CAPTION>
  54209. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54210. <ENABLED>1</ENABLED>
  54211. <LEVEL>0</LEVEL>
  54212. <IDPARENT>0</IDPARENT>
  54213. <VALUE><![CDATA[function Generate()
  54214. {
  54215. var d;
  54216.  
  54217. Log.Writeln( 'Generating data flow details' );
  54218. Rtf.Write( 'SECTBEG',    Translator.Translate( 'DATA_FLOWS',            1 ) );
  54219. Rtf.Write( 'CAPTION1',    Translator.Translate( 'DATA_FLOW_DETAILS',1 ) );
  54220.  
  54221. for (d=0; d<Model.CountDataFlows; d++)
  54222.     Details( Model.DataFlows(d) );
  54223.     
  54224. Rtf.Write( 'SECTEND','' );
  54225. };
  54226.  
  54227. //===============================================================================
  54228.  
  54229. function GenerateSubPrDataFlows( ProcessId )
  54230. {
  54231. var d, i=0;
  54232. var aDataFlows = new Array();
  54233.  
  54234. Log.Writeln( 'Generating data flow details' );
  54235.  
  54236. // Draw data flow list for current process  - - - - - - - - - - - - - - - - - - - - -
  54237. for (d=0; d<Model.CountDataFlows; d++)
  54238.     if (Model.DataFlows(d).ProcessId == ProcessId)
  54239.         aDataFlows[ ++i ] = Model.DataFlows(d);
  54240.  
  54241. if (aDataFlows.length != 0)
  54242.     {
  54243.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'DATA_FLOW_LIST',1    ) );
  54244.     Scripting.DFR_DataFlowSummary.DataFlowSummaryTable(aDataFlows);
  54245.     };
  54246.  
  54247. // Draw detailed data flow information for current process  - - - - - - - - - - - - -
  54248. for (d=1; d<aDataFlows.length; d++)
  54249.     Details( aDataFlows[d] );
  54250.  
  54251. };
  54252.  
  54253. //===============================================================================
  54254.  
  54255. function Details( DataFlow )
  54256. {
  54257. var aObjInfo, Table;
  54258.  
  54259. // Basic data flow informations - - - - - - - - - - - - - - - - - - - - - - - - - -
  54260. Rtf.Write( 'CAPTION2',    Translator.Translate( 'DATA_FLOW',1    )+" '"+DataFlow.Name+"'" );
  54261.  
  54262. // Table definition
  54263. Table = Rtf.DefineTable( false,true );
  54264. Table.CellKeepNext = true;
  54265. Table.DefineColumn( 30 );
  54266. Table.DefineColumn( 40 );
  54267. Table.DefineColumn( 20 );
  54268. Table.DefineColumn( 10 );
  54269.  
  54270. // Table header
  54271. Table.DefineCell( 0,0,Translator.Translate( 'DATA_FLOW_NAME',    1 ) );
  54272. Table.DefineHeadCell( 0,2,Translator.Translate( 'EXTERNAL',            1 ) );
  54273. Table.DefineCell( 1,0,Translator.Translate( 'TYPE',                1 ) );
  54274.  
  54275. if (Variables.lReferences)
  54276.     Table.DefineCell( 0,1,Rtf.SetBookmark( 'DataFlow_'+DataFlow.Id ) )
  54277. else
  54278.     Table.DefineCell( 0,1,DataFlow.Name );
  54279. Table.DefineCell( 0,3,Scripting.SysReportUtils.LogicToString( DataFlow.ParentId != 0 ) );
  54280.  
  54281. if (DataFlow.Type == 0)
  54282.   Table.DefineCell( 1,1,Translator.Translate( 'T_DATA_FLOW',        1 ) )
  54283. else
  54284.   Table.DefineCell( 1,1,Translator.Translate( 'T_CONTROL_FLOW',    1 ) );
  54285.  
  54286. if (DataFlow.Description != '')
  54287.     {
  54288.     Table.DefineCell( 2,0,Translator.Translate( 'DESCRIPTION',1 ) );
  54289.     Table.DefineCell( 2,1,DataFlow.Description );
  54290.     }
  54291.  
  54292. if (DataFlow.Notes != '')
  54293.     {
  54294.     Table.DefineCell( 3,0,Translator.Translate( 'NOTES',1 ) );
  54295.     Table.DefineCell( 3,1,DataFlow.Notes );
  54296.     }
  54297.  
  54298. Table.Draw();
  54299. Table.Close();
  54300.  
  54301. // Data flow direction
  54302. Rtf.Write( 'CAPTION3',    Translator.Translate( 'DATA_FLOW_DIRECT',1 ) );
  54303.  
  54304. // Table definition
  54305. Rtf.DefineTable( true,true );
  54306. Rtf.DefineColumn( 20 );
  54307. Rtf.DefineColumn( 40 );
  54308. Rtf.DefineColumn( 40 );
  54309.  
  54310. // Table header
  54311. Rtf.DefineCell( 0,1,Translator.Translate( 'SOURCE',        1 ) );
  54312. Rtf.DefineCell( 0,2,Translator.Translate( 'DESTINATION',    1 ) );
  54313. Rtf.DefineCell( 1,0,Translator.Translate( 'OBJECT_NAME',    1 ) );
  54314. Rtf.DefineCell( 2,0,Translator.Translate( 'OBJECT_TYPE',    1 ) );
  54315.  
  54316. if (DataFlow.FromId!=0)
  54317.     {
  54318.     aObjInfo = Scripting.DFR_ReferenceList.GetObjectInfo(DataFlow.FromId,DataFlow.FromObjType);
  54319.     Rtf.DefineCell( 1,1,aObjInfo[ 0 ] );
  54320.     Rtf.DefineCell( 2,1,aObjInfo[ 1 ] );
  54321.     };
  54322.  
  54323. if (DataFlow.ToId!=0)
  54324.     {
  54325.     aObjInfo = Scripting.DFR_ReferenceList.GetObjectInfo(DataFlow.ToId,DataFlow.ToObjType);
  54326.     Rtf.DefineCell( 1,2,aObjInfo[ 0 ] );
  54327.     Rtf.DefineCell( 2,2,aObjInfo[ 1 ] );
  54328.     };
  54329.  
  54330. Rtf.DrawTable();
  54331. };
  54332. ]]></VALUE>
  54333. <LANGUAGE>1</LANGUAGE>
  54334. <LANGUAGEWIN>---</LANGUAGEWIN>
  54335. <CATEGORY>4</CATEGORY>
  54336. <MAINSCRIPT>0</MAINSCRIPT>
  54337. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54338. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54339. <AUTHOR>David Fux</AUTHOR>
  54340. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54341. <VERSION>1.0</VERSION>
  54342. <CREATED><DATE>8/8/2000</DATE><TIME>15:28:57</TIME></CREATED>
  54343. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54344. </TEMPLATE>
  54345. <TEMPLATE>
  54346. <NAME>DFR_ReferenceList</NAME>
  54347. <ID>72</ID>
  54348. <GUID>{C6DDEB79-6D20-11D4-9757-0050BF0C7D34}</GUID>
  54349. <CAPTION>DFR_ReferenceList</CAPTION>
  54350. <PACKAGEGUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54351. <ENABLED>1</ENABLED>
  54352. <LEVEL>0</LEVEL>
  54353. <IDPARENT>0</IDPARENT>
  54354. <VALUE><![CDATA[function Generate( Object,nType )
  54355. {
  54356. var nRow = 0;
  54357. var nF, DataFlow, Table;
  54358. var nObjType,nObjId;
  54359.  
  54360. Rtf.Write( 'CAPTION3',    Translator.Translate( 'REFERENCE_LIST',1    )+" '"+Object.Name+"'" );
  54361.  
  54362. // Table definition
  54363. Table = Rtf.DefineTable( true,false );
  54364. Table.DefineColumn( 15 );
  54365. Table.DefineColumn( 15 );
  54366. Table.DefineColumn( 20 );
  54367. Table.DefineColumn( 25 );
  54368. Table.DefineColumn( 25 );
  54369.  
  54370. // Table header
  54371. Table.DefineCell( 0,0,Translator.Translate( 'OBJ_SOURCE',    1 ) );
  54372. Table.DefineCell( 0,1,Translator.Translate( 'OBJ_DEST',       1 ) );
  54373. Table.DefineCell( 0,2,Translator.Translate( 'CONNECT_VIA',    1 ) );
  54374. Table.DefineCell( 0,3,Translator.Translate( 'CONNECT_TO',     1 ) );
  54375. Table.DefineCell( 0,4,Translator.Translate( 'OBJECT_TYPE',    1 ) );
  54376.  
  54377. for (nF=0;nF<Model.CountDataFlows;nF++)
  54378.     {
  54379.     DataFlow = Model.DataFlows(nF);
  54380.     nObjId = 0;
  54381.     if ((DataFlow.FromObjType==nType) && (DataFlow.FromId==Object.Id))
  54382.         {
  54383.         nObjId   = DataFlow.ToId;
  54384.         nObjType = DataFlow.ToObjType;
  54385.         Table.DefineCell( ++nRow,    0,'X' )
  54386.         Table.DefineCell( nRow,    1,' ' )
  54387.         }
  54388.     else if ((DataFlow.ToObjType==nType) && (DataFlow.ToId==Object.Id))
  54389.         {
  54390.         nObjId   = DataFlow.FromId;
  54391.         nObjType = DataFlow.FromObjType;
  54392.         Table.DefineCell( ++nRow,    0,' ' )
  54393.         Table.DefineCell( nRow,    1,'X' )
  54394.         }
  54395.     if (nObjId!=0)
  54396.         {
  54397.         if (Variables.lReferences && Variables.lDataFlowDetails)
  54398.             Table.DefineCell( nRow,2,Rtf.CallBookmark( 'DataFlow_'+DataFlow.Id ) )
  54399.         else
  54400.             Table.DefineCell( nRow,2,DataFlow.Name );
  54401.     
  54402.         aObjInfo = GetObjectInfo(nObjId,nObjType);
  54403.         Table.DefineCell( nRow,3,aObjInfo[ 0 ] );
  54404.         Table.DefineCell( nRow,4,aObjInfo[ 1 ] );
  54405.         }
  54406.     }
  54407. Table.Draw()
  54408. Table.Close();
  54409. };
  54410.  
  54411. function GetObjectInfo( nObjId,nObjType )
  54412. {
  54413. var cTypeName   = '';
  54414. var cObjectName = '';
  54415. var oObject;
  54416.  
  54417. if (nObjId!=0)
  54418.     {
  54419.     if (nObjType==1)
  54420.         {
  54421.         cTypeName = Translator.Translate('PROCESS',    0);
  54422.         oObject   = Model.GetProcess(nObjId);
  54423.         if (Variables.lReferences && Variables.lProcessDetails)
  54424.             cObjectName = Rtf.CallBookmark( 'Process_'+oObject.Id )
  54425.         else
  54426.             cObjectName = oObject.Name;        
  54427.         }
  54428.     else if (nObjType==2)
  54429.         {
  54430.         cTypeName = Translator.Translate('TERMINATOR',0);
  54431.         oObject   = Model.GetTerminator(nObjId);
  54432.         if (Variables.lReferences && Variables.lTerminatorDetails)
  54433.             cObjectName = Rtf.CallBookmark( 'Terminator_'+oObject.Id )
  54434.         else
  54435.             cObjectName = oObject.Name;        
  54436.         }
  54437.     else if (nObjType==3)
  54438.         {
  54439.         cTypeName = Translator.Translate('DATA_STORE',0)
  54440.        oObject   = Model.GetDataStore(nObjId);
  54441.         if (Variables.lReferences && Variables.lDataStoreDetails)
  54442.             cObjectName = Rtf.CallBookmark( 'DataStore_'+oObject.Id )
  54443.         else
  54444.             cObjectName = oObject.Name;        
  54445.         };
  54446.         
  54447.     if (oObject.ParentId != 0)
  54448.         cTypeName += '-'+Translator.Translate( 'EXTERNAL',0 );
  54449.     };
  54450. return( new Array( cObjectName,cTypeName ) );
  54451. };
  54452. ]]></VALUE>
  54453. <LANGUAGE>1</LANGUAGE>
  54454. <LANGUAGEWIN>---</LANGUAGEWIN>
  54455. <CATEGORY>4</CATEGORY>
  54456. <MAINSCRIPT>0</MAINSCRIPT>
  54457. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54458. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54459. <AUTHOR>David Fux</AUTHOR>
  54460. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54461. <VERSION>1.1</VERSION>
  54462. <CREATED><DATE>8/8/2000</DATE><TIME>13:04:15</TIME></CREATED>
  54463. <MODIFIED><DATE>11/29/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54464. </TEMPLATE>
  54465. <TEMPLATE>
  54466. <NAME>DFR</NAME>
  54467. <ID>73</ID>
  54468. <GUID>{F244CD6B-6864-11D4-9757-0050BF0C7D34}</GUID>
  54469. <CAPTION>Report datov²ch tok∙</CAPTION>
  54470. <PACKAGEGUID>{76BDC784-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54471. <ENABLED>1</ENABLED>
  54472. <LEVEL>0</LEVEL>
  54473. <IDPARENT>0</IDPARENT>
  54474. <VALUE><![CDATA[function Main()
  54475. {
  54476. Translator.DefaultLng = 'csy';
  54477. Scripting.DFR_Main.Main();
  54478. };
  54479.  
  54480. //===============================================================================
  54481.  
  54482. function DefineVariables()
  54483. {
  54484. Variables.DefineVariable( 'lReferences',            'Pou₧φvat odkazy v reportu',        1 );
  54485. Variables.lReferences            = true;
  54486.  
  54487. Variables.DefineVariable( 'lHierarchic',            'T°φdit procesy v reportu hierarchicky',1 );
  54488. Variables.lHierarchic            = true;
  54489.  
  54490. Variables.DefineVariable( 'lTitle',                    'Titulnφ strana',                        1 );
  54491. Variables.lTitle                    = true;
  54492.  
  54493. Variables.DefineVariable( 'lProcessTree',            'Hierarchick² strom proces∙',        1 );
  54494. Variables.lProcessTree            = true;
  54495.  
  54496. Variables.DefineVariable( 'lProcessSummary',        'Souhrn² seznam proces∙',            1 );
  54497. Variables.lProcessSummary        = true;
  54498.  
  54499. Variables.DefineVariable( 'lProcessDetails',        'Detailnφ v²pis proces∙',            1 );
  54500. Variables.lProcessDetails        = true;
  54501.  
  54502. Variables.DefineVariable( 'lTerminatorSummary',    'Souhrn² v²pis terminßtor∙',        1 );
  54503. Variables.lTerminatorSummary    = true;
  54504.  
  54505. Variables.DefineVariable( 'lTerminatorDetails',    'Detailnφ v²pis terminßtor∙',        1 );
  54506. Variables.lTerminatorDetails    = true;
  54507.  
  54508. Variables.DefineVariable( 'lBindTerminator',        'V²pis terminßtor∙ pod procesem',1 );
  54509. Variables.lBindTerminator        = true;
  54510.  
  54511. Variables.DefineVariable( 'lDataStoreSummary',    'Souhrn² v²pis data stor∙',        1 );
  54512. Variables.lDataStoreSummary    = true;
  54513.  
  54514. Variables.DefineVariable( 'lDataStoreDetails',    'Detailnφ v²pis data stor∙',        1 );
  54515. Variables.lDataStoreDetails    = true;
  54516.  
  54517. Variables.DefineVariable( 'lBindDataStore',        'V²pis data stor∙ pod procesem',    1 );
  54518. Variables.lBindDataStore        = true;
  54519.  
  54520. Variables.DefineVariable( 'lDataFlowSummary',    'Souhrn² v²pis datov²ch tok∙',    1 );
  54521. Variables.lDataFlowSummary        = true;
  54522.  
  54523. Variables.DefineVariable( 'lDataFlowDetails',    'Detailnφ v²pis datov²ch tok∙',    1 );
  54524. Variables.lDataFlowDetails        = true;
  54525.  
  54526. Variables.DefineVariable( 'lBindDataFlow',        'V²pis datov²ch tok∙ pod procesem',1 );
  54527. Variables.lBindDataFlow            = true;
  54528. };
  54529. ]]></VALUE>
  54530. <LANGUAGE>1</LANGUAGE>
  54531. <LANGUAGEWIN>csy</LANGUAGEWIN>
  54532. <CATEGORY>4</CATEGORY>
  54533. <MAINSCRIPT>1</MAINSCRIPT>
  54534. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54535. <DESCRIPTION><![CDATA[Zßkladnφ report k modelu datov²ch tok∙ optimalizovan² pro MS Word. Lze spustit i na jin²ch editorech, kterΘ podporujφ RTF. (nap°. 602Text,WordPad,StarOffice...)
  54536. ZaÜkrtnutφm polφΦka "Pou₧φvat odkazy v reportu" se lze rychle a pohodln∞ pohybovat v reportu k danΘmu objektu (pro editor MS WORD).]]></DESCRIPTION>
  54537. <AUTHOR>David Fux</AUTHOR>
  54538. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54539. <VERSION>1.1</VERSION>
  54540. <CREATED><DATE>8/2/2000</DATE><TIME>11:13:35</TIME></CREATED>
  54541. <MODIFIED><DATE>11/20/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54542. </TEMPLATE>
  54543. <TEMPLATE>
  54544. <NAME>DFR_Dictionary</NAME>
  54545. <ID>74</ID>
  54546. <GUID>{F244CD6D-6864-11D4-9757-0050BF0C7D34}</GUID>
  54547. <CAPTION>DFR_Dictionary</CAPTION>
  54548. <PACKAGEGUID>{76BDC784-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54549. <ENABLED>1</ENABLED>
  54550. <LEVEL>0</LEVEL>
  54551. <IDPARENT>0</IDPARENT>
  54552. <VALUE><![CDATA[function ReadVocabulary()
  54553. {
  54554. Translator.Add( 'PROCESS_TREE',            'hierarchie proces∙'                   );
  54555. Translator.Add( 'PROCESS_LIST',            'seznam proces∙'                         );
  54556. Translator.Add( 'PROCESS_DETAILS',        'v²pis jednotliv²ch proces∙'        );
  54557. Translator.Add( 'TERMINATOR_LIST',        'seznam terminßtor∙'                    );
  54558. Translator.Add( 'TERMINATOR_DETAILS',    'v²pis jednotliv²ch terminßtor∙'    );
  54559. Translator.Add( 'DATA_FLOW_LIST',        'seznam datov²ch tok∙'                );
  54560. Translator.Add( 'DATA_FLOW_DETAILS',    'v²pis jednotliv²ch datov²ch tok∙');
  54561. Translator.Add( 'DATA_STORE_LIST',        'seznam datastor∙'                    );
  54562. Translator.Add( 'DATA_STORE_DETAILS',    'v²pis jednotliv²ch data stor∙'    );
  54563. Translator.Add( 'MAIN_PROCESS',            'hlavnφ proces'                        );
  54564. Translator.Add( 'LEVEL',                    '·rove≥'                                   );
  54565. Translator.Add( 'REFERENCE_LIST',        'seznam referencφ k objektu'      );
  54566. Translator.Add( 'CONNECT_VIA',            'spojeno p°es'                            );
  54567. Translator.Add( 'CONNECT_TO',                'spojeno s'                                );
  54568. Translator.Add( 'OBJ_SOURCE',                'zdrojov²'                                );
  54569. Translator.Add( 'OBJ_DEST',                'cφlov²'                                    );
  54570. Translator.Add( 'DATA_FLOW_DIRECT',        'sm∞r datovΘho toku'                    );
  54571. Translator.Add( 'SOURCE',                    'zdroj'                                    );
  54572. Translator.Add( 'DESTINATION',            'cφl'                                        );
  54573.  
  54574. Translator.Add( 'DATA_FLOW_REPORT',    'report datov²ch tok∙'    );
  54575. Translator.Add( 'VERSION',                'verze'                        );
  54576. Translator.Add( 'FOR_PROJECT',        'k projektu'                );
  54577. Translator.Add( 'CREATED',                'vytvo°eno'                    );
  54578. Translator.Add( 'LAST_MODIFIED',        'poslednφ zm∞na'            );
  54579. };
  54580. ]]></VALUE>
  54581. <LANGUAGE>1</LANGUAGE>
  54582. <LANGUAGEWIN>csy</LANGUAGEWIN>
  54583. <CATEGORY>4</CATEGORY>
  54584. <MAINSCRIPT>0</MAINSCRIPT>
  54585. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54586. <DESCRIPTION><![CDATA[DodateΦn² slovnφk, pro report k modelu datov²ch tok∙.]]></DESCRIPTION>
  54587. <AUTHOR>David Fux</AUTHOR>
  54588. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54589. <VERSION>1.1</VERSION>
  54590. <CREATED><DATE>8/2/2000</DATE><TIME>11:16:31</TIME></CREATED>
  54591. <MODIFIED><DATE>11/20/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54592. </TEMPLATE>
  54593. <TEMPLATE>
  54594. <NAME>DFR</NAME>
  54595. <ID>75</ID>
  54596. <GUID>{3AD4B78D-5747-11D4-9756-0050BF0C7D34}</GUID>
  54597. <CAPTION>Data Flow Report</CAPTION>
  54598. <PACKAGEGUID>{FC867A7F-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54599. <ENABLED>1</ENABLED>
  54600. <LEVEL>0</LEVEL>
  54601. <IDPARENT>0</IDPARENT>
  54602. <VALUE><![CDATA[function Main()
  54603. {
  54604. Translator.DefaultLng = 'enu';
  54605. Scripting.DFR_Main.Main();
  54606. };
  54607.  
  54608. //===============================================================================
  54609.  
  54610. function DefineVariables()
  54611. {
  54612. Variables.DefineVariable( 'lReferences',            'Use references inside of report',        1 );
  54613. Variables.lReferences            = true;
  54614.  
  54615. Variables.DefineVariable( 'lHierarchic',            'Sort report processes in hierarchic order',1 );
  54616. Variables.lHierarchic            = true;
  54617.  
  54618. Variables.DefineVariable( 'lTitle',                    'Title page',                        1 );
  54619. Variables.lTitle                    = true;
  54620.  
  54621. Variables.DefineVariable( 'lProcessTree',            'Process tree',        1 );
  54622. Variables.lProcessTree            = true;
  54623.  
  54624. Variables.DefineVariable( 'lProcessSummary',        'Process summary',            1 );
  54625. Variables.lProcessSummary        = true;
  54626.  
  54627. Variables.DefineVariable( 'lProcessDetails',        'Process details',            1 );
  54628. Variables.lProcessDetails        = true;
  54629.  
  54630. Variables.DefineVariable( 'lTerminatorSummary',    'Terminator summary',        1 );
  54631. Variables.lTerminatorSummary    = true;
  54632.  
  54633. Variables.DefineVariable( 'lTerminatorDetails',    'Terminator details',        1 );
  54634. Variables.lTerminatorDetails    = true;
  54635.  
  54636. Variables.DefineVariable( 'lBindTerminator',        'Summary of terminators under process',1 );
  54637. Variables.lBindTerminator        = true;
  54638.  
  54639. Variables.DefineVariable( 'lDataStoreSummary',    'Data store summary',        1 );
  54640. Variables.lDataStoreSummary    = true;
  54641.  
  54642. Variables.DefineVariable( 'lDataStoreDetails',    'Data store details',        1 );
  54643. Variables.lDataStoreDetails    = true;
  54644.  
  54645. Variables.DefineVariable( 'lBindDataStore',        'Summary of data stores under process',    1 );
  54646. Variables.lBindDataStore        = true;
  54647.  
  54648. Variables.DefineVariable( 'lDataFlowSummary',    'Data flow summary',            1 );
  54649. Variables.lDataFlowSummary        = true;
  54650.  
  54651. Variables.DefineVariable( 'lDataFlowDetails',    'Data flow details',        1 );
  54652. Variables.lDataFlowDetails        = true;
  54653.  
  54654. Variables.DefineVariable( 'lBindDataFlow',        'Summary of data flows under process',    1 );
  54655. Variables.lBindDataFlow            = true;
  54656. };
  54657. ]]></VALUE>
  54658. <LANGUAGE>1</LANGUAGE>
  54659. <LANGUAGEWIN>enu</LANGUAGEWIN>
  54660. <CATEGORY>4</CATEGORY>
  54661. <MAINSCRIPT>1</MAINSCRIPT>
  54662. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54663. <DESCRIPTION><![CDATA[Basic report to data flow model optimized for MS Word. Can be launched also under different editors supporting RTF (e.g. 602Text,WordPad,StarOffice...)
  54664. By checking field "Use references under report" you can move faster and easier inside of report towards a specified object (for editor MS WORD).]]></DESCRIPTION>
  54665. <AUTHOR>David Fux</AUTHOR>
  54666. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54667. <VERSION>1.1</VERSION>
  54668. <CREATED><DATE>7/11/2000</DATE><TIME>16:21:07</TIME></CREATED>
  54669. <MODIFIED><DATE>11/16/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54670. </TEMPLATE>
  54671. <TEMPLATE>
  54672. <NAME>DFR_Dictionary</NAME>
  54673. <ID>76</ID>
  54674. <GUID>{FD64E0B4-6F50-11D4-A98E-94CA0F91A756}</GUID>
  54675. <CAPTION>DFR_Dictionary</CAPTION>
  54676. <PACKAGEGUID>{FC867A7F-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54677. <ENABLED>1</ENABLED>
  54678. <LEVEL>0</LEVEL>
  54679. <IDPARENT>0</IDPARENT>
  54680. <VALUE><![CDATA[function ReadVocabulary()
  54681. {
  54682. Translator.Add( 'PROCESS_TREE',            'process tree'                   );
  54683. Translator.Add( 'PROCESS_LIST',            'process list'                 );
  54684. Translator.Add( 'PROCESS_DETAILS',        'process details'                );
  54685. Translator.Add( 'TERMINATOR_LIST',        'terminator list'                );
  54686. Translator.Add( 'TERMINATOR_DETAILS',    'terminator details'            );
  54687. Translator.Add( 'DATA_FLOW_LIST',        'data flow list'                );
  54688. Translator.Add( 'DATA_FLOW_DETAILS',    'data flow details'            );
  54689. Translator.Add( 'DATA_STORE_LIST',        'datastore list'                );
  54690. Translator.Add( 'DATA_STORE_DETAILS',    'data store details'            );
  54691. Translator.Add( 'MAIN_PROCESS',            'main process'                    );
  54692. Translator.Add( 'LEVEL',                    'level'                            );
  54693. Translator.Add( 'REFERENCE_LIST',        'reference list for object');
  54694. Translator.Add( 'CONNECT_VIA',            'connected via'                );
  54695. Translator.Add( 'CONNECT_TO',                'connected to'                    );
  54696. Translator.Add( 'OBJ_SOURCE',                'object source'                );
  54697. Translator.Add( 'OBJ_DEST',                'object destination'            );
  54698. Translator.Add( 'DATA_FLOW_DIRECT',        'data flow direction'        );
  54699. Translator.Add( 'SOURCE',                    'source'                            );
  54700. Translator.Add( 'DESTINATION',            'destination'                    );
  54701.  
  54702. Translator.Add( 'DATA_FLOW_REPORT',    'data flow report'                );
  54703. Translator.Add( 'VERSION',                'version'                            );
  54704. Translator.Add( 'FOR_PROJECT',        'for project'                        );
  54705. Translator.Add( 'CREATED',                'created'                            );
  54706. Translator.Add( 'LAST_MODIFIED',        'last modified'                    );
  54707. };
  54708. ]]></VALUE>
  54709. <LANGUAGE>1</LANGUAGE>
  54710. <LANGUAGEWIN>enu</LANGUAGEWIN>
  54711. <CATEGORY>4</CATEGORY>
  54712. <MAINSCRIPT>0</MAINSCRIPT>
  54713. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54714. <DESCRIPTION><![CDATA[Additional dictionary for report to data flow model.]]></DESCRIPTION>
  54715. <AUTHOR>David Fux</AUTHOR>
  54716. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54717. <VERSION>1.1</VERSION>
  54718. <CREATED><DATE>8/11/2000</DATE><TIME>6:41:12</TIME></CREATED>
  54719. <MODIFIED><DATE>11/16/2000</DATE><TIME>0:00:00</TIME></MODIFIED>
  54720. </TEMPLATE>
  54721. <TEMPLATE>
  54722. <NAME>LERR_Main</NAME>
  54723. <ID>77</ID>
  54724. <GUID>{8F95AE54-3702-11D4-9756-0050BF0C7D34}</GUID>
  54725. <CAPTION>LERR_Main</CAPTION>
  54726. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54727. <ENABLED>1</ENABLED>
  54728. <LEVEL>0</LEVEL>
  54729. <IDPARENT>0</IDPARENT>
  54730. <VALUE><![CDATA[function Main()
  54731. {
  54732. var i, Object;
  54733.  
  54734. Log.Clear();
  54735. Log.Writeln( 'Reading language specifications' );
  54736. Scripting.LngSpec.SetLngSpecifications();
  54737.  
  54738. Log.Writeln( 'Reading vocabulary' );
  54739. Scripting.Dictionary.ReadVocabulary();
  54740. Scripting.LERR_Dictionary.ReadVocabulary();
  54741.  
  54742. Rtf.New();
  54743.  
  54744. // Style definition
  54745. Rtf.DefineStyle( 'SECTBEG',  '{{\\header \\pard\\plain \\f1\\fs24\\qr \\brdrb\\brdrsh\\brdrw10\\brsp10 {','\\par}}' ); 
  54746. Rtf.DefineStyle( 'SECTEND',  '','{\\footer \\pard\\plain \\f1\\fs24\\qc -\\chpgn - \\par}}\\sect' );
  54747.  
  54748. Rtf.DefineStyle( 'CAPTION1', '{\\pard \\outlinelevel0\\keepn\\b\\f0\\fs28\\sa140\\cf6\\qc ','\\par}\\pard ' ); 
  54749. Rtf.DefineStyle( 'CAPTION2', '{\\pard \\outlinelevel1\\keepn\\b0\\f0\\fs24\\sb180\\sa120\\cf9 ','\\par}\\pard ' ); 
  54750. Rtf.DefineStyle( 'CAPTION3', '{\\pard \\outlinelevel2\\keepn\\b\\f0\\fs22\\sb140\\sa80\\brdrb\\brdrsh\\brdrw1\\brsp1 ','\\par}\\pard ' ); 
  54751. Rtf.DefineStyle( 'SOURCE',   '{\\pard\\f2\\fs20 ','\\par}\\pard' );
  54752.  
  54753.  
  54754. if (! (Variables.lPkDetails || Variables.lAkDetails))
  54755.     {
  54756.     Variables.lKeySummary = false;
  54757.     Variables.lKeyDetails = false;
  54758.     };
  54759.     
  54760. // Define references
  54761. if ( Variables.lReferences )
  54762.     {
  54763.  
  54764.     // Define entity references
  54765.     if ( Variables.lEntityDetails )
  54766.         {
  54767.         for (i=0; i<Model.CountEntities; i++)
  54768.             {
  54769.             Object = Model.Entities(i);
  54770.             Rtf.DefineBookmark( 'Entity_'+Object.Id,Object.Name );
  54771.             };
  54772.         };
  54773.  
  54774.     // Define attribute references
  54775.     if ( Variables.lAttribDetails )
  54776.         for (i=0; i<Model.CountAttributes; i++)
  54777.             {
  54778.             Object = Model.Attributes(i);
  54779.             Rtf.DefineBookmark( 'Attribute_'+Object.Id,Object.Name );
  54780.             };
  54781.  
  54782.     // Define relationships references
  54783.     if ( Variables.lRelationDetails )
  54784.         for (i=0; i<Model.CountRelations; i++)
  54785.             {
  54786.             Object = Model.Relations(i);
  54787.             Rtf.DefineBookmark( 'Relation_'+Object.Id,Object.Name );
  54788.             };
  54789.  
  54790.     // Define primary key references
  54791.     if ( Variables.lPkDetails )
  54792.         {
  54793.         for (i=0; i<Model.CountEntities; i++)
  54794.             {
  54795.             Object = Model.Entities(i);
  54796.             Rtf.DefineBookmark( 'PK_'+Object.Id,Object.PkConstraint );
  54797.             };
  54798.         };
  54799.  
  54800.     // Define primary key references
  54801.     if ( Variables.lAkDetails )
  54802.         {
  54803.         for (i=0; i<Model.CountAlterKeys; i++)
  54804.             {
  54805.             Object = Model.AlterKeys(i);
  54806.             Rtf.DefineBookmark( 'AK_'+Object.Id,Object.Name );
  54807.             };
  54808.         };
  54809.  
  54810.     // Define dictionary data types (user-defined data types)
  54811.     if ( Variables.lDictDetails )
  54812.         {
  54813.         for (i=0; i<Model.CountDictTypes; i++)
  54814.             {
  54815.             Object = Model.DictTypes(i);
  54816.             Rtf.DefineBookmark( 'UserType_'+Object.Id,Object.Name );
  54817.             };
  54818.         };
  54819.         
  54820.     }
  54821.  
  54822. //Generate report title
  54823. if ( Variables.lTitle )
  54824.     Scripting.LERR_Title.Generate();
  54825.  
  54826. //Generate entity summary
  54827. if ( Variables.lEntitySummary )
  54828.     Scripting.LERR_EntitySummary.Generate();
  54829.  
  54830. // Generate detailed entity information
  54831. if ( Variables.lEntityDetails )
  54832.     Scripting.LERR_EntityDetails.Generate();
  54833.  
  54834. //Generate attribute summary
  54835. if ( Variables.lAttribSummary )
  54836.     Scripting.LERR_AttribSummary.Generate();
  54837.  
  54838. // Generate detailed attribute information
  54839. if ( Variables.lAttribDetails && !Variables.lBindAttrib )
  54840.     Scripting.LERR_AttribDetails.Generate();
  54841.  
  54842. //Generate relationship summary
  54843. if ( Variables.lRelationSummary )
  54844.     Scripting.LERR_RelationSummary.Generate();
  54845.  
  54846. // Generate detailed relationship information
  54847. if ( Variables.lRelationDetails && !Variables.lBindRelation )
  54848.     Scripting.LERR_RelationDetails.Generate();
  54849.  
  54850. //Generate key summary report
  54851. if ( Variables.lKeySummary )
  54852.     Scripting.LERR_KeySummary.Generate();
  54853.     
  54854. // Generate detailed key information report
  54855. if ( Variables.lKeyDetails  )
  54856.     {
  54857.     if ( Variables.lPkDetails )
  54858.         Scripting.LERR_PkDetails.Generate();
  54859.     if ( Variables.lAkDetails )    
  54860.         Scripting.LERR_AkDetails.Generate();
  54861.     };
  54862.  
  54863. //Generate dictionary summary report
  54864. if ( Variables.lDictSummary )
  54865.     Scripting.LERR_DictSummary.Generate();
  54866.  
  54867. //Generate dictionary summary report
  54868. if ( Variables.lDictDetails )
  54869.     Scripting.LERR_DictDetails.Generate();
  54870.  
  54871. Log.Writeln( 'Closing report' );
  54872. Rtf.Close();
  54873.  
  54874. //Save report
  54875. Log.Writeln( 'Saving report' );
  54876. TextStream.Text = Rtf.Text;
  54877. TextStream.Save();
  54878.  
  54879. Log.Writeln( 'Ready' );
  54880. };
  54881. ]]></VALUE>
  54882. <LANGUAGE>1</LANGUAGE>
  54883. <LANGUAGEWIN>---</LANGUAGEWIN>
  54884. <CATEGORY>4</CATEGORY>
  54885. <MAINSCRIPT>0</MAINSCRIPT>
  54886. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54887. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54888. <AUTHOR>David Fux</AUTHOR>
  54889. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54890. <VERSION>1.1</VERSION>
  54891. <CREATED><DATE>6/2/2000</DATE><TIME>9:53:29</TIME></CREATED>
  54892. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  54893. </TEMPLATE>
  54894. <TEMPLATE>
  54895. <NAME>LERR_Title</NAME>
  54896. <ID>78</ID>
  54897. <GUID>{7300B9B4-37FC-11D4-9756-0050BF0C7D34}</GUID>
  54898. <CAPTION>LERR_Title</CAPTION>
  54899. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54900. <ENABLED>1</ENABLED>
  54901. <LEVEL>0</LEVEL>
  54902. <IDPARENT>0</IDPARENT>
  54903. <VALUE><![CDATA[function Generate()
  54904. {
  54905. Log.Writeln( 'Generating title page'  );
  54906.  
  54907. Rtf.Write(   '{\\titlepg\\qc' );
  54908. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw30\\brsp10'  );
  54909. Rtf.Writeln( '\\fs72\\brdrt\\brdrsh\\brdrw15\\brsp10' );
  54910. Rtf.Writeln( '\\b\\f0\\shad '+Translator.Translate( 'LOGICAL_MODEL', 2 ) );
  54911. Rtf.Writeln( '\\fs24' +Translator.Translate( 'FOR_PROJECT', 2 ) );
  54912. Rtf.Writeln( '\\fs38' +Model.ProjectName );
  54913. Rtf.Writeln( '\\fs20' );
  54914. Rtf.Writeln( '\\fs24' +Translator.Translate( 'MODEL', 2 ) );
  54915. Rtf.Writeln( '\\fs42' +Model.ModelName );
  54916. Rtf.Writeln( '\\fs20' );
  54917. Rtf.Writeln( '\\fs24'+Translator.Translate( 'VERSION', 1 )+' '+Model.Version );
  54918. Rtf.Writeln( '' );
  54919. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw15\\brsp30' );
  54920. Rtf.Writeln( '\\brdrt\\brdrsh\\brdrw30\\brsp30\\sa7300' );
  54921. Rtf.Writeln( '\\pard \\qr\\b\\fs24 ' + Model.Company + '\\b0' );
  54922. if ( Model.Author != '' ) 
  54923.   Rtf.Writeln( '(c) by ' + Model.Author );  
  54924. Rtf.Writeln( '' );
  54925. Rtf.Writeln( Translator.Translate( 'CREATED', 1 )+': '+SysUtils.DateToStr( Model.Created ) );
  54926. Rtf.Writeln( Translator.Translate( 'LAST_MODIFIED', 1 )+': '+SysUtils.DateToStr( Model.Modified ) );
  54927. Rtf.Write( '\\shad0}\\sect' );
  54928. };
  54929. ]]></VALUE>
  54930. <LANGUAGE>1</LANGUAGE>
  54931. <LANGUAGEWIN>---</LANGUAGEWIN>
  54932. <CATEGORY>4</CATEGORY>
  54933. <MAINSCRIPT>0</MAINSCRIPT>
  54934. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  54935. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  54936. <AUTHOR>David Fux</AUTHOR>
  54937. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  54938. <VERSION>1.1</VERSION>
  54939. <CREATED><DATE>6/2/2000</DATE><TIME>9:53:29</TIME></CREATED>
  54940. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  54941. </TEMPLATE>
  54942. <TEMPLATE>
  54943. <NAME>LERR_EntitySummary</NAME>
  54944. <ID>79</ID>
  54945. <GUID>{82365E18-3CB3-11D4-9756-0050BF0C7D34}</GUID>
  54946. <CAPTION>LERR_EntitySummary</CAPTION>
  54947. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  54948. <ENABLED>1</ENABLED>
  54949. <LEVEL>0</LEVEL>
  54950. <IDPARENT>0</IDPARENT>
  54951. <VALUE><![CDATA[function Generate()
  54952. {
  54953. var e, Entity, AttrInfo, Table;
  54954. var lEntRefer    = ( Variables.lReferences && Variables.lEntityDetails );
  54955. var lAttrRefer = ( Variables.lReferences && Variables.lAttribDetails );
  54956. var SubModel     = Model.SubModels( Variables.nSubModel );
  54957. var EntityList = DefineInterfaceList();
  54958.  
  54959. Log.Writeln( 'Generating entity summary' );
  54960.  
  54961. for (e=0; e<SubModel.CountEntities; e++)
  54962.     {
  54963.     Entity = SubModel.Entities(e);
  54964.     EntityList.AddInterface( Entity.TableName, Entity );
  54965.     };
  54966. EntityList.Sorted = Variables.lSort;
  54967.  
  54968. Rtf.Write( 'SECTBEG',    Translator.Translate( 'ENTITIES',    1    ) );
  54969. Rtf.Write( 'CAPTION1',    Translator.Translate( 'ENTITY_LIST',1    ) );
  54970.  
  54971. // Table definition
  54972. Table = Rtf.DefineTable( true,false );
  54973. Table.DefineColumn( 30 );
  54974. Table.DefineColumn( 15 );
  54975. Table.DefineColumn( 45 );
  54976. Table.DefineColumn( 10 );
  54977.  
  54978. // Table header
  54979. Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME',    1     ) );
  54980. Table.DefineCell( 0,1,Translator.Translate( 'ENTITY_TYPE',    1     ) );
  54981. Table.DefineCell( 0,2,Translator.Translate( 'PRIMARY_KEY',    1     ) );
  54982. Table.DefineCell( 0,3,Translator.Translate( 'ATTRIB_COUNT',1    ) );
  54983. Table.DefineCell( 1,0,'\\fs8' );  // font size 8
  54984.  
  54985. // Summary of entities
  54986. for (e=0; e<EntityList.Count; e++)
  54987.     {
  54988.     Entity = EntityList.GetInterface(e);
  54989.  
  54990.     if (lEntRefer)    
  54991.         Table.DefineCell( e+2,0,Rtf.CallBookmark( 'Entity_'+Entity.Id ))
  54992.     else
  54993.         Table.DefineCell( e+2,0,Entity.Name );
  54994.  
  54995.      if (Entity.Dependent)
  54996.         Table.DefineCell( e+2,1,Translator.Translate( 'DEPENDENT',0 ) )
  54997.     else
  54998.         Table.DefineCell( e+2,1,Translator.Translate( 'INDEPENDENT',0 ) );
  54999.  
  55000.     AttrInfo = Scripting.SysReportUtils.GetAttrInfo( Entity.Id,lAttrRefer ); 
  55001.     Table.DefineCell( e+2,2,AttrInfo[ 0 ] );
  55002.     Table.DefineCell( e+2,3,AttrInfo[ 1 ].toString() ); 
  55003.     };
  55004.  
  55005. Table.Draw();
  55006. Table.Close();
  55007. Rtf.Write( 'SECTEND','' );
  55008. };
  55009. ]]></VALUE>
  55010. <LANGUAGE>1</LANGUAGE>
  55011. <LANGUAGEWIN>---</LANGUAGEWIN>
  55012. <CATEGORY>4</CATEGORY>
  55013. <MAINSCRIPT>0</MAINSCRIPT>
  55014. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55015. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55016. <AUTHOR>David Fux</AUTHOR>
  55017. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55018. <VERSION>1.1</VERSION>
  55019. <CREATED><DATE>6/7/2000</DATE><TIME>20:39:56</TIME></CREATED>
  55020. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55021. </TEMPLATE>
  55022. <TEMPLATE>
  55023. <NAME>LERR_EntityDetails</NAME>
  55024. <ID>80</ID>
  55025. <GUID>{82365E19-3CB3-11D4-9756-0050BF0C7D34}</GUID>
  55026. <CAPTION>LERR_EntityDetails</CAPTION>
  55027. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55028. <ENABLED>1</ENABLED>
  55029. <LEVEL>0</LEVEL>
  55030. <IDPARENT>0</IDPARENT>
  55031. <VALUE><![CDATA[function Generate()
  55032. {
  55033. var e, a, row, Entity, Attribute;
  55034. var Attributes, UserEditor;
  55035. var lAttrRefer = (Variables.lReferences && Variables.lAttribDetails    );
  55036. var lEntRefer  = (Variables.lReferences && Variables.lEntityDetails    );
  55037. var lRelRefer  = (Variables.lReferences && Variables.lRelationDetails);
  55038. var lPKRefer    = (Variables.lReferences && Variables.lPKDetails        );
  55039. var lAKRefer    = (Variables.lReferences && Variables.lAKDetails        );
  55040. var lDictRefer = (Variables.lReferences && Variables.lDictDetails     );
  55041. var SubModel     = Model.SubModels( Variables.nSubModel );
  55042. var EntityList = DefineInterfaceList();
  55043. var Table;
  55044. var cParentEntities;
  55045.  
  55046. Log.Writeln( 'Generating entity details report' );
  55047.  
  55048. for (e=0; e<SubModel.CountEntities; e++)
  55049.     {
  55050.     Entity = SubModel.Entities(e);
  55051.     EntityList.AddInterface( Entity.TableName, Entity );
  55052.     };
  55053. EntityList.Sorted = Variables.lSort;
  55054.  
  55055. Rtf.Write( 'SECTBEG',Translator.Translate( 'ENTITIES',1 ) );
  55056.  
  55057. for (e=0; e<EntityList.Count; e++)
  55058.     {
  55059.     Entity = EntityList.GetInterface(e);
  55060.     
  55061.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'ENTITY',1 )+" '"+Entity.Name+"'" );
  55062.   
  55063.     // Basic entity informations - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55064.  
  55065.     // Table definition
  55066.     Table = Rtf.DefineTable( false,true );
  55067.     Table.DefineColumn( 20 );
  55068.     Table.DefineColumn( 30 );
  55069.     Table.DefineColumn( 50 );
  55070.  
  55071.     Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME',1 ) );
  55072.     Table.DefineCell( 1,0,Translator.Translate( 'ENTITY_TYPE',1 ) );
  55073.     Table.DefineCell( 2,0,Translator.Translate( 'PRIMARY_KEY',1 ) );
  55074.     
  55075.     if (lEntRefer)    
  55076.         Table.DefineCell( 0,1,Rtf.SetBookmark( 'Entity_'+Entity.Id ) )
  55077.     else 
  55078.         Table.DefineCell( 0,1,Entity.Name );
  55079.  
  55080.     if (Entity.Dependent)
  55081.         Table.DefineCell( 1,1,Translator.Translate( 'DEPENDENT',0 ) )
  55082.     else
  55083.         Table.DefineCell( 1,1,Translator.Translate( 'INDEPENDENT',0 ) );
  55084.  
  55085.     if (lPKRefer)
  55086.         Table.DefineCell( 2,1,Rtf.CallBookmark( 'PK_'+Entity.Id ) )
  55087.     else
  55088.         Table.DefineCell( 2,1,Entity.PkConstraint );
  55089.         
  55090.     Table.DefineCell( 2,2,Scripting.SysReportUtils.GetAttrInfo( Entity.Id,lAttrRefer )[0] );
  55091.  
  55092.     row = 2;
  55093.     if (Entity.Storage != '')
  55094.     {
  55095.         Table.DefineCell( ++row,0,Translator.Translate( 'STORAGE',1 ) );
  55096.         Table.DefineCell( row,1,Entity.Storage );
  55097.     }
  55098.     
  55099.     if (Entity.Description != '')
  55100.     {
  55101.         Table.DefineCell( ++row,0,Translator.Translate( 'DESCRIPTION',1 ) );
  55102.         Table.DefineCell( row,1,Entity.Description );
  55103.     }
  55104.     
  55105.     if (Entity.Notes != '')
  55106.     {
  55107.         Table.DefineCell( ++row,0,Translator.Translate( 'NOTES',1 ) );
  55108.         Table.DefineCell( row,1,Entity.Notes );
  55109.     }
  55110.     
  55111.     Table.Draw();
  55112.     Table.Close();
  55113.     
  55114.     // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  55115.     Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION3', Entity );
  55116.  
  55117.     // Primary keys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55118.  
  55119.     Rtf.Write( 'CAPTION3',Translator.Translate( 'PRIMARY_KEY',1 )+" '"+Entity.PkConstraint+"'" );
  55120.  
  55121.     //Table definition
  55122.     Table = Rtf.DefineTable( true,false );
  55123.     Table.DefineColumn( 40 );
  55124.     Table.DefineColumn( 10 );
  55125.     Table.DefineColumn( 50 );
  55126.  
  55127.     Table.DefineCell( 0,0,Translator.Translate( 'ATTRIBUTE_NAME',1 ) );
  55128.     Table.DefineCell( 0,1,Translator.Translate( 'TYPE',1 ) );
  55129.     Table.DefineCell( 0,2,Translator.Translate( 'PARENT_ENTITY',1 ) );
  55130.  
  55131.    for (a=0; a<Entity.CountAttributes; a++)
  55132.         {
  55133.        Attribute = Entity.Attributes( a );
  55134.         if (Attribute.Pk)
  55135.             {
  55136.             if (lAttrRefer)
  55137.                Table.DefineCell( a+1,0,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ) )
  55138.             else
  55139.                Table.DefineCell( a+1,0,Attribute.Name );
  55140.            if (Attribute.Fk)
  55141.                 {
  55142.                 Table.DefineCell( a+1,1,'PFK' );
  55143.                 cParentEntities = '';
  55144.                 for (i=0; i<Attribute.EntityFkCount; i++)
  55145.                     {
  55146.                     if (cParentEntities != '')
  55147.                         cParentEntities += ', ';
  55148.                         
  55149.                     if (lEntRefer)
  55150.                         cParentEntities += Rtf.CallBookmark( 'Entity_'+Model.GetEntity( Attribute.EntityFkId(i) ).Id )
  55151.                     else
  55152.                        cParentEntities += Model.GetEntity( Attribute.EntityFkId(i) ).Name;
  55153.                    }    
  55154.                   Table.DefineCell( a+1,2,cParentEntities );
  55155.                 }
  55156.             else
  55157.                 {
  55158.                Table.DefineCell( a+1,1,'PK' );
  55159.                Table.DefineCell( a+1,2,'-----' );
  55160.                 };
  55161.  
  55162.             };
  55163.         };
  55164.     Table.Draw();
  55165.     Table.Close();
  55166.  
  55167.     // Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55168.  
  55169.     Rtf.Write( 'CAPTION3', Translator.Translate( 'ATTRIBUTES',1 ) );
  55170.  
  55171.     // Table definition
  55172.     Table = Rtf.DefineTable( true,false );
  55173.     Table.DefineColumn( 25 );
  55174.     Table.DefineColumn( 15 );
  55175.     Table.DefineColumn( 13 );
  55176.     Table.DefineColumn( 10 );
  55177.     Table.DefineColumn( 37 );
  55178.  
  55179.     // Table header
  55180.     Table.DefineCell( 0,0,Translator.Translate( 'ATTR_ROLENAME',    1    ) );
  55181.     Table.DefineCell( 0,1,Translator.Translate( 'DATA_TYPE',        1     ) );
  55182.     Table.DefineCell( 0,2,Translator.Translate( 'NOT_NULL',            1    ) );
  55183.     Table.DefineCell( 0,3,Translator.Translate( 'UNIQUE',            1    ) );
  55184.     Table.DefineCell( 0,4,Translator.Translate( 'DESCRIPTION',        1    ) );
  55185.  
  55186.    for (a=0; a<Entity.CountAttributes; a++)
  55187.         {
  55188.        Attribute = Entity.Attributes( a );
  55189.         if (lAttrRefer)
  55190.            Table.DefineCell( a+1,0,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ) +'/'+ Attribute.RoleName )
  55191.         else
  55192.            Table.DefineCell( a+1,0,Attribute.Name +'/'+ Attribute.RoleName );
  55193.            
  55194.          if (Attribute.DataTypeId == 0)
  55195.              {
  55196.              if (lDictRefer)
  55197.                 Table.DefineCell( a+1,1,Rtf.CallBookmark( 'UserType_'+Attribute.DictTypeId ))
  55198.             else    
  55199.                 Table.DefineCell( a+1,1,Model.GetDictType( Attribute.DictTypeId ).Name );
  55200.             }
  55201.         else
  55202.             Table.DefineCell( a+1,1,Model.GetDataType( Attribute.DataTypeId ).Name );
  55203.             
  55204.         Table.DefineCell( a+1,2,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) )
  55205.         Table.DefineCell( a+1,3,Scripting.SysReportUtils.LogicToString( Attribute.Unique ) )
  55206.         Table.DefineCell( a+1,4,'\\fs16 '+Attribute.Description+'\\fs20' );
  55207.         };
  55208.  
  55209.     Table.Draw();
  55210.     Table.Close();
  55211.  
  55212.     // Relationships - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55213.  
  55214.     lGenerTable = true;
  55215.     x = 0;
  55216.       for (r=0; r<Model.CountRelations; r++)
  55217.         if (Model.Relations(r).ParentEntityId==Entity.Id || Model.Relations(r).ChildEntityId==Entity.Id)
  55218.             {
  55219.             if (lGenerTable)
  55220.                 {
  55221.                 Rtf.Write( 'CAPTION3', Translator.Translate( 'RELATIONSHIPS',1 ) );
  55222.  
  55223.                 // Table definition
  55224.                 Table = Rtf.DefineTable( true,false );
  55225.                 Table.DefineColumn( 25 );
  55226.                 Table.DefineColumn( 25 );
  55227.                 Table.DefineColumn( 25 );
  55228.                 Table.DefineColumn( 25 );
  55229.  
  55230.                 // Table header
  55231.                 Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_NAME',    1 ) );
  55232.                 Table.DefineCell( 0,1,Translator.Translate( 'TYPE',                1 ) );
  55233.                 Table.DefineCell( 0,2,Translator.Translate( 'PARENT_ENTITY',    1 ) );
  55234.                 Table.DefineCell( 0,3,Translator.Translate( 'CHILD_ENTITY',    1 ) );
  55235.  
  55236.                 lGenerTable = false;
  55237.                 };
  55238.  
  55239.             Relation = Model.Relations(r);
  55240.  
  55241.             if (lRelRefer)
  55242.                 Table.DefineCell( ++x,0, Rtf.CallBookmark( 'Relation_'+Relation.Id ) )
  55243.             else
  55244.                 Table.DefineCell( ++x,0, Relation.Name );
  55245.  
  55246.             if (Relation.Type == 0) 
  55247.                 Table.DefineCell( x,1, Translator.Translate( 'IDENTIFYING',        1 ) )
  55248.             else if ( Relation.Type == 1 )
  55249.                 Table.DefineCell( x,1, Translator.Translate( 'NON_IDENTIFYING',    1 ) )
  55250.             else
  55251.                 Table.DefineCell( x,1, Translator.Translate( 'INFORMATIVE',        1 ) );
  55252.  
  55253.             if (lEntRefer && (SubModel.GetEntity( Relation.ParentEntityId ) != null))
  55254.                  Table.DefineCell( x,2, Rtf.CallBookmark( 'Entity_'+Relation.ParentEntityId    ) )
  55255.              else    
  55256.                  Table.DefineCell( x,2,Model.GetEntity( Relation.ParentEntityId ).Name );
  55257.  
  55258.             if (lEntRefer && (SubModel.GetEntity( Relation.ChildEntityId ) != null))
  55259.                  Table.DefineCell( x,3, Rtf.CallBookmark( 'Entity_'+Relation.ChildEntityId        ) );
  55260.             else
  55261.                 Table.DefineCell( x,3,Model.GetEntity( Relation.ChildEntityId  ).Name );
  55262.             };
  55263.  
  55264.     if (!lGenerTable)
  55265.         {        
  55266.         Table.Draw();
  55267.        Table.Close();
  55268.        };    
  55269.    
  55270.     // Indexes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55271.  
  55272.     if (Entity.CountIndexes > 0)
  55273.         {
  55274.         Rtf.Write( 'CAPTION3', Translator.Translate( 'INDEXES',1 ) );
  55275.  
  55276.         // Table definition
  55277.         Table = Rtf.DefineTable( true,false );
  55278.         Table.DefineColumn( 30 );
  55279.         Table.DefineColumn( 40 );
  55280.         Table.DefineColumn( 10 );
  55281.         Table.DefineColumn( 10 );
  55282.         Table.DefineColumn( 10 );
  55283.  
  55284.         // Table header
  55285.         Table.DefineCell( 0,0,Translator.Translate( 'INDEX_NAME',    1 ) );
  55286.         Table.DefineCell( 0,1,Translator.Translate( 'ATTRIBUTES',    1 ) );
  55287.         Table.DefineCell( 0,2,Translator.Translate( 'UNIQUE',        1 ) );
  55288.         Table.DefineCell( 0,3,Translator.Translate( 'DESCENDING',    1 ) );
  55289.         Table.DefineCell( 0,4,Translator.Translate( 'CLUSTERED',    1 ) );
  55290.  
  55291.        for (i=0; i<Entity.CountIndexes; i++)
  55292.             {
  55293.             Index = Entity.Indexes(i);
  55294.  
  55295.             Table.DefineCell( i+1,0,Index.Name );
  55296.             Table.DefineCell( i+1,1,Scripting.SysReportUtils.GetIndexInfo( Index.Id )[ 0 ] );
  55297.             Table.DefineCell( i+1,2,Scripting.SysReportUtils.LogicToString( Index.Unique        ) );
  55298.             Table.DefineCell( i+1,3,Scripting.SysReportUtils.LogicToString( Index.Descending) );
  55299.             Table.DefineCell( i+1,4,Scripting.SysReportUtils.LogicToString( Index.Clustered    ) );
  55300.             };
  55301.  
  55302.         Table.Draw();
  55303.         Table.Close();
  55304.         };
  55305.  
  55306.     // Alternate Keys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55307.  
  55308.     if (Entity.CountAlterKeys > 0)
  55309.         {
  55310.         Rtf.Write( 'CAPTION3', Translator.Translate( 'ALTERNATE_KEYS',1 ) );
  55311.  
  55312.         // Table definition
  55313.         Table = Rtf.DefineTable( true,false );
  55314.         Table.DefineColumn( 40 );
  55315.         Table.DefineColumn( 60 );
  55316.  
  55317.         // Table header
  55318.         Table.DefineCell( 0,0,Translator.Translate( 'NAME',            1 ) );
  55319.         Table.DefineCell( 0,1,Translator.Translate( 'ATTRIBUTES',    1 ) );
  55320.  
  55321.        for (a=0; a<Entity.CountAlterKeys; a++)
  55322.             {
  55323.             AlterKey = Entity.AlterKeys( a );
  55324.  
  55325.             if (lAKRefer)
  55326.                 Table.DefineCell( a+1,0,Rtf.CallBookmark( 'AK_'+AlterKey.Id ) )
  55327.             else
  55328.                 Table.DefineCell( a+1,0,AlterKey.Name );
  55329.  
  55330.             Table.DefineCell( a+1,1,Scripting.SysReportUtils.GetAlterKeyInfo( AlterKey.Id )[ 0 ] );
  55331.             }
  55332.  
  55333.         Table.Draw();
  55334.         Table.Close();
  55335.         };
  55336.  
  55337.     // Triggers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55338.     if ( Entity.UserTrigger != '' )
  55339.         {
  55340.         Rtf.Write( 'CAPTION3', Translator.Translate( 'TRIGGER',1 ) );
  55341.         Rtf.Writeln( 'SOURCE', Entity.UserTrigger );
  55342.         }
  55343.  
  55344.     // Detailed attribute info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55345.     if ( Variables.lBindAttrib && Variables.lAttribDetails )
  55346.        for (a=0; a<Entity.CountAttributes; a++)
  55347.             {
  55348.             Attribute = Entity.Attributes( a );
  55349.             
  55350.             Rtf.Write( 'CAPTION2', Translator.Translate( 'ATTRIBUTE',1 )+" '"+Attribute.Name+"'"  );
  55351.             
  55352.             Scripting.LERR_AttribDetail.Generate( Attribute );
  55353.             }
  55354.  
  55355.     // Detailed relationship info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55356.     if ( Variables.lBindRelation && Variables.lRelationDetails )
  55357.        for (r=0; r<Entity.CountRelations; r++)
  55358.             {
  55359.             Relation = Entity.Relations( r );
  55360.             
  55361.             Rtf.Write( 'CAPTION2', Translator.Translate( 'RELATIONSHIP',1 )+" '"+Relation.Name+"'"  );
  55362.             
  55363.             Scripting.LERR_RelationDetail.Generate( Relation );
  55364.             }
  55365.  
  55366.             
  55367.    if (e<(Model.CountEntities-1))
  55368.         Rtf.Write( '\\pard\\page' );
  55369.     }
  55370.  
  55371. Rtf.Write( 'SECTEND','' );
  55372. };
  55373. ]]></VALUE>
  55374. <LANGUAGE>1</LANGUAGE>
  55375. <LANGUAGEWIN>---</LANGUAGEWIN>
  55376. <CATEGORY>4</CATEGORY>
  55377. <MAINSCRIPT>0</MAINSCRIPT>
  55378. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55379. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55380. <AUTHOR>David Fux</AUTHOR>
  55381. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55382. <VERSION>1.1</VERSION>
  55383. <CREATED><DATE>6/7/2000</DATE><TIME>20:39:58</TIME></CREATED>
  55384. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55385. </TEMPLATE>
  55386. <TEMPLATE>
  55387. <NAME>LERR_AttribSummary</NAME>
  55388. <ID>81</ID>
  55389. <GUID>{DC035442-3D80-11D4-9756-0050BF0C7D34}</GUID>
  55390. <CAPTION>LERR_AttribSummary</CAPTION>
  55391. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55392. <ENABLED>1</ENABLED>
  55393. <LEVEL>0</LEVEL>
  55394. <IDPARENT>0</IDPARENT>
  55395. <VALUE><![CDATA[function Generate()
  55396. {
  55397. var a, e, Attribute, Entity, Table;
  55398. var lEntRef        = ( Variables.lReferences && Variables.lEntityDetails );
  55399. var lAttrRef    = ( Variables.lReferences && Variables.lAttribDetails );
  55400. var lDictRefer = ( Variables.lReferences && Variables.lDictDetails    );
  55401. var SubModel     = Model.SubModels( Variables.nSubModel );
  55402. var AttrList     = DefineInterfaceList();
  55403.  
  55404. Log.Writeln( 'Generating attribute summary report' );
  55405.  
  55406. for (e=0; e<SubModel.CountEntities; e++)
  55407.     {
  55408.     Entity = SubModel.Entities(e);
  55409.     for (a=0; a<Entity.CountAttributes; a++)
  55410.         {
  55411.         Attribute = Entity.Attributes(a);
  55412.         AttrList.AddInterface( Attribute.Name, Attribute );
  55413.         };
  55414.     };
  55415. AttrList.Sorted = Variables.lSort;
  55416.  
  55417. Rtf.Write( 'SECTBEG',    Translator.Translate( 'ATTRIBUTES',1        ) );
  55418. Rtf.Write( 'CAPTION1',    Translator.Translate( 'ATTRIBUTE_LIST',1    ) );
  55419.  
  55420. // Table definition
  55421. Table = Rtf.DefineTable( true,false );
  55422. Table.DefineColumn( 30 );
  55423. Table.DefineColumn( 30 );
  55424. Table.DefineColumn( 20 );
  55425. Table.DefineColumn( 10 );
  55426. Table.DefineColumn( 10 );
  55427.  
  55428. // Table header
  55429. Table.DefineCell( 0,0,Translator.Translate( 'ATTRIBUTE_NAME',1) );
  55430. Table.DefineCell( 0,1,Translator.Translate( 'ENTITY_NAME',1    ) );
  55431. Table.DefineCell( 0,2,Translator.Translate( 'DATA_TYPE',1        ) );
  55432. Table.DefineCell( 0,3,Translator.Translate( 'PK',1                 ) );
  55433. Table.DefineCell( 0,4,Translator.Translate( 'FK',1                ) );
  55434. Table.DefineCell( 1,0,'\\fs8' );
  55435.  
  55436. // Attribute list
  55437. for (a=0; a<AttrList.Count; a++)
  55438.     {
  55439.     Attribute = AttrList.GetInterface(a);
  55440.  
  55441.     if (lAttrRef)
  55442.         Table.DefineCell( a+2,0,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ))
  55443.     else
  55444.         Table.DefineCell( a+2,0,Attribute.Name );
  55445.         
  55446.     if (lEntRef)
  55447.         Table.DefineCell( a+2,1,Rtf.CallBookmark( 'Entity_'+Attribute.EntityId ))
  55448.     else
  55449.         Table.DefineCell( a+2,1,Model.GetEntity( Attribute.EntityId ).Name );
  55450.  
  55451.     if (Attribute.DataTypeId == 0)
  55452.         if (lDictRefer)
  55453.             Table.DefineCell( a+2,2,Rtf.CallBookmark( 'UserType_'+Attribute.DictTypeId ))
  55454.         else
  55455.             Table.DefineCell( a+2,2,Model.GetDictType( Attribute.DictTypeId ).Name );
  55456.     else
  55457.         Table.DefineCell( a+2,2,Model.GetDataType( Attribute.DataTypeId ).Name );
  55458.  
  55459.     Table.DefineCell( a+2,3,Scripting.SysReportUtils.LogicToString( Attribute.PK ) )
  55460.     Table.DefineCell( a+2,4,Scripting.SysReportUtils.LogicToString( Attribute.FK ) )
  55461.     };
  55462.  
  55463. Table.Draw();
  55464. Table.Close();
  55465. Rtf.Write( 'SECTEND','' );
  55466. };
  55467. ]]></VALUE>
  55468. <LANGUAGE>1</LANGUAGE>
  55469. <LANGUAGEWIN>---</LANGUAGEWIN>
  55470. <CATEGORY>4</CATEGORY>
  55471. <MAINSCRIPT>0</MAINSCRIPT>
  55472. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55473. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55474. <AUTHOR>David Fux</AUTHOR>
  55475. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55476. <VERSION>1.1</VERSION>
  55477. <CREATED><DATE>6/8/2000</DATE><TIME>22:37:13</TIME></CREATED>
  55478. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55479. </TEMPLATE>
  55480. <TEMPLATE>
  55481. <NAME>LERR_AttribDetails</NAME>
  55482. <ID>82</ID>
  55483. <GUID>{DC035443-3D80-11D4-9756-0050BF0C7D34}</GUID>
  55484. <CAPTION>LERR_AttribDetails</CAPTION>
  55485. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55486. <ENABLED>1</ENABLED>
  55487. <LEVEL>0</LEVEL>
  55488. <IDPARENT>0</IDPARENT>
  55489. <VALUE><![CDATA[function Generate()
  55490. {
  55491. var a, Attribute;
  55492. var SubModel    = Model.SubModels( Variables.nSubModel );
  55493. var AttrList     = DefineInterfaceList();
  55494.  
  55495. Log.Writeln( 'Generating attribute details' );
  55496.  
  55497. for (e=0; e<SubModel.CountEntities; e++)
  55498.     {
  55499.     Entity = SubModel.Entities(e);
  55500.     for (a=0; a<Entity.CountAttributes; a++)
  55501.         {
  55502.         Attribute = Entity.Attributes(a);
  55503.         AttrList.AddInterface( Attribute.Name, Attribute );
  55504.         };
  55505.     };
  55506. AttrList.Sorted = Variables.lSort;
  55507.  
  55508. Rtf.Write( 'SECTBEG',Translator.Translate( 'ATTRIBUTES',1 ) );
  55509.  
  55510. for (a=0; a<AttrList.Count; a++)
  55511.     {
  55512.     Attribute = AttrList.GetInterface(a);
  55513.  
  55514.     Rtf.Write( 'CAPTION2',Translator.Translate( 'ATTRIBUTE',1 )+" '"+Attribute.Name+"'" );
  55515.  
  55516.     Scripting.LERR_AttribDetail.Generate( Attribute );    
  55517.     };
  55518.     
  55519. Rtf.Write( 'SECTEND','' );
  55520. };
  55521. ]]></VALUE>
  55522. <LANGUAGE>1</LANGUAGE>
  55523. <LANGUAGEWIN>---</LANGUAGEWIN>
  55524. <CATEGORY>4</CATEGORY>
  55525. <MAINSCRIPT>0</MAINSCRIPT>
  55526. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55527. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55528. <AUTHOR>David Fux</AUTHOR>
  55529. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55530. <VERSION>1.1</VERSION>
  55531. <CREATED><DATE>6/8/2000</DATE><TIME>22:44:48</TIME></CREATED>
  55532. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55533. </TEMPLATE>
  55534. <TEMPLATE>
  55535. <NAME>LERR_AttribDetail</NAME>
  55536. <ID>83</ID>
  55537. <GUID>{E3D85544-540D-11D4-9756-0050BF0C7D34}</GUID>
  55538. <CAPTION>LERR_AttribDetail</CAPTION>
  55539. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55540. <ENABLED>1</ENABLED>
  55541. <LEVEL>0</LEVEL>
  55542. <IDPARENT>0</IDPARENT>
  55543. <VALUE><![CDATA[function Generate( Attribute )
  55544. {
  55545. var lEntRefer    = ( Variables.lReferences && Variables.lEntityDetails );
  55546. var lAttrRefer = ( Variables.lReferences && Variables.lAttribDetails );
  55547. var lDictRefer    = ( Variables.lReferences && Variables.lDictDetails     );
  55548. var SubModel    = Model.SubModels( Variables.nSubModel );
  55549. var UserEditor;
  55550. var lExist;
  55551. var Table, AttrInfo;
  55552.  
  55553. // Attribute info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55554.  
  55555. // Table definition
  55556. Table = Rtf.DefineTable( false,true );
  55557. Table.DefineColumn( 20 );
  55558. Table.DefineColumn( 30 );
  55559. Table.DefineColumn( 20 );
  55560. Table.DefineColumn( 30 );
  55561.  
  55562. Rtf.DefineCell( 0,0,Translator.Translate( 'ATTRIBUTE_NAME',1 ) );
  55563. if (lAttrRefer)
  55564.     Table.DefineCell( 0,1,Rtf.SetBookmark( 'Attribute_'+Attribute.Id ) );
  55565. else
  55566.     Table.DefineCell( 0,1,Attribute.Name );
  55567.  
  55568. Table.DefineHeadCell( 0,2,Translator.Translate( 'ENTITY_NAME',1 ) );
  55569. if (lEntRefer)
  55570.     Table.DefineCell( 0,3,Rtf.CallBookmark( 'Entity_'+Attribute.EntityId ) )
  55571. else
  55572.     Table.DefineCell( 0,3,Model.GetEntity( Attribute.EntityId ).Name );
  55573.  
  55574. Table.DefineCell( 1,0,Translator.Translate( 'ROLE_NAME',1 ) );
  55575. Table.DefineCell( 1,1,Attribute.RoleName );
  55576.  
  55577. Table.DefineCell( 2,0,Translator.Translate( 'DATA_TYPE',1 ) );
  55578. if (Attribute.DataTypeId == 0)
  55579.     {
  55580.     if (lDictRefer)
  55581.         Table.DefineCell( 2,1,Rtf.CallBookmark( 'UserType_'+Attribute.DictTypeId ) )
  55582.     else
  55583.         Table.DefineCell( 2,1,Model.GetDictType( Attribute.DictTypeId ).Name )
  55584.     }
  55585. else
  55586.     Table.DefineCell( 2,1,Model.GetDataType( Attribute.DataTypeId ).Name );
  55587.  
  55588. Table.DefineCell( 3,0,Translator.Translate( 'PRIMARY_KEY',1 ) );
  55589. Table.DefineCell( 3,1,Scripting.SysReportUtils.LogicToString( Attribute.PK ) );
  55590.  
  55591. Table.DefineCell( 4,0,Translator.Translate( 'FOREIGN_KEY',1 ) );
  55592. Table.DefineCell( 4,1,Scripting.SysReportUtils.LogicToString( Attribute.FK ) );
  55593.  
  55594. if (Attribute.FK)
  55595.     {
  55596.     Table.DefineHeadCell( 4,2,Translator.Translate( 'PARENT_ENTITY',1 ) );
  55597.     if (lEntRefer && (SubModel.GetEntity( Attribute.EntityFkId(0) ) != null))
  55598.         Table.DefineCell( 4,3,Rtf.CallBookmark( 'Entity_'+Attribute.EntityFkId(0) ) )
  55599.     else
  55600.         Table.DefineCell( 4,3,Model.GetEntity( Attribute.EntityFkId(0) ).Name );
  55601.     }
  55602.  
  55603. Table.Draw()
  55604. Table.Close();
  55605.  
  55606. // Physical Attribute Properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  55607.  
  55608. Rtf.Write( 'CAPTION3',    Translator.Translate( 'PHY_ATTR_PROP',1 ) ); 
  55609.  
  55610. Table = Rtf.DefineTable( false,true );
  55611. Table.DefineColumn( 20 );
  55612. Table.DefineColumn( 30 );
  55613. Table.DefineColumn( 20 );
  55614. Table.DefineColumn( 10 );
  55615. Table.DefineColumn( 20 );
  55616. Table.DefineColumn( 10 );
  55617.  
  55618. if (Attribute.DataTypeId == 0 )
  55619.     {
  55620.     DataType = Model.GetDataType( Model.GetDictType( Attribute.DictTypeId ).DataTypeId );
  55621.     AttrInfo = Model.GetDictType( Attribute.DictTypeId );
  55622.     }
  55623. else
  55624.     {
  55625.     DataType = Model.GetDataType( Attribute.DataTypeId );
  55626.     AttrInfo = Attribute;
  55627.     };
  55628.     
  55629. Table.DefineCell( 0,0,Translator.Translate( 'DATA_TYPE',1 ) );
  55630. Table.DefineCell( 0,1,DataType.Name );
  55631.  
  55632. if (DataType.IsLength)
  55633.     {
  55634.     Table.DefineHeadCell( 0,2,Translator.Translate( 'LENGTH',1 ) );
  55635.     Table.DefineCell( 0,3,AttrInfo.Length.toString() );
  55636.  
  55637.     if (DataType.IsDecimal)
  55638.         {
  55639.         Table.DefineHeadCell( 0,4,Translator.Translate( 'DECIMAL',1 ) );
  55640.         Table.DefineCell( 0,5,AttrInfo.Decimal.toString() );
  55641.         };
  55642.     };
  55643.  
  55644. Table.DefineCell( 1,0,'NOT NULL' );
  55645. Table.DefineCell( 1,1,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) );
  55646.  
  55647. i = 2;
  55648. if (Attribute.Def != '')
  55649.     {
  55650.     Table.DefineCell( i,   0,'Def' );
  55651.     Table.DefineCell( i++, 1,Attribute.Def );
  55652.     };
  55653. if (Attribute.Def2 != '')
  55654.     {
  55655.     Table.DefineCell( i,   0,'Def2' );
  55656.     Table.DefineCell( i++, 1,Attribute.Def2 );
  55657.     };
  55658. Table.Draw();
  55659. Table.Close();
  55660.  
  55661. // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  55662. Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION3', Attribute );
  55663.     
  55664. // Constraints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55665. if (Attribute.Unique || AttrInfo.Default != '' || AttrInfo.Check != '' )
  55666.     {
  55667.     Rtf.Write( 'CAPTION3',    Translator.Translate( 'CONSTRAINTS',1 ) );
  55668.  
  55669.     Table = Rtf.DefineTable( true,true );
  55670.     Table.DefineColumn( 20 );
  55671.     Table.DefineColumn( 40 );
  55672.     Table.DefineColumn( 40 );
  55673.  
  55674.     Table.DefineCell( 0,0,Translator.Translate( 'TYPE',1         ) );
  55675.     Table.DefineCell( 0,1,Translator.Translate( 'NAME',1         ) );
  55676.     Table.DefineCell( 0,2,Translator.Translate( 'CONSTRAINT',1 ) );
  55677.  
  55678.     i = 0;
  55679.     if (Attribute.Unique)
  55680.         {
  55681.         Table.DefineCell( ++i,0, Translator.Translate( 'UNIQUE',1 ) );
  55682.         Table.DefineCell(   i,1,Attribute.UniqueConstraint );
  55683.         Table.DefineCell(   i,2,Scripting.SysReportUtils.LogicToString( Attribute.Unique ) );
  55684.         }
  55685.  
  55686.     if (AttrInfo.Default != '')
  55687.         {
  55688.         Table.DefineCell( ++i,0,Translator.Translate( 'DEFAULT',1 ) );
  55689.         Table.DefineCell(   i,1,Attribute.DefaultConstraint );
  55690.         Table.DefineCell(   i,2,AttrInfo.Default );
  55691.         }
  55692.  
  55693.     if (AttrInfo.Check != '')
  55694.         {
  55695.         Table.DefineCell( ++i,0,Translator.Translate( 'CHECK',1 ) );
  55696.         Table.DefineCell(   i,1,Attribute.CheckConstraint );
  55697.         Table.DefineCell(   i,2,AttrInfo.Check );
  55698.         }
  55699.  
  55700.     Table.Draw();
  55701.     Table.Close();
  55702.     }
  55703.  
  55704. // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55705. if (Attribute.Description != '')
  55706.     {
  55707.     Rtf.Write( 'CAPTION3',    Translator.Translate( 'DESCRIPTION',1 ) );
  55708.     Rtf.Writeln( Attribute.Description );
  55709.     }
  55710.     
  55711. // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55712. if (Attribute.Notes != '')
  55713.     {
  55714.     Rtf.Write( 'CAPTION3',    Translator.Translate( 'NOTES',1 ) );
  55715.     Rtf.Writeln( Attribute.Notes );
  55716.     }
  55717. };
  55718. ]]></VALUE>
  55719. <LANGUAGE>1</LANGUAGE>
  55720. <LANGUAGEWIN>---</LANGUAGEWIN>
  55721. <CATEGORY>4</CATEGORY>
  55722. <MAINSCRIPT>0</MAINSCRIPT>
  55723. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55724. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55725. <AUTHOR>David Fux</AUTHOR>
  55726. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55727. <VERSION>1.2</VERSION>
  55728. <CREATED><DATE>7/7/2000</DATE><TIME>14:37:36</TIME></CREATED>
  55729. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55730. </TEMPLATE>
  55731. <TEMPLATE>
  55732. <NAME>LERR_RelationSummary</NAME>
  55733. <ID>84</ID>
  55734. <GUID>{EB22AA44-542F-11D4-9756-0050BF0C7D34}</GUID>
  55735. <CAPTION>LERR_RelationSummary</CAPTION>
  55736. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55737. <ENABLED>1</ENABLED>
  55738. <LEVEL>0</LEVEL>
  55739. <IDPARENT>0</IDPARENT>
  55740. <VALUE><![CDATA[function Generate()
  55741. {
  55742. var r, Relation, Table;
  55743. var lEntRefer        = ( Variables.lReferences && Variables.lEntityDetails     );
  55744. var lRelRefer        = ( Variables.lReferences && Variables.lRelationDetails     );
  55745. var SubModel         = Model.SubModels( Variables.nSubModel );
  55746. var RelationList    = DefineInterfaceList();
  55747.  
  55748. Log.Writeln( 'Generating relationship summary' );
  55749.  
  55750. for (r=0; r<SubModel.CountRelations; r++)
  55751.     {
  55752.     Relation = SubModel.Relations(r);
  55753.     RelationList.AddInterface( Relation.Name, Relation );
  55754.     };
  55755. RelationList.Sorted = Variables.lSort;
  55756.  
  55757. Rtf.Write( 'SECTBEG',    Translator.Translate( 'RELATIONSHIPS',    1 ) );
  55758. Rtf.Write( 'CAPTION1',    Translator.Translate( 'RELSHIP_LIST',    1 ) );
  55759.  
  55760. // Table definition
  55761. Table = Rtf.DefineTable( true,false );
  55762. Table.DefineColumn( 25 );
  55763. Table.DefineColumn( 25 );
  55764. Table.DefineColumn( 25 );
  55765. Table.DefineColumn( 25 );
  55766.  
  55767. // Table header
  55768. Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_NAME',1  ) );
  55769. Table.DefineCell( 0,1,Translator.Translate( 'RELSHIP_TYPE',1  ) );
  55770. Table.DefineCell( 0,2,Translator.Translate( 'PARENT_ENTITY',1 ) );
  55771. Table.DefineCell( 0,3,Translator.Translate( 'CHILD_ENTITY',1  ) );
  55772.  
  55773. // Relationship list
  55774. for (r=0; r<RelationList.Count; r++)
  55775.     {
  55776.     Relation = RelationList.GetInterface(r);
  55777.  
  55778.     if (lRelRefer)    
  55779.         Table.DefineCell( r+1,0,Rtf.CallBookmark( 'Relation_'+Relation.Id ))
  55780.     else
  55781.         Table.DefineCell( r+1,0,Relation.Name );
  55782.  
  55783.     if ( Relation.Type == 0 ) 
  55784.         Table.DefineCell( r+1,1,Translator.Translate( 'IDENTIFYING',1 ) )
  55785.     else if ( Relation.Type == 1 )
  55786.         Table.DefineCell( r+1,1,Translator.Translate( 'NON_IDENTIFYING',1 ) )
  55787.     else
  55788.         Table.DefineCell( r+1,1,Translator.Translate( 'INFORMATIVE',1 ) );
  55789.  
  55790.     if (lEntRefer)
  55791.         {
  55792.         Table.DefineCell( r+1,2, Rtf.CallBookmark( 'Entity_'+Relation.ParentEntityId    ) );
  55793.         Table.DefineCell( r+1,3, Rtf.CallBookmark( 'Entity_'+Relation.ChildEntityId    ) );
  55794.         }
  55795.     else
  55796.         {
  55797.         Table.DefineCell( r+1,2,Model.GetEntity( Relation.ParentEntityId ).Name );
  55798.         Table.DefineCell( r+1,3,Model.GetEntity( Relation.ChildEntityId  ).Name );
  55799.         };
  55800.     };
  55801.  
  55802. Table.Draw();
  55803. Table.Close();
  55804. Rtf.Write( 'SECTEND','' );
  55805. };
  55806. ]]></VALUE>
  55807. <LANGUAGE>1</LANGUAGE>
  55808. <LANGUAGEWIN>---</LANGUAGEWIN>
  55809. <CATEGORY>4</CATEGORY>
  55810. <MAINSCRIPT>0</MAINSCRIPT>
  55811. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55812. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55813. <AUTHOR>David Fux</AUTHOR>
  55814. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55815. <VERSION>1.1</VERSION>
  55816. <CREATED><DATE>7/7/2000</DATE><TIME>18:04:36</TIME></CREATED>
  55817. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55818. </TEMPLATE>
  55819. <TEMPLATE>
  55820. <NAME>LERR_RelationDetails</NAME>
  55821. <ID>85</ID>
  55822. <GUID>{EB22AA46-542F-11D4-9756-0050BF0C7D34}</GUID>
  55823. <CAPTION>LERR_RelationDetails</CAPTION>
  55824. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55825. <ENABLED>1</ENABLED>
  55826. <LEVEL>0</LEVEL>
  55827. <IDPARENT>0</IDPARENT>
  55828. <VALUE><![CDATA[function Generate()
  55829. {
  55830. var r, Relation;
  55831. var SubModel         = Model.SubModels( Variables.nSubModel );
  55832. var RelationList    = DefineInterfaceList();
  55833.  
  55834. Log.Writeln( 'Generating relationship details' );
  55835.  
  55836. Rtf.Write( 'SECTBEG',Translator.Translate( 'RELATIONSHIPS',1 ) );
  55837.  
  55838. for (r=0; r<SubModel.CountRelations; r++)
  55839.     {
  55840.     Relation = SubModel.Relations(r);
  55841.     RelationList.AddInterface( Relation.Name, Relation );
  55842.     };
  55843. RelationList.Sorted = Variables.lSort;
  55844.  
  55845. for (r=0; r<RelationList.Count; r++)
  55846.     {
  55847.     Relation = RelationList.GetInterface(r);
  55848.  
  55849.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'RELATIONSHIP',1 )+" '"+Relation.Name+"'" );
  55850.  
  55851.     Scripting.LERR_RelationDetail.Generate( Relation );    
  55852.  
  55853.     };
  55854. Rtf.Write( 'SECTEND','' );
  55855.  
  55856. };
  55857. ]]></VALUE>
  55858. <LANGUAGE>1</LANGUAGE>
  55859. <LANGUAGEWIN>---</LANGUAGEWIN>
  55860. <CATEGORY>4</CATEGORY>
  55861. <MAINSCRIPT>0</MAINSCRIPT>
  55862. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  55863. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  55864. <AUTHOR>David Fux</AUTHOR>
  55865. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  55866. <VERSION>1.1</VERSION>
  55867. <CREATED><DATE>7/7/2000</DATE><TIME>18:07:21</TIME></CREATED>
  55868. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  55869. </TEMPLATE>
  55870. <TEMPLATE>
  55871. <NAME>LERR_RelationDetail</NAME>
  55872. <ID>86</ID>
  55873. <GUID>{0EAD2767-54BC-11D4-9756-0050BF0C7D34}</GUID>
  55874. <CAPTION>LERR_RelationDetail</CAPTION>
  55875. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  55876. <ENABLED>1</ENABLED>
  55877. <LEVEL>0</LEVEL>
  55878. <IDPARENT>0</IDPARENT>
  55879. <VALUE><![CDATA[function Generate( Relation )
  55880. {
  55881. var lEntRefer    = ( Variables.lReferences && Variables.lEntityDetails );
  55882. var lAttrRefer = ( Variables.lReferences && Variables.lAttribDetails );
  55883. var lRelRefer  = ( Variables.lReferences && Variables.lRelationDetails );
  55884. var lAKRefer   = ( Variables.lReferences && Variables.lAKDetails );
  55885. var lPKRefer   = ( Variables.lReferences && Variables.lPKDetails );
  55886. var Table;
  55887.  
  55888. // Relationships info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55889.  
  55890. // Table definition
  55891. Table = Rtf.DefineTable( false,true );
  55892. Table.DefineColumn( 30 );
  55893. Table.DefineColumn( 70 );
  55894.  
  55895. Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_NAME',1 ) );
  55896. if (lRelRefer)    
  55897.     Table.DefineCell( 0,1, Rtf.SetBookmark( 'Relation_'+Relation.Id ) )
  55898. else
  55899.     Table.DefineCell( 0,1, Relation.Name );
  55900.  
  55901. Table.DefineCell( 1,0,Translator.Translate( 'RELSHIP_TYPE',1 ) );
  55902. if ( Relation.Type == 0 ) 
  55903.     Table.DefineCell( 1,1,Translator.Translate( 'IDENTIFYING',0 ) )
  55904. else if ( Relation.Type == 1 )
  55905.     Table.DefineCell( 1,1,Translator.Translate( 'NON_IDENTIFYING',0 ) )
  55906. else
  55907.     Table.DefineCell( 1,1,Translator.Translate( 'INFORMATIVE',0 ) );
  55908.  
  55909. Table.DefineCell( 2,0,Translator.Translate( 'PARENT_ENTITY',1 ) );
  55910. if (lEntRefer)
  55911.     Table.DefineCell( 2,1,Rtf.CallBookmark( 'Entity_'+Relation.ParentEntityId    ) )
  55912. else
  55913.     Table.DefineCell( 2,1,Model.GetEntity( Relation.ParentEntityId ).Name );
  55914.  
  55915. Table.DefineCell( 3,0,Translator.Translate( 'CHILD_ENTITY',1 ) );
  55916. if (lEntRefer)
  55917.     Table.DefineCell( 3,1,Rtf.CallBookmark( 'Entity_'+Relation.ChildEntityId    ) )
  55918. else
  55919.     Table.DefineCell( 3,1,Model.GetEntity( Relation.ChildEntityId  ).Name );
  55920.  
  55921. Table.DefineCell( 4,0,Translator.Translate( 'CONSTRAINT_NAME',1 ) );
  55922. Table.DefineCell( 4,1,Relation.FKConstraint );
  55923.  
  55924. Table.Draw();
  55925. Table.Close();
  55926.  
  55927. // Existence
  55928. Rtf.Write( 'CAPTION3',    Translator.Translate( 'EXISTENCE',1 ) ); 
  55929. Table = Rtf.DefineTable( false,true );
  55930.  
  55931. Table.DefineColumn( 30 );
  55932. Table.DefineColumn( 70 );
  55933.  
  55934. Table.DefineCell( 0,0,Translator.Translate( 'PARENT',1 ) );
  55935. if ( Relation.PartialityParent == 0 )
  55936.     Table.DefineCell( 0,1,Translator.Translate( 'MANDATORY',0 ) )
  55937. else
  55938.     Table.DefineCell( 0,1,Translator.Translate( 'OPTIONAL',0 ) )
  55939.   
  55940. Table.DefineCell( 1,0,Translator.Translate( 'CHILD',1 ) );
  55941. if ( Relation.PartialityChild == 0 )
  55942.     Table.DefineCell( 1,1,Translator.Translate( 'MANDATORY',0 ) )
  55943. else
  55944.     Table.DefineCell( 1,1,Translator.Translate( 'OPTIONAL',0 ) )
  55945.  
  55946. Table.Draw();
  55947. Table.Close();
  55948.  
  55949. // Referential integrity
  55950. Rtf.Write( 'CAPTION3',    Translator.Translate( 'REFER_INTEGRITY',1 ) ); 
  55951. Table = Rtf.DefineTable( true,true );
  55952.  
  55953. Table.DefineColumn( 25 );
  55954. Table.DefineColumn( 25 );
  55955. Table.DefineColumn( 25 );
  55956. Table.DefineColumn( 25 );
  55957.  
  55958. Table.DefineCell( 0,1,Translator.Translate( 'R_INT_INSERT',1 ) );
  55959. Table.DefineCell( 0,2,Translator.Translate( 'R_INT_UPDATE',1 ) );
  55960. Table.DefineCell( 0,3,Translator.Translate( 'R_INT_DELETE',1 ) );
  55961.  
  55962. Table.DefineCell( 1,0,Translator.Translate( 'PARENT',1 ) );
  55963. Table.DefineCell( 1,1,'----' );
  55964. Table.DefineCell( 1,2,GetIntegrity( Relation.ParentUpdateIntegrity ) );
  55965. Table.DefineCell( 1,3,GetIntegrity( Relation.ParentDeleteIntegrity ) );
  55966.  
  55967. Table.DefineCell( 2,0,Translator.Translate( 'CHILD',1 ) );
  55968. Table.DefineCell( 2,1,GetIntegrity( Relation.ChildInsertIntegrity ) );
  55969. Table.DefineCell( 2,2,GetIntegrity( Relation.ChildUpdateIntegrity ) );
  55970. Table.DefineCell( 2,3,'----' );
  55971.  
  55972. Table.Draw();
  55973. Table.Close();
  55974.  
  55975. // Keys
  55976. Rtf.Write( 'CAPTION3',    Translator.Translate( 'KEYS',1 ) );
  55977. Table = Rtf.DefineTable( true,false );
  55978.  
  55979. Table.DefineColumn( 40 );
  55980. Table.DefineColumn( 20 );
  55981. Table.DefineColumn( 20 );
  55982. Table.DefineColumn( 20 );
  55983.  
  55984. Table.DefineCell( 0,0,Translator.Translate( 'KEY_TYPE',        1 ) );
  55985. Table.DefineCell( 0,1,Translator.Translate( 'PARENT_KEY',    1 ) );
  55986. Table.DefineCell( 0,2,Translator.Translate( 'CHILD_KEY',    1 ) );
  55987. Table.DefineCell( 0,3,Translator.Translate( 'ROLE_NAME',    1 ) );
  55988.  
  55989. row = 0;
  55990.  
  55991. if (Relation.KeyType == 0)        // primary key
  55992.     {
  55993.     ParentEntity = Model.GetEntity( Relation.ParentEntityId );
  55994.     if (lPKRefer)
  55995.         Table.DefineCell( 1,0,Translator.Translate( 'PRIMARY_KEY',1 )+" '"+
  55996.                                Rtf.CallBookmark( 'PK_'+ParentEntity.Id )+"'" );
  55997.     else
  55998.         Table.DefineCell( 1,0,Translator.Translate( 'PRIMARY_KEY',1 )+" '"+
  55999.                                ParentEntity.PKConstraint+"'" );
  56000.                                
  56001.                                    
  56002.     for (i=0; i<ParentEntity.CountAttributes; i++)
  56003.         if (ParentEntity.Attributes(i).PK)
  56004.             {
  56005.             Attribute = ParentEntity.Attributes( i );
  56006.             if (lAttrRefer)
  56007.                   Table.DefineCell( ++row,1,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ) )
  56008.             else
  56009.                   Table.DefineCell( ++row,1,Attribute.Name );
  56010.  
  56011.             Table.DefineCell( row,2, GetForeignKey( Relation,Attribute.Id ) );
  56012.             if ( Attribute.RoleName == '' )
  56013.                   Table.DefineCell( row,3,'----' )
  56014.             else
  56015.                   Table.DefineCell( row,3,Attribute.RoleName );
  56016.             };    
  56017.     }
  56018.  
  56019. else if (Relation.KeyType == 1)            // unique key
  56020.     {
  56021.     Attribute = Model.GetAttribute( Relation.AttributeKeyId );
  56022.  
  56023.     Table.DefineCell( 1,0,Translator.Translate( 'UNIQUE_ATTR',1 ) );
  56024.     Table.DefineCell( 1,1,Model.GetAttribute( Relation.AttributeKeyId ).Name );
  56025.     Table.DefineCell( 1,2, GetForeignKey( Relation,Attribute.Id ) );
  56026.     if ( Attribute.RoleName == '' )
  56027.         Table.DefineCell( 1,3,'----' )
  56028.     else
  56029.         Table.DefineCell( 1,3,Attribute.RoleName );
  56030.     }
  56031.  
  56032. else        // alternative key
  56033.     {
  56034.     Table.DefineCell( 1,0,    Translator.Translate( 'ALTERNATE_KEY',1 )+" '"+
  56035.                                 Model.GetAlterKey( Relation.AttributeKeyId ).Name+"'");
  56036.  
  56037.     for (a=0; a<Model.CountAlterKeyItems; a++ )
  56038.         if ( Model.AlterKeyItems( a ).AlterKeyId == Relation.AttributeKeyId )
  56039.             {
  56040.             Attribute = Model.GetAttribute(Model.AlterKeyItems( a ).AttributeId);
  56041.             Table.DefineCell( ++row,1, Attribute.Name );
  56042.             Table.DefineCell( row,2, GetForeignKey( Relation,Attribute.Id ) );
  56043.             if ( Attribute.RoleName == '' )
  56044.                   Table.DefineCell( row,3,'----' )
  56045.             else
  56046.                   Table.DefineCell( row,3,Attribute.RoleName );
  56047.             };
  56048.     };
  56049.  
  56050. Table.Draw();
  56051. Table.Close();
  56052.  
  56053. // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  56054. Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION3', Relation );
  56055.  
  56056. // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56057. if (Relation.Description != '')
  56058.     {
  56059.     Rtf.Write( 'CAPTION3',    Translator.Translate( 'DESCRIPTION',1 ) );
  56060.     Rtf.Writeln( Relation.Description );
  56061.     }
  56062.     
  56063. // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56064. if (Relation.Notes != '')
  56065.     {
  56066.     Rtf.Write( 'CAPTION3',    Translator.Translate( 'NOTES',1 ) );
  56067.     Rtf.Writeln( Relation.Notes );
  56068.     }
  56069. };
  56070.  
  56071. //======================================================================
  56072.  
  56073. function GetForeignKey( Relation,ParentKeyId )
  56074. {
  56075. var i,a;
  56076. var ChildEntity = Model.GetEntity( Relation.ChildEntityId );
  56077.  
  56078. for (a=0; a<ChildEntity.CountAttributes; a++)
  56079.     if ( ChildEntity.Attributes(a).Fk )
  56080.         {
  56081.         FkAttribute = ChildEntity.Attributes(a);
  56082.         for (i=0; i<FkAttribute.AttrFkCount; i++)
  56083.             if (FkAttribute.AttrFkId(i) == ParentKeyId)
  56084.                 return( GetName( FkAttribute ) );
  56085.         };            
  56086. return( '???' );
  56087. };
  56088.  
  56089. //======================================================================
  56090.  
  56091. function GetName( Attribute )
  56092. {
  56093. if ( Attribute.RoleName == '' )
  56094.     return( Attribute.Name )
  56095. else
  56096.     return( Attribute.RoleName );
  56097. };
  56098.  
  56099. //======================================================================
  56100.  
  56101. function GetIntegrity( IntegrityType )
  56102. {
  56103. switch (IntegrityType)
  56104.     {
  56105.     case 0: return( Translator.Translate( 'R_INT_NONE',    2 ) );
  56106.     case 1: return( Translator.Translate( 'R_INT_SET_NULL',2 ) );
  56107.     case 2: return( Translator.Translate( 'R_INT_RESTRICT',2 ) );
  56108.     case 3: return( Translator.Translate( 'R_INT_CASCADE', 2 ) );
  56109.     case 4: return( Translator.Translate( 'R_INT_SET_DEF', 2 ) );
  56110.     };
  56111. };
  56112. ]]></VALUE>
  56113. <LANGUAGE>1</LANGUAGE>
  56114. <LANGUAGEWIN>---</LANGUAGEWIN>
  56115. <CATEGORY>4</CATEGORY>
  56116. <MAINSCRIPT>0</MAINSCRIPT>
  56117. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56118. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56119. <AUTHOR>David Fux</AUTHOR>
  56120. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56121. <VERSION>1.1</VERSION>
  56122. <CREATED><DATE>7/8/2000</DATE><TIME>11:46:51</TIME></CREATED>
  56123. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56124. </TEMPLATE>
  56125. <TEMPLATE>
  56126. <NAME>LERR_KeySummary</NAME>
  56127. <ID>87</ID>
  56128. <GUID>{07ADD010-597A-11D4-9756-0050BF0C7D34}</GUID>
  56129. <CAPTION>LERR_KeySummary</CAPTION>
  56130. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56131. <ENABLED>1</ENABLED>
  56132. <LEVEL>0</LEVEL>
  56133. <IDPARENT>0</IDPARENT>
  56134. <VALUE><![CDATA[function Generate()
  56135. {
  56136. var row                = 0;
  56137. var lKeyRefer        = ( Variables.lReferences && Variables.lKeyDetails );    
  56138. var lEntRefer        = ( Variables.lReferences && Variables.lEntityDetails );
  56139. var lPkDetails        = ( Variables.lPkDetails );
  56140. var lAkDetails        = ( Variables.lAkDetails );
  56141. var SubModel         = Model.SubModels( Variables.nSubModel );
  56142. var EntityList     = DefineInterfaceList();
  56143. var Table;
  56144.  
  56145. Log.Writeln( 'Generating key summary report' );
  56146.  
  56147. for (e=0; e<SubModel.CountEntities; e++)
  56148.     {
  56149.     Entity = SubModel.Entities(e);
  56150.     EntityList.AddInterface( Entity.TableName, Entity );
  56151.     };
  56152. EntityList.Sorted = Variables.lSort;
  56153.  
  56154. Rtf.Write( 'SECTBEG',    Translator.Translate( 'KEYS',1          ) );
  56155. Rtf.Write( 'CAPTION1',    Translator.Translate( 'KEY_SUMMARY',1 ) );
  56156.  
  56157. // Table definition
  56158. Table = Rtf.DefineTable( true,false );
  56159. Table.DefineColumn( 40 );
  56160. Table.DefineColumn( 30 );
  56161. Table.DefineColumn( 30 );
  56162.  
  56163. // Table header
  56164. Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME', 1  ) );
  56165. Table.DefineCell( 0,1,Translator.Translate( 'KEY_NAME',        1  ) );
  56166. Table.DefineCell( 0,2,Translator.Translate( 'KEY_TYPE',        1    ) );
  56167.  
  56168. // Key list
  56169. for (e=0; e<EntityList.Count; e++)
  56170.     {
  56171.     Entity = EntityList.GetInterface(e);
  56172.  
  56173.     // primary key
  56174.     if (lPkDetails)
  56175.         {
  56176.         row++;
  56177.         if (lEntRefer)    
  56178.             Table.DefineCell( row,0,Rtf.CallBookmark( 'Entity_'+Entity.Id ))
  56179.         else
  56180.             Table.DefineCell( row,0,Entity.Name );
  56181.     
  56182.         if (lKeyRefer)    
  56183.             Table.DefineCell( row,1,Rtf.CallBookmark( 'PK_'+Entity.Id ))
  56184.         else
  56185.             Table.DefineCell( row,1,Entity.PKConstraint );
  56186.  
  56187.         Table.DefineCell( row,2,Translator.Translate( 'PRIMARY_KEY',1 ) );
  56188.         }
  56189.     
  56190.     // alternate key
  56191.     if (lAkDetails)
  56192.         {
  56193.         for (k=0; k<Entity.CountAlterKeys; k++)
  56194.             {
  56195.             row++;
  56196.             if (lEntRefer)    
  56197.                 Table.DefineCell( row,0,Rtf.CallBookmark( 'Entity_'+Entity.Id ))
  56198.             else
  56199.                 Table.DefineCell( row,0,Entity.Name );
  56200.  
  56201.             AlterKey = Entity.AlterKeys(k);
  56202.             if (lKeyRefer)    
  56203.                 Table.DefineCell( row,1,Rtf.CallBookmark( 'AK_'+AlterKey.Id ))
  56204.             else
  56205.                 Table.DefineCell( row,1,AlterKey.Name );
  56206.  
  56207.             Table.DefineCell( row,2,Translator.Translate( 'ALTERNATE_KEY',1 ) );
  56208.             };
  56209.         };
  56210.     };
  56211.  
  56212. Table.Draw();
  56213. Table.Close();
  56214. Rtf.Write( 'SECTEND','' );
  56215. };
  56216. ]]></VALUE>
  56217. <LANGUAGE>1</LANGUAGE>
  56218. <LANGUAGEWIN>---</LANGUAGEWIN>
  56219. <CATEGORY>4</CATEGORY>
  56220. <MAINSCRIPT>0</MAINSCRIPT>
  56221. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56222. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56223. <AUTHOR>David Fux</AUTHOR>
  56224. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56225. <VERSION>1.1</VERSION>
  56226. <CREATED><DATE>7/14/2000</DATE><TIME>14:16:53</TIME></CREATED>
  56227. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56228. </TEMPLATE>
  56229. <TEMPLATE>
  56230. <NAME>LERR_PkDetails</NAME>
  56231. <ID>88</ID>
  56232. <GUID>{07ADD011-597A-11D4-9756-0050BF0C7D34}</GUID>
  56233. <CAPTION>LERR_PkDetails</CAPTION>
  56234. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56235. <ENABLED>1</ENABLED>
  56236. <LEVEL>0</LEVEL>
  56237. <IDPARENT>0</IDPARENT>
  56238. <VALUE><![CDATA[function Generate()
  56239. {
  56240. var row             = 0;
  56241. var lKeyRefer    = ( Variables.lReferences );
  56242. var lEntRefer    = ( Variables.lReferences && Variables.lEntityDetails );
  56243. var lAtrRefer    = ( Variables.lReferences && Variables.lAttribDetails );
  56244. var SubModel     = Model.SubModels( Variables.nSubModel );
  56245. var EntityList    = DefineInterfaceList();
  56246.  
  56247. var Table;
  56248.  
  56249. Log.Writeln( 'Generating detailed primary key report' );
  56250.  
  56251. for (e=0; e<SubModel.CountEntities; e++)
  56252.     {
  56253.     Entity = SubModel.Entities(e);
  56254.     EntityList.AddInterface( Entity.TableName, Entity );
  56255.     };
  56256. EntityList.Sorted = Variables.lSort;
  56257.  
  56258. Rtf.Write( 'SECTBEG',    Translator.Translate( 'KEYS',1 ) );
  56259.  
  56260. // Key list
  56261. for (e=0; e<EntityList.Count; e++)
  56262.     {
  56263.     Entity = EntityList.GetInterface(e);
  56264.     
  56265.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'PRIMARY_KEY',1 )+ " '"+Entity.PkConstraint+"'" );
  56266.  
  56267.     // Key info ---------------------------------------------------------------------------
  56268.  
  56269.     // Table definition
  56270.     Table = Rtf.DefineTable( false,true );
  56271.     Table.CellKeepNext = true;
  56272.     Table.DefineColumn( 40 );
  56273.     Table.DefineColumn( 60 );
  56274.  
  56275.     // Table header
  56276.     Table.DefineCell( 0,0,Translator.Translate( 'KEY_NAME',        1  ) );
  56277.     Table.DefineCell( 1,0,Translator.Translate( 'ENTITY_NAME', 1  ) );
  56278.  
  56279.     if (lKeyRefer)    
  56280.         Table.DefineCell( 0,1,Rtf.SetBookmark( 'PK_'+Entity.Id ) )
  56281.     else
  56282.         Table.DefineCell( 0,1,Entity.PkConstraint );
  56283.  
  56284.     if (lEntRefer)    
  56285.         Table.DefineCell( 1,1,Rtf.CallBookmark( 'Entity_'+Entity.Id ))
  56286.     else
  56287.         Table.DefineCell( 1,1,Entity.Name );
  56288.  
  56289.     Table.Draw();
  56290.     Table.Close();
  56291.     Rtf.Writeln( '\\pard\\keepn' );
  56292.  
  56293.     // Attribute info -------------------------------------------------------------------
  56294.  
  56295.     // Table definition
  56296.     Table = Rtf.DefineTable( true,false );
  56297.     Table.DefineColumn( 40 );
  56298.     Table.DefineColumn( 30 );
  56299.     Table.DefineColumn( 30 );
  56300.     
  56301.     // Table head
  56302.     Table.DefineCell( 0,0,Translator.Translate( 'ATTRIBUTE',    1  ) );
  56303.     Table.DefineCell( 0,1,Translator.Translate( 'FOREIGN_KEY', 1  ) );
  56304.     Table.DefineCell( 0,2,Translator.Translate( 'UNIQUE_ATTR',    1  ) );
  56305.  
  56306.     row = 0    
  56307.     for (a=0; a<Entity.CountAttributes; a++)
  56308.         if (Entity.Attributes(a).Pk)
  56309.             {
  56310.             Attribute = Entity.Attributes(a);
  56311.             row++;
  56312.             if (lAtrRefer)    
  56313.                 Table.DefineCell( row,0,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ))
  56314.             else
  56315.                 Table.DefineCell( row,0,Attribute.Name );
  56316.                 
  56317.             Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString( Attribute.FK     ) );
  56318.             Table.DefineCell( row,2,Scripting.SysReportUtils.LogicToString( Attribute.Unique ) );
  56319.             };
  56320.             
  56321.     Table.Draw();
  56322.     Table.Close();
  56323.     };
  56324.     Rtf.Write( 'SECTEND','' );;
  56325. };
  56326. ]]></VALUE>
  56327. <LANGUAGE>1</LANGUAGE>
  56328. <LANGUAGEWIN>---</LANGUAGEWIN>
  56329. <CATEGORY>4</CATEGORY>
  56330. <MAINSCRIPT>0</MAINSCRIPT>
  56331. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56332. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56333. <AUTHOR>David Fux</AUTHOR>
  56334. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56335. <VERSION>1.1</VERSION>
  56336. <CREATED><DATE>7/14/2000</DATE><TIME>14:45:55</TIME></CREATED>
  56337. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56338. </TEMPLATE>
  56339. <TEMPLATE>
  56340. <NAME>LERR_AkDetails</NAME>
  56341. <ID>89</ID>
  56342. <GUID>{FC665125-5C96-11D4-9757-0050BF0C7D34}</GUID>
  56343. <CAPTION>LERR_AkDetails</CAPTION>
  56344. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56345. <ENABLED>1</ENABLED>
  56346. <LEVEL>0</LEVEL>
  56347. <IDPARENT>0</IDPARENT>
  56348. <VALUE><![CDATA[function Generate()
  56349. {
  56350. var row = 0;
  56351. var lKeyRefer    = ( Variables.lReferences );
  56352. var lEntRefer    = ( Variables.lReferences && Variables.lEntityDetails );
  56353. var lAtrRefer    = ( Variables.lReferences && Variables.lAttribDetails );
  56354. var SubModel     = Model.SubModels( Variables.nSubModel );
  56355. var AKeyList    = DefineInterfaceList();
  56356. var Table;
  56357.  
  56358. Log.Writeln( 'Generating detailed alternate key report' );
  56359.  
  56360. for (e=0; e<SubModel.CountEntities; e++)
  56361.     {
  56362.     Entity = SubModel.Entities(e);
  56363.     for (k=0; k<Entity.CountAlterKeys; k++)
  56364.         {
  56365.         AlterKey = Entity.AlterKeys( k );
  56366.         AKeyList.AddInterface( AlterKey.Name, AlterKey );
  56367.         };
  56368.     };
  56369. AKeyList.Sorted = Variables.lSort;
  56370.  
  56371. Rtf.Write( 'SECTBEG',    Translator.Translate( 'KEYS',1 ) );
  56372.  
  56373. // Key list
  56374. for (k=0; k<AKeyList.Count; k++)
  56375.     {
  56376.     AlterKey = AKeyList.GetInterface(k);
  56377.     Entity    = Model.GetEntity( AlterKey.EntityId );
  56378.     
  56379.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'ALTERNATE_KEY',1 )+ " '"+AlterKey.Name+"'" );
  56380.  
  56381.     // Key info ---------------------------------------------------------------------------
  56382.  
  56383.     // Table definition
  56384.     Table = Rtf.DefineTable( false,true );
  56385.     Table.CellKeepNext = true;
  56386.     Table.DefineColumn( 40 );
  56387.     Table.DefineColumn( 60 );
  56388.  
  56389.     // Table header
  56390.     Table.DefineCell( 0,0,Translator.Translate( 'KEY_NAME',        1  ) );
  56391.     Table.DefineCell( 1,0,Translator.Translate( 'ENTITY_NAME',    1  ) );
  56392.  
  56393.     if (lKeyRefer)    
  56394.         Table.DefineCell( 0,1,Rtf.SetBookmark( 'AK_'+AlterKey.Id ) )
  56395.     else
  56396.         Table.DefineCell( 0,1,AlterKey.Name );
  56397.  
  56398.     if (lEntRefer)    
  56399.         Table.DefineCell( 1,1,Rtf.CallBookmark( 'Entity_'+Entity.Id ))
  56400.     else
  56401.         Table.DefineCell( 1,1,Entity.Name );
  56402.  
  56403.     Table.Draw();
  56404.     Table.Close();
  56405.     Rtf.Writeln( '\\pard\\keepn' );
  56406.  
  56407.     // Attribute info -------------------------------------------------------------------
  56408.  
  56409.     // Table definition
  56410.     Table = Rtf.DefineTable( true,false );
  56411.     Table.DefineColumn( 25 );
  56412.     Table.DefineColumn( 25 );
  56413.     Table.DefineColumn( 25 );
  56414.     Table.DefineColumn( 25 );
  56415.  
  56416.     // Table header
  56417.     Table.DefineCell( 0,0,Translator.Translate( 'ATTRIBUTE',    1  ) );
  56418.     Table.DefineCell( 0,1,Translator.Translate( 'PRIMARY_KEY', 1  ) );
  56419.     Table.DefineCell( 0,2,Translator.Translate( 'FOREIGN_KEY', 1  ) );
  56420.     Table.DefineCell( 0,3,Translator.Translate( 'UNIQUE_ATTR',    1  ) );
  56421.  
  56422.     row = 0;
  56423.     for (a=0; a<Model.CountAlterKeyItems; a++)
  56424.         if (Model.AlterKeyItems(a).AlterKeyId==AlterKey.Id)
  56425.             {
  56426.             Attribute = Model.GetAttribute(Model.AlterKeyItems(a).AttributeId);
  56427.             row++;
  56428.             if (lAtrRefer)    
  56429.                 Table.DefineCell( row,0,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ))
  56430.             else
  56431.                 Table.DefineCell( row,0,Attribute.Name );
  56432.                 
  56433.             Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString( Attribute.PK     ) );
  56434.             Table.DefineCell( row,2,Scripting.SysReportUtils.LogicToString( Attribute.FK     ) );
  56435.             Table.DefineCell( row,3,Scripting.SysReportUtils.LogicToString( Attribute.Unique ) );
  56436.             };
  56437.             
  56438.     Table.Draw();
  56439.     Table.Close();
  56440.  
  56441.     // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  56442.     Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION3', AlterKey );
  56443.  
  56444.     // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56445.     if (AlterKey.Description != '')
  56446.         {
  56447.         Rtf.Write( 'CAPTION3',    Translator.Translate( 'DESCRIPTION',1 ) );
  56448.         Rtf.Writeln( AlterKey.Description );
  56449.         }
  56450.     
  56451.     // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56452.     if (AlterKey.Notes != '')
  56453.         {
  56454.         Rtf.Write( 'CAPTION3',    Translator.Translate( 'NOTES',1 ) );
  56455.         Rtf.Writeln( AlterKey.Notes );
  56456.         }
  56457.     };
  56458.     Rtf.Write( 'SECTEND','' );;
  56459. };
  56460. ]]></VALUE>
  56461. <LANGUAGE>1</LANGUAGE>
  56462. <LANGUAGEWIN>---</LANGUAGEWIN>
  56463. <CATEGORY>4</CATEGORY>
  56464. <MAINSCRIPT>0</MAINSCRIPT>
  56465. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56466. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56467. <AUTHOR>David Fux</AUTHOR>
  56468. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56469. <VERSION>1.1</VERSION>
  56470. <CREATED><DATE>7/18/2000</DATE><TIME>11:07:12</TIME></CREATED>
  56471. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56472. </TEMPLATE>
  56473. <TEMPLATE>
  56474. <NAME>LERR_DictSummary</NAME>
  56475. <ID>90</ID>
  56476. <GUID>{0BB6AF06-5CA4-11D4-9757-0050BF0C7D34}</GUID>
  56477. <CAPTION>LERR_DictSummary</CAPTION>
  56478. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56479. <ENABLED>1</ENABLED>
  56480. <LEVEL>0</LEVEL>
  56481. <IDPARENT>0</IDPARENT>
  56482. <VALUE><![CDATA[function Generate()
  56483. {
  56484. var e, a, d, Entity, Attribute, DictType;
  56485. var row             = 0;
  56486. var lDictRefer = ( Variables.lReferences && Variables.lDictDetails );
  56487. var SubModel     = Model.SubModels( Variables.nSubModel );
  56488. var DictList    = DefineInterfaceList();
  56489. var Table;
  56490.  
  56491. Log.Writeln( 'Generating key summary report' );
  56492.  
  56493. if ( Variables.nSubModel == 0 )
  56494.     for (d=0; d<Model.CountDictTypes; d++)
  56495.         {
  56496.         DictType = Model.DictTypes(d);
  56497.         DictList.AddInterface( DictType.Name, DictType );
  56498.         }
  56499. else    
  56500.     for (e=0; e<SubModel.CountEntities; e++)
  56501.         {
  56502.         Entity = SubModel.Entities(e);
  56503.         for (a=0; a<Entity.CountAttributes; a++)
  56504.             {
  56505.             Attribute = Entity.Attributes(a);
  56506.             if ( Attribute.DictTypeId != 0 )
  56507.                 {
  56508.                 DictType = Model.GetDictType( Attribute.DictTypeId );
  56509.                 DictList.AddInterface( DictType.Name, DictType );
  56510.                 };
  56511.             };
  56512.         };
  56513. DictList.Sorted = Variables.lSort;
  56514.  
  56515. if (DictList.Count != 0)
  56516.     {
  56517.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'DATA_DICTIONARY',    1    ) );
  56518.     Rtf.Write( 'CAPTION1',    Translator.Translate( 'USER_TYPE_SUMMARY',1     ) );
  56519.  
  56520.     // Table definition
  56521.     Table = Rtf.DefineTable( true,false );
  56522.     Table.DefineColumn( 100 );
  56523.  
  56524.     // Table header
  56525.     Table.DefineCell( 0,0,Translator.Translate( 'USER_TYPE_NAME', 1  ) );
  56526.  
  56527.     // Key list
  56528.     for (d=0; d<DictList.Count; d++)
  56529.         {
  56530.         DictType = DictList.GetInterface(d);
  56531.  
  56532.         row++;
  56533.         if (lDictRefer)    
  56534.             Table.DefineCell( row,0,Rtf.CallBookmark( 'UserType_'+DictType.Id ))
  56535.         else
  56536.             Table.DefineCell( row,0,DictType.Name );
  56537.         };
  56538.  
  56539.     Table.Draw();
  56540.     Table.Close();
  56541.     Rtf.Write( 'SECTEND','' );
  56542.     };
  56543. };
  56544. ]]></VALUE>
  56545. <LANGUAGE>1</LANGUAGE>
  56546. <LANGUAGEWIN>---</LANGUAGEWIN>
  56547. <CATEGORY>4</CATEGORY>
  56548. <MAINSCRIPT>0</MAINSCRIPT>
  56549. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56550. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56551. <AUTHOR>David Fux</AUTHOR>
  56552. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56553. <VERSION>1.1</VERSION>
  56554. <CREATED><DATE>7/18/2000</DATE><TIME>14:06:51</TIME></CREATED>
  56555. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56556. </TEMPLATE>
  56557. <TEMPLATE>
  56558. <NAME>LERR_DictDetails</NAME>
  56559. <ID>91</ID>
  56560. <GUID>{0BB6AF07-5CA4-11D4-9757-0050BF0C7D34}</GUID>
  56561. <CAPTION>LERR_DictDetails</CAPTION>
  56562. <PACKAGEGUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56563. <ENABLED>1</ENABLED>
  56564. <LEVEL>0</LEVEL>
  56565. <IDPARENT>0</IDPARENT>
  56566. <VALUE><![CDATA[function Generate()
  56567. {
  56568. var e, a, d, Entity, Attribute, DictType;
  56569. var row                 = 0;
  56570. var lEntityRefer     = ( Variables.lReferences && Variables.lEntityDetails    );
  56571. var lAttribRefer    = ( Variables.lReferences && Variables.lAttribDetails );
  56572. var lDictRefer     = ( Variables.lReferences && Variables.lDictDetails     );
  56573. var SubModel         = Model.SubModels( Variables.nSubModel );
  56574. var DictList        = DefineInterfaceList();
  56575. var Table;
  56576.  
  56577. Log.Writeln( 'Generating detailed dictionary data type report' );
  56578.  
  56579. if ( Variables.nSubModel == 0 )
  56580.     for (d=0; d<Model.CountDictTypes; d++)
  56581.         {
  56582.         DictType = Model.DictTypes(d);
  56583.         DictList.AddInterface( DictType.Name, DictType );
  56584.         }
  56585. else    
  56586.     for (e=0; e<SubModel.CountEntities; e++)
  56587.         {
  56588.         Entity = SubModel.Entities(e);
  56589.         for (a=0; a<Entity.CountAttributes; a++)
  56590.             {
  56591.             Attribute = Entity.Attributes(a);
  56592.             if ( Attribute.DictTypeId != 0 )
  56593.                 {
  56594.                 DictType = Model.GetDictType( Attribute.DictTypeId );
  56595.                 DictList.AddInterface( DictType.Name, DictType );
  56596.                 };
  56597.             };
  56598.         };
  56599. DictList.Sorted = Variables.lSort;
  56600.  
  56601. if ( DictList.Count != 0 )
  56602.     {
  56603.     Rtf.Write( 'SECTBEG',    Translator.Translate( 'USER_TYPE',1        ) );
  56604.  
  56605.     for (d=0; d<Model.CountDictTypes; d++)
  56606.         {
  56607.         DictType = Model.DictTypes(d);
  56608.         DataType = Model.GetDataType( DictType.DataTypeId );
  56609.  
  56610.         Rtf.Write( 'CAPTION2',    Translator.Translate( 'USER_TYPE',1    )+" '"+DictType.Name+"'" );
  56611.  
  56612.         // Basic informations --------------------------------------------------------------
  56613.     
  56614.         // Table definition
  56615.         Table = Rtf.DefineTable( false,true );
  56616.         Table.DefineColumn( 30 );
  56617.         Table.DefineColumn( 20 );
  56618.         Table.DefineColumn( 20 );
  56619.         Table.DefineColumn( 10 );
  56620.         Table.DefineColumn( 20 );
  56621.         Table.DefineColumn( 10 );
  56622.  
  56623.         // Table header
  56624.         Table.DefineCell( 0,0,'\\keep '+Translator.Translate( 'USER_TYPE_NAME', 1  ) );
  56625.         if (lDictRefer)    
  56626.             Table.DefineCell( 0,1,Rtf.SetBookmark( 'UserType_'+DictType.Id ))
  56627.         else
  56628.             Table.DefineCell( 0,1,DictType.Name );
  56629.  
  56630.         Table.DefineHeadCell( 1,0,'\\keep '+Translator.Translate( 'DATA_TYPE',1 ) );
  56631.         Table.DefineCell( 1,1,DataType.Name );
  56632.     
  56633.         if (DataType.IsLength)
  56634.             {
  56635.             Table.DefineHeadCell( 1,2,Translator.Translate( 'LENGTH',1 ) );
  56636.             Table.DefineCell( 1,3,DictType.Length.toString() );
  56637.  
  56638.             if (DataType.IsDecimal)
  56639.                 {
  56640.                 Table.DefineHeadCell( 1,4,Translator.Translate( 'DECIMAL',1 ) );
  56641.                 Table.DefineCell( 1,5,DictType.Decimal.toString() );
  56642.                 };
  56643.             };
  56644.         
  56645.         if ( DictType.UserDataType != '' )
  56646.               {
  56647.            Table.DefineCell( 2,0,Translator.Translate( 'USER_TYPE',    1    ) );
  56648.            Table.DefineCell( 2,1,DictType.UserDataType );
  56649.             };
  56650.             
  56651.         if (DictType.Description != '')
  56652.             {
  56653.             Table.DefineCell( 3,0,Translator.Translate( 'DESCRIPTION',1 ) );
  56654.             Table.DefineCell( 3,1,DictType.Description );
  56655.             };
  56656.  
  56657.         Table.Draw();
  56658.         Table.Close();
  56659.     
  56660.         // Constraints --------------------------------------------------------------------
  56661.     
  56662.         if (DictType.Default+DictType.Check+DictType.Def+DictType.Def2 != '') 
  56663.             {
  56664.             Rtf.Write( 'CAPTION3',    Translator.Translate( 'CONSTRAINTS',1    ) );
  56665.     
  56666.             // Table definition
  56667.             Table = Rtf.DefineTable( false,true );
  56668.             Table.DefineColumn( 30 );
  56669.             Table.DefineColumn( 70 );
  56670.  
  56671.             nRow = 0;
  56672.         
  56673.             if (DictType.Default != '')
  56674.                 {
  56675.                 Table.DefineCell( nRow,   0,Translator.Translate( 'DEFAULT',1 ) );
  56676.                 Table.DefineCell( nRow++, 1,DictType.Default );
  56677.                 };
  56678.         
  56679.             if (DictType.Check != '')
  56680.                 {
  56681.                 Table.DefineCell( nRow,  0,Translator.Translate( 'CHECK',1 ) );
  56682.                 Table.DefineCell( nRow++,1,DictType.Check );
  56683.                 };
  56684.  
  56685.             if (DictType.Def != '')
  56686.                 {
  56687.                 Table.DefineCell( nRow,  0,'Def' );
  56688.                 Table.DefineCell( nRow++,1,DictType.Def );
  56689.                 };
  56690.  
  56691.             if (DictType.Def2 != '')
  56692.                 {
  56693.                 Table.DefineCell( nRow,  0,'Def2' );
  56694.                 Table.DefineCell( nRow++,1,DictType.Def2 );
  56695.                 };
  56696.             
  56697.             Table.Draw();
  56698.             Table.Close();    
  56699.             }
  56700.  
  56701.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  56702.  
  56703.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION3', DictType );
  56704.  
  56705.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56706.         if (DictType.Description != '')
  56707.             {
  56708.             Rtf.Write( 'CAPTION3',    Translator.Translate( 'DESCRIPTION',1 ) );
  56709.             Rtf.Writeln( DictType.Description );
  56710.             }
  56711.         
  56712.         // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56713.         if (DictType.Notes != '')
  56714.             {
  56715.             Rtf.Write( 'CAPTION3',    Translator.Translate( 'NOTES',1 ) );
  56716.             Rtf.Writeln( DictType.Notes );
  56717.             }
  56718.         
  56719.         // Usage  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56720.  
  56721.         nRow = 0;
  56722.         for (a=0; a<Model.CountAttributes; a++)
  56723.             if (Model.Attributes(a).DictTypeId == DictType.Id)
  56724.                 {
  56725.                 if (nRow == 0)
  56726.                     {
  56727.                     Rtf.Write( 'CAPTION3',    Translator.Translate( 'USAGE',1    ) );
  56728.                 
  56729.                     // Table definition
  56730.                     Table = Rtf.DefineTable( true,false );
  56731.                     Table.DefineColumn( 50 );
  56732.                     Table.DefineColumn( 50 );
  56733.                     
  56734.                     Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME',        1 ) );
  56735.                     Table.DefineCell( 0,1,Translator.Translate( 'ATTRIBUTE_NAME',    1 ) );
  56736.                     };
  56737.             
  56738.                 nRow++;
  56739.                 Attribute = Model.Attributes(a);
  56740.             
  56741.                 if (SubModel.GetEntity( Attribute.EntityId ) != null)
  56742.                     {
  56743.                     if (lEntityRefer)
  56744.                         Table.DefineCell( nRow,0,Rtf.CallBookmark( 'Entity_'+Attribute.EntityId ) )
  56745.                     else    
  56746.                         Table.DefineCell( nRow,0,Model.GetEntity( Attribute.EntityId ).Name );
  56747.  
  56748.                     if (lAttribRefer)
  56749.                         Table.DefineCell( nRow,1,Rtf.CallBookmark( 'Attribute_'+Attribute.Id ) )
  56750.                     else    
  56751.                         Table.DefineCell( nRow,1,Attribute.Name );
  56752.                     };    
  56753.                 }
  56754.         if (nRow != 0)
  56755.             {
  56756.             Table.Draw();
  56757.            Table.Close();
  56758.            };
  56759.         };
  56760.  
  56761.  
  56762.     Rtf.Write( 'SECTEND','' );
  56763.     };
  56764. };
  56765. ]]></VALUE>
  56766. <LANGUAGE>1</LANGUAGE>
  56767. <LANGUAGEWIN>---</LANGUAGEWIN>
  56768. <CATEGORY>4</CATEGORY>
  56769. <MAINSCRIPT>0</MAINSCRIPT>
  56770. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56771. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  56772. <AUTHOR>David Fux</AUTHOR>
  56773. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56774. <VERSION>1.1</VERSION>
  56775. <CREATED><DATE>7/18/2000</DATE><TIME>14:08:15</TIME></CREATED>
  56776. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56777. </TEMPLATE>
  56778. <TEMPLATE>
  56779. <NAME>LERR</NAME>
  56780. <ID>92</ID>
  56781. <GUID>{3CB96E08-563F-11D4-9756-0050BF0C7D34}</GUID>
  56782. <CAPTION>Logick² entitn∞ relaΦnφ report</CAPTION>
  56783. <PACKAGEGUID>{76BDC818-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56784. <ENABLED>1</ENABLED>
  56785. <LEVEL>0</LEVEL>
  56786. <IDPARENT>0</IDPARENT>
  56787. <VALUE><![CDATA[function Main()
  56788. {
  56789. Translator.DefaultLng = 'csy';
  56790. Scripting.LERR_Main.Main();
  56791. };
  56792.  
  56793. function DefineVariables()
  56794. {
  56795. var i;
  56796.  
  56797. Variables.DefineVariable( 'nSubModel',            'V²b∞r submodelu',                        4 );
  56798. for (i=0; i<Model.CountSubmodels; i++)
  56799.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  56800. Variables.nSubModel = 0;    
  56801.  
  56802. Variables.DefineVariable( 'lSort',                'T°φdit objekty podle abecedy',        1 );
  56803. Variables.lSort            = true;
  56804.  
  56805. Variables.DefineVariable( 'lReferences',        'Pou₧φvat odkazy v reportu',            1 );
  56806. Variables.lReferences        = true;
  56807.  
  56808. Variables.DefineVariable( 'lTitle',                'Titulnφ strana',                            1 );
  56809. Variables.lTitle                = true;
  56810.  
  56811. Variables.DefineVariable( 'lEntitySummary',    'Souhrn² seznam entit',                    1 );
  56812. Variables.lEntitySummary    = true;
  56813.  
  56814. Variables.DefineVariable( 'lEntityDetails',    'Detailnφ v²pis entit',                    1 );
  56815. Variables.lEntityDetails    = true;
  56816.  
  56817. Variables.DefineVariable( 'lAttribSummary',    'Souhrn² v²pis atribut∙',                1 );
  56818. Variables.lAttribSummary    = true;
  56819.  
  56820. Variables.DefineVariable( 'lAttribDetails',    'Detailnφ v²pis atribut∙',                1 );
  56821. Variables.lAttribDetails    = true;
  56822.  
  56823. Variables.DefineVariable( 'lBindAttrib',        'V²pis atribut∙ pod entitou',            1 );
  56824. Variables.lBindAttrib        = false;
  56825.  
  56826. Variables.DefineVariable( 'lRelationSummary','Souhrn² seznam relacφ',                1 );
  56827. Variables.lRelationSummary    = true;
  56828.  
  56829. Variables.DefineVariable( 'lRelationDetails','Detailnφ v²pis relacφ',                1 );
  56830. Variables.lRelationDetails    = true;
  56831.  
  56832. Variables.DefineVariable( 'lBindRelation',   'V²pis relacφ pod entitou',            1 );
  56833. Variables.lBindRelation        = false;
  56834.  
  56835. Variables.DefineVariable( 'lKeySummary',        'Souhrn² seznam klφΦ∙',                    1 );
  56836. Variables.lKeySummary        = true;
  56837.  
  56838. Variables.DefineVariable( 'lKeyDetails',        'Detailnφ v²pis klφΦ∙',                    1 );
  56839. Variables.lKeyDetails        = true;
  56840.  
  56841. Variables.DefineVariable( 'lPkDetails',        'Generuj primßrnφ klφΦe',                1 );
  56842. Variables.lPkDetails            = true;
  56843.  
  56844. Variables.DefineVariable( 'lAkDetails',        'Generuj alternativnφ klφΦe',            1 );
  56845. Variables.lAkDetails            = true;
  56846.  
  56847. Variables.DefineVariable( 'lDictSummary',        'Souhrn² v²pis u₧ivatelsk²ch prom∞nn²ch',1 );
  56848. Variables.lDictSummary        = true;
  56849.  
  56850. Variables.DefineVariable( 'lDictDetails',        'Detailnφ v²pis u₧ivatelsk²ch prom∞nn²ch',1 );
  56851. Variables.lDictDetails        = true;
  56852. };
  56853. ]]></VALUE>
  56854. <LANGUAGE>1</LANGUAGE>
  56855. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  56856. <CATEGORY>4</CATEGORY>
  56857. <MAINSCRIPT>1</MAINSCRIPT>
  56858. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56859. <DESCRIPTION><![CDATA[Zßkladnφ logick² entitn∞ relaΦnφ report optimalizovan² pro MS Word. Lze spustit i na jin²ch editorech, kterΘ podporujφ RTF. (nap°. 602Text,WordPad,StarOffice...)
  56860. ZaÜkrtnutφm polφΦka "Pou₧φvat odkazy v reportu" se lze rychle a pohodln∞ pohybovat v reportu k danΘmu objektu (pro editor MS WORD).]]></DESCRIPTION>
  56861. <AUTHOR>David Fux</AUTHOR>
  56862. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56863. <VERSION>1.1</VERSION>
  56864. <CREATED><DATE>7/10/2000</DATE><TIME>8:52:09</TIME></CREATED>
  56865. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56866. </TEMPLATE>
  56867. <TEMPLATE>
  56868. <NAME>LERR_Dictionary</NAME>
  56869. <ID>93</ID>
  56870. <GUID>{5FD3E57B-3E04-11D4-9756-0050BF0C7D34}</GUID>
  56871. <CAPTION>LERR_Dictionary</CAPTION>
  56872. <PACKAGEGUID>{76BDC818-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56873. <ENABLED>1</ENABLED>
  56874. <LEVEL>0</LEVEL>
  56875. <IDPARENT>0</IDPARENT>
  56876. <VALUE><![CDATA[function ReadVocabulary()
  56877. {
  56878. Translator.Add( 'ENTITY_LIST',        'seznam entit'                     );
  56879. Translator.Add( 'ATTRIBUTE_LIST',    'seznam atribut∙'                    );
  56880. Translator.Add( 'ATTRIB_COUNT',        'poΦet atr.'                        );
  56881. Translator.Add( 'RELSHIP_LIST',        'seznam relacφ'                    );
  56882. Translator.Add( 'KEY_SUMMARY',        'seznam klφΦ∙'                        );
  56883. Translator.Add( 'USER_TYPE_SUMMARY','seznam u₧ivatelsk²ch typ∙'    );
  56884. Translator.Add( 'PHY_ATTR_PROP',        'fyzickΘ vlastnosti atributu'    );
  56885.  
  56886. Translator.Add( 'LOGICAL_MODEL',        'logick² model'        );
  56887. };
  56888. ]]></VALUE>
  56889. <LANGUAGE>1</LANGUAGE>
  56890. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  56891. <CATEGORY>4</CATEGORY>
  56892. <MAINSCRIPT>0</MAINSCRIPT>
  56893. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56894. <DESCRIPTION><![CDATA[DodateΦn² slovnφk, pro logick² entitn∞ relaΦnφ diagram.]]></DESCRIPTION>
  56895. <AUTHOR>David Fux</AUTHOR>
  56896. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56897. <VERSION>1.0</VERSION>
  56898. <CREATED><DATE>6/9/2000</DATE><TIME>12:50:25</TIME></CREATED>
  56899. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56900. </TEMPLATE>
  56901. <TEMPLATE>
  56902. <NAME>LERR</NAME>
  56903. <ID>94</ID>
  56904. <GUID>{6A120EA8-565A-11D4-9756-0050BF0C7D34}</GUID>
  56905. <CAPTION>Logical entity relationship report</CAPTION>
  56906. <PACKAGEGUID>{FC867A4F-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56907. <ENABLED>1</ENABLED>
  56908. <LEVEL>0</LEVEL>
  56909. <IDPARENT>0</IDPARENT>
  56910. <VALUE><![CDATA[function Main()
  56911. {
  56912. Translator.DefaultLng = 'enu';
  56913. Scripting.LERR_Main.Main();
  56914. };
  56915.  
  56916. function DefineVariables()
  56917. {
  56918. var i;
  56919.  
  56920. Variables.DefineVariable( 'nSubModel',            'Select submodel',                        4 );
  56921. for (i=0; i<Model.CountSubmodels; i++)
  56922.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  56923. Variables.nSubModel = 0;    
  56924.  
  56925. Variables.DefineVariable( 'lSort',                'Sort objects alphabetically',        1 );
  56926. Variables.lSort            = true;
  56927.  
  56928. Variables.DefineVariable( 'lReferences',        'Use references inside of report',    1 );
  56929. Variables.lReferences        = true;
  56930.  
  56931. Variables.DefineVariable( 'lTitle',                'Title page',                                1 );
  56932. Variables.lTitle                = true;
  56933.  
  56934. Variables.DefineVariable( 'lEntitySummary',    'Summary of entities',                    1 );
  56935. Variables.lEntitySummary    = true;
  56936.  
  56937. Variables.DefineVariable( 'lEntityDetails',    'Entity detailed info',                    1 );
  56938. Variables.lEntityDetails    = true;
  56939.  
  56940. Variables.DefineVariable( 'lAttribSummary',    'Summary of attributes',                1 );
  56941. Variables.lAttribSummary    = true;
  56942.  
  56943. Variables.DefineVariable( 'lAttribDetails',    'Attribute detailed info',                1 );
  56944. Variables.lAttribDetails    = true;
  56945.  
  56946. Variables.DefineVariable( 'lBindAttrib',        'Attributes under entities',            1 );
  56947. Variables.lBindAttrib        = false;
  56948.  
  56949. Variables.DefineVariable( 'lRelationSummary','Summary of relationships',            1 );
  56950. Variables.lRelationSummary    = true;
  56951.  
  56952. Variables.DefineVariable( 'lRelationDetails','Relationship detailed info',            1 );
  56953. Variables.lRelationDetails    = true;
  56954.  
  56955. Variables.DefineVariable( 'lBindRelation',   'Relationships under entity',            1 );
  56956. Variables.lBindRelation        = false;
  56957.  
  56958. Variables.DefineVariable( 'lKeySummary',        'Summary of keys',                        1 );
  56959. Variables.lKeySummary        = true;
  56960.  
  56961. Variables.DefineVariable( 'lKeyDetails',        'Key detailed info',                        1 );
  56962. Variables.lKeyDetails        = true;
  56963.  
  56964. Variables.DefineVariable( 'lPkDetails',        'Generate primary keys',                1 );
  56965. Variables.lPkDetails            = true;
  56966.  
  56967. Variables.DefineVariable( 'lAkDetails',        'Generate alternative keys',            1 );
  56968. Variables.lAkDetails            = true;
  56969.  
  56970. Variables.DefineVariable( 'lDictSummary',        'Summary of user-defined variables',1 );
  56971. Variables.lDictSummary        = true;
  56972.  
  56973. Variables.DefineVariable( 'lDictDetails',        'User-defined variables detailed info',1 );
  56974. Variables.lDictDetails        = true;
  56975. };
  56976. ]]></VALUE>
  56977. <LANGUAGE>1</LANGUAGE>
  56978. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  56979. <CATEGORY>4</CATEGORY>
  56980. <MAINSCRIPT>1</MAINSCRIPT>
  56981. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  56982. <DESCRIPTION><![CDATA[Basic logical entity-relationship report optimized for the MS Word. It can be run under any word editor supporting the RTF.
  56983. You can move fast and easily towards an object within the report just by checking the field "Use references inside of report" (applies to MS Word editor).]]></DESCRIPTION>
  56984. <AUTHOR>David Fux</AUTHOR>
  56985. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  56986. <VERSION>1.0</VERSION>
  56987. <CREATED><DATE>7/10/2000</DATE><TIME>12:08:38</TIME></CREATED>
  56988. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  56989. </TEMPLATE>
  56990. <TEMPLATE>
  56991. <NAME>LERR_Dictionary</NAME>
  56992. <ID>95</ID>
  56993. <GUID>{5FD3E581-3E04-11D4-9756-0050BF0C7D34}</GUID>
  56994. <CAPTION>LERR_Dictionary</CAPTION>
  56995. <PACKAGEGUID>{FC867A4F-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  56996. <ENABLED>1</ENABLED>
  56997. <LEVEL>0</LEVEL>
  56998. <IDPARENT>0</IDPARENT>
  56999. <VALUE><![CDATA[function ReadVocabulary()
  57000. {
  57001. Translator.Add( 'ENTITY_LIST',        'entity report'            );
  57002. Translator.Add( 'ATTRIBUTE_LIST',    'attribute report'        );
  57003. Translator.Add( 'ATTRIB_COUNT',        '# attributes'                );
  57004. Translator.Add( 'RELSHIP_LIST',        'relationship report'    );
  57005. Translator.Add( 'KEY_SUMMARY',        'key report'                );
  57006. Translator.Add( 'USER_TYPE_SUMMARY','user-defined datatype report'    );
  57007. Translator.Add( 'PHY_ATTR_PROP',        'physical attribute properties'    );
  57008.  
  57009. Translator.Add( 'LOGICAL_MODEL',        'logical model'            );
  57010. };
  57011. ]]></VALUE>
  57012. <LANGUAGE>1</LANGUAGE>
  57013. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  57014. <CATEGORY>4</CATEGORY>
  57015. <MAINSCRIPT>0</MAINSCRIPT>
  57016. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57017. <DESCRIPTION><![CDATA[Additional dictionary for the logical entity-relationship diagram.]]></DESCRIPTION>
  57018. <AUTHOR>David Fux</AUTHOR>
  57019. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57020. <VERSION>1.0</VERSION>
  57021. <CREATED><DATE>6/9/2000</DATE><TIME>14:25:13</TIME></CREATED>
  57022. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57023. </TEMPLATE>
  57024. <TEMPLATE>
  57025. <NAME>LERH</NAME>
  57026. <ID>96</ID>
  57027. <GUID>{D3E02F7E-2A23-11D5-AC12-858D051B3C21}</GUID>
  57028. <CAPTION>Logick² entitn∞ relaΦnφ report</CAPTION>
  57029. <PACKAGEGUID>{45385908-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57030. <ENABLED>1</ENABLED>
  57031. <LEVEL>0</LEVEL>
  57032. <IDPARENT>0</IDPARENT>
  57033. <VALUE><![CDATA[function Main()
  57034. {
  57035. Translator.DefaultLng = 'csy';
  57036. Scripting.LERH_Main.Main();
  57037. };
  57038.  
  57039. function DefineVariables()
  57040. {
  57041. Variables.DefineVariable( 'nSubModel',            'V²b∞r submodelu',                    4 );
  57042. for (i=0; i<Model.CountSubmodels; i++)
  57043.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  57044. Variables.nSubModel = 0;    
  57045.  
  57046. Variables.DefineVariable( 'lSort',                'Set°φdit podle abecedy',             1 );
  57047. Variables.lSort                = true;
  57048.     
  57049. Variables.DefineVariable( 'lInfo',                'Generuj zßkladnφ informace o modelu',    1 );
  57050. Variables.lInfo                = true;
  57051.  
  57052. Variables.DefineVariable( 'lERD',                'Generuj ER diagram',                  1 );
  57053. Variables.lERD                    = true;
  57054.  
  57055. Variables.DefineVariable( 'lEntitySummary',    'Generuj souhrn² seznam entit',    1 );
  57056. Variables.lEntitySummary    = true;
  57057.  
  57058. Variables.DefineVariable( 'lEntityDetails',    'Generuj detailnφ v²pis entit',    1 );
  57059. Variables.lEntityDetails    = true;
  57060.  
  57061. Variables.DefineVariable( 'lAttribDetails',    'Generuj detailnφ v²pis atribut∙',            1 );
  57062. Variables.lAttribDetails    = true;
  57063.  
  57064. Variables.DefineVariable( 'lAlterKeyDetails','Generuj detailnφ v²pis alternativnφch klφΦ∙', 1 );
  57065. Variables.lAlterKeyDetails    = true;
  57066.  
  57067. Variables.DefineVariable( 'lRelationSummary','Generuj souhrn² seznam relacφ',    1 );
  57068. Variables.lRelationSummary    = true;
  57069.  
  57070. Variables.DefineVariable( 'lRelationDetails','Generuj detailnφ v²pis relacφ',    1 );
  57071. Variables.lRelationDetails    = true;
  57072.  
  57073. Variables.DefineVariable( 'lDictDetails',        'Generuj slovnφk',                    1 );
  57074. Variables.lDictDetails        = true;
  57075.  
  57076. Variables.DefineVariable( 'lURoles',            'Generuj u₧ivatelskΘ role',        1 );
  57077. Variables.lURoles                = true;
  57078.  
  57079. Variables.DefineVariable( 'lUsers',                'Generuj u₧ivatele',                    1 );
  57080. Variables.lUsers                = true;
  57081. };
  57082. ]]></VALUE>
  57083. <LANGUAGE>1</LANGUAGE>
  57084. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  57085. <CATEGORY>3</CATEGORY>
  57086. <MAINSCRIPT>1</MAINSCRIPT>
  57087. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57088. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57089. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57090. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57091. <VERSION>1.1</VERSION>
  57092. <CREATED><DATE>4/6/2001</DATE><TIME>0:41:16</TIME></CREATED>
  57093. <MODIFIED><DATE>5/9/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57094. </TEMPLATE>
  57095. <TEMPLATE>
  57096. <NAME>LERH_Dictionary</NAME>
  57097. <ID>97</ID>
  57098. <GUID>{D3E02FEF-2A23-11D5-AC12-858D051B3C21}</GUID>
  57099. <CAPTION>LERH_Dictionary</CAPTION>
  57100. <PACKAGEGUID>{45385908-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57101. <ENABLED>1</ENABLED>
  57102. <LEVEL>0</LEVEL>
  57103. <IDPARENT>0</IDPARENT>
  57104. <VALUE><![CDATA[function ReadVocabulary()
  57105. {
  57106. Translator.Add( 'LOGICAL_MODEL',        'logick² model'                );
  57107. Translator.Add( 'BASIC_INFO',            'zßkladnφ informace'            );
  57108. Translator.Add( 'GENERAL_INFO',        'obecnΘ informace'            );
  57109. Translator.Add( 'STATISTIC_INFO',    'statistickΘ informace'        );
  57110. Translator.Add( 'ATTR_COUNT',            'poΦet atr.'                    );
  57111.  
  57112. Translator.Add( 'MODEL_INFO',            'info o modelu'                );
  57113. Translator.Add( 'ER_DIAGRAM',            'ERD'                                 );
  57114. Translator.Add( 'ENTITY_LIST',        'sezn. entit'                     );
  57115. Translator.Add( 'RELSHIP_LIST',        'sezn. relacφ'                    );
  57116. };
  57117. ]]></VALUE>
  57118. <LANGUAGE>1</LANGUAGE>
  57119. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  57120. <CATEGORY>3</CATEGORY>
  57121. <MAINSCRIPT>0</MAINSCRIPT>
  57122. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57123. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57124. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57125. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57126. <VERSION>1.1</VERSION>
  57127. <CREATED><DATE>4/6/2001</DATE><TIME>1:11:58</TIME></CREATED>
  57128. <MODIFIED><DATE>5/9/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57129. </TEMPLATE>
  57130. <TEMPLATE>
  57131. <NAME>LERH</NAME>
  57132. <ID>98</ID>
  57133. <GUID>{3113A7B5-3A21-11D5-AC12-E13BF70B1C26}</GUID>
  57134. <CAPTION>Logical entity relationship report</CAPTION>
  57135. <PACKAGEGUID>{74DB2E02-E495-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57136. <ENABLED>1</ENABLED>
  57137. <LEVEL>0</LEVEL>
  57138. <IDPARENT>0</IDPARENT>
  57139. <VALUE><![CDATA[function Main()
  57140. {
  57141.     Translator.DefaultLng = 'enu';
  57142.     Scripting.LERH_Main.Main();
  57143. };
  57144.  
  57145. function DefineVariables()
  57146. {
  57147. Variables.DefineVariable( 'nSubModel',            'Select submodel',        4 );
  57148. for (i=0; i<Model.CountSubmodels; i++)
  57149.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  57150. Variables.nSubModel = 0;    
  57151.  
  57152. Variables.DefineVariable( 'lSort',                'Sort objects alphabeticaly',             1 );
  57153. Variables.lSort                = true;
  57154.  
  57155. Variables.DefineVariable( 'lInfo',                'Generate model info',                        1 );
  57156. Variables.lInfo                = true;
  57157.  
  57158. Variables.DefineVariable( 'lERD',                'Generate ER diagram',                        1 );
  57159. Variables.lERD                    = true;
  57160.  
  57161. Variables.DefineVariable( 'lEntitySummary',    'Generate summary of entities',            1 );
  57162. Variables.lEntitySummary    = true;
  57163.  
  57164. Variables.DefineVariable( 'lEntityDetails',    'Generate entity detailed info',            1 );
  57165. Variables.lEntityDetails    = true;
  57166.  
  57167. Variables.DefineVariable( 'lAttribDetails',    'Generate attribute detailed info',        1 );
  57168. Variables.lAttribDetails    = true;
  57169.  
  57170. Variables.DefineVariable( 'lAlterKeyDetails','Generate alternative key detailed info',        1 );
  57171. Variables.lAlterKeyDetails    = true;
  57172.  
  57173. Variables.DefineVariable( 'lRelationSummary','Generate summary of relationships',    1 );
  57174. Variables.lRelationSummary    = true;
  57175.  
  57176. Variables.DefineVariable( 'lRelationDetails','Generate relationship detailed info',    1 );
  57177. Variables.lRelationDetails    = true;
  57178.  
  57179. Variables.DefineVariable( 'lDictDetails',        'Generate user-defined data types',        1 );
  57180. Variables.lDictDetails        = true;
  57181.  
  57182. Variables.DefineVariable( 'lURoles',            'Generate user roles',                        1 );
  57183. Variables.lURoles                = true;
  57184.  
  57185. Variables.DefineVariable( 'lUsers',                'Generate users',                                1 );
  57186. Variables.lUsers                = true;
  57187. };
  57188. ]]></VALUE>
  57189. <LANGUAGE>1</LANGUAGE>
  57190. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  57191. <CATEGORY>3</CATEGORY>
  57192. <MAINSCRIPT>1</MAINSCRIPT>
  57193. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57194. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57195. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57196. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57197. <VERSION>1.1</VERSION>
  57198. <CREATED><DATE>4/26/2001</DATE><TIME>9:25:30</TIME></CREATED>
  57199. <MODIFIED><DATE>4/23/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57200. </TEMPLATE>
  57201. <TEMPLATE>
  57202. <NAME>LERH_Dictionary</NAME>
  57203. <ID>99</ID>
  57204. <GUID>{3113A7B6-3A21-11D5-AC12-E13BF70B1C26}</GUID>
  57205. <CAPTION>LERH_Dictionary</CAPTION>
  57206. <PACKAGEGUID>{74DB2E02-E495-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57207. <ENABLED>1</ENABLED>
  57208. <LEVEL>0</LEVEL>
  57209. <IDPARENT>0</IDPARENT>
  57210. <VALUE><![CDATA[function ReadVocabulary()
  57211. {
  57212. Translator.Add( 'LOGICAL_MODEL',        'logical model'            );
  57213. Translator.Add( 'BASIC_INFO',            'basic information'        );
  57214. Translator.Add( 'GENERAL_INFO',        'General info'                );
  57215. Translator.Add( 'STATISTIC_INFO',    'statistic information'    );
  57216. Translator.Add( 'ATTR_COUNT',         '# attributes'                 );
  57217.  
  57218. Translator.Add( 'MODEL_INFO',            'model info'                );
  57219. Translator.Add( 'ER_DIAGRAM',            'ERD'                             );
  57220. Translator.Add( 'ENTITY_LIST',        'entity list'                );
  57221. Translator.Add( 'RELSHIP_LIST',        'relationship list'        );
  57222. };
  57223. ]]></VALUE>
  57224. <LANGUAGE>1</LANGUAGE>
  57225. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  57226. <CATEGORY>3</CATEGORY>
  57227. <MAINSCRIPT>0</MAINSCRIPT>
  57228. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57229. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57230. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57231. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57232. <VERSION>1.1</VERSION>
  57233. <CREATED><DATE>4/26/2001</DATE><TIME>9:27:36</TIME></CREATED>
  57234. <MODIFIED><DATE>4/23/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57235. </TEMPLATE>
  57236. <TEMPLATE>
  57237. <NAME>LERH_Main</NAME>
  57238. <ID>100</ID>
  57239. <GUID>{D3E02F8A-2A23-11D5-AC12-858D051B3C21}</GUID>
  57240. <CAPTION>Logick² entitn∞ relaΦnφ report</CAPTION>
  57241. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57242. <ENABLED>1</ENABLED>
  57243. <LEVEL>0</LEVEL>
  57244. <IDPARENT>0</IDPARENT>
  57245. <VALUE><![CDATA[function Main()
  57246. {
  57247. var p, f;
  57248. var Page;
  57249. var OrgSubmodel = Model.CurrentSubmodelId;
  57250.  
  57251. Log.Clear();
  57252. Log.Writeln( 'Reading language specifications' );
  57253. Scripting.LngSpec.SetLngSpecifications();
  57254.  
  57255. Log.Writeln( 'Reading vocabulary' );
  57256. Scripting.Dictionary.ReadVocabulary();
  57257. Scripting.LERH_Dictionary.ReadVocabulary();
  57258.  
  57259. HTML.New();
  57260. HTML.Title = Translator.Translate( 'LOGICAL_MODEL',1 );
  57261.  
  57262. if (HTML.CSSName == '' )
  57263.   HTML.CSSName = 'classic_yellow';
  57264.  
  57265. if (HTML.FileName == '' )
  57266.   HTML.FileName = 'Default';
  57267.  
  57268. // Style definition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57269.  
  57270. if (HTML.CSS)
  57271.     {
  57272.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" class="caption1"><tr><td>',
  57273.                                   '</td></tr></table>' ); 
  57274.     HTML.DefineStyle( 'CAPTION1a','<table border="0" width="770" class="caption1"><tr><td>',
  57275.                                   '</td></tr></table>' ); 
  57276.     HTML.DefineStyle( 'CAPTION2', '<table border="0" width="100%" class="caption2"><tr><td>'
  57277.                                          +    '<br><img src="Img/arrow.gif" align="absmiddle"> ',
  57278.                                   '</td></tr></table>' );
  57279.    }
  57280. else   
  57281.     {
  57282.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  57283.                                   '</b></font></center></td></tr></table>' ); 
  57284.     HTML.DefineStyle( 'CAPTION1a','<br><table border="0" width="770" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  57285.                                   '</b></font></center></td></tr></table>' ); 
  57286.     HTML.DefineStyle( 'CAPTION2', '<br> <img src="Img/arrow.gif" width="20" height="20" align="absmiddle">'
  57287.                                          + '<font face="verdana, tahoma, arial" color="#000000" size="3"><b> ', 
  57288.                                             '</b></font><br><br>' ); 
  57289.     };
  57290. HTML.DefineStyle( 'SOURCE',   '<pre>','</pre>' ); 
  57291.  
  57292. //Generate model info page
  57293. if ( Variables.lInfo)
  57294.     Scripting.LERH_ModelInfo.Generate();
  57295.     
  57296. //Generate ERD page
  57297. if ( Variables.lERD )
  57298.     Scripting.LERH_ERD.Generate();
  57299.  
  57300. //Generate entity summary page    
  57301. if ( Variables.lEntitySummary )
  57302.     Scripting.LERH_EntitySumary.Generate();
  57303.  
  57304. //Generate entity page
  57305. if ( Variables.lEntityDetails )
  57306.     Scripting.LERH_EntityDetails.Generate();
  57307.  
  57308. //Generate attribute page
  57309. if ( Variables.lAttribDetails )
  57310.     Scripting.LERH_AttribDetails.Generate();
  57311.  
  57312. //Generate alternative key page
  57313. if ( Variables.lAlterKeyDetails )
  57314.     Scripting.LERH_AlterKeyDetails.Generate();
  57315.     
  57316. //Generate relation summary page
  57317. if ( Variables.lRelationSummary)
  57318.     Scripting.LERH_RelationSummary.Generate();
  57319.     
  57320. //Generate relation details page
  57321. if ( Variables.lRelationDetails)
  57322.     Scripting.LERH_RelationDetails.Generate();
  57323.     
  57324. //Generate dictionary details  page
  57325. if ( Variables.lDictDetails)
  57326.     Scripting.LERH_DictDetails.Generate();
  57327.  
  57328. //Generate users roles page
  57329. if ( Variables.lURoles)
  57330.     Scripting.LERH_UserRoles.Generate();
  57331.  
  57332. //Generate users page
  57333. if ( Variables.lUsers )
  57334.     Scripting.LERH_Users.Generate();
  57335.  
  57336. Log.Writeln( 'Closing report' );
  57337. HTML.Close();
  57338.  
  57339. // Save HTML report  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57340.  
  57341. TextStream.SaveDialogFilter     = 'html files (*.htm;*.html)|*.htm;*.html';
  57342. TextStream.SaveDialogDefaultExt = 'htm';
  57343.  
  57344. // Save HTML
  57345. Log.Writeln( 'Saving report' );
  57346. for (p=0; p<HTML.CountPages; p++)
  57347.     {
  57348.     Page = HTML.Pages( p );
  57349.     TextStream.Clear();
  57350.     TextStream.FileName = Page.FileName;
  57351.     TextStream.Text     = Page.Text;
  57352.     TextStream.Save();
  57353.     
  57354.     for (f=0; f<Page.CountFrames; f++)
  57355.         {
  57356.         TextStream.Clear();
  57357.         TextStream.FileName = Page.FrameName( f );
  57358.         TextStream.Text     = Page.FrameText( f );
  57359.         TextStream.Save();
  57360.         };
  57361.     };
  57362.  
  57363. // Save ER diagram
  57364. if ( Variables.lERD )
  57365.     {
  57366.    Log.Writeln( 'Saving entity relationship diagram' );
  57367.     Model.CurrentSubmodelId = Model.Submodels( Variables.nSubModel ).Id;    
  57368.     ExportImage.SaveToFile( TextStream.Directory+'Img\\ERD.'+ExportImage.Extension );
  57369.     Model.CurrentSubmodelId = OrgSubmodel;    
  57370.     };
  57371.  
  57372. Log.Writeln( 'Ready' );
  57373. };
  57374. ]]></VALUE>
  57375. <LANGUAGE>1</LANGUAGE>
  57376. <LANGUAGEWIN>---</LANGUAGEWIN>
  57377. <CATEGORY>3</CATEGORY>
  57378. <MAINSCRIPT>0</MAINSCRIPT>
  57379. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57380. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57381. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57382. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57383. <VERSION>1.1</VERSION>
  57384. <CREATED><DATE>4/6/2001</DATE><TIME>0:58:57</TIME></CREATED>
  57385. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57386. </TEMPLATE>
  57387. <TEMPLATE>
  57388. <NAME>LERH_ModelInfo</NAME>
  57389. <ID>101</ID>
  57390. <GUID>{D3E0314C-2A23-11D5-AC12-858D051B3C21}</GUID>
  57391. <CAPTION>LERH_ModelInfo</CAPTION>
  57392. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57393. <ENABLED>1</ENABLED>
  57394. <LEVEL>0</LEVEL>
  57395. <IDPARENT>0</IDPARENT>
  57396. <VALUE><![CDATA[function Generate()
  57397. {
  57398.    var SubModel = Model.SubModels( Variables.nSubModel );
  57399.    var VMInfo = Model.VMInfo;
  57400.     var e, Entity, Attribute, DictType, AlterKey;
  57401.     var c, Table, i, row;
  57402.  
  57403.     Log.Writeln( 'Generating model info' );
  57404.  
  57405.     Page = HTML.DefinePage( Translator.Translate( 'MODEL_INFO',0 ) );
  57406.     Page.FileName = 'MInfo';
  57407.  
  57408.     //=== Basic information ========================================================
  57409.  
  57410.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="0" topmargin="10" marginwidth="20" marginheight="10">' );
  57411.     Page.Write( '<div align="center"><center>' );
  57412.     Page.Writeln( 'CAPTION1a', Translator.Translate( 'BASIC_INFO',1 ) );
  57413.      
  57414.     // Table definition
  57415.     Table = Page.DefineTable( false,true );
  57416.     Table.Width  = '770';
  57417.     Table.Border = 1;
  57418.     row = 0;
  57419.     
  57420.     // create table
  57421.     Table.DefineColumn( 20 );
  57422.     Table.DefineColumn( 80 );
  57423.  
  57424.     Table.DefineCell( row,0,Translator.Translate( 'PROJECT', 1 ) );
  57425.     Table.DefineCell( row++,1,Model.ProjectName );
  57426.     Table.DefineCell( row,0,Translator.Translate( 'MODEL', 1 ) );
  57427.     Table.DefineCell( row++,1,Model.ModelName );
  57428.     Table.DefineCell( row,0,Translator.Translate( 'SUBMODEL', 1 ) );
  57429.     Table.DefineCell( row++,1,SubModel.Name );
  57430.     Table.DefineCell( row,0,Translator.Translate( 'VERSION', 1 ) );
  57431.     Table.DefineCell( row++,1,Model.Version );
  57432.     Table.DefineCell( row,0,Translator.Translate( 'COMPANY',1 ) );
  57433.     Table.DefineCell( row++,1,Model.Company );
  57434.     Table.DefineCell( row,0,Translator.Translate( 'AUTHOR',    1 ) );
  57435.     Table.DefineCell( row++,1,Model.Author );
  57436.     Table.DefineCell( row,0,Translator.Translate( 'CREATED', 1 ) );
  57437.     Table.DefineCell( row++,1,SysUtils.DateToStr( Model.Created ) );
  57438.     Table.DefineCell( row,0,Translator.Translate( 'LAST_MODIFIED', 1 ) );
  57439.     Table.DefineCell( row++,1,SysUtils.DateToStr( Model.Modified ) );
  57440.  
  57441.     if (Model.Notes != '')
  57442.         {
  57443.         Table.DefineCell( row,0,Translator.Translate( 'NOTES',    1     ) );
  57444.         Table.DefineCell( row++,1,SysUtils.TxtToHTML( Model.Notes    ) );
  57445.         };
  57446.  
  57447.     if (VMInfo != null)
  57448.         if(VMInfo.Notes != '')
  57449.             {
  57450.             Table.DefineCell( row,0,Translator.Translate( 'VM_NOTES',1    ) );
  57451.             Table.DefineCell( row++,1,SysUtils.TxtToHTML( VMInfo.Notes    ) );
  57452.             };
  57453.  
  57454.     Table.Draw();
  57455.     Table.Close();
  57456.  
  57457. //=== Statistic information ===================================================
  57458.  
  57459.     var e, i=0, nDepend=0;
  57460.     var a, nAttributes=0, nPK=0, nPFK=0;
  57461.     var r, nIdent=0, nNonIdent=0;
  57462.  
  57463.     Page.Writeln( ' ' );
  57464.     Page.Writeln( 'CAPTION1a', Translator.Translate( 'STATISTIC_INFO',1 ) );
  57465.      
  57466.     // Table definition
  57467.     Table = Page.DefineTable( false,true );
  57468.     Table.Width  = '770';
  57469.     Table.Border = 1;
  57470.  
  57471.     Table.DefineColumn( 25 );
  57472.     Table.DefineColumn();
  57473.     Table.DefineColumn();
  57474.     Table.DefineColumn();
  57475.     Table.DefineColumn();
  57476.     Table.DefineColumn();
  57477.     Table.DefineColumn();
  57478.     Table.DefineColumn();
  57479.  
  57480.     // entity info
  57481.     for (e=0; e<SubModel.CountEntities; e++)
  57482.         {
  57483.         Entity = SubModel.Entities(e);
  57484.         if ( Entity.Dependent )
  57485.             nDepend++;
  57486.  
  57487.        nAttributes += Entity.CountAttributes;
  57488.    
  57489.         // attribute info
  57490.         for (a=0; a<Entity.CountAttributes; a++)
  57491.             if ( Entity.Attributes(a).PK )
  57492.                 if ( Entity.Attributes(a).FK )
  57493.                     nPFK++
  57494.                 else
  57495.                     nPK++;
  57496.         };
  57497.  
  57498.     // entity info
  57499.     Table.DefineCell( i,0, Translator.Translate( 'ENTITIES',            1 ) );
  57500.     Table.DefineCell( i,1,e.toString() );
  57501.     Table.DefineHeadCell( i,4, Translator.Translate( 'INDEPENDENT',1 ) );
  57502.     Table.DefineCell( i,5,(e-nDepend).toString() );
  57503.     Table.DefineHeadCell( i,6, Translator.Translate( 'DEPENDENT',1 ) );
  57504.     Table.DefineCell( i,7,nDepend.toString() );
  57505.  
  57506.     // attribute info
  57507.     Table.DefineCell( ++i,0, Translator.Translate( 'ATTRIBUTES',1 ) );
  57508.     Table.DefineCell( i,1,nAttributes.toString() );
  57509.     Table.DefineHeadCell( i,4, Translator.Translate( 'PK', 1 ) );
  57510.     Table.DefineCell( i,5,nPK.toString() );
  57511.     Table.DefineHeadCell( i,6, Translator.Translate( 'PFK',1 ) );
  57512.     Table.DefineCell( i,7,nPFK.toString() );
  57513.     Table.DefineCell( ++i,0,Translator.Translate( 'USER_TYPE',1 ) );
  57514.     Table.DefineCell( i,1,Model.CountDictTypes.toString() );
  57515.         
  57516.     // relationship info
  57517.     for (r=0; r<SubModel.CountRelations; r++)
  57518.         if ( SubModel.Relations(r).Type == 0 )
  57519.             nIdent++
  57520.         else if ( SubModel.Relations(r).Type == 1 )     
  57521.             nNonIdent++;
  57522.  
  57523.     Table.DefineCell( ++i,0,Translator.Translate( 'RELATIONSHIPS',        1 ) );
  57524.     Table.DefineCell( i,1,r.toString() );
  57525.     Table.DefineHeadCell( i,2,Translator.Translate( 'IDENTIFYING',1 ) );
  57526.     Table.DefineCell( i,3,nIdent.toString() );
  57527.     Table.DefineHeadCell( i,4,Translator.Translate( 'NON_IDENTIFYING',1 ) );
  57528.     Table.DefineCell( i,5,nNonIdent.toString() );
  57529.     Table.DefineHeadCell( i,6,Translator.Translate( 'INFORMATIVE',1 ) );
  57530.     Table.DefineCell( i,7,(r-nIdent-nNonIdent).toString() );
  57531.  
  57532.     // others
  57533.     Table.DefineCell( ++i,0,Translator.Translate( 'USERS',                1 ) );
  57534.     Table.DefineCell( i,1,Model.CountUsers.toString() );
  57535.     
  57536.     Table.DefineCell( ++i,0,Translator.Translate( 'USER_ROLES',            1 ) );
  57537.     Table.DefineCell( i,1,Model.CountUserRoles.toString() );
  57538.  
  57539.     Table.Draw();
  57540.     Table.Close();
  57541.  
  57542.     Page.Writeln( ' ' );
  57543.     
  57544.     //=== User-defined variables =======================================================
  57545.  
  57546.     var lExist = false;
  57547.  
  57548.     for (i=0; i<Model.CountUserEditors && !lExist; i++)
  57549.         lExist = (( Model.UserEditors(i).Availability == 0 ) && ( Model.UserEditors(i).Enabled ));
  57550.  
  57551.     if (lExist)
  57552.     {
  57553.         Page.Writeln( ' ' );
  57554.         Page.Writeln( ' ' );
  57555.         Page.Write( 'CAPTION1a', Translator.Translate( 'UDEF_VARS',1 ) );
  57556.      
  57557.         // Table definition
  57558.         Table = Page.DefineTable( true,false );
  57559.         Table.Width  = '770';
  57560.         Table.Border = 1;
  57561.  
  57562.         Table.DefineColumn( 20 );
  57563.         Table.DefineColumn( 80 );
  57564.  
  57565.         Table.DefineCell( 0,0,Translator.Translate( 'NAME', 1 ) );
  57566.         Table.DefineCell( 0,1,Translator.Translate( 'VALUE',1 ) );
  57567.  
  57568.        for (i=0; i<Model.CountUserEditors; i++)
  57569.         {
  57570.             UserEditor = Model.UserEditors(i);
  57571.  
  57572.             if (( UserEditor.Availability == 0 )  && ( UserEditor.Enabled ))
  57573.             {
  57574.                 Table.DefineCell( i+1,0,UserEditor.Caption );
  57575.                 if (UserEditor.Type == 1)
  57576.                 {
  57577.                     if (UserVarToBool(Object.GetUserVariable( UserEditor.Name )))
  57578.                         Table.DefineCell( i+1,1,Translator.Translate( 'YES',1 ) )
  57579.                     else    
  57580.                         Table.DefineCell( i+1,1,Translator.Translate( 'NO', 1 ) );
  57581.                 }        
  57582.                 else        
  57583.                     Table.DefineCell( i+1,1,Model.GetUserVariable( UserEditor.Name ) );
  57584.             };
  57585.         };
  57586.     
  57587.         Table.Draw();
  57588.         Table.Close();
  57589.     };
  57590.     Page.Writeln( ' ' );
  57591.     Page.Write( '</center></div>' );
  57592.     Page.Write( '</body>' );
  57593. };
  57594. ]]></VALUE>
  57595. <LANGUAGE>1</LANGUAGE>
  57596. <LANGUAGEWIN>---</LANGUAGEWIN>
  57597. <CATEGORY>3</CATEGORY>
  57598. <MAINSCRIPT>0</MAINSCRIPT>
  57599. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57600. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57601. <AUTHOR>David Fux</AUTHOR>
  57602. <COMPANY>CHARONWARE, s.r.o..</COMPANY>
  57603. <VERSION>1.2</VERSION>
  57604. <CREATED><DATE>4/6/2001</DATE><TIME>1:45:53</TIME></CREATED>
  57605. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57606. </TEMPLATE>
  57607. <TEMPLATE>
  57608. <NAME>LERH_ERD</NAME>
  57609. <ID>102</ID>
  57610. <GUID>{1EF68A58-35C5-11D5-AC12-F77FA5A67020}</GUID>
  57611. <CAPTION>LERH_ERD</CAPTION>
  57612. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57613. <ENABLED>1</ENABLED>
  57614. <LEVEL>0</LEVEL>
  57615. <IDPARENT>0</IDPARENT>
  57616. <VALUE><![CDATA[function Generate()
  57617. {
  57618. var i;
  57619.  
  57620. Log.Writeln( 'Generating entity relationship diagram' );
  57621.  
  57622. ExportImage.ImageType             = 2;
  57623. ExportImage.PixelFormat            = 6;
  57624. ExportImage.Color                    = true;
  57625. ExportImage.ScalePercentage    = 100;
  57626. ExportImage.ScaleInPercentage    = true;
  57627.  
  57628. Page = HTML.DefinePage( Translator.Translate( 'ER_DIAGRAM',0 ) );
  57629. Page.FileName = 'MImage';
  57630. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  57631.  
  57632. Page.Writeln(' '); 
  57633. Page.Write( '<p align="center">' );
  57634. Page.Write( '<img src="Img/ERD.'+ExportImage.Extension+'" alt=" '+Model.ProjectName+'">' );
  57635. Page.Write( '</p>' );
  57636. Page.Write( '</body>' );
  57637. };
  57638. ]]></VALUE>
  57639. <LANGUAGE>1</LANGUAGE>
  57640. <LANGUAGEWIN>---</LANGUAGEWIN>
  57641. <CATEGORY>3</CATEGORY>
  57642. <MAINSCRIPT>0</MAINSCRIPT>
  57643. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57644. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57645. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57646. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57647. <VERSION>1.1</VERSION>
  57648. <CREATED><DATE>4/20/2001</DATE><TIME>20:50:27</TIME></CREATED>
  57649. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57650. </TEMPLATE>
  57651. <TEMPLATE>
  57652. <NAME>LERH_EntitySumary</NAME>
  57653. <ID>103</ID>
  57654. <GUID>{AAAB89FA-2A6C-11D5-AC12-892454723521}</GUID>
  57655. <CAPTION>LERH_EntitySumary</CAPTION>
  57656. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57657. <ENABLED>1</ENABLED>
  57658. <LEVEL>0</LEVEL>
  57659. <IDPARENT>0</IDPARENT>
  57660. <VALUE><![CDATA[function Generate()
  57661. {
  57662.     var SubModel = Model.Submodels( Variables.nSubModel );
  57663.     var e, Entity, AttrInfo, Table, PrimaryKey, AttrCounter,p ;
  57664.     var EntityList = DefineInterfaceList();
  57665.     
  57666.     Log.Writeln( 'Generating entity summary' );
  57667.  
  57668.     for (e=0; e<SubModel.CountEntities; e++)
  57669.     {
  57670.         Entity = SubModel.Entities(e);
  57671.         EntityList.AddInterface( Entity.Name, Entity );
  57672.     };
  57673.     EntityList.Sorted = Variables.lSort;
  57674.     
  57675.     Page = HTML.DefinePage( Translator.Translate( 'ENTITY_LIST',0 ) );
  57676.     Page.FileName = 'EntitySummary';
  57677.  
  57678.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  57679.     Page.Write( '<div align="center"><center>' );
  57680.  
  57681.     Page.Writeln( 'CAPTION1a',    Translator.Translate( 'ENTITY_LIST',1    ) );
  57682.  
  57683.     //=== Basic information ========================================================
  57684.  
  57685. //    Page.Writeln( '<leftmargin="350">' );
  57686.  
  57687.     // Table definition
  57688.    Table = Page.DefineTable( true,false );
  57689.    Table.Width  = '770';
  57690.     Table.DefineColumn();
  57691.    Table.DefineColumn();
  57692.    Table.DefineColumn();
  57693.    Table.DefineColumn();
  57694.  
  57695.    // Table headerhtml PERH
  57696.    Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME',    1     ) );
  57697.     Table.DefineCell( 0,1,Translator.Translate( 'ENTITY_TYPE',    1     ) );
  57698.     Table.DefineCell( 0,2,Translator.Translate( 'PRIMARY_KEY',    1     ) );
  57699.     Table.DefineCell( 0,3,Translator.Translate( 'ATTR_COUNT',    1    ) );
  57700.     
  57701.     for (e=0; e<EntityList.Count; e++)
  57702.     {
  57703.         Entity = EntityList.GetInterface(e);
  57704.             
  57705.         Table.DefineCell( e+1,0, Entity.Name );
  57706.           if (Entity.Dependent)
  57707.             Table.DefineCell( e+1,1,Translator.Translate( 'DEPENDENT',    0 ) );
  57708.           else
  57709.               Table.DefineCell( e+1,1,Translator.Translate( 'INDEPENDENT',0 ));
  57710.         AttrInfo = Scripting.SysReportUtils.GetAttrInfo( Entity.Id, false ); 
  57711.         Table.DefineCell( e+1,2,AttrInfo[ 0 ] ); 
  57712.         Table.DefineCell( e+1,3,AttrInfo[ 1 ].toString() ); 
  57713.     };
  57714.     
  57715.     Table.Draw();
  57716.     Table.Close();
  57717.     
  57718.     Page.Writeln( '</center></div>' );
  57719.     Page.Writeln( '</body>' );
  57720.  
  57721.     EntityList.Close( );
  57722. };
  57723. ]]></VALUE>
  57724. <LANGUAGE>1</LANGUAGE>
  57725. <LANGUAGEWIN>---</LANGUAGEWIN>
  57726. <CATEGORY>3</CATEGORY>
  57727. <MAINSCRIPT>0</MAINSCRIPT>
  57728. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57729. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57730. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57731. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57732. <VERSION>1.1</VERSION>
  57733. <CREATED><DATE>4/6/2001</DATE><TIME>11:15:00</TIME></CREATED>
  57734. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57735. </TEMPLATE>
  57736. <TEMPLATE>
  57737. <NAME>LERH_EntityDetails</NAME>
  57738. <ID>104</ID>
  57739. <GUID>{AAAB8D1C-2A6C-11D5-AC12-892454723521}</GUID>
  57740. <CAPTION>LERH_EntityDetails</CAPTION>
  57741. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57742. <ENABLED>1</ENABLED>
  57743. <LEVEL>0</LEVEL>
  57744. <IDPARENT>0</IDPARENT>
  57745. <VALUE><![CDATA[function Generate()
  57746. {
  57747.     var SubModel = Model.Submodels( Variables.nSubModel );
  57748.     var e, a, Entity, Attribute;
  57749.     var Attributes,    lGenerTable, x;
  57750.     var Table,    AttrCounter, PrimaryKey;
  57751.     var EntityList = DefineInterfaceList();
  57752.  
  57753.     Log.Writeln( 'Generating entity details report' );
  57754.  
  57755.     for (e=0; e<SubModel.CountEntities; e++)
  57756.     {
  57757.         Entity = SubModel.Entities(e);
  57758.         EntityList.AddInterface( Entity.Name, Entity );
  57759.     };
  57760.     EntityList.Sorted = Variables.lSort;
  57761.     
  57762.     Page = HTML.DefinePage( Translator.Translate( 'ENTITIES',0 ) );
  57763.     Page.FileName = 'Entity';
  57764.     Page.LeftFrameWidth = '25%'
  57765.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  57766.     
  57767.     for (e=0; e<EntityList.Count; e++)
  57768.     {
  57769.         Entity = EntityList.GetInterface(e);
  57770.     
  57771.        Page.DefineBookmark( 'Entity_'+Entity.Id,Entity.Name );
  57772.        Page.Write( Page.SetBookmark( 'Entity_'+Entity.Id ) );
  57773.        Page.Write( 'CAPTION1', Translator.Translate( 'ENTITY',1 )+" '"+Entity.Name+"'" );
  57774.    
  57775.         // Basic entity informations - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57776.  
  57777.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  57778.  
  57779.         // Table definition
  57780.         Table = Page.DefineTable( false, true );
  57781.         Table.DefineColumn( 25);    
  57782.         Table.DefineColumn( );        
  57783.     
  57784.         Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_TYPE',1 ) + ':' );
  57785.           if (Entity.Dependent)
  57786.             Table.DefineCell( 0,1,Translator.Translate( 'DEPENDENT',    0 ) );
  57787.           else
  57788.               Table.DefineCell( 0,1,Translator.Translate( 'INDEPENDENT',0 ));
  57789.     
  57790.         Table.Draw();
  57791.         Table.Close();
  57792.             
  57793.         // Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57794.  
  57795.         Page.Write( 'CAPTION2', Translator.Translate( 'ATTRIBUTES',1 ) );
  57796.     
  57797.         // Table definition
  57798.         Table = Page.DefineTable( true,false );
  57799.         Table.DefineColumn( 5);    
  57800.         Table.DefineColumn( 25);
  57801.         Table.DefineColumn( 15);
  57802.         Table.DefineColumn( 10);
  57803.         Table.DefineColumn( 10);
  57804.         Table.DefineColumn( );
  57805.  
  57806.         // Table header
  57807.         Table.DefineCell( 0,0,Translator.Translate( 'KEY',            1    ) );
  57808.         Table.DefineCell( 0,1,Translator.Translate( 'ATTR_ROLENAME',    1    ) );
  57809.         Table.DefineCell( 0,2,Translator.Translate( 'DATA_TYPE',        1     ) );
  57810.         Table.DefineCell( 0,3,Translator.Translate( 'NOT_NULL',            1    ) );
  57811.         Table.DefineCell( 0,4,Translator.Translate( 'UNIQUE',            1    ) );
  57812.         Table.DefineCell( 0,5,Translator.Translate( 'DESCRIPTION',        1    ) );
  57813.  
  57814.        for (a=0; a<Entity.CountAttributes; a++)
  57815.         {
  57816.            Attribute = Entity.Attributes( a );
  57817.  
  57818.             if (Attribute.PK)
  57819.             {        
  57820.                 if (Attribute.FK)
  57821.                   Table.DefineCell( a+1,0,Translator.Translate( 'PFK',1 ) )
  57822.                 else  
  57823.                   Table.DefineCell( a+1,0,Translator.Translate( 'PK',1 ) )
  57824.             }  
  57825.             else
  57826.                 if (Attribute.FK)
  57827.                     Table.DefineCell( a+1,0,Translator.Translate( 'FK',1 ) )
  57828.             else
  57829.           Table.DefineCell( a+1,0,'' );
  57830.         };
  57831.  
  57832.  
  57833.            for (a=0; a<Entity.CountAttributes; a++)
  57834.         {
  57835.            Attribute = Entity.Attributes( a );
  57836.               Table.DefineCell( a+1,1,Attribute.Name +'/'+ Attribute.RoleName );
  57837.              if (Attribute.DataTypeId == 0)
  57838.              {
  57839.                 Table.DefineCell( a+1,2,Model.GetDictType( Attribute.DictTypeId ).Name );
  57840.         }
  57841.         else
  57842.             Table.DefineCell( a+1,2,Model.GetDataType( Attribute.DataTypeId ).Name );
  57843.             
  57844.         Table.DefineCell( a+1,3,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) );
  57845.         Table.DefineCell( a+1,4,Scripting.SysReportUtils.LogicToString( Attribute.Unique ) );
  57846.         Table.DefineCell( a+1,5,SysUtils.TxtToHtml( Attribute.Description ) );
  57847.     };
  57848.  
  57849.     Table.Draw();
  57850.     Table.Close();
  57851.  
  57852.     // Relationships - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57853.  
  57854.     lGenerTable = true;
  57855.     x = 0;
  57856.       for (r=0; r<SubModel.CountRelations; r++)
  57857.         if (SubModel.Relations(r).ParentEntityId==Entity.Id || SubModel.Relations(r).ChildEntityId==Entity.Id)
  57858.         {
  57859.             if (lGenerTable)
  57860.             {
  57861.                 Page.Write( 'CAPTION2', Translator.Translate( 'RELATIONSHIPS',1 ) );
  57862.  
  57863.                 // Table definition
  57864.                 Table = Page.DefineTable( true,false );
  57865.                 Table.DefineColumn( 25 );
  57866.                 Table.DefineColumn( 25 );
  57867.                 Table.DefineColumn( 25 );
  57868.                 Table.DefineColumn( 25 );
  57869.  
  57870.                 // Table header
  57871.                 Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_NAME',    1 ) );
  57872.                 Table.DefineCell( 0,1,Translator.Translate( 'TYPE',                1 ) );
  57873.                 Table.DefineCell( 0,2,Translator.Translate( 'PARENT_ENTITY',    1 ) );
  57874.                 Table.DefineCell( 0,3,Translator.Translate( 'CHILD_ENTITY',    1 ) );
  57875.  
  57876.                 lGenerTable = false;
  57877.             };
  57878.  
  57879.             Relation = SubModel.Relations(r);
  57880.             Table.DefineCell( ++x,0, Relation.Name );
  57881.             
  57882.             if (Relation.Type == 0) 
  57883.                 Table.DefineCell( x,1, Translator.Translate( 'IDENTIFYING',        1 ) )
  57884.             else if ( Relation.Type == 1 )
  57885.                 Table.DefineCell( x,1, Translator.Translate( 'NON_IDENTIFYING',    1 ) )
  57886.             else
  57887.                 Table.DefineCell( x,1, Translator.Translate( 'INFORMATIVE',        1 ) );
  57888.  
  57889.              Table.DefineCell( x,2,Model.GetEntity( Relation.ParentEntityId ).Name );
  57890.             Table.DefineCell( x,3,Model.GetEntity( Relation.ChildEntityId  ).Name );
  57891.         };
  57892.         if (!lGenerTable)
  57893.         {        
  57894.             Table.Draw();
  57895.            Table.Close();
  57896.        };    
  57897.       
  57898.         // Alternate Keys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57899.         if (Entity.CountAlterKeys > 0)
  57900.         {
  57901.             Page.Write( 'CAPTION2', Translator.Translate( 'ALTERNATE_KEYS',1 ) );
  57902.  
  57903.             // Table definition
  57904.             Table = Page.DefineTable( true,false );
  57905.             Table.DefineColumn( 40 );
  57906.             Table.DefineColumn( 60 );
  57907.  
  57908.             // Table header
  57909.             Table.DefineCell( 0,0,Translator.Translate( 'NAME',            1 ) );
  57910.             Table.DefineCell( 0,1,Translator.Translate( 'ATTRIBUTES',    1 ) );
  57911.  
  57912.            for (a=0; a<Entity.CountAlterKeys; a++)
  57913.             {
  57914.                 AlterKey = Entity.AlterKeys( a );
  57915.                 Table.DefineCell( a+1,0,AlterKey.Name );
  57916.                 Table.DefineCell( a+1,1,Scripting.SysReportUtils.GetAlterKeyInfo( AlterKey.Id )[ 0 ] );
  57917.             }
  57918.  
  57919.             Table.Draw();
  57920.             Table.Close();
  57921.         };
  57922.         
  57923.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -        
  57924.        if ( Entity.Description != '' )
  57925.        {
  57926.            Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  57927.             Table = Page.DefineTable( false,false );
  57928.             Table.DefineColumn();
  57929.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Entity.Description ) );
  57930.             Table.Draw();
  57931.             Table.Close();
  57932.        }
  57933.        // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  57934.        if ( Entity.Notes != '' )
  57935.        {
  57936.            Page.Write( 'CAPTION2', Translator.Translate( 'NOTES',1 ) );
  57937.             Table = Page.DefineTable( false,false );
  57938.             Table.DefineColumn();
  57939.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Entity.Notes ) );
  57940.             Table.Draw();
  57941.             Table.Close();
  57942.        }
  57943.        
  57944.         //=== User-defined variables =======================================================
  57945.          Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', Entity );
  57946.          
  57947.          Page.Writeln( ' ' );
  57948.     };
  57949.     EntityList.Close( );
  57950.  
  57951.     Page.Write( '</body>' );
  57952. };
  57953. ]]></VALUE>
  57954. <LANGUAGE>1</LANGUAGE>
  57955. <LANGUAGEWIN>---</LANGUAGEWIN>
  57956. <CATEGORY>3</CATEGORY>
  57957. <MAINSCRIPT>0</MAINSCRIPT>
  57958. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  57959. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  57960. <AUTHOR>Jaroslav Kovar</AUTHOR>
  57961. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  57962. <VERSION>1.1</VERSION>
  57963. <CREATED><DATE>4/6/2001</DATE><TIME>14:14:39</TIME></CREATED>
  57964. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  57965. </TEMPLATE>
  57966. <TEMPLATE>
  57967. <NAME>LERH_AttribDetails</NAME>
  57968. <ID>105</ID>
  57969. <GUID>{6416939F-2C16-11D5-AC12-B0BB89540525}</GUID>
  57970. <CAPTION>LERH_AttribDetails</CAPTION>
  57971. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  57972. <ENABLED>1</ENABLED>
  57973. <LEVEL>0</LEVEL>
  57974. <IDPARENT>0</IDPARENT>
  57975. <VALUE><![CDATA[function Generate()
  57976. {
  57977.     var SubModel = Model.Submodels( Variables.nSubModel );
  57978.     var a,e, Attribute, Entity;
  57979.     var EntityList = DefineInterfaceList();
  57980.  
  57981.     Log.Writeln( 'Generating attribute details' );
  57982.  
  57983.     for (e=0; e<SubModel.CountEntities; e++)
  57984.     {
  57985.         Entity = SubModel.Entities(e);
  57986.         EntityList.AddInterface( Entity.Name, Entity );
  57987.     };
  57988.     EntityList.Sorted = Variables.lSort;
  57989.     
  57990.     Page = HTML.DefinePage( Translator.Translate( 'ATTRIBUTES',0 ) );
  57991.     Page.FileName = 'AtributeDetails';
  57992.     Page.LeftFrameWidth = '25%'
  57993.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  57994.  
  57995.     for (e=0; e<EntityList.Count; e++)
  57996.     {
  57997.         Entity = EntityList.GetInterface(e);
  57998.         
  57999.        for (a=0; a<Entity.CountAttributes; a++)
  58000.        {
  58001.            Attribute = Entity.Attributes(a);
  58002.            Page.DefineBookmark( 'Attribute_'+Attribute.Id,Entity.Name+'.'+Attribute.Name );
  58003.            Page.Write( Page.SetBookmark( 'Attribute_'+Attribute.Id ) );
  58004.  
  58005.            Page.Write( 'CAPTION1', Entity.Name+'.'+Attribute.Name );
  58006.            
  58007.            // generate attribute details
  58008.            Scripting.LERH_AttribDetail.Generate( Attribute, Page );
  58009.            Page.Writeln( ' ' );
  58010.         };
  58011.         if (Entity.CountAttributes!=0)
  58012.             Page.DefineBookmark( 'Mezera_'+Attribute.Id,'' );
  58013.     };    
  58014.     EntityList.Close( );
  58015.  
  58016.     Page.Write( '</body>' );
  58017. };
  58018. ]]></VALUE>
  58019. <LANGUAGE>1</LANGUAGE>
  58020. <LANGUAGEWIN>---</LANGUAGEWIN>
  58021. <CATEGORY>3</CATEGORY>
  58022. <MAINSCRIPT>0</MAINSCRIPT>
  58023. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58024. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58025. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58026. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58027. <VERSION>1.1</VERSION>
  58028. <CREATED><DATE>4/8/2001</DATE><TIME>15:16:12</TIME></CREATED>
  58029. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58030. </TEMPLATE>
  58031. <TEMPLATE>
  58032. <NAME>LERH_AttribDetail</NAME>
  58033. <ID>106</ID>
  58034. <GUID>{641693A0-2C16-11D5-AC12-B0BB89540525}</GUID>
  58035. <CAPTION>LERH_AttribDetail</CAPTION>
  58036. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58037. <ENABLED>1</ENABLED>
  58038. <LEVEL>0</LEVEL>
  58039. <IDPARENT>0</IDPARENT>
  58040. <VALUE><![CDATA[function Generate( Attribute, Report )
  58041. {
  58042.     var Table, pokus,p,DataType,DictType;
  58043.     
  58044.     // Attribute info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58045.     // Table definition
  58046.     Report.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  58047.  
  58048.     Table = Report.DefineTable( false,true );
  58049.     Table.DefineColumn( 20 );
  58050.     Table.DefineColumn( );
  58051.     Table.DefineColumn( );    
  58052.     Table.DefineColumn( );
  58053.     
  58054.     i=0;
  58055.     Table.DefineHeadCell( i,0,Translator.Translate( 'ENTITY_NAME',1 ) );
  58056.     Table.DefineCell( i,1,Model.GetEntity( Attribute.EntityId ).Name );
  58057.     
  58058.     if ( Attribute.RoleName != '')
  58059.     {
  58060.         Table.DefineCell( ++i,0,Translator.Translate( 'ROLE_NAME',1 ) );
  58061.         Table.DefineCell( i,1,Attribute.RoleName );
  58062.     }
  58063.     
  58064.     // Data Type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58065.     Table.DefineCell( ++i,0,Translator.Translate( 'DATA_TYPE',1 ) );
  58066.  
  58067.     if (Attribute.DataTypeId == 0)
  58068.     {
  58069.         DictType = Model.GetDictType( Attribute.DictTypeId );
  58070.         DataType = Model.GetDataType( DictType.DataTypeId );
  58071.     }
  58072.     else
  58073.         DataType = Model.GetDataType( Attribute.DataTypeId );
  58074.  
  58075.     cDataType = DataType.Name;
  58076.  
  58077.     if (Attribute.DataTypeId == 0)
  58078.     {
  58079.         //  lenght data type    
  58080.         if (DataType.IsLength)
  58081.         {
  58082.               cDataType += ' ('+ DictType.Length.toString();
  58083.     
  58084.             if (DataType.IsDecimal)
  58085.                   cDataType += ','+DictType.Decimal.toString();
  58086.             cDataType += ')';
  58087.         };            
  58088.     
  58089.         Table.DefineCell( i,1, Model.GetDictType( Attribute.DictTypeId ).Name );
  58090.         Table.DefineCell( i,2, cDataType);    
  58091.     }
  58092.     else
  58093.     {
  58094.         //  lenght data type    
  58095.         if (DataType.IsLength)
  58096.         {
  58097.               cDataType += ' ('+ Attribute.Length.toString();
  58098.     
  58099.             if (DataType.IsDecimal)
  58100.                   cDataType += ','+Attribute.Decimal.toString();
  58101.             cDataType += ')';
  58102.         };            
  58103.         Table.DefineCell( i,1, cDataType);    
  58104.     }
  58105.  
  58106.     if (Attribute.Unique || Attribute.Default != '' || Attribute.Check != '' )
  58107.     {
  58108.        Table.DefineCell( ++i,0,Translator.Translate( 'NOT_NULL',    1    ) );            
  58109.          Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) );
  58110.  
  58111.        Table.DefineCell( ++i,0,Translator.Translate( 'UNIQUE',        1    ) );
  58112.          Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Attribute.Unique  ) );
  58113.     };
  58114.     Table.Draw();
  58115.     Table.Close();
  58116.  
  58117.     // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58118.     if (Attribute.Description != '')
  58119.     {
  58120.         Report.Write( 'CAPTION2',    Translator.Translate( 'DESCRIPTION',1 ) );
  58121.         Table = Report.DefineTable( false,false );
  58122.         Table.DefineColumn();
  58123.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Attribute.Description ) );
  58124.         Table.Draw();
  58125.         Table.Close();
  58126.     }
  58127.     // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58128.     if (Attribute.Notes != '')
  58129.     {
  58130.         Report.Write( 'CAPTION2',    Translator.Translate( 'NOTES',1 ) );
  58131.         Table = Report.DefineTable( false,false );
  58132.         Table.DefineColumn();
  58133.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Attribute.Notes ) );
  58134.         Table.Draw();
  58135.         Table.Close();
  58136.     }
  58137.     
  58138.     //=== User-defined variables =======================================================
  58139.     Scripting.SysReportUtils.ReportUDefVariables( Report, 'CAPTION2', Attribute);
  58140. };
  58141. ]]></VALUE>
  58142. <LANGUAGE>1</LANGUAGE>
  58143. <LANGUAGEWIN>---</LANGUAGEWIN>
  58144. <CATEGORY>3</CATEGORY>
  58145. <MAINSCRIPT>0</MAINSCRIPT>
  58146. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58147. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58148. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58149. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58150. <VERSION>1.1</VERSION>
  58151. <CREATED><DATE>4/8/2001</DATE><TIME>15:17:37</TIME></CREATED>
  58152. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58153. </TEMPLATE>
  58154. <TEMPLATE>
  58155. <NAME>LERH_AlterKeyDetails</NAME>
  58156. <ID>107</ID>
  58157. <GUID>{ECCE0F0C-B65E-4C83-B6D0-E1C4E067650C}</GUID>
  58158. <CAPTION>LERH_AlterKeyDetails</CAPTION>
  58159. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58160. <ENABLED>1</ENABLED>
  58161. <LEVEL>0</LEVEL>
  58162. <IDPARENT>0</IDPARENT>
  58163. <VALUE><![CDATA[function Generate()
  58164. {
  58165.     var SubModel = Model.Submodels( Variables.nSubModel );
  58166.     var a,e, AlterKey, Entity;
  58167.     var EntityList = DefineInterfaceList();
  58168.  
  58169.     Log.Writeln( 'Generating alternative key details' );
  58170.  
  58171.     for (e=0; e<SubModel.CountEntities; e++)
  58172.     {
  58173.         Entity = SubModel.Entities(e);
  58174.         EntityList.AddInterface( Entity.Name, Entity );
  58175.     };
  58176.     EntityList.Sorted = Variables.lSort;
  58177.  
  58178.     if (EntityList.Count != 0)
  58179.     {    
  58180.     Page = HTML.DefinePage( Translator.Translate( 'ALTERNATE_KEYS',0 ) );
  58181.     Page.FileName = 'AlterKeyDetails';
  58182.     Page.LeftFrameWidth = '25%'
  58183.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  58184.  
  58185.     for (e=0; e<EntityList.Count; e++)
  58186.     {
  58187.         Entity = EntityList.GetInterface(e);
  58188.        for (a=0; a<Entity.CountAlterKeys; a++)
  58189.        {
  58190.            AlterKey = Entity.AlterKeys(a);
  58191.            Page.DefineBookmark( 'AlterKey_'+AlterKey.Id,Entity.Name+'.'+AlterKey.Name );
  58192.            Page.Write( Page.SetBookmark( 'AlterKey_'+AlterKey.Id ) );
  58193.  
  58194.            Page.Write( 'CAPTION1', Entity.Name+'.'+AlterKey.Name );
  58195.  
  58196.            // generate alternative key details
  58197.            Scripting.LERH_AlterKeyDetail.Generate( AlterKey, Page );
  58198.            Page.Writeln( ' ' );
  58199.         };
  58200.         if (Entity.CountAlterKeys!=0)
  58201.             Page.DefineBookmark( 'Mezera_'+AlterKey.Id,'' );
  58202.     };    
  58203.     Page.Write( '</body>' );
  58204.     };
  58205.     EntityList.Close( );
  58206. };
  58207. ]]></VALUE>
  58208. <LANGUAGE>1</LANGUAGE>
  58209. <LANGUAGEWIN>---</LANGUAGEWIN>
  58210. <CATEGORY>3</CATEGORY>
  58211. <MAINSCRIPT>0</MAINSCRIPT>
  58212. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58213. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58214. <AUTHOR>Radim Tkacik</AUTHOR>
  58215. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58216. <VERSION>1.0</VERSION>
  58217. <CREATED><DATE>4/19/2002</DATE><TIME>14:12:37</TIME></CREATED>
  58218. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58219. </TEMPLATE>
  58220. <TEMPLATE>
  58221. <NAME>LERH_AlterKeyDetail</NAME>
  58222. <ID>108</ID>
  58223. <GUID>{9C80AB49-3A85-4B78-B0EE-396FB8035AA9}</GUID>
  58224. <CAPTION>LERH_AlterKeyDetail</CAPTION>
  58225. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58226. <ENABLED>1</ENABLED>
  58227. <LEVEL>0</LEVEL>
  58228. <IDPARENT>0</IDPARENT>
  58229. <VALUE><![CDATA[function Generate( AlterKey, Report )
  58230. {
  58231.     var Table, pokus,p,DataType,DictType;
  58232.         
  58233.     // Alternative key info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58234.     // Table definition
  58235.     Report.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  58236.  
  58237.     Table = Report.DefineTable( false,true );
  58238.     Table.DefineColumn( 20 );
  58239.     Table.DefineColumn( );
  58240.     Table.DefineColumn( );    
  58241.     Table.DefineColumn( );
  58242.     
  58243.     i=0;
  58244.     Table.DefineHeadCell( i,0,Translator.Translate( 'ENTITY_NAME',1 ) );
  58245.     Table.DefineCell( i,1,Model.GetEntity( AlterKey.EntityId ).Name );
  58246.     
  58247.     // Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58248.     Table.DefineCell( ++i,0,Translator.Translate( 'ATTRIBUTES',1 ) );
  58249.     Table.DefineCell( i,1,Scripting.SysReportUtils.GetAlterKeyInfo( AlterKey.Id )[ 0 ] );
  58250.  
  58251.     Table.Draw();
  58252.     Table.Close();
  58253.  
  58254.     // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58255.     if (AlterKey.Description != '')
  58256.     {
  58257.         Report.Write( 'CAPTION2',    Translator.Translate( 'DESCRIPTION',1 ) );
  58258.         Table = Report.DefineTable( false,false );
  58259.         Table.DefineColumn();
  58260.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( AlterKey.Description ) );
  58261.         Table.Draw();
  58262.         Table.Close();
  58263.     }
  58264.     // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58265.     if (AlterKey.Notes != '')
  58266.     {
  58267.         Report.Write( 'CAPTION2',    Translator.Translate( 'NOTES',1 ) );
  58268.         Table = Report.DefineTable( false,false );
  58269.         Table.DefineColumn();
  58270.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( AlterKey.Notes ) );
  58271.         Table.Draw();
  58272.         Table.Close();
  58273.     }
  58274.     
  58275.     //=== User-defined variables =======================================================
  58276.     Scripting.SysReportUtils.ReportUDefVariables( Report, 'CAPTION2', AlterKey );
  58277. };
  58278. ]]></VALUE>
  58279. <LANGUAGE>1</LANGUAGE>
  58280. <LANGUAGEWIN>---</LANGUAGEWIN>
  58281. <CATEGORY>3</CATEGORY>
  58282. <MAINSCRIPT>0</MAINSCRIPT>
  58283. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58284. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58285. <AUTHOR>Radim Tkacik</AUTHOR>
  58286. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58287. <VERSION>1.0</VERSION>
  58288. <CREATED><DATE>4/19/2002</DATE><TIME>14:13:09</TIME></CREATED>
  58289. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58290. </TEMPLATE>
  58291. <TEMPLATE>
  58292. <NAME>LERH_RelationSummary</NAME>
  58293. <ID>109</ID>
  58294. <GUID>{F774A5BF-3906-11D5-AC12-FB2F5A584227}</GUID>
  58295. <CAPTION>LERH_RelationSummary</CAPTION>
  58296. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58297. <ENABLED>1</ENABLED>
  58298. <LEVEL>0</LEVEL>
  58299. <IDPARENT>0</IDPARENT>
  58300. <VALUE><![CDATA[function Generate()
  58301. {
  58302.     var SubModel = Model.Submodels( Variables.nSubModel );
  58303.     var r, Relation, Table;
  58304.     var RelationList= DefineInterfaceList();
  58305.  
  58306.     Log.Writeln( 'Generating relationship summary' );
  58307.     
  58308.     for (e=0; e<SubModel.CountRelations; e++)
  58309.     {
  58310.         Relation = SubModel.Relations(e);
  58311.         RelationList.AddInterface( Relation.Name, Relation );
  58312.     };
  58313.     RelationList.Sorted = Variables.lSort;
  58314.     
  58315.     if (RelationList.Count != 0)
  58316.     {
  58317.         Page = HTML.DefinePage( Translator.Translate( 'RELSHIP_LIST', 0 ) );
  58318.         Page.FileName = 'MRelationsSummary';
  58319.         Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  58320.         Page.Write( '<div align="center"><center>' );
  58321.         
  58322.         Page.Writeln( 'CAPTION1a',    Translator.Translate( 'RELSHIP_LIST',    1 ) );
  58323.  
  58324.         //=== Basic information ========================================================
  58325.  
  58326.         // Table definition
  58327.         Table = Page.DefineTable( true,false );
  58328.         Table.Width  = '770';
  58329.         Table.DefineColumn( 25 );
  58330.         Table.DefineColumn( 25 );
  58331.         Table.DefineColumn( 25 );
  58332.         Table.DefineColumn( 25 );
  58333.  
  58334.         // Table header
  58335.         Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_NAME',1  ) );
  58336.         Table.DefineCell( 0,1,Translator.Translate( 'RELSHIP_TYPE',1  ) );
  58337.         Table.DefineCell( 0,2,Translator.Translate( 'PARENT_ENTITY',1 ) );
  58338.         Table.DefineCell( 0,3,Translator.Translate( 'CHILD_ENTITY',1  ) );
  58339.  
  58340.         // Relationship list
  58341.         for (r=0; r<RelationList.Count; r++)
  58342.         {
  58343.             Relation = RelationList.GetInterface(r);
  58344.             Table.DefineCell( r+1,0,Relation.Name );
  58345.  
  58346.             if ( Relation.Type == 0 ) 
  58347.                 Table.DefineCell( r+1,1,Translator.Translate( 'IDENTIFYING',1 ) )
  58348.             else
  58349.                  if ( Relation.Type == 1 )
  58350.                     Table.DefineCell( r+1,1,Translator.Translate( 'NON_IDENTIFYING',1 ) )
  58351.                 else
  58352.                     Table.DefineCell( r+1,1,Translator.Translate( 'INFORMATIVE',1 ) );
  58353.     
  58354.             Table.DefineCell( r+1,2,Model.GetEntity( Relation.ParentEntityId ).Name );
  58355.             Table.DefineCell( r+1,3,Model.GetEntity( Relation.ChildEntityId  ).Name );
  58356.         };
  58357.  
  58358.         Table.Draw();
  58359.         Table.Close();
  58360.         Page.Writeln( ' ' );
  58361.         Page.Write( '</center></div>' );
  58362.         Page.Write( '</body>' );
  58363.     };
  58364.     RelationList.Close( );
  58365. };
  58366. ]]></VALUE>
  58367. <LANGUAGE>1</LANGUAGE>
  58368. <LANGUAGEWIN>---</LANGUAGEWIN>
  58369. <CATEGORY>3</CATEGORY>
  58370. <MAINSCRIPT>0</MAINSCRIPT>
  58371. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58372. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58373. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58374. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58375. <VERSION>1.1</VERSION>
  58376. <CREATED><DATE>4/25/2001</DATE><TIME>0:06:13</TIME></CREATED>
  58377. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58378. </TEMPLATE>
  58379. <TEMPLATE>
  58380. <NAME>LERH_RelationDetails</NAME>
  58381. <ID>110</ID>
  58382. <GUID>{2297DAC9-3A18-11D5-AC12-E13BF70B1C26}</GUID>
  58383. <CAPTION>LERH_RelationDetails</CAPTION>
  58384. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58385. <ENABLED>1</ENABLED>
  58386. <LEVEL>0</LEVEL>
  58387. <IDPARENT>0</IDPARENT>
  58388. <VALUE><![CDATA[function Generate()
  58389. {
  58390.     var SubModel = Model.Submodels( Variables.nSubModel );
  58391.     var r, Relation;
  58392.     var RelationList = DefineInterfaceList();
  58393.  
  58394.     Log.Writeln( 'Generating relationship details' );
  58395.     
  58396.     for (e=0; e<SubModel.CountRelations; e++)
  58397.     {
  58398.         Relation = SubModel.Relations(e);
  58399.         RelationList.AddInterface( Relation.Name, Relation );
  58400.     };
  58401.     RelationList.Sorted = Variables.lSort;
  58402.     
  58403.     if (RelationList.Count != 0)
  58404.     {
  58405.         Page = HTML.DefinePage( Translator.Translate( 'RELATIONSHIPS',0 ) );
  58406.         Page.FileName = 'RelationsDetails';
  58407.         Page.LeftFrameWidth = '25%'
  58408.         Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  58409.         
  58410.         // generate relation details - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58411.         for (r=0; r<RelationList.Count; r++)
  58412.         {
  58413.             Relation = RelationList.GetInterface(r);
  58414.     
  58415.            Page.DefineBookmark( 'Relation_'+Relation.Id,Relation.Name );
  58416.             Page.Write( Page.SetBookmark( 'Relation_'+Relation.Id ) );
  58417.     
  58418.             Page.Write( 'CAPTION1',    Translator.Translate( 'RELATIONSHIP',1 )+" '"+Relation.Name+"'" );
  58419.     
  58420.             Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  58421.  
  58422.             Scripting.LERH_RelationDetail.Generate( Relation , Page);    
  58423.             Page.Writeln( ' ' );
  58424.         };
  58425.         Page.Writeln( '</body>' );
  58426.     };
  58427.     RelationList.Close( );
  58428. };
  58429. ]]></VALUE>
  58430. <LANGUAGE>1</LANGUAGE>
  58431. <LANGUAGEWIN>---</LANGUAGEWIN>
  58432. <CATEGORY>3</CATEGORY>
  58433. <MAINSCRIPT>0</MAINSCRIPT>
  58434. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58435. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58436. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58437. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58438. <VERSION>1.1</VERSION>
  58439. <CREATED><DATE>4/26/2001</DATE><TIME>7:59:36</TIME></CREATED>
  58440. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58441. </TEMPLATE>
  58442. <TEMPLATE>
  58443. <NAME>LERH_RelationDetail</NAME>
  58444. <ID>111</ID>
  58445. <GUID>{2297DACA-3A18-11D5-AC12-E13BF70B1C26}</GUID>
  58446. <CAPTION>LERH_RelationDetail</CAPTION>
  58447. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58448. <ENABLED>1</ENABLED>
  58449. <LEVEL>0</LEVEL>
  58450. <IDPARENT>0</IDPARENT>
  58451. <VALUE><![CDATA[function Generate( Relation , Report)
  58452. {
  58453. var i,a;
  58454. var Table;
  58455.  
  58456. // Relationships info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58457. // Table definition
  58458. Table = Report.DefineTable( false,true );
  58459. Table.DefineColumn(25 );
  58460. Table.DefineColumn( );
  58461.  
  58462. Table.DefineCell( 0,0,Translator.Translate( 'RELSHIP_TYPE',1 ) );
  58463. if ( Relation.Type == 0 ) 
  58464.     Table.DefineCell( 0,1,Translator.Translate( 'IDENTIFYING',0 ) )
  58465. else 
  58466.     if ( Relation.Type == 1 )
  58467.         Table.DefineCell( 0,1,Translator.Translate( 'NON_IDENTIFYING',0 ) )
  58468.     else
  58469.         Table.DefineCell( 0,1,Translator.Translate( 'INFORMATIVE',0 ) );
  58470.  
  58471. Table.DefineCell( 1,0,Translator.Translate( 'PARENT_ENTITY',1 ) );
  58472. Table.DefineCell( 1,1,Model.GetEntity( Relation.ParentEntityId ).Name );
  58473.  
  58474. Table.DefineCell( 2,0,Translator.Translate( 'CHILD_ENTITY',1 ) );
  58475. Table.DefineCell( 2,1,Model.GetEntity( Relation.ChildEntityId  ).Name );
  58476.  
  58477. Table.DefineCell( 3,0,Translator.Translate( 'CONSTRAINT_NAME',1 ) );
  58478. Table.DefineCell( 3,1,Relation.FKConstraint );
  58479.  
  58480. Table.Draw();
  58481. Table.Close();
  58482.  
  58483. // Existence
  58484. Report.Write( 'CAPTION2',    Translator.Translate( 'EXISTENCE',1 ) ); 
  58485. Table = Report.DefineTable( false,true );
  58486.  
  58487. Table.DefineColumn( 25 );
  58488. Table.DefineColumn(  );
  58489.  
  58490. Table.DefineCell( 0,0,Translator.Translate( 'PARENT',1 ) );
  58491. if ( Relation.PartialityParent == 0 )
  58492.     Table.DefineCell( 0,1,Translator.Translate( 'MANDATORY',0 ) )
  58493. else
  58494.     Table.DefineCell( 0,1,Translator.Translate( 'OPTIONAL',0 ) )
  58495.   
  58496. Table.DefineCell( 1,0,Translator.Translate( 'CHILD',1 ) );
  58497. if ( Relation.PartialityChild == 0 )
  58498.     Table.DefineCell( 1,1,Translator.Translate( 'MANDATORY',0 ) )
  58499. else
  58500.     Table.DefineCell( 1,1,Translator.Translate( 'OPTIONAL',0 ) )
  58501.  
  58502. Table.Draw();
  58503. Table.Close();
  58504.  
  58505. // Referential integrity
  58506. Report.Write( 'CAPTION2',    Translator.Translate( 'REFER_INTEGRITY',1 ) ); 
  58507. Table = Report.DefineTable( true,true );
  58508.  
  58509. Table.DefineColumn( 25 );
  58510. Table.DefineColumn( 25 );
  58511. Table.DefineColumn( 25 );
  58512. Table.DefineColumn( 25 );
  58513.  
  58514. Table.DefineCell( 0,1,Translator.Translate( 'R_INT_INSERT',1 ) );
  58515. Table.DefineCell( 0,2,Translator.Translate( 'R_INT_UPDATE',1 ) );
  58516. Table.DefineCell( 0,3,Translator.Translate( 'R_INT_DELETE',1 ) );
  58517.  
  58518. Table.DefineCell( 1,0,Translator.Translate( 'PARENT',1 ) );
  58519. Table.DefineCell( 1,1,'----' );
  58520. Table.DefineCell( 1,2,GetIntegrity( Relation.ParentUpdateIntegrity ) );
  58521. Table.DefineCell( 1,3,GetIntegrity( Relation.ParentDeleteIntegrity ) );
  58522.  
  58523. Table.DefineCell( 2,0,Translator.Translate( 'CHILD',1 ) );
  58524. Table.DefineCell( 2,1,GetIntegrity( Relation.ChildInsertIntegrity ) );
  58525. Table.DefineCell( 2,2,GetIntegrity( Relation.ChildUpdateIntegrity ) );
  58526. Table.DefineCell( 2,3,'----' );
  58527.  
  58528. Table.Draw();
  58529. Table.Close();
  58530.  
  58531. // Keys
  58532. Report.Write( 'CAPTION2',    Translator.Translate( 'KEYS',1 ) );
  58533. Table = Report.DefineTable( true,false );
  58534.  
  58535. Table.DefineColumn(  );
  58536. Table.DefineColumn(  );
  58537.  
  58538. Table.DefineCell( 0,0,Translator.Translate( 'PARENT_KEY',1 ) );
  58539. Table.DefineCell( 0,1,Translator.Translate( 'CHILD_KEY',    1 ) );
  58540.  
  58541. row = 0;
  58542. if (Relation.KeyType == 0)        // primary key
  58543.     {
  58544.     ParentEntity = Model.GetEntity( Relation.ParentEntityId );
  58545.                                    
  58546.     for (i=0; i<ParentEntity.CountAttributes; i++)
  58547.         if (ParentEntity.Attributes(i).PK)
  58548.             {
  58549.             Attribute = ParentEntity.Attributes( i );
  58550.               Table.DefineCell( ++row,0, GetName( Attribute ) );
  58551.             Table.DefineCell( row,1, GetForeignKey( Relation,Attribute.Id ) );
  58552.             };    
  58553.     }
  58554.  
  58555. else if (Relation.KeyType == 1)            // unique key
  58556.     {
  58557.     Attribute = Model.GetAttribute( Relation.AttributeKeyId );
  58558.     Table.DefineCell( 1,0, GetName( Attribute ) );
  58559.     Table.DefineCell( 1,1, GetForeignKey( Relation,Attribute.Id ) );
  58560.     }
  58561.  
  58562. else        // alternative key
  58563.     {
  58564.     for (a=0; a<Model.CountAlterKeyItems; a++ )
  58565.         if ( Model.AlterKeyItems( a ).AlterKeyId == Relation.AttributeKeyId )
  58566.             {
  58567.             Attribute = Model.GetAttribute(Model.AlterKeyItems( a ).AttributeId);
  58568.             Table.DefineCell( ++row,0, GetName( Attribute ) );
  58569.             Table.DefineCell( row,1, GetForeignKey( Relation,Attribute.Id ) );
  58570.             };
  58571.     };
  58572.     
  58573. Table.Draw();
  58574. Table.Close();
  58575.     
  58576. // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58577. if (Relation.Description != '')
  58578. {
  58579.     Report.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  58580.     Table = Report.DefineTable( false,false );
  58581.     Table.DefineColumn();
  58582.     Table.DefineCell( 0,0,SysUtils.TxtToHtml( Relation.Description ) );
  58583.     Table.Draw();
  58584.     Table.Close();
  58585. }
  58586. // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58587. if (Relation.Notes != '')
  58588. {
  58589.       Report.Write( 'CAPTION2', Translator.Translate( 'NOTES',1 ) );
  58590.     Table = Report.DefineTable( false,false );
  58591.     Table.DefineColumn();
  58592.     Table.DefineCell( 0,0,SysUtils.TxtToHtml( Relation.Notes ) );
  58593.     Table.Draw();
  58594.     Table.Close();
  58595. }
  58596.  
  58597. // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  58598. Scripting.SysReportUtils.ReportUDefVariables( Report, 'CAPTION2', Relation );
  58599. };
  58600.  
  58601. function GetForeignKey( Relation,ParentKeyId )
  58602. {
  58603. var i,a;
  58604. var ChildEntity = Model.GetEntity( Relation.ChildEntityId );
  58605.  
  58606. for (a=0; a<ChildEntity.CountAttributes; a++)
  58607.     if ( ChildEntity.Attributes(a).Fk )
  58608.         {
  58609.         FkAttribute = ChildEntity.Attributes(a);
  58610.         for (i=0; i<FkAttribute.AttrFkCount; i++)
  58611.             if (FkAttribute.AttrFkId(i) == ParentKeyId)
  58612.                 return( GetName( FkAttribute ) );
  58613.         };            
  58614. return( '???' );
  58615. };
  58616.  
  58617.  
  58618. function GetIntegrity( IntegrityType )
  58619. {
  58620.     switch (IntegrityType)
  58621.         {
  58622.         case 0: return( Translator.Translate( 'R_INT_NONE',    2 ) );
  58623.         case 1: return( Translator.Translate( 'R_INT_SET_NULL',2 ) );
  58624.         case 2: return( Translator.Translate( 'R_INT_RESTRICT',2 ) );
  58625.         case 3: return( Translator.Translate( 'R_INT_CASCADE', 2 ) );
  58626.         case 4: return( Translator.Translate( 'R_INT_SET_DEF', 2 ) );
  58627.     };
  58628. };
  58629.  
  58630. function GetName( Attribute )
  58631. {
  58632. if ( Attribute.RoleName == '' )
  58633.     return( Attribute.Name )
  58634. else
  58635.     return( Attribute.RoleName );
  58636. };
  58637. ]]></VALUE>
  58638. <LANGUAGE>1</LANGUAGE>
  58639. <LANGUAGEWIN>---</LANGUAGEWIN>
  58640. <CATEGORY>3</CATEGORY>
  58641. <MAINSCRIPT>0</MAINSCRIPT>
  58642. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58643. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58644. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58645. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58646. <VERSION>1.1</VERSION>
  58647. <CREATED><DATE>4/26/2001</DATE><TIME>8:02:31</TIME></CREATED>
  58648. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58649. </TEMPLATE>
  58650. <TEMPLATE>
  58651. <NAME>LERH_DictDetails</NAME>
  58652. <ID>112</ID>
  58653. <GUID>{F774A742-3906-11D5-AC12-FB2F5A584227}</GUID>
  58654. <CAPTION>LERH_DictDetails</CAPTION>
  58655. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58656. <ENABLED>1</ENABLED>
  58657. <LEVEL>0</LEVEL>
  58658. <IDPARENT>0</IDPARENT>
  58659. <VALUE><![CDATA[function Generate()
  58660. {
  58661.     var SubModel = Model.Submodels( Variables.nSubModel );
  58662.     var d, DictType, DataType, Attribute;
  58663.     var Table, cDataType, row, Length;
  58664.     var DictPrevId = 0, lCloseTable = false;
  58665.     var DictList = DefineInterfaceList();
  58666.     
  58667.     Log.Writeln( 'Generating dictionary' );
  58668.     for (e=0; e<Model.CountDictTypes; e++)
  58669.     {
  58670.         DictType = Model.DictTypes(e);
  58671.         for (i=0; i<Model.CountAttributes; i++)    
  58672.         {
  58673.             Attribute = Model.Attributes(i);
  58674.         
  58675.             if (Attribute.DictTypeId == DictType.Id)        
  58676.             {
  58677.                 Entity =SubModel.GetEntity(Attribute.EntityId);
  58678.                 if (typeof(Entity) != 'undefined' )
  58679.                 {
  58680.                     DictList.AddInterface(DictType.Name, Attribute );
  58681.                 }
  58682.             }        
  58683.         }
  58684.     }
  58685.     DictList.Sorted = Variables.lSort;    
  58686.  
  58687.     if (DictList.Count != 0)
  58688.     {
  58689.         Page = HTML.DefinePage( Translator.Translate( 'USER_TYPES',0 ) );
  58690.         Page.FileName = 'Dictionary';
  58691.         Page.LeftFrameWidth = '25%'
  58692.         Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  58693.         
  58694.         for (d=0; d < DictList.Count; d++)
  58695.         {
  58696.             DictType = Model.GetDictType( DictList.GetInterface(d).DictTypeId );
  58697.             
  58698.             //new dictionary Type            
  58699.             if    (DictType.Id != DictPrevId)
  58700.             {
  58701.                 DictPrevId = DictType.Id;        
  58702.                 DataType = Model.GetDataType( DictType.DataTypeId );
  58703.  
  58704.                Page.DefineBookmark( 'Dict_'+DictType.Id,DictType.Name );
  58705.                Page.Write( Page.SetBookmark( 'Dict_'+DictType.Id ) );
  58706.                Page.Write( 'CAPTION1', DictType.Name );
  58707.        
  58708.                   Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  58709.   
  58710.                // Table definition
  58711.                Table = Page.DefineTable( false,true );
  58712.                Table.DefineColumn( 20 );
  58713.                Table.DefineColumn( 80 );
  58714.                
  58715.                 //  lenght data type
  58716.                 cDataType = GetLenght( DataType, cDataType, DictType);
  58717.                 
  58718.                Table.DefineCell( 0,0,Translator.Translate( 'DATA_TYPE',    1    ) );
  58719.                   Table.DefineCell( 0,1,cDataType  );
  58720.  
  58721.                row = 0;    
  58722.                if ( DictType.Default != '' )
  58723.                {
  58724.                    Table.DefineCell( ++row,0,Translator.Translate( 'DEFAULT',    1    ) );
  58725.                     Table.DefineCell(   row,1,DictType.Default);
  58726.                 };
  58727.             
  58728.                if ( DictType.Check != '' )
  58729.                  {
  58730.                       Table.DefineCell( ++row,0,Translator.Translate( 'CHECK',        1    ) );
  58731.                    Table.DefineCell(   row,1,DictType.Check );
  58732.                 };
  58733.  
  58734.                if ( DictType.Def != '' )
  58735.                   {
  58736.                       Table.DefineCell( ++row,0,Translator.Translate( 'DEF',    1    ) );
  58737.                    Table.DefineCell(   row,1,DictType.Def );
  58738.                 };
  58739.         
  58740.                if ( DictType.Def2 != '' )
  58741.                   {
  58742.                       Table.DefineCell( ++row,0,Translator.Translate( 'DEF2',    1    ) );
  58743.                    Table.DefineCell(   row,1,DictType.Def2 );    
  58744.                 };    
  58745.  
  58746.                 Table.Draw();
  58747.                 Table.Close();
  58748.  
  58749.                  row = 0;
  58750.                 Page.Write( 'CAPTION2',    Translator.Translate( 'USAGE',1    ) );
  58751.                     
  58752.                 // Table definition
  58753.                 Table = Page.DefineTable( true,false );
  58754.                 Table.DefineColumn( 50 );
  58755.                 Table.DefineColumn( 50 );
  58756.     
  58757.                 Table.DefineCell( 0,0,Translator.Translate( 'ENTITY_NAME',        1 ) );
  58758.                 Table.DefineCell( 0,1,Translator.Translate( 'ATTRIBUTE_NAME',    1 ) );
  58759.             };    
  58760.             
  58761.             Attribute =     DictList.GetInterface(d);
  58762.             Table.DefineCell( ++row,0,Model.GetEntity( Attribute.EntityId ).Name );
  58763.             Table.DefineCell( row,1,Attribute.Name );
  58764.             
  58765.             if ( DictList.Count == (d +1))
  58766.                 lCloseTable = true;
  58767.             else
  58768.                 lCloseTable  =  (Attribute.DictTypeId != DictList.GetInterface(d+1).DictTypeId);
  58769.                 
  58770.             if (lCloseTable == true) 
  58771.             {
  58772.                 Table.Draw();
  58773.                Table.Close();
  58774.                 
  58775.                 // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58776.                 if (DictType.Description != '')
  58777.                 {
  58778.                    Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  58779.                     Table = Page.DefineTable( false,false );
  58780.                     Table.DefineColumn();
  58781.                     Table.DefineCell( 0,0,SysUtils.TxtToHtml( DictType.Description ) );
  58782.                     Table.Draw();
  58783.                     Table.Close();
  58784.                 }
  58785.                // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58786.                   if (DictType.Notes != '')
  58787.                 {
  58788.                    Page.Write( 'CAPTION2', Translator.Translate( 'NOTES',1 ) );
  58789.                     Table = Page.DefineTable( false,false );
  58790.                     Table.DefineColumn();
  58791.                     Table.DefineCell( 0,0,SysUtils.TxtToHtml( DictType.Notes ) );
  58792.                     Table.Draw();
  58793.                     Table.Close();
  58794.                 }    
  58795.  
  58796.                 // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  58797.                 Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', DictType );
  58798.                 
  58799.                 Page.Writeln( ' ' );
  58800.             };
  58801.         };
  58802.         Page.Write( '</body>' );
  58803.     };
  58804.     DictList.Close( );
  58805. };
  58806.  
  58807. //  lenght data type
  58808. function GetLenght( DataType, cDataType, DictType)
  58809. {
  58810.                 cDataType = DataType.Name;
  58811.                 if (DataType.IsLength)
  58812.                 {
  58813.                       cDataType += ' ('+DictType.Length.toString();
  58814.         
  58815.                     if (DataType.IsDecimal)
  58816.                             cDataType += ','+DictType.Decimal.toString();
  58817.                     cDataType += ')';
  58818.                };        
  58819.                return cDataType;
  58820. };               
  58821. ]]></VALUE>
  58822. <LANGUAGE>1</LANGUAGE>
  58823. <LANGUAGEWIN>---</LANGUAGEWIN>
  58824. <CATEGORY>3</CATEGORY>
  58825. <MAINSCRIPT>0</MAINSCRIPT>
  58826. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  58827. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  58828. <AUTHOR>Jaroslav Kovar</AUTHOR>
  58829. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  58830. <VERSION>1.1</VERSION>
  58831. <CREATED><DATE>4/25/2001</DATE><TIME>0:51:18</TIME></CREATED>
  58832. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  58833. </TEMPLATE>
  58834. <TEMPLATE>
  58835. <NAME>LERH_UserRoles</NAME>
  58836. <ID>113</ID>
  58837. <GUID>{0C69FD02-369B-11D5-AC12-CB14EEAEC620}</GUID>
  58838. <CAPTION>LERH_UserRoles</CAPTION>
  58839. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  58840. <ENABLED>1</ENABLED>
  58841. <LEVEL>0</LEVEL>
  58842. <IDPARENT>0</IDPARENT>
  58843. <VALUE><![CDATA[function Generate()
  58844. {
  58845.     var r, Role, u, User;
  58846.     var row;
  58847.     var UserRoleList = DefineInterfaceList();
  58848.  
  58849.     Log.Writeln( 'Generating user roles' );
  58850.  
  58851.     for (r=0; r<Model.CountUserRoles; r++)
  58852.     {
  58853.         Role = Model.UserRoles(r);
  58854.         UserRoleList.AddInterface( Role.UserRoleName, Role );
  58855.     };
  58856.     UserRoleList.Sorted = Variables.lSort;
  58857.  
  58858.     if (UserRoleList.Count != 0)
  58859.     {
  58860.         Page = HTML.DefinePage( Translator.Translate( 'USER_ROLES',0 ) );
  58861.         Page.FileName = 'URoles';
  58862.         Page.LeftFrameWidth = '25%'
  58863.         Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  58864.  
  58865.         // Table summary
  58866.         for (r=0; r<UserRoleList.Count; r++)
  58867.         {
  58868.             Role = UserRoleList.GetInterface(r);
  58869.  
  58870.            Page.DefineBookmark( 'Role_'+Role.Id,Role.UserRoleName );
  58871.            Page.Write( Page.SetBookmark( 'Role_'+Role.Id ) );
  58872.            Page.Write( 'CAPTION1', Role.Name );
  58873.    
  58874.            //=== Users ====================================================
  58875.            Page.Write( 'CAPTION2', Translator.Translate( 'USERS',1 ) );
  58876.            
  58877.            // Table definition
  58878.            Table = Page.DefineTable( true,false );
  58879.            Table.DefineColumn();
  58880.             Table.DefineColumn();
  58881.     
  58882.            // Table header
  58883.            Table.DefineCell( 0,0,Translator.Translate( 'USER_NAME',    1    ) );
  58884.            Table.DefineCell( 0,1,Translator.Translate( 'GENERATE',    1    ) );
  58885.     
  58886.             row = 0;
  58887.            for (u=0; u<Model.CountUserRoleUsers; u++)
  58888.             if (Model.UserRoleUsers(u).RoleId == Role.Id )
  58889.            {
  58890.                User = Model.GetUser( Model.UserRoleUsers(u).UserId );
  58891.                Table.DefineCell( ++row,0,User.Name );
  58892.                Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString(User.Generate));
  58893.            };
  58894.             Table.Draw();
  58895.             Table.Close();
  58896.     
  58897.            //=== Permissions ======================================================
  58898.            Page.Write( 'CAPTION2', Translator.Translate( 'PERMISSIONS',1 ) );
  58899.     
  58900.            // Show permissions
  58901.            DrawPermissionTable( Page,0,0,Role.Id );
  58902.            DrawPermissionTable( Page,1,0,Role.Id );
  58903.            DrawPermissionTable( Page,3,0,Role.Id );
  58904.            
  58905.             // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58906.             if (Role.Description != '')
  58907.             {
  58908.                Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  58909.                 Table = Page.DefineTable( false,false );
  58910.                 Table.DefineColumn();
  58911.                 Table.DefineCell( 0,0,SysUtils.TxtToHtml( Role.Description ) );
  58912.                 Table.Draw();
  58913.                 Table.Close();
  58914.             }
  58915.            // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  58916.               if (Role.Notes != '')
  58917.             {
  58918.                Page.Write( 'CAPTION2', Translator.Translate( 'NOTES',1 ) );
  58919.                 Table = Page.DefineTable( false,false );
  58920.                 Table.DefineColumn();
  58921.                 Table.DefineCell( 0,0,SysUtils.TxtToHtml( Role.Notes ) );
  58922.                 Table.Draw();
  58923.                 Table.Close();
  58924.             }
  58925.             Page.Writeln( ' ' );
  58926.         };
  58927.  
  58928.         Page.Write( '</body>' );
  58929.     };
  58930.     UserRoleList.Close( );
  58931. };
  58932.  
  58933. //========================================================================
  58934.  
  58935. function DrawPermissionTable( Page, ObjectType, OwnerType, OwnerId )
  58936. {
  58937.     var Table;
  58938.  
  58939.     // Table definition
  58940.     Table = Page.DefineTable( true,false );
  58941.     Table.DefineColumn( 50 );
  58942.     Table.DefineColumn();
  58943.     Table.DefineColumn();
  58944.     Table.DefineColumn();
  58945.     Table.DefineColumn();
  58946.     Table.DefineColumn();
  58947.     Table.DefineColumn();
  58948.  
  58949.     if (ObjectType == 0)
  58950.        Table.DefineCell( 0,0,Translator.Translate('ENTITY_NAME',1 )) 
  58951.  
  58952.     Table.DefineCell( 0,1,Translator.Translate( 'P_SELECT',    1    ) );
  58953.     Table.DefineCell( 0,2,Translator.Translate( 'P_INSERT',    1    ) );
  58954.     Table.DefineCell( 0,3,Translator.Translate( 'P_UPDATE',    1    ) );
  58955.     Table.DefineCell( 0,4,Translator.Translate( 'P_DELETE',    1    ) );
  58956.     Table.DefineCell( 0,5,Translator.Translate( 'P_EXECUTE',    1    ) );
  58957.     Table.DefineCell( 0,6,Translator.Translate( 'P_DRI',        1    ) );
  58958.  
  58959.     row = 0;
  58960.     for (u=0; u<Model.CountUserPermiss; u++)
  58961.        if ((Model.UserPermiss(u).OwnerType == OwnerType) && (Model.UserPermiss(u).OwnerId == OwnerId))
  58962.        {
  58963.            Permission = Model.UserPermiss( u );
  58964.            if (Permission.ObjectType == ObjectType)
  58965.            {
  58966.                if (ObjectType == 0)
  58967.                    Table.DefineCell( ++row,0,Model.GetEntity( Permission.ObjectId ).Name );
  58968.  
  58969.                Table.DefineCell( row,1, ShowPermission( Permission.Select ,Permission.CanSelect ) );
  58970.                Table.DefineCell( row,2, ShowPermission( Permission.Insert ,Permission.CanInsert ) );
  58971.                Table.DefineCell( row,3, ShowPermission( Permission.Update ,Permission.CanUpdate ) );
  58972.                Table.DefineCell( row,4, ShowPermission( Permission.Delete ,Permission.CanDelete ) );
  58973.                Table.DefineCell( row,5, ShowPermission( Permission.Execute,Permission.CanExecute) );
  58974.                Table.DefineCell( row,6, ShowPermission( Permission.DRI,    Permission.CanDRI    ) );
  58975.            };
  58976.           };
  58977.  
  58978.     if (row != 0 )
  58979.     {
  58980.         Table.Draw();
  58981.    };
  58982.    
  58983.     Table.Close(); 
  58984. };
  58985.  
  58986. //==========================================================================
  58987.  
  58988. function ShowPermission( lPermission,lSupported )
  58989. {
  58990.     if (lSupported)
  58991.           return( Scripting.SysReportUtils.LogicToString(lPermission) )
  58992.     else
  58993.         return( '---' );
  58994. };
  58995.  
  58996. //==========================================================================
  58997. ]]></VALUE>
  58998. <LANGUAGE>1</LANGUAGE>
  58999. <LANGUAGEWIN>---</LANGUAGEWIN>
  59000. <CATEGORY>3</CATEGORY>
  59001. <MAINSCRIPT>0</MAINSCRIPT>
  59002. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59003. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59004. <AUTHOR>Jaroslav Kovar</AUTHOR>
  59005. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59006. <VERSION>1.1</VERSION>
  59007. <CREATED><DATE>4/22/2001</DATE><TIME>0:02:26</TIME></CREATED>
  59008. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59009. </TEMPLATE>
  59010. <TEMPLATE>
  59011. <NAME>LERH_Users</NAME>
  59012. <ID>114</ID>
  59013. <GUID>{0C69FD03-369B-11D5-AC12-CB14EEAEC620}</GUID>
  59014. <CAPTION>LERH_Users</CAPTION>
  59015. <PACKAGEGUID>{45385907-E48F-11D4-9ACD-004033539E18}</PACKAGEGUID>
  59016. <ENABLED>1</ENABLED>
  59017. <LEVEL>0</LEVEL>
  59018. <IDPARENT>0</IDPARENT>
  59019. <VALUE><![CDATA[function Generate()
  59020. {
  59021.     var u, User, r, Role;
  59022.     var Table, row, lGenerate = false;
  59023.     var UserList = DefineInterfaceList();
  59024.         
  59025.     Log.Writeln( 'Generating users' );
  59026.     
  59027.     for (u=0; u<Model.CountUsers; u++)
  59028.     {
  59029.     User = Model.Users(u);
  59030.     UserList.AddInterface( User.UserName, User );
  59031.     };
  59032.     UserList.Sorted = Variables.lSort;
  59033.  
  59034.     if ( UserList.Count != 0)
  59035.     {
  59036.         Page = HTML.DefinePage( Translator.Translate( 'USERS',0 ) );
  59037.         Page.FileName = 'Users';
  59038.         Page.LeftFrameWidth = '25%'
  59039.         Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  59040.  
  59041.         // Table summary
  59042.         for (u=0; u<Model.CountUsers; u++)
  59043.         {
  59044.             User = UserList.GetInterface(u);
  59045.            Page.DefineBookmark( 'User_'+User.Id,User.Name );
  59046.            Page.Write( Page.SetBookmark( 'User_'+User.Id ) );
  59047.            Page.Write( 'CAPTION1', User.Name );
  59048.    
  59049.        //=== Users ================================================================
  59050.        Page.Write( 'CAPTION2', Translator.Translate( 'USER_ROLES',1 ) );
  59051.  
  59052.        // Table definition
  59053.        Table = Page.DefineTable( true,false );
  59054.        Table.DefineColumn( 50 );
  59055.        Table.DefineColumn( 50 );
  59056.  
  59057.        // Table header
  59058.        Table.DefineCell( 0,0,Translator.Translate( 'ROLE_NAME',    1    ) );
  59059.        Table.DefineCell( 0,1,Translator.Translate( 'GENERATE',    1    ) );
  59060.  
  59061.         row = 0;
  59062.        for (r=0; r<Model.CountUserRoleUsers; r++)
  59063.         if (Model.UserRoleUsers(r).UserId == User.Id )
  59064.        {
  59065.            Role = Model.GetUserRole( Model.UserRoleUsers(r).RoleId );
  59066.               Table.DefineCell( ++row,0,Role.Name );
  59067.               Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString(Role.Generate));
  59068.        };
  59069.         Table.Draw();
  59070.         Table.Close();
  59071.     
  59072.        //=== Permissions ============================================================
  59073.        Page.Write( 'CAPTION2', Translator.Translate( 'PERMISSIONS',1 ) );
  59074.     
  59075.        // Show permissions
  59076.        Scripting.LERH_UserRoles.DrawPermissionTable( Page,0,1,User.Id );
  59077.        Scripting.LERH_UserRoles.DrawPermissionTable( Page,1,1,User.Id );
  59078.        Scripting.LERH_UserRoles.DrawPermissionTable( Page,3,1,User.Id );
  59079.  
  59080.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59081.         if (User.Description != '')
  59082.         {
  59083.            Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  59084.             Table = Page.DefineTable( false,false );
  59085.             Table.DefineColumn();
  59086.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( User.Description ) );
  59087.             Table.Draw();
  59088.             Table.Close();
  59089.         }
  59090.        // Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59091.           if (User.Notes != '')
  59092.         {
  59093.            Page.Write( 'CAPTION2', Translator.Translate( 'NOTES',1 ) );
  59094.             Table = Page.DefineTable( false,false );
  59095.             Table.DefineColumn();
  59096.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( User.Notes ) );
  59097.             Table.Draw();
  59098.             Table.Close();
  59099.         }
  59100.         Page.Writeln( ' ' );
  59101.         };
  59102.  
  59103.         Page.Writeln( '</body>' );
  59104.     };
  59105.     UserList.Close( );
  59106. };
  59107. ]]></VALUE>
  59108. <LANGUAGE>1</LANGUAGE>
  59109. <LANGUAGEWIN>---</LANGUAGEWIN>
  59110. <CATEGORY>3</CATEGORY>
  59111. <MAINSCRIPT>0</MAINSCRIPT>
  59112. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59113. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59114. <AUTHOR>Jaroslav Kovar</AUTHOR>
  59115. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59116. <VERSION>1.1</VERSION>
  59117. <CREATED><DATE>4/22/2001</DATE><TIME>0:04:30</TIME></CREATED>
  59118. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59119. </TEMPLATE>
  59120. <TEMPLATE>
  59121. <NAME>PERH_Main</NAME>
  59122. <ID>115</ID>
  59123. <GUID>{75CB5913-B89A-4D3A-AE0B-69D364302473}</GUID>
  59124. <CAPTION>PERH_Main</CAPTION>
  59125. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  59126. <ENABLED>1</ENABLED>
  59127. <LEVEL>0</LEVEL>
  59128. <IDPARENT>0</IDPARENT>
  59129. <VALUE><![CDATA[function Main()
  59130. {
  59131. var p, f;
  59132. var Page;
  59133. var OrgSubmodel = Model.CurrentSubmodelId;
  59134.  
  59135. Log.Clear();
  59136. Log.Writeln( 'Reading language specifications' );
  59137. Scripting.LngSpec.SetLngSpecifications();
  59138.  
  59139. Log.Writeln( 'Reading vocabulary' );
  59140. Scripting.Dictionary.ReadVocabulary();
  59141. Scripting.PERH_Dictionary.ReadVocabulary();
  59142.  
  59143. HTML.New();
  59144. HTML.Title = Translator.Translate( 'PHYSICAL_MODEL',1 );
  59145.  
  59146. if (HTML.CSSName == '' )
  59147.   HTML.CSSName = 'classic_green';
  59148.  
  59149. if (HTML.FileName == '')
  59150.   HTML.FileName = 'Default';
  59151.  
  59152. // Style definition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59153.  
  59154. if (HTML.CSS)
  59155.     {
  59156.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" class="caption1"><tr><td>',
  59157.                                   '</td></tr></table>' ); 
  59158.     HTML.DefineStyle( 'CAPTION1a','<table border="0" width="770" class="caption1"><tr><td>',
  59159.                                   '</td></tr></table>' ); 
  59160.     HTML.DefineStyle( 'CAPTION2', '<table border="0" width="100%" class="caption2"><tr><td>'
  59161.                                          +    '<br><img src="Img/arrow.gif" align="absmiddle"> ',
  59162.                                   '</td></tr></table>' );
  59163.    }
  59164. else   
  59165.     {
  59166.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  59167.                                   '</b></font></center></td></tr></table>' ); 
  59168.     HTML.DefineStyle( 'CAPTION1a','<br><table border="0" width="770" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  59169.                                   '</b></font></center></td></tr></table>' ); 
  59170.     HTML.DefineStyle( 'CAPTION2', '<br> <img src="Img/arrow.gif" width="20" height="20" align="absmiddle">'
  59171.                                          + '<font face="verdana, tahoma, arial" color="#000000" size="3"><b> ', 
  59172.                                             '</b></font><br><br>' ); 
  59173.     };
  59174. HTML.DefineStyle( 'SOURCE',   '<pre>','</pre>' ); 
  59175.  
  59176. //Generate model info page
  59177. if ( Variables.lInfo )
  59178.     Scripting.PERH_ModelInfo.Generate();
  59179.  
  59180. //Generate ERD page
  59181. if ( Variables.lERD )
  59182.     Scripting.PERH_ERD.Generate();
  59183.  
  59184. //Generate table page
  59185. if ( Variables.lTables )
  59186.     Scripting.PERH_Tables.Generate();
  59187.  
  59188. //Generate column page
  59189. if ( Variables.lColumns )
  59190.     Scripting.PERH_Columns.Generate();
  59191.  
  59192. //Generate index page
  59193. if ( Variables.lIndexes )
  59194.     Scripting.PERH_Indexes.Generate();
  59195.     
  59196. //Generate alter key page
  59197. if ( Variables.lAlterKeys )
  59198.     Scripting.PERH_AlterKeys.Generate();
  59199.  
  59200. //Generate dictionary page
  59201. if ( Variables.lDictionary )
  59202.     Scripting.PERH_DataDictionary.Generate();
  59203.  
  59204. //Generate trigger page
  59205. if ( Variables.lTriggers )
  59206.     Scripting.PERH_Triggers.Generate();
  59207.  
  59208. //Generate procedure page
  59209. if ( Variables.lProcedures )
  59210.     Scripting.PERH_Procedures.Generate();
  59211.  
  59212. //Generate view page
  59213. if ( Variables.lViews )
  59214.     Scripting.PERH_Views.Generate();
  59215.  
  59216. //Generate text object page
  59217. if ( Variables.lTextObjects )
  59218.     Scripting.PERH_TextObjects.Generate();    
  59219.  
  59220. //Generate user role page
  59221. if ( Variables.lURoles )
  59222.     Scripting.PERH_UserRoles.Generate();
  59223.  
  59224. //Generate user permition page
  59225. if ( Variables.lUsers )
  59226.     Scripting.PERH_Users.Generate();
  59227.  
  59228. Log.Writeln( 'Closing report' );
  59229. HTML.Close();
  59230.  
  59231. // Save HTML report  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59232.  
  59233. TextStream.SaveDialogFilter     = 'html files (*.htm;*.html)|*.htm;*.html';
  59234. TextStream.SaveDialogDefaultExt = 'htm';
  59235.  
  59236. // Save HTML
  59237. Log.Writeln( 'Saving report' );
  59238. for (p=0; p<HTML.CountPages; p++)
  59239.     {
  59240.     Page = HTML.Pages( p );
  59241.     TextStream.Clear();
  59242.     TextStream.FileName = Page.FileName;
  59243.     TextStream.Text     = Page.Text;
  59244.     TextStream.Save();
  59245.     
  59246.     for (f=0; f<Page.CountFrames; f++)
  59247.         {
  59248.         TextStream.Clear();
  59249.         TextStream.FileName = Page.FrameName( f );
  59250.         TextStream.Text     = Page.FrameText( f );
  59251.         TextStream.Save();
  59252.         };
  59253.     };
  59254.  
  59255. // Save ER diagram
  59256. if ( Variables.lERD )
  59257.     {
  59258.    Log.Writeln( 'Saving entity relationship diagram' );
  59259.     Model.CurrentSubmodelId = Model.Submodels( Variables.nSubModel ).Id;    
  59260.     ExportImage.SaveToFile( TextStream.Directory+'Img\\ERD.'+ExportImage.Extension );
  59261.     Model.CurrentSubmodelId = OrgSubmodel;    
  59262.     };
  59263.  
  59264. Log.Writeln( 'Ready' );
  59265. };
  59266. ]]></VALUE>
  59267. <LANGUAGE>1</LANGUAGE>
  59268. <LANGUAGEWIN>---</LANGUAGEWIN>
  59269. <CATEGORY>3</CATEGORY>
  59270. <MAINSCRIPT>0</MAINSCRIPT>
  59271. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59272. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59273. <AUTHOR>David Fux</AUTHOR>
  59274. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59275. <VERSION>1.1</VERSION>
  59276. <CREATED><DATE>7/10/2002</DATE><TIME>15:55:34</TIME></CREATED>
  59277. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59278. </TEMPLATE>
  59279. <TEMPLATE>
  59280. <NAME>PERH_ModelInfo</NAME>
  59281. <ID>116</ID>
  59282. <GUID>{9DF7C91F-9AE0-11D4-975B-0050BF0C7D34}</GUID>
  59283. <CAPTION>PERH_ModelInfo</CAPTION>
  59284. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  59285. <ENABLED>1</ENABLED>
  59286. <LEVEL>0</LEVEL>
  59287. <IDPARENT>0</IDPARENT>
  59288. <VALUE><![CDATA[function Generate()
  59289. {
  59290. var SubModel = Model.SubModels( Variables.nSubModel );
  59291. var VMInfo = Model.VMInfo;
  59292. var e, Entity, Attribute, DictType, AlterKey;
  59293. var c, Table;
  59294. var row = 0;
  59295.  
  59296. Log.Writeln( 'Generating model info' );
  59297.  
  59298. Page = HTML.DefinePage( Translator.Translate( 'MODEL_INFO',0 ) );
  59299. Page.FileName = 'MInfo';
  59300.  
  59301. //=== Basic information ========================================================
  59302.  
  59303. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="0" topmargin="10" marginwidth="20" marginheight="10">' );
  59304. Page.Write( '<div align="center"><center>' );
  59305. Page.Writeln( 'CAPTION1a', Translator.Translate( 'BASIC_INFO',1 ) );
  59306.      
  59307. // Table definition
  59308. Table = Page.DefineTable( false,true );
  59309. Table.Width  = '770';
  59310. Table.Border = 1;
  59311.  
  59312. Table.DefineColumn( 20 );
  59313. Table.DefineColumn( 80 );
  59314.  
  59315. Table.DefineCell( row,  0,Translator.Translate( 'PROJECT',1 ) );
  59316. Table.DefineCell( row++,1,Model.ProjectName );
  59317. Table.DefineCell( row,  0,Translator.Translate( 'MODEL',1 ) );
  59318. Table.DefineCell( row++,1,Model.ModelName );
  59319. Table.DefineCell( row,  0,Translator.Translate( 'SUBMODEL',1 ) );
  59320. Table.DefineCell( row++,1,SubModel.Name );
  59321. Table.DefineCell( row,  0,Translator.Translate( 'VERSION',1 ) );
  59322. Table.DefineCell( row++,1,Model.Version );
  59323. Table.DefineCell( row,0,Translator.Translate( 'COMPANY',1 ) );
  59324. Table.DefineCell( row++,1,Model.Company );
  59325. Table.DefineCell( row,  0,Translator.Translate( 'AUTHOR',1 ) );
  59326. Table.DefineCell( row++,1,Model.Author );
  59327. Table.DefineCell( row,  0,Translator.Translate( 'CREATED',1 ) );
  59328. Table.DefineCell( row++,1,SysUtils.DateToStr( Model.Created ) );
  59329. Table.DefineCell( row,  0,Translator.Translate( 'LAST_MODIFIED',1 ) );
  59330. Table.DefineCell( row++,1,SysUtils.DateToStr( Model.Modified ) );
  59331.  
  59332. if (Model.Notes != '')
  59333.     {
  59334.     Table.DefineCell( row,0,Translator.Translate( 'NOTES',1    ) );
  59335.     Table.DefineCell( row++,1,SysUtils.TxtToHTML( Model.Notes ) );
  59336.     };
  59337.  
  59338. if (VMInfo != null)
  59339.     if(VMInfo.Notes != '')
  59340.         {
  59341.         Table.DefineCell( row,0,Translator.Translate( 'VM_NOTES',1    ) );
  59342.         Table.DefineCell( row++,1,SysUtils.TxtToHTML( VMInfo.Notes    ) );
  59343.         };
  59344.  
  59345. Table.Draw();
  59346. Table.Close();
  59347.  
  59348. //=== Statistic information ===================================================
  59349.  
  59350. var e, nDepend=0;
  59351. var a, nAttributes=0, nPK=0, nPFK=0;
  59352. var r, nIdent=0, nNonIdent=0;
  59353. var o, nTriggers=0;
  59354. var nIndexes=0, nIndexItems=0;
  59355.  
  59356. Page.Writeln( ' ' );
  59357. Page.Write( 'CAPTION1a', Translator.Translate( 'STATISTIC_INFO',1 ) );
  59358.      
  59359. // Table definition
  59360. Table = Page.DefineTable( false,true );
  59361. Table.Width  = '770';
  59362. Table.Border = 1;
  59363.  
  59364. Table.DefineColumn( 25 );
  59365. Table.DefineColumn();
  59366. Table.DefineColumn();
  59367. Table.DefineColumn();
  59368. Table.DefineColumn();
  59369. Table.DefineColumn();
  59370. Table.DefineColumn();
  59371. Table.DefineColumn();
  59372.  
  59373. // entity info
  59374.  
  59375. for (e=0; e<SubModel.CountEntities; e++)
  59376.     {
  59377.     Entity = SubModel.Entities(e);
  59378.     if ( Entity.Dependent )
  59379.         nDepend++;
  59380.  
  59381.     nTriggers   += Entity.CountTriggers;
  59382.    nAttributes += Entity.CountAttributes;
  59383.    nIndexes    += Entity.CountIndexes;
  59384.    for (i=0; i<Entity.CountIndexes; i++)
  59385.        nIndexItems += Entity.Indexes(i).CountIndexItems;
  59386.    
  59387.     // attribute info
  59388.     for (a=0; a<Entity.CountAttributes; a++)
  59389.         if ( Entity.Attributes(a).PK )
  59390.             if ( Entity.Attributes(a).FK )
  59391.                 nPFK++
  59392.             else
  59393.                 nPK++;
  59394.     };
  59395.     
  59396. Table.DefineCell( 0,0, Translator.Translate( 'TABLES',1 ) );
  59397. Table.DefineCell( 0,1,e.toString() );
  59398. Table.DefineHeadCell( 0,4, Translator.Translate( 'INDEPENDENT',1 ) );
  59399. Table.DefineCell( 0,5,(e-nDepend).toString() );
  59400. Table.DefineHeadCell( 0,6, Translator.Translate( 'DEPENDENT',1 ) );
  59401. Table.DefineCell( 0,7,nDepend.toString() );
  59402.  
  59403. Table.DefineCell( 1,0, Translator.Translate( 'COLUMNS',1 ) );
  59404. Table.DefineCell( 1,1, nAttributes.toString() );
  59405. Table.DefineHeadCell( 1,4, Translator.Translate( 'PK', 1 ) );
  59406. Table.DefineCell( 1,5, nPK.toString() );
  59407. Table.DefineHeadCell( 1,6, Translator.Translate( 'PFK',1 ) );
  59408. Table.DefineCell( 1,7, nPFK.toString() );
  59409.  
  59410. // relationship info
  59411.  
  59412. for (r=0; r<SubModel.CountRelations; r++)
  59413.     if ( SubModel.Relations(r).Type == 0 )
  59414.         nIdent++
  59415.     else if ( SubModel.Relations(r).Type == 1 )     
  59416.         nNonIdent++;
  59417.  
  59418. Table.DefineCell( 2,0,Translator.Translate( 'RELATIONSHIPS',1 ) );
  59419. Table.DefineCell( 2,1,r.toString() );
  59420. Table.DefineHeadCell( 2,2,Translator.Translate( 'IDENTIFYING',1 ) );
  59421. Table.DefineCell( 2,3,nIdent.toString() );
  59422. Table.DefineHeadCell( 2,4,Translator.Translate( 'NON_IDENTIFYING',1 ) );
  59423. Table.DefineCell( 2,5,nNonIdent.toString() );
  59424. Table.DefineHeadCell( 2,6,Translator.Translate( 'INFORMATIVE',1 ) );
  59425. Table.DefineCell( 2,7,(r-nIdent-nNonIdent).toString() );
  59426.  
  59427. // index info
  59428.  
  59429. Table.DefineCell( 3,0,Translator.Translate( 'INDEXES',1 ) );
  59430. Table.DefineCell( 3,1,nIndexes.toString() );
  59431. Table.DefineHeadCell( 3,4,Translator.Translate( 'INDEX_ITEMS',1 ) );
  59432. Table.DefineCell( 3,5,nIndexItems.toString() );
  59433.  
  59434. // others
  59435.  
  59436. Table.DefineCell( 4,0,Translator.Translate( 'TRIGGERS',1 ) );
  59437. Table.DefineCell( 4,1,nTriggers.toString() );
  59438. Table.DefineCell( 5,0,Translator.Translate( 'PROCEDURES',1 ) );
  59439. Table.DefineCell( 5,1,Model.CountProcedures.toString() );
  59440. Table.DefineCell( 6,0,Translator.Translate( 'VIEWS',1 ) );
  59441. Table.DefineCell( 6,1,Model.CountViews.toString() );
  59442.  
  59443. Table.DefineCell( 7,0,Translator.Translate( 'USERS',1 ) );
  59444. Table.DefineCell( 7,1,Model.CountUsers.toString() );
  59445.  
  59446. Table.DefineCell( 8,0,Translator.Translate( 'USER_ROLES',1 ) );
  59447. Table.DefineCell( 8,1,Model.CountUserRoles.toString() );
  59448.  
  59449. Table.Draw();
  59450. Table.Close();
  59451.  
  59452. Page.Writeln( ' ' );
  59453.  
  59454. //=== User-defined variables =======================================================
  59455.  
  59456. var lExist = false;
  59457.  
  59458. for (i=0; i<Model.CountUserEditors && !lExist; i++)
  59459.     lExist = (( Model.UserEditors(i).Availability == 0 ) && ( Model.UserEditors(i).Enabled ));
  59460.  
  59461. if (lExist)
  59462.     {
  59463.     Page.Writeln( ' ' );
  59464.     Page.Writeln( ' ' );
  59465.     Page.Write( 'CAPTION1a', Translator.Translate( 'UDEF_VARS',1 ) );
  59466.      
  59467.     // Table definition
  59468.     Table = Page.DefineTable( true,false );
  59469.     Table.Width  = '770';
  59470.     Table.Border = 1;
  59471.  
  59472.     Table.DefineColumn( 20 );
  59473.     Table.DefineColumn( 80 );
  59474.  
  59475.     Table.DefineCell( 0,0,Translator.Translate( 'NAME', 1 ) );
  59476.     Table.DefineCell( 0,1,Translator.Translate( 'VALUE',1 ) );
  59477.  
  59478.    for (i=0; i<Model.CountUserEditors; i++)
  59479.         {
  59480.         UserEditor = Model.UserEditors(i);
  59481.  
  59482.         if (( UserEditor.Availability == 0 )  && ( UserEditor.Enabled ))
  59483.             {
  59484.             Table.DefineCell( i+1,0,UserEditor.Caption );
  59485.             if (UserEditor.Type == 1)
  59486.                 if (UserVarToBool(Object.GetUserVariable( UserEditor.Name )))
  59487.                     Table.DefineCell( i+1,1,Translator.Translate( 'YES',1 ) )
  59488.                 else    
  59489.                     Table.DefineCell( i+1,1,Translator.Translate( 'NO', 1 ) );
  59490.             else        
  59491.                 Table.DefineCell( i+1,1,Model.GetUserVariable( UserEditor.Name ) );
  59492.             };
  59493.         };
  59494.     
  59495.     Table.Draw();
  59496.     Table.Close();
  59497.     };
  59498. Page.Writeln( ' ' );
  59499. Page.Write( '</center></div>' );
  59500. Page.Write( '</body>' );
  59501. };
  59502. ]]></VALUE>
  59503. <LANGUAGE>1</LANGUAGE>
  59504. <LANGUAGEWIN>---</LANGUAGEWIN>
  59505. <CATEGORY>3</CATEGORY>
  59506. <MAINSCRIPT>0</MAINSCRIPT>
  59507. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59508. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59509. <AUTHOR>David Fux</AUTHOR>
  59510. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59511. <VERSION>1.1</VERSION>
  59512. <CREATED><DATE>10/5/2000</DATE><TIME>17:04:12</TIME></CREATED>
  59513. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59514. </TEMPLATE>
  59515. <TEMPLATE>
  59516. <NAME>PERH_ERD</NAME>
  59517. <ID>117</ID>
  59518. <GUID>{E8A24D54-F80D-11D4-975D-0050BF0C7D34}</GUID>
  59519. <CAPTION>PERH_ERD</CAPTION>
  59520. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  59521. <ENABLED>1</ENABLED>
  59522. <LEVEL>0</LEVEL>
  59523. <IDPARENT>0</IDPARENT>
  59524. <VALUE><![CDATA[function Generate()
  59525. {
  59526. var i;
  59527.  
  59528. Log.Writeln( 'Generating entity relationship diagram' );
  59529.  
  59530. ExportImage.ImageType              = 2;
  59531. ExportImage.PixelFormat             = 6;
  59532. ExportImage.Color                  = true;
  59533. ExportImage.ScalePercentage    = 100;
  59534. ExportImage.ScaleInPercentage  = true;
  59535.  
  59536. Page = HTML.DefinePage( Translator.Translate( 'ER_DIAGRAM',0 ) );
  59537. Page.FileName = 'MImage';
  59538. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  59539.  
  59540. Page.Writeln(' ');
  59541. Page.Write( '<p align="center">' );
  59542. Page.Write( '<img src="Img/ERD.'+ExportImage.Extension+'" alt="'+Model.ProjectName+'">' );
  59543. Page.Write( '</p>' );
  59544. Page.Write( '</body>' );
  59545. };
  59546. ]]></VALUE>
  59547. <LANGUAGE>1</LANGUAGE>
  59548. <LANGUAGEWIN>---</LANGUAGEWIN>
  59549. <CATEGORY>3</CATEGORY>
  59550. <MAINSCRIPT>0</MAINSCRIPT>
  59551. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59552. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59553. <AUTHOR>David Fux</AUTHOR>
  59554. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59555. <VERSION>1.0</VERSION>
  59556. <CREATED><DATE>2/1/2001</DATE><TIME>6:51:16</TIME></CREATED>
  59557. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59558. </TEMPLATE>
  59559. <TEMPLATE>
  59560. <NAME>PERH_Tables</NAME>
  59561. <ID>118</ID>
  59562. <GUID>{7F595CF2-FBF8-11D3-975A-0050BF0C7D34}</GUID>
  59563. <CAPTION>PERH_Tables</CAPTION>
  59564. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  59565. <ENABLED>1</ENABLED>
  59566. <LEVEL>0</LEVEL>
  59567. <IDPARENT>0</IDPARENT>
  59568. <VALUE><![CDATA[function Generate()
  59569. {
  59570. var SubModel = Model.Submodels( Variables.nSubModel );
  59571. var e, Entity, Attribute, DictType, AlterKey, UserEditor;
  59572. var Table, lExist;
  59573. var EntityList = DefineInterfaceList();
  59574.  
  59575. Log.Writeln( 'Generating table report' );
  59576.  
  59577. for (e=0; e<SubModel.CountEntities; e++)
  59578.     {
  59579.     Entity = SubModel.Entities(e);
  59580.     EntityList.AddInterface( Entity.TableName, Entity );
  59581.     };
  59582. EntityList.Sorted = Variables.lSort;
  59583.  
  59584.     
  59585. Page = HTML.DefinePage( Translator.Translate( 'TABLES',0 ) );
  59586. Page.FileName = 'Tables';
  59587. Page.LeftFrameWidth = '25%'
  59588. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  59589.     
  59590. // Table summary
  59591. for (e=0; e<EntityList.Count; e++)
  59592.     {
  59593.     Entity = EntityList.GetInterface(e);
  59594.  
  59595.    Page.DefineBookmark( 'Table_'+Entity.Id,Entity.TableName );
  59596.    Page.Write( Page.SetBookmark( 'Table_'+Entity.Id ) );
  59597.    Page.Write( 'CAPTION1', Entity.TableName );
  59598.    
  59599.    //=== Columns ================================================================
  59600.    Page.Write( 'CAPTION2', Translator.Translate( 'COLUMNS',1 ) );
  59601.  
  59602.    // Table definition
  59603.    Table = Page.DefineTable( true,false );
  59604.    Table.DefineColumn();
  59605.    Table.DefineColumn();
  59606.    Table.DefineColumn();
  59607.    Table.DefineColumn();
  59608.    Table.DefineColumn();
  59609.    Table.DefineColumn();
  59610.    Table.DefineColumn();
  59611.    Table.DefineColumn();
  59612.    Table.DefineColumn();
  59613.  
  59614.    // Table header
  59615.    Table.DefineCell( 0,0,Translator.Translate( 'KEY',            1    ) );
  59616.    Table.DefineCell( 0,1,Translator.Translate( 'COLUMN_NAME',1     ) );
  59617.    Table.DefineCell( 0,2,Translator.Translate( 'DOMAIN',        1     ) );
  59618.    Table.DefineCell( 0,3,Translator.Translate( 'DATA_TYPE',    1     ) );
  59619.    Table.DefineCell( 0,4,Translator.Translate( 'NOT_NULL',    1    ) );
  59620.    Table.DefineCell( 0,5,Translator.Translate( 'UNIQUE',        1    ) );
  59621.    Table.DefineCell( 0,6,Translator.Translate( 'CHECK',        1    ) );
  59622.    Table.DefineCell( 0,7,Translator.Translate( 'DEFAULT',        1    ) );
  59623.    Table.DefineCell( 0,8,Translator.Translate( 'DESCRIPTION',1    ) );
  59624.  
  59625.    for (a=0; a<Entity.CountAttributes; a++)
  59626.         {
  59627.        Attribute = Entity.Attributes( a );
  59628.  
  59629.         if (Attribute.PK)
  59630.             {        
  59631.             if (Attribute.FK)
  59632.               Table.DefineCell( a+1,0,Translator.Translate( 'PFK',1 ) )
  59633.             else  
  59634.               Table.DefineCell( a+1,0,Translator.Translate( 'PK',1 ) )
  59635.             }  
  59636.         else if (Attribute.FK)
  59637.           Table.DefineCell( a+1,0,Translator.Translate( 'FK',1 ) )
  59638.         else
  59639.           Table.DefineCell( a+1,0,'' );
  59640.           
  59641.          Table.DefineCell( a+1,1,Attribute.ColName );
  59642.       if (Attribute.DataTypeId == 0)
  59643.           {
  59644.           DictType = Model.GetDictType( Attribute.DictTypeId );
  59645.           DataType = Model.GetDataType( DictType.DataTypeId );
  59646.             textDataType = DataType.DataTypeName;
  59647.             if (DataType.IsLength)
  59648.                 {
  59649.                 textDataType += ' (' + DictType.Length.toString();
  59650.                 if (DataType.IsDecimal)
  59651.                     {
  59652.                     textDataType += ',' + DictType.Decimal.toString()
  59653.                     }
  59654.                 textDataType += ')';
  59655.                 }
  59656.             Table.DefineCell( a+1,2,DictType.Name )
  59657.             Table.DefineCell( a+1,3,textDataType );
  59658.             }
  59659.         else
  59660.             {
  59661.             DataType = Model.GetDataType( Attribute.DataTypeId );
  59662.             textDataType = DataType.DataTypeName;
  59663.             if (DataType.IsLength)
  59664.                 {
  59665.                 textDataType += ' (' + Attribute.Length.toString();
  59666.                 if (DataType.IsDecimal)
  59667.                     {
  59668.                     textDataType += ',' + Attribute.Decimal.toString()
  59669.                     }
  59670.                 textDataType += ')';
  59671.                 }
  59672.             Table.DefineCell( a+1,2,'' );
  59673.             Table.DefineCell( a+1,3,textDataType );
  59674.             
  59675.             };
  59676.  
  59677.          Table.DefineCell( a+1,4,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) );
  59678.          Table.DefineCell( a+1,5,Scripting.SysReportUtils.LogicToString( Attribute.Unique  ) );
  59679.          Table.DefineCell( a+1,6,Attribute.Check   );
  59680.          Table.DefineCell( a+1,7,Attribute.Default );
  59681.       Table.DefineCell( a+1,8,SysUtils.TxtToHtml( Attribute.Description ) );
  59682.        };
  59683.    Table.Draw();
  59684.    Table.Close();
  59685.  
  59686.  
  59687.    //=== Relationships ================================================================
  59688.     a = 0;
  59689.  
  59690.    // Table definition
  59691.     Table = Page.DefineTable( true,false );
  59692.     Table.DefineColumn();
  59693.     Table.DefineColumn();
  59694.     Table.DefineColumn();
  59695.     Table.DefineColumn();
  59696.  
  59697.     // Table header
  59698.     Table.DefineCell( 0,0,Translator.Translate( 'CONST_REL_NAME',1  ) );
  59699.     Table.DefineCell( 0,1,Translator.Translate( 'RELSHIP_TYPE',1  ) );
  59700.     Table.DefineCell( 0,2,Translator.Translate( 'PARENT_TABLE',1  ) );
  59701.     Table.DefineCell( 0,3,Translator.Translate( 'CHILD_TABLE', 1  ) );
  59702.  
  59703.     // Relationship list
  59704.     for (r=0; r<SubModel.CountRelations; r++)
  59705.         {
  59706.         Relation = SubModel.Relations(r);
  59707.  
  59708.         if (( Relation.ParentEntityId == Entity.Id  ) || ( Relation.ChildEntityId  == Entity.Id  ))
  59709.             {
  59710.             a++;
  59711.             
  59712.             Table.DefineCell( a,0,Relation.FkConstraint+' ('+Relation.Name+')' );
  59713.             if ( Relation.Type == 0 ) 
  59714.                 Table.DefineCell( a,1,Translator.Translate( 'IDENTIFYING',1 ) )
  59715.             else if ( Relation.Type == 1 )
  59716.                 Table.DefineCell( a,1,Translator.Translate( 'NON_IDENTIFYING',1 ) )
  59717.             else
  59718.                 Table.DefineCell( a,1,Translator.Translate( 'INFORMATIVE',1 ) );
  59719.  
  59720.             Table.DefineCell( a,2,Model.GetEntity( Relation.ParentEntityId ).TableName );
  59721.             Table.DefineCell( a,3,Model.GetEntity( Relation.ChildEntityId  ).TableName );
  59722.             };
  59723.         };
  59724.             
  59725.     if (a != 0)
  59726.         {
  59727.        Page.Write( 'CAPTION2', Translator.Translate( 'RELATIONSHIPS',1 ) );
  59728.         Table.Draw();
  59729.         Table.Close();
  59730.         };
  59731.  
  59732.    //=== Alternate keys =========================================================
  59733.     if (Entity.CountAlterKeys != 0 )
  59734.         {
  59735.         Page.Write( 'CAPTION2', Translator.Translate( 'ALTERNATE_KEYS',1 ) );
  59736.  
  59737.         // Table definition
  59738.         Table = Page.DefineTable( true,false );
  59739.         Table.DefineColumn();
  59740.         Table.DefineColumn();
  59741.         Table.DefineColumn();
  59742.  
  59743.         // Table header
  59744.         Table.DefineCell( 0,0,Translator.Translate( 'NAME',            1 ) );
  59745.         Table.DefineCell( 0,1,Translator.Translate( 'CONSTRAINT',    1 ) );
  59746.         Table.DefineCell( 0,2,Translator.Translate( 'COLUMNS',        1 ) );
  59747.  
  59748.        for (a=0; a<Entity.CountAlterKeys; a++)
  59749.             {
  59750.             AlterKey = Entity.AlterKeys( a );
  59751.  
  59752.             Table.DefineCell( a+1,0,AlterKey.Name );
  59753.             Table.DefineCell( a+1,1,AlterKey.AlterKeyName );
  59754.             Table.DefineCell( a+1,2,Scripting.SysReportUtils.GetAlterKeyInfo( AlterKey.Id )[ 2 ] );
  59755.             };
  59756.  
  59757.         Table.Draw();
  59758.         Table.Close();
  59759.         };
  59760.         
  59761.    //=== Indexes ================================================================
  59762.     if (Entity.CountIndexes != 0 )
  59763.         {
  59764.         Page.Write( 'CAPTION2', Translator.Translate( 'INDEXES',1 ) );
  59765.  
  59766.         // Table definition
  59767.         Table = Page.DefineTable( true,false );
  59768.         Table.DefineColumn();
  59769.         Table.DefineColumn();
  59770.         Table.DefineColumn();
  59771.         Table.DefineColumn();
  59772.         Table.DefineColumn();
  59773.  
  59774.         // Table header
  59775.         Table.DefineCell( 0,0,Translator.Translate( 'INDEX_NAME',    1 ) );
  59776.         Table.DefineCell( 0,1,Translator.Translate( 'COLUMNS',        1 ) );
  59777.         Table.DefineCell( 0,2,Translator.Translate( 'UNIQUE',        1 ) );
  59778.         Table.DefineCell( 0,3,Translator.Translate( 'DESCENDING',    1 ) );
  59779.         Table.DefineCell( 0,4,Translator.Translate( 'CLUSTERED',    1 ) );
  59780.  
  59781.        for (i=0; i<Entity.CountIndexes; i++)
  59782.             {
  59783.             Index = Entity.Indexes(i);
  59784.  
  59785.             Table.DefineCell( i+1,0,Index.Name );
  59786.             Table.DefineCell( i+1,1,Scripting.SysReportUtils.GetIndexInfo( Index.Id )[ 2 ] );
  59787.             Table.DefineCell( i+1,2,Scripting.SysReportUtils.LogicToString( Index.Unique        ) );
  59788.             Table.DefineCell( i+1,3,Scripting.SysReportUtils.LogicToString( Index.Descending) );
  59789.             Table.DefineCell( i+1,4,Scripting.SysReportUtils.LogicToString( Index.Clustered    ) );
  59790.             };
  59791.  
  59792.         Table.Draw();
  59793.         Table.Close();
  59794.         };
  59795.  
  59796.    //=== Triggers =====================================================================
  59797.     if ( (Entity.CountTriggers != 0) && (Variables.lTriggers) )
  59798.         {
  59799.         Page.Write( 'CAPTION2', Translator.Translate( 'TRIGGERS',1 ) );
  59800.             for (i=0; i<Entity.CountTriggers; i++)
  59801.             {
  59802.             Trigger = Entity.Triggers( i );
  59803.             
  59804.             Table = Page.DefineTable( true,false );
  59805.             Table.DefineColumn();
  59806.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Trigger.Name ) );
  59807. //              Page.Writeln( '<B>'+Trigger.Name+'</B>' );
  59808.             Table.DefineCell( 1,0,SysUtils.TxtToHtml( Trigger.Source ) );
  59809. //              Page.Writeln( 'SOURCE',   Trigger.Source   );
  59810.               Table.Draw();
  59811.             Table.Close();
  59812.             
  59813.             if (i<Entity.CountTriggers-1)
  59814.                 Page.Writeln( ' ' );
  59815.             };
  59816.         };
  59817.  
  59818.    //=== Other SQL script =============================================================
  59819.     if (Entity.UserTrigger != 0 )
  59820.         {
  59821.         Page.Write( 'CAPTION2', Translator.Translate( 'OTHER_SQL',1 ) );
  59822.         Table = Page.DefineTable( false,false );
  59823.         Table.DefineColumn();
  59824.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Entity.UserTrigger ) );
  59825. //       Page.Writeln( 'SOURCE',   Entity.UserTrigger    );
  59826.         Table.Draw();
  59827.         Table.Close();
  59828.         };
  59829.  
  59830.     // Storage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59831.     if (Entity.Storage != '')
  59832.     {
  59833.         Page.Write( 'CAPTION2',    Translator.Translate( 'STORAGE',1 ) );
  59834.         Table = Page.DefineTable( false,false );
  59835.         Table.DefineColumn();
  59836.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Entity.Storage ) );
  59837.         Table.Draw();
  59838.         Table.Close();
  59839.     }
  59840.     
  59841.     // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  59842.     if (Entity.Description != '')
  59843.         {
  59844.         Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  59845.         Table = Page.DefineTable( false,false );
  59846.         Table.DefineColumn();
  59847.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Entity.Description ) );
  59848.         Table.Draw();
  59849.         Table.Close();
  59850.         }
  59851.         
  59852.    //=== User-defined variables =======================================================
  59853.     Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', Entity );
  59854.     
  59855.     Page.Writeln( ' ' );
  59856.     };
  59857. EntityList.Close();    
  59858.  
  59859. Page.Write( '</body>' );
  59860. };
  59861. ]]></VALUE>
  59862. <LANGUAGE>1</LANGUAGE>
  59863. <LANGUAGEWIN>---</LANGUAGEWIN>
  59864. <CATEGORY>3</CATEGORY>
  59865. <MAINSCRIPT>0</MAINSCRIPT>
  59866. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  59867. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  59868. <AUTHOR>David Fux</AUTHOR>
  59869. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  59870. <VERSION>1.2</VERSION>
  59871. <CREATED><DATE>3/17/2000</DATE><TIME>11:39:09</TIME></CREATED>
  59872. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  59873. </TEMPLATE>
  59874. <TEMPLATE>
  59875. <NAME>PERH_Columns</NAME>
  59876. <ID>119</ID>
  59877. <GUID>{547FA3F7-99E8-11D4-975B-0050BF0C7D34}</GUID>
  59878. <CAPTION>PERH_Columns</CAPTION>
  59879. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  59880. <ENABLED>1</ENABLED>
  59881. <LEVEL>0</LEVEL>
  59882. <IDPARENT>0</IDPARENT>
  59883. <VALUE><![CDATA[function Generate()
  59884. {
  59885. var SubModel = Model.Submodels( Variables.nSubModel );
  59886. var e, Entity, Attribute, AttrInfo, DictType, AlterKey, UserEditor;
  59887. var c, Table;
  59888. var EntityList = DefineInterfaceList();
  59889.  
  59890. Log.Writeln( 'Generating column report' );
  59891.  
  59892. for (e=0; e<SubModel.CountEntities; e++)
  59893.     {
  59894.     Entity = SubModel.Entities(e);
  59895.     EntityList.AddInterface( Entity.TableName, Entity );
  59896.     };
  59897. EntityList.Sorted = Variables.lSort;
  59898.  
  59899. Page = HTML.DefinePage( Translator.Translate( 'COLUMNS',0 ) );
  59900. Page.FileName = 'Columns';
  59901. Page.LeftFrameWidth = '25%';
  59902. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  59903.  
  59904. // Table summary
  59905. for (e=0; e<EntityList.Count; e++)
  59906.     {
  59907.     Entity = EntityList.GetInterface(e);
  59908.  
  59909.    for (a=0; a<Entity.CountAttributes; a++)
  59910.        {
  59911.        Attribute = Entity.Attributes( a );
  59912.        
  59913.        Page.DefineBookmark( 'Attribute_'+Attribute.Id,Entity.TableName+'.'+Attribute.ColName );
  59914.        Page.Write( Page.SetBookmark( 'Attribute_'+Attribute.Id ) );
  59915.        Page.Write( 'CAPTION1', Entity.TableName+'.'+Attribute.ColName );
  59916.         
  59917.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  59918.        // Table definition
  59919.        Table = Page.DefineTable( false,true );
  59920.        Table.DefineColumn( 20 );
  59921.        Table.DefineColumn();
  59922.        Table.DefineColumn();
  59923.        Table.DefineColumn();
  59924.        Table.DefineColumn();
  59925.        Table.DefineColumn();
  59926.  
  59927.        // Table header
  59928.        Table.DefineCell( 0,0,Translator.Translate( 'COLUMN_NAME',1     ) );
  59929.        Table.DefineCell( 0,1,Attribute.ColName );
  59930.  
  59931.        Table.DefineCell( 1,0,Translator.Translate( 'TABLE_NAME',    1     ) );
  59932.        Table.DefineCell( 1,1,Entity.TableName );
  59933.  
  59934.        Table.DefineCell( 2,0,Translator.Translate( 'PRIMARY_KEY',1     ) );
  59935.        Table.DefineCell( 2,1,Scripting.SysReportUtils.LogicToString( Attribute.PK ) );
  59936.  
  59937.        Table.DefineCell( 3,0,Translator.Translate( 'FOREIGN_KEY',1     ) );
  59938.        Table.DefineCell( 3,1,Scripting.SysReportUtils.LogicToString( Attribute.FK ) );
  59939.  
  59940.         c = 3
  59941.       if (Attribute.DataTypeId == 0)
  59942.           {
  59943.           DictType = Model.GetDictType( Attribute.DictTypeId );
  59944.             Table.DefineCell( ++c,0,Translator.Translate( 'DOMAIN',        1     ) );
  59945.             Table.DefineCell( c,1,DictType.Name )
  59946.             DataType = Model.GetDataType( DictType.DataTypeId );
  59947.             AttrInfo = DictType;
  59948.             
  59949.             if ( AttrInfo.UserDataType != '' )
  59950.             {
  59951.            Table.DefineCell( ++c,0,Translator.Translate( 'USER_TYPE',        1    ) );
  59952.              Table.DefineCell( c,1,AttrInfo.UserDataType );
  59953.              };
  59954.             }
  59955.         else
  59956.             {
  59957.             DataType = Model.GetDataType( Attribute.DataTypeId );
  59958.             AttrInfo = Attribute;
  59959.             };
  59960.             
  59961.       Table.DefineCell( ++c,0,Translator.Translate( 'DATA_TYPE',    1    ) );
  59962.         Table.DefineCell( c,1,DataType.DataTypeName );
  59963.         if (DataType.IsLength)
  59964.             {
  59965.            Table.DefineHeadCell( c,2,Translator.Translate( 'LENGTH',    1    ) );
  59966.                 Table.DefineCell( c,3,AttrInfo.Length.toString() );
  59967.         
  59968.             if (DataType.IsDecimal)
  59969.                 {
  59970.                 Table.DefineHeadCell( c,4,Translator.Translate( 'DECIMAL',    1    ) );
  59971.                     Table.DefineCell( c,5,AttrInfo.Decimal.toString() );
  59972.                     };
  59973.                 };    
  59974.  
  59975.        Table.DefineCell( ++c,0,Translator.Translate( 'NOT_NULL',    1    ) );            
  59976.          Table.DefineCell( c,1,Scripting.SysReportUtils.LogicToString( Attribute.NotNull ) );
  59977.  
  59978.         if ( Attribute.UniqueConstraint != '' )
  59979.             {
  59980.            Table.DefineCell( ++c,0,Translator.Translate( 'UNIQUE_C_NAME',    1    ) );
  59981.              Table.DefineCell( c,1,Attribute.UniqueConstraint );
  59982.             };
  59983.             
  59984.        Table.DefineCell( ++c,0,Translator.Translate( 'UNIQUE',        1    ) );
  59985.          Table.DefineCell( c,1,Scripting.SysReportUtils.LogicToString( Attribute.Unique  ) );
  59986.  
  59987.         if ( Attribute.CheckConstraint != '' )
  59988.             {
  59989.            Table.DefineCell( ++c,0,Translator.Translate( 'CHECK_C_NAME',    1    ) );
  59990.              Table.DefineCell( c,1,Attribute.CheckConstraint );
  59991.             };
  59992.  
  59993.         if ( AttrInfo.Check != '' )
  59994.             {
  59995.            Table.DefineCell( ++c,0,Translator.Translate( 'CHECK',        1    ) );
  59996.              Table.DefineCell( c,1,AttrInfo.Check   );
  59997.             };
  59998.             
  59999.         if ( Attribute.DefaultConstraint != '' )
  60000.             {
  60001.            Table.DefineCell( ++c,0,Translator.Translate( 'DEFAULT_C_NAME',    1    ) );
  60002.              Table.DefineCell( c,1,Attribute.DefaultConstraint );
  60003.             };
  60004.  
  60005.         if ( AttrInfo.Default != '' )
  60006.             {
  60007.            Table.DefineCell( ++c,0,Translator.Translate( 'DEFAULT',        1    ) );
  60008.              Table.DefineCell( c,1,AttrInfo.Default );
  60009.              };
  60010.  
  60011. /*        if ( Attribute.Description != '' )
  60012.             {
  60013.            Table.DefineCell( ++c,0,Translator.Translate( 'DESCRIPTION',1    ) );
  60014.            Table.DefineCell( c,1,SysUtils.TxtToHtml( Attribute.Description ) );
  60015.            };
  60016.  
  60017.        for (i=0; i<Attribute.CountUserEditors; i++)
  60018.             {
  60019.             UserEditor = Attribute.UserEditors(i);
  60020.  
  60021.             Table.DefineCell( ++c,0,UserEditor.Caption );
  60022.             if (UserEditor.Type == 1)
  60023.                 if (UserVarToBool(Attribute.GetUserVariable( UserEditor.Name )))
  60024.                     Table.DefineCell( c,1,Translator.Translate( 'YES',2 ) )
  60025.                 else    
  60026.                     Table.DefineCell( c,1,Translator.Translate( 'NO', 2 ) );
  60027.             else        
  60028.                 Table.DefineCell( c,1,Attribute.GetUserVariable( UserEditor.Name ) );
  60029.             };*/
  60030.  
  60031.        Table.Draw();
  60032.        Table.Close();
  60033.        
  60034.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60035.         if (Attribute.Description != '')
  60036.             {
  60037.             Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  60038.             Table = Page.DefineTable( false,false );
  60039.             Table.DefineColumn();
  60040.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Attribute.Description ) );
  60041.             Table.Draw();
  60042.             Table.Close();
  60043.             }
  60044.         
  60045.        //=== User-defined variables =======================================================
  60046.         Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', Attribute );
  60047.     
  60048.         Page.Writeln( ' ' );
  60049.         if (a==(Entity.CountAttributes-1))
  60050.            Page.DefineBookmark( 'Mezera_'+Attribute.Id,'' );
  60051.        };
  60052.     };
  60053. Page.Writeln( '</body>' );
  60054. EntityList.Close();
  60055. };   
  60056.  
  60057. ]]></VALUE>
  60058. <LANGUAGE>1</LANGUAGE>
  60059. <LANGUAGEWIN>---</LANGUAGEWIN>
  60060. <CATEGORY>3</CATEGORY>
  60061. <MAINSCRIPT>0</MAINSCRIPT>
  60062. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60063. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60064. <AUTHOR>David Fux</AUTHOR>
  60065. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60066. <VERSION>1.1</VERSION>
  60067. <CREATED><DATE>10/4/2000</DATE><TIME>11:27:43</TIME></CREATED>
  60068. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60069. </TEMPLATE>
  60070. <TEMPLATE>
  60071. <NAME>PERH_Indexes</NAME>
  60072. <ID>120</ID>
  60073. <GUID>{2F431E8B-CCDE-4DD8-B935-EDBFA8F568C9}</GUID>
  60074. <CAPTION>PERH_Indexes</CAPTION>
  60075. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60076. <ENABLED>1</ENABLED>
  60077. <LEVEL>0</LEVEL>
  60078. <IDPARENT>0</IDPARENT>
  60079. <VALUE><![CDATA[function Generate()
  60080. {
  60081. var SubModel = Model.Submodels( Variables.nSubModel );
  60082. var e, Entity, Attribute, AttrInfo, DictType, Index, UserEditor;
  60083. var c, Table;
  60084. var EntityList = DefineInterfaceList();
  60085.  
  60086. Log.Writeln( 'Generating alter key report' );
  60087.  
  60088. for (e=0; e<SubModel.CountEntities; e++)
  60089.     {
  60090.     Entity = SubModel.Entities(e);
  60091.     EntityList.AddInterface( Entity.TableName, Entity );
  60092.     };
  60093. EntityList.Sorted = Variables.lSort;
  60094.  
  60095. if (EntityList.Count != 0)
  60096. {
  60097. Page = HTML.DefinePage( Translator.Translate( 'INDEXES',0 ) );
  60098. Page.FileName = 'Indexes';
  60099. Page.LeftFrameWidth = '25%';
  60100. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60101.  
  60102. // Table summary
  60103. for (e=0; e<EntityList.Count; e++)
  60104.     {
  60105.     Entity = EntityList.GetInterface(e);
  60106.  
  60107.    for (a=0; a<Entity.CountIndexes; a++)
  60108.        {
  60109.        Index = Entity.Indexes( a );
  60110.        
  60111.        Page.DefineBookmark( 'Index_'+Index.Id,Entity.TableName+'.'+Index.Name );
  60112.        Page.Write( Page.SetBookmark( 'Index_'+Index.Id ) );
  60113.        Page.Write( 'CAPTION1', Entity.TableName+'.'+Index.Name );
  60114.         
  60115.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  60116.         // Table definition
  60117.         Table = Page.DefineTable( false,true );
  60118.         Table.DefineColumn( 23 );
  60119.         Table.DefineColumn( );
  60120.         Table.DefineColumn( );    
  60121.         Table.DefineColumn( );
  60122.     
  60123.         i=0;
  60124.         Table.DefineHeadCell( i,0,Translator.Translate( 'TABLE_NAME',1 ) );
  60125.         Table.DefineCell( i,1,Model.GetEntity( Index.EntityId ).TableName );
  60126.  
  60127.         if (Index.ExprType)
  60128.         {
  60129.             Table.DefineCell( ++i,0,Translator.Translate( 'EXPRESSION',1 ) );
  60130.             Table.DefineCell( i,1,Index.Expression );
  60131.             
  60132.             Table.DefineCell( ++i,0,Translator.Translate( 'FILTER',1 ) );
  60133.             Table.DefineCell( i,1,Index.Filter );
  60134.         }
  60135.         else
  60136.         {
  60137.             Table.DefineCell( ++i,0,Translator.Translate( 'COLUMN_NAMES',1 ) );
  60138.             Table.DefineCell( i,1,Scripting.SysReportUtils.GetIndexInfo( Index.Id )[ 2 ] );
  60139.         }
  60140.     
  60141.        Table.DefineCell( ++i,0,Translator.Translate( 'UNIQUE',    1    ) );            
  60142.           Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Index.Unique ) );
  60143.  
  60144.           Table.DefineCell( ++i,0,Translator.Translate( 'CLUSTERED', 1    ) );
  60145.           Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Index.Clustered  ) );
  60146.  
  60147.         Table.DefineCell( ++i,0,Translator.Translate( 'DESCENDING',    1    ) );            
  60148.           Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Index.Descending ) );
  60149.  
  60150.         if (Index.CaseSensitive)
  60151.         {
  60152.             Table.DefineCell( ++i,0,Translator.Translate( 'CASE_SENSITIVE', 1    ) );
  60153.               Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( Index.CaseSensitive ) );
  60154.         }
  60155.  
  60156.         Table.Draw();
  60157.         Table.Close();
  60158.  
  60159.         // Storage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60160.         if (Index.Storage != '')
  60161.         {
  60162.             Page.Write( 'CAPTION2',    Translator.Translate( 'STORAGE',1 ) );
  60163.             Table = Page.DefineTable( false,false );
  60164.             Table.DefineColumn();
  60165.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Index.Storage ) );
  60166.             Table.Draw();
  60167.             Table.Close();
  60168.         }
  60169.     
  60170.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60171.         if (Index.Description != '')
  60172.         {
  60173.             Page.Write( 'CAPTION2',    Translator.Translate( 'DESCRIPTION',1 ) );
  60174.             Table = Page.DefineTable( false,false );
  60175.             Table.DefineColumn();
  60176.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Index.Description ) );
  60177.             Table.Draw();
  60178.             Table.Close();
  60179.         }
  60180.         
  60181.         //=== User-defined variables =======================================================
  60182.         Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', Index );
  60183.  
  60184.         Page.Writeln( ' ' );    
  60185.         if (a==(Entity.CountIndexes-1))
  60186.            Page.DefineBookmark( 'Mezera_'+Index.Id,'' );
  60187.        };
  60188.     };
  60189. Page.Writeln( '</body>' );
  60190. }
  60191. EntityList.Close();
  60192. };
  60193. ]]></VALUE>
  60194. <LANGUAGE>1</LANGUAGE>
  60195. <LANGUAGEWIN>---</LANGUAGEWIN>
  60196. <CATEGORY>3</CATEGORY>
  60197. <MAINSCRIPT>0</MAINSCRIPT>
  60198. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60199. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60200. <AUTHOR>Radim Tkacik</AUTHOR>
  60201. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60202. <VERSION>1.0</VERSION>
  60203. <CREATED><DATE>4/22/2002</DATE><TIME>12:53:53</TIME></CREATED>
  60204. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60205. </TEMPLATE>
  60206. <TEMPLATE>
  60207. <NAME>PERH_AlterKeys</NAME>
  60208. <ID>121</ID>
  60209. <GUID>{EE2D2E66-0A31-4E07-8F3C-BAE106DCCF56}</GUID>
  60210. <CAPTION>PERH_AlterKeys</CAPTION>
  60211. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60212. <ENABLED>1</ENABLED>
  60213. <LEVEL>0</LEVEL>
  60214. <IDPARENT>0</IDPARENT>
  60215. <VALUE><![CDATA[function Generate()
  60216. {
  60217. var SubModel = Model.Submodels( Variables.nSubModel );
  60218. var e, Entity, Attribute, AttrInfo, DictType, AlterKey, UserEditor;
  60219. var c, Table;
  60220. var EntityList = DefineInterfaceList();
  60221.  
  60222. Log.Writeln( 'Generating alter key report' );
  60223.  
  60224. for (e=0; e<SubModel.CountEntities; e++)
  60225.     {
  60226.     Entity = SubModel.Entities(e);
  60227.     EntityList.AddInterface( Entity.TableName, Entity );
  60228.     };
  60229. EntityList.Sorted = Variables.lSort;
  60230.  
  60231. if (EntityList.Count != 0)
  60232. {
  60233. Page = HTML.DefinePage( Translator.Translate( 'ALTERNATE_KEYS',0 ) );
  60234. Page.FileName = 'AlterKeys';
  60235. Page.LeftFrameWidth = '25%';
  60236. Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60237.  
  60238. // Table summary
  60239. for (e=0; e<EntityList.Count; e++)
  60240.     {
  60241.     Entity = EntityList.GetInterface(e);
  60242.  
  60243.    for (a=0; a<Entity.CountAlterKeys; a++)
  60244.        {
  60245.        AlterKey = Entity.AlterKeys( a );
  60246.        
  60247.        Page.DefineBookmark( 'AlterKey_'+AlterKey.Id,Entity.TableName+'.'+AlterKey.AlterKeyName );
  60248.        Page.Write( Page.SetBookmark( 'AlterKey_'+AlterKey.Id ) );
  60249.        Page.Write( 'CAPTION1', Entity.TableName+'.'+AlterKey.AlterKeyName );
  60250.         
  60251.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  60252.         // Table definition
  60253.         Table = Page.DefineTable( false,true );
  60254.         Table.DefineColumn( 23 );
  60255.         Table.DefineColumn( );
  60256.         Table.DefineColumn( );    
  60257.         Table.DefineColumn( );
  60258.     
  60259.         i=0;
  60260.         Table.DefineHeadCell( i,0,Translator.Translate( 'TABLE_NAME',1 ) );
  60261.         Table.DefineCell( i,1,Model.GetEntity( AlterKey.EntityId ).TableName );
  60262.         
  60263.         // Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60264.         Table.DefineCell( ++i,0,Translator.Translate( 'COLUMN_NAMES',1 ) );
  60265.         Table.DefineCell( i,1,Scripting.SysReportUtils.GetAlterKeyInfo( AlterKey.Id )[ 2 ] );
  60266.  
  60267.         Table.Draw();
  60268.         Table.Close();
  60269.     
  60270.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60271.         if (AlterKey.Description != '')
  60272.         {
  60273.             Page.Write( 'CAPTION2',    Translator.Translate( 'DESCRIPTION',1 ) );
  60274.             Table = Page.DefineTable( false,false );
  60275.             Table.DefineColumn();
  60276.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( AlterKey.Description ) );
  60277.             Table.Draw();
  60278.             Table.Close();
  60279.         }
  60280.         
  60281.         //=== User-defined variables =======================================================
  60282.         Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', AlterKey );
  60283.         
  60284.         Page.Writeln( ' ' );    
  60285.         if (a==(Entity.CountAlterKeys-1))
  60286.            Page.DefineBookmark( 'Mezera_'+AlterKey.Id,'' );
  60287.        };
  60288.     };
  60289. Page.Writeln( '</body>' );
  60290. }
  60291. EntityList.Close();
  60292. };
  60293. ]]></VALUE>
  60294. <LANGUAGE>1</LANGUAGE>
  60295. <LANGUAGEWIN>---</LANGUAGEWIN>
  60296. <CATEGORY>3</CATEGORY>
  60297. <MAINSCRIPT>0</MAINSCRIPT>
  60298. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60299. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60300. <AUTHOR>Radim Tkacik</AUTHOR>
  60301. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60302. <VERSION>1.0</VERSION>
  60303. <CREATED><DATE>4/22/2002</DATE><TIME>12:53:01</TIME></CREATED>
  60304. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60305. </TEMPLATE>
  60306. <TEMPLATE>
  60307. <NAME>PERH_DataDictionary</NAME>
  60308. <ID>122</ID>
  60309. <GUID>{3260A27D-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60310. <CAPTION>PERH_DataDictionary</CAPTION>
  60311. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60312. <ENABLED>1</ENABLED>
  60313. <LEVEL>0</LEVEL>
  60314. <IDPARENT>0</IDPARENT>
  60315. <VALUE><![CDATA[function Generate()
  60316. {
  60317. var d, DictType, DataType;
  60318. var Table, cDataType, row;
  60319. var DictList = DefineInterfaceList();
  60320.  
  60321. Log.Writeln( 'Generating dictionary' );
  60322.  
  60323. for (d=0; d<Model.CountDictTypes; d++)
  60324.     {
  60325.     DictType = Model.DictTypes(d);
  60326.     DictList.AddInterface( DictType.DictName, DictType );
  60327.     };
  60328. DictList.Sorted = Variables.lSort;
  60329.  
  60330. if (DictList.Count != 0)
  60331.     {
  60332.     Page = HTML.DefinePage( Translator.Translate( 'DATA_DICTIONARY',0 ) );
  60333.     Page.FileName = 'Dictionary';
  60334.     Page.LeftFrameWidth = '25%'
  60335.    Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60336.  
  60337.     for (d=0; d<DictList.Count; d++)
  60338.         {
  60339.         DictType = DictList.GetInterface(d);
  60340.         DataType = Model.GetDataType( DictType.DataTypeId );
  60341.  
  60342.        Page.DefineBookmark( 'Dict_'+DictType.Id,DictType.DictName );
  60343.        Page.Write( Page.SetBookmark( 'Dict_'+DictType.Id ) );
  60344.        Page.Write( 'CAPTION1', DictType.DictName );
  60345.  
  60346.        Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  60347.        // Table definition
  60348.        Table = Page.DefineTable( false,true );
  60349.        Table.DefineColumn( 20 );
  60350.        Table.DefineColumn( 30 );
  60351.        Table.DefineColumn( 20 );
  60352.        Table.DefineColumn( 30 );
  60353.  
  60354.         cDataType = DataType.Name;
  60355.         if (DataType.IsLength)
  60356.             {
  60357.               cDataType += ' ('+DictType.Length.toString();
  60358.         
  60359.             if (DataType.IsDecimal)
  60360.                     cDataType += ','+DictType.Decimal.toString();
  60361.             cDataType += ')';
  60362.            };
  60363.        Table.DefineCell( 0,0,Translator.Translate( 'DATA_TYPE',    1    ) );
  60364.        Table.DefineCell( 0,1,cDataType );
  60365.        if ( DictType.UserDataType != '' )
  60366.               {
  60367.            Table.DefineHeadCell( 0,2,Translator.Translate( 'USER_TYPE',    1    ) );
  60368.            Table.DefineCell( 0,3,DictType.UserDataType );
  60369.             };
  60370.  
  60371.        row = 0;    
  60372.        if ( DictType.Default != '' )
  60373.            {
  60374.            Table.DefineCell( ++row,0,Translator.Translate( 'DEFAULT',    1    ) );
  60375.            Table.DefineCell(   row,1,DictType.Default );
  60376.             };
  60377.         
  60378.        if ( DictType.Check != '' )
  60379.            {
  60380.            Table.DefineCell( ++row,0,Translator.Translate( 'CHECK',        1    ) );
  60381.            Table.DefineCell(   row,1,DictType.Check );
  60382.             };
  60383.  
  60384.        if ( DictType.Def != '' )
  60385.            {
  60386.            Table.DefineCell( ++row,0,Translator.Translate( 'DEF',    1    ) );
  60387.            Table.DefineCell(   row,1,DictType.Def );
  60388.             };
  60389.         
  60390.        if ( DictType.Def2 != '' )
  60391.            {
  60392.            Table.DefineCell( ++row,0,Translator.Translate( 'DEF2',    1    ) );
  60393.            Table.DefineCell(   row,1,DictType.Def2 );
  60394.             };
  60395.  
  60396.         Table.Draw();
  60397.         Table.Close();
  60398.         
  60399.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60400.         if (DictType.Description != '')
  60401.             {
  60402.             Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  60403.             Table = Page.DefineTable( false,false );
  60404.             Table.DefineColumn();
  60405.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( DictType.Description ) );
  60406.             Table.Draw();
  60407.             Table.Close();
  60408.             }
  60409.         
  60410.        //=== User-defined variables =======================================================
  60411.         Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', DictType );
  60412.     
  60413.         Page.Writeln( ' ' );
  60414.         };
  60415.     Page.Writeln( '</body>' );        
  60416.     };
  60417. DictList.Close();
  60418. };
  60419. ]]></VALUE>
  60420. <LANGUAGE>1</LANGUAGE>
  60421. <LANGUAGEWIN>---</LANGUAGEWIN>
  60422. <CATEGORY>3</CATEGORY>
  60423. <MAINSCRIPT>0</MAINSCRIPT>
  60424. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60425. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60426. <AUTHOR>David Fux</AUTHOR>
  60427. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60428. <VERSION>1.1</VERSION>
  60429. <CREATED><DATE>10/9/2000</DATE><TIME>13:19:41</TIME></CREATED>
  60430. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60431. </TEMPLATE>
  60432. <TEMPLATE>
  60433. <NAME>PERH_Triggers</NAME>
  60434. <ID>123</ID>
  60435. <GUID>{3260A27E-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60436. <CAPTION>PERH_Triggers</CAPTION>
  60437. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60438. <ENABLED>1</ENABLED>
  60439. <LEVEL>0</LEVEL>
  60440. <IDPARENT>0</IDPARENT>
  60441. <VALUE><![CDATA[function Generate()
  60442. {
  60443. var TriggerList = DefineInterfaceList();
  60444. var t, Trigger;
  60445.  
  60446. Log.Writeln( 'Generating triggers' );
  60447.  
  60448. for (t=0; t<Model.CountTriggers; t++)
  60449.     {
  60450.     Trigger = Model.Triggers(t);
  60451.     if (Trigger.EntityId == 0) 
  60452.         TriggerList.AddInterface( Trigger.Name, Trigger );
  60453.     }
  60454. TriggerList.Sorted = Variables.lSort;
  60455.     
  60456. if (TriggerList.Count != 0 )
  60457.     {
  60458.     Page = HTML.DefinePage( Translator.Translate( 'TRIGGERS',0 ) )
  60459.     Page.FileName = 'Triggers';
  60460.     Page.LeftFrameWidth = '25%'
  60461.    Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60462.     
  60463.     for (t=0; t<TriggerList.Count; t++)
  60464.         {
  60465.         Trigger = TriggerList.GetInterface( t );
  60466.  
  60467.        Page.DefineBookmark( 'Trigger_'+Trigger.Id.toString(),Trigger.Name );
  60468.         Page.Write( Page.SetBookmark( 'Trigger_'+Trigger.Id.toString() ) );
  60469.           Page.Writeln( 'CAPTION1', Trigger.Name     );
  60470.           
  60471.         Table = Page.DefineTable( false,false );
  60472.         Table.DefineColumn();
  60473.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Trigger.Source ) );
  60474. //          Page.Writeln( 'SOURCE',   Trigger.Source   );
  60475.         Table.Draw();
  60476.         Table.Close();
  60477.  
  60478.         Page.Writeln( ' ' );
  60479.         };
  60480.     Page.Writeln( '</body>' );
  60481.     };
  60482. TriggerList.Close();
  60483. };
  60484. ]]></VALUE>
  60485. <LANGUAGE>1</LANGUAGE>
  60486. <LANGUAGEWIN>---</LANGUAGEWIN>
  60487. <CATEGORY>3</CATEGORY>
  60488. <MAINSCRIPT>0</MAINSCRIPT>
  60489. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60490. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60491. <AUTHOR>David Fux</AUTHOR>
  60492. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60493. <VERSION>1.1</VERSION>
  60494. <CREATED><DATE>10/9/2000</DATE><TIME>13:19:47</TIME></CREATED>
  60495. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60496. </TEMPLATE>
  60497. <TEMPLATE>
  60498. <NAME>PERH_Procedures</NAME>
  60499. <ID>124</ID>
  60500. <GUID>{3260A27F-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60501. <CAPTION>PERH_Procedures</CAPTION>
  60502. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60503. <ENABLED>1</ENABLED>
  60504. <LEVEL>0</LEVEL>
  60505. <IDPARENT>0</IDPARENT>
  60506. <VALUE><![CDATA[function Generate()
  60507. {
  60508. var p, Procedure;
  60509. var ProcedureList = DefineInterfaceList();
  60510. var row;
  60511.  
  60512. Log.Writeln( 'Generating procedures' );
  60513.  
  60514. for (p=0; p<Model.CountProcedures; p++)
  60515.     {
  60516.     Procedure = Model.Procedures(p);
  60517.     ProcedureList.AddInterface( Procedure.Name, Procedure );
  60518.     }
  60519. ProcedureList.Sorted = Variables.lSort;
  60520.  
  60521. if (ProcedureList.Count !=0 )
  60522.     {
  60523.     Page = HTML.DefinePage( Translator.Translate( 'PROCEDURES',0 ) );
  60524.     Page.FileName = 'Procedures';
  60525.     Page.LeftFrameWidth = '25%'
  60526.    Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60527.  
  60528.     for (p=0; p<ProcedureList.Count; p++)
  60529.         {
  60530.         Procedure = ProcedureList.GetInterface( p );
  60531.  
  60532.        Page.DefineBookmark( 'Procedure_'+Procedure.Id.toString(),Procedure.Name );
  60533.           Page.Write( Page.SetBookmark( 'Procedure_'+Procedure.Id.toString() ) );
  60534.           Page.Writeln( 'CAPTION1', Procedure.Name   );
  60535.           
  60536.         Table = Page.DefineTable( false,false );
  60537.         Table.DefineColumn();
  60538.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( Procedure.Source ) );
  60539. //          Page.Writeln( 'SOURCE',   Procedure.Source );
  60540.         Table.Draw();
  60541.         Table.Close();
  60542.         
  60543.         Page.Writeln( ' ' );
  60544.         };
  60545.     Page.Writeln( '</body>' );
  60546.     };
  60547. ProcedureList.Close();
  60548. };
  60549. ]]></VALUE>
  60550. <LANGUAGE>1</LANGUAGE>
  60551. <LANGUAGEWIN>---</LANGUAGEWIN>
  60552. <CATEGORY>3</CATEGORY>
  60553. <MAINSCRIPT>0</MAINSCRIPT>
  60554. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60555. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60556. <AUTHOR>David Fux</AUTHOR>
  60557. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60558. <VERSION>1.1</VERSION>
  60559. <CREATED><DATE>10/9/2000</DATE><TIME>13:19:50</TIME></CREATED>
  60560. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60561. </TEMPLATE>
  60562. <TEMPLATE>
  60563. <NAME>PERH_Views</NAME>
  60564. <ID>125</ID>
  60565. <GUID>{3260A280-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60566. <CAPTION>PERH_Views</CAPTION>
  60567. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60568. <ENABLED>1</ENABLED>
  60569. <LEVEL>0</LEVEL>
  60570. <IDPARENT>0</IDPARENT>
  60571. <VALUE><![CDATA[function Generate()
  60572. {
  60573. var p, Procedure;
  60574. var row;
  60575. var ViewList = DefineInterfaceList();
  60576.  
  60577. Log.Writeln( 'Generating views' );
  60578.  
  60579. for (v=0; v<Model.CountViews; v++)
  60580.     {
  60581.     View = Model.Views(v);
  60582.     ViewList.AddInterface( View.Name, View );
  60583.     }
  60584. ViewList.Sorted = Variables.lSort;
  60585.  
  60586. if (ViewList.Count !=0 )
  60587.     {
  60588.     Page = HTML.DefinePage( Translator.Translate( 'VIEWS',0 ) );
  60589.     Page.FileName = 'Views';
  60590.     Page.LeftFrameWidth = '25%'
  60591.    Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60592.  
  60593.     for (v=0; v<ViewList.Count; v++)
  60594.         {
  60595.         View = ViewList.GetInterface( v );
  60596.  
  60597.        Page.DefineBookmark( 'View_'+View.Id.toString(),View.Name );
  60598.           Page.Write( Page.SetBookmark( 'View_'+View.Id.toString() ) );
  60599.           Page.Writeln( 'CAPTION1', View.Name   );
  60600.  
  60601.         Table = Page.DefineTable( false,false );
  60602.         Table.DefineColumn();
  60603.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( View.Source ) );
  60604. //          Page.Writeln( 'SOURCE',   View.Source );
  60605.         Table.Draw();
  60606.         Table.Close();
  60607.         
  60608.         Page.Writeln( ' ' );
  60609.         };
  60610.     Page.Writeln( '</body>' );
  60611.     };
  60612. ViewList.Close();
  60613. };
  60614. ]]></VALUE>
  60615. <LANGUAGE>1</LANGUAGE>
  60616. <LANGUAGEWIN>---</LANGUAGEWIN>
  60617. <CATEGORY>3</CATEGORY>
  60618. <MAINSCRIPT>0</MAINSCRIPT>
  60619. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60620. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60621. <AUTHOR>David Fux</AUTHOR>
  60622. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60623. <VERSION>1.1</VERSION>
  60624. <CREATED><DATE>10/9/2000</DATE><TIME>13:19:54</TIME></CREATED>
  60625. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60626. </TEMPLATE>
  60627. <TEMPLATE>
  60628. <NAME>PERH_TextObjects</NAME>
  60629. <ID>126</ID>
  60630. <GUID>{A90CD818-878E-4DA3-AC89-CC2BB4A350E8}</GUID>
  60631. <CAPTION>PERH_TextObjects</CAPTION>
  60632. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60633. <ENABLED>1</ENABLED>
  60634. <LEVEL>0</LEVEL>
  60635. <IDPARENT>0</IDPARENT>
  60636. <VALUE><![CDATA[function Generate()
  60637. {
  60638. var TextObjectList = DefineInterfaceList();
  60639. var t, TextObject;
  60640. var ObjTypeArray = new Array();
  60641.  
  60642. Log.Writeln( 'Generating text objects' );
  60643. for (ot=0; ot<Model.CountTextObjectTypes; ot++)
  60644. {
  60645.     TextObjTypes = Model.TextObjectTypes(ot);
  60646.     switch (TextObjTypes.Name)
  60647.     {
  60648.         case 'Functions':
  60649.             ObjTypeArray[TextObjTypes.Type] = Translator.Translate('FUNCTIONS',2);    break;
  60650.         case 'Packages':
  60651.             ObjTypeArray[TextObjTypes.Type] = Translator.Translate('PACKAGES',2);    break;
  60652.         case 'Package bodies':
  60653.             ObjTypeArray[TextObjTypes.Type] = Translator.Translate('PACK_BODIES',2);    break;
  60654.         case 'Object types':
  60655.             ObjTypeArray[TextObjTypes.Type] = Translator.Translate('OBJ_TYPES',2);    break;
  60656.         case 'Object type bodies':
  60657.             ObjTypeArray[TextObjTypes.Type] = Translator.Translate('OBJ_TYPE_BODIES',2);    break;
  60658.         case null:
  60659.             break;
  60660.         default:
  60661.             ObjTypeArray[TextObjTypes.Type] = TextObjTypes.Name.toUpperCase();    break;
  60662.     }
  60663. }
  60664.  
  60665. if (Variables.lSort)
  60666. {
  60667.     for (t=0; t<Model.CountTextObjects; t++)
  60668.     {
  60669.         TextObject = Model.TextObjects(t);
  60670.         if (!((TextObject.Name == null) || (TextObject.Name == '')))
  60671.             TextObjectList.AddInterface( TextObject.Type.toString()+'.'+TextObject.Name, TextObject );
  60672.     }
  60673. }
  60674. else
  60675. {
  60676.     for (t=0; t<Model.CountTextObjects; t++)
  60677.     {
  60678.         TextObject = Model.TextObjects(t);
  60679.         if (TextObject.Name != null)
  60680.             TextObjectList.AddInterface( TextObject.Type.toString(), TextObject );
  60681.     }
  60682. }
  60683. TextObjectList.Sorted = true;
  60684.     
  60685. if (TextObjectList.Count != 0 )
  60686. {
  60687.     Page = HTML.DefinePage( Translator.Translate( 'TEXT_OBJECTS',0 ) )
  60688.     Page.FileName = 'TextObjects';
  60689.     Page.LeftFrameWidth = '25%'
  60690.    Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60691.  
  60692.     {
  60693.     TextObject = TextObjectList.GetInterface(0);
  60694.     typ_old = TextObject.Type;
  60695.     Page.DefineBookmark( 'TextObjName_'+TextObject.Id.toString(),'<b><u>'+ObjTypeArray[TextObject.Type]+'</u></b>' );
  60696.     Page.Write( Page.SetBookmark( 'TextObjName_'+TextObject.Id.toString() ) );
  60697.       Page.Write( 'CAPTION1', ObjTypeArray[TextObject.Type] );
  60698.     }
  60699.     for (t=0; t<TextObjectList.Count; t++)
  60700.     {
  60701.         TextObject = TextObjectList.GetInterface( t );
  60702.         typ = TextObject.Type;
  60703.         if (typ != typ_old)
  60704.         {
  60705.             Page.Writeln( ' ' );
  60706.             Page.DefineBookmark( 'Mezera_'+TextObject.Id.toString(),'' );
  60707.             Page.DefineBookmark( 'TextObjName_'+TextObject.Id.toString(),'<b><u>'+ObjTypeArray[TextObject.Type]+'</u></b>' );
  60708.             Page.Write( Page.SetBookmark( 'TextObjName_'+TextObject.Id.toString() ) );
  60709.               Page.Write( 'CAPTION1', ObjTypeArray[TextObject.Type] );
  60710.         }
  60711.  
  60712.        Page.DefineBookmark( 'TextObject_'+TextObject.Id.toString(),TextObject.Name );
  60713.         Page.Write( Page.SetBookmark( 'TextObject_'+TextObject.Id.toString() ) );
  60714.           Page.Write( 'CAPTION2', TextObject.Name     );
  60715.           
  60716.         Table = Page.DefineTable( false,false );
  60717.         Table.DefineColumn();
  60718.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( TextObject.Source ) );
  60719.         Table.Draw();
  60720.         Table.Close();
  60721.  
  60722.         typ_old = typ;
  60723.     };
  60724.     Page.Writeln( '</body>' );
  60725. };
  60726. TextObjectList.Close();
  60727. };
  60728. ]]></VALUE>
  60729. <LANGUAGE>1</LANGUAGE>
  60730. <LANGUAGEWIN>---</LANGUAGEWIN>
  60731. <CATEGORY>3</CATEGORY>
  60732. <MAINSCRIPT>0</MAINSCRIPT>
  60733. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60734. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60735. <AUTHOR>Radim Tkacik</AUTHOR>
  60736. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60737. <VERSION>1.0</VERSION>
  60738. <CREATED><DATE>6/20/2002</DATE><TIME>12:20:37</TIME></CREATED>
  60739. <MODIFIED><DATE>8/29/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60740. </TEMPLATE>
  60741. <TEMPLATE>
  60742. <NAME>PERH_UserRoles</NAME>
  60743. <ID>127</ID>
  60744. <GUID>{3260A187-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60745. <CAPTION>PERH_UserRoles</CAPTION>
  60746. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60747. <ENABLED>1</ENABLED>
  60748. <LEVEL>0</LEVEL>
  60749. <IDPARENT>0</IDPARENT>
  60750. <VALUE><![CDATA[function Generate()
  60751. {
  60752. var r, Role, u, User;
  60753. var UserRoleList = DefineInterfaceList();
  60754. var row;
  60755.  
  60756. Log.Writeln( 'Generating user roles' );
  60757.  
  60758. for (r=0; r<Model.CountUserRoles; r++)
  60759.     {
  60760.     Role = Model.UserRoles(r);
  60761.     UserRoleList.AddInterface( Role.UserRoleName, Role );
  60762.     };
  60763. UserRoleList.Sorted = Variables.lSort;
  60764.  
  60765. if (UserRoleList.Count != 0)
  60766.     {
  60767.     Page = HTML.DefinePage( Translator.Translate( 'USER_ROLES',0 ) );
  60768.     Page.FileName = 'URoles';
  60769.     Page.LeftFrameWidth = '25%'
  60770.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60771.  
  60772.     // Table summary
  60773.     for (r=0; r<UserRoleList.Count; r++)
  60774.         {
  60775.         Role = UserRoleList.GetInterface(r);
  60776.  
  60777.        Page.DefineBookmark( 'Role_'+Role.Id,Role.UserRoleName );
  60778.        Page.Write( Page.SetBookmark( 'Role_'+Role.Id ) );
  60779.        Page.Write( 'CAPTION1', Role.UserRoleName );
  60780.    
  60781.        //=== Users ================================================================
  60782.        Page.Write( 'CAPTION2', Translator.Translate( 'USERS',1 ) );
  60783.  
  60784.        // Table definition
  60785.        Table = Page.DefineTable( true,false );
  60786.        Table.DefineColumn();
  60787.        Table.DefineColumn();
  60788.  
  60789.        // Table header
  60790.        Table.DefineCell( 0,0,Translator.Translate( 'USER_NAME',    1    ) );
  60791.        Table.DefineCell( 0,1,Translator.Translate( 'GENERATE',    1    ) );
  60792.  
  60793.         row = 0;
  60794.        for (u=0; u<Model.CountUserRoleUsers; u++)
  60795.            if (Model.UserRoleUsers(u).RoleId == Role.Id )
  60796.                {
  60797.                User = Model.GetUser( Model.UserRoleUsers(u).UserId );
  60798.                Table.DefineCell( ++row,0,User.UserName );
  60799.                Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString(User.Generate));
  60800.                };
  60801.         Table.Draw();
  60802.         Table.Close();
  60803.     
  60804.        //=== Permissions ============================================================
  60805.        Page.Write( 'CAPTION2', Translator.Translate( 'PERMISSIONS',1 ) );
  60806.     
  60807.        // Show permissions
  60808.        DrawPermissionTable( Page,0,0,Role.Id );
  60809.        DrawPermissionTable( Page,1,0,Role.Id );
  60810.        DrawPermissionTable( Page,3,0,Role.Id );
  60811.        
  60812.         // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60813.         if (Role.Description != '')
  60814.         {
  60815.             Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  60816.             Table = Page.DefineTable( false,false );
  60817.             Table.DefineColumn();
  60818.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( Role.Description ) );
  60819.             Table.Draw();
  60820.             Table.Close();
  60821.         }
  60822.         Page.Writeln( ' ' );
  60823.         };
  60824.     Page.Writeln( '</body>' );
  60825.     };
  60826. UserRoleList.Close();    
  60827. };
  60828.  
  60829. //================================================================================
  60830.  
  60831. function DrawPermissionTable( Page, ObjectType, OwnerType, OwnerId )
  60832. {
  60833. var Table;
  60834.  
  60835. // Table definition
  60836. Table = Page.DefineTable( true,false );
  60837. Table.DefineColumn( 50 );
  60838. Table.DefineColumn();
  60839. Table.DefineColumn();
  60840. Table.DefineColumn();
  60841. Table.DefineColumn();
  60842. Table.DefineColumn();
  60843. Table.DefineColumn();
  60844.  
  60845. if (ObjectType == 0)
  60846.    Table.DefineCell( 0,0,Translator.Translate( 'TABLE_NAME',1    ) )
  60847. else if (ObjectType == 1)
  60848.     Table.DefineCell( 0,0,Translator.Translate( 'PROCEDURE',    1    ) )
  60849. else
  60850.     Table.DefineCell( 0,0,Translator.Translate( 'VIEW',        1    ) );
  60851.  
  60852. Table.DefineCell( 0,1,Translator.Translate( 'P_SELECT',    1    ) );
  60853. Table.DefineCell( 0,2,Translator.Translate( 'P_INSERT',    1    ) );
  60854. Table.DefineCell( 0,3,Translator.Translate( 'P_UPDATE',    1    ) );
  60855. Table.DefineCell( 0,4,Translator.Translate( 'P_DELETE',    1    ) );
  60856. Table.DefineCell( 0,5,Translator.Translate( 'P_EXECUTE',    1    ) );
  60857. Table.DefineCell( 0,6,Translator.Translate( 'P_DRI',        1    ) );
  60858.  
  60859. row = 0;
  60860. for (u=0; u<Model.CountUserPermiss; u++)
  60861.    if ((Model.UserPermiss(u).OwnerType == OwnerType) && (Model.UserPermiss(u).OwnerId == OwnerId))
  60862.        {
  60863.        Permission = Model.UserPermiss( u );
  60864.        if (Permission.ObjectType == ObjectType)
  60865.            {
  60866.            if (ObjectType == 0)
  60867.                Table.DefineCell( ++row,0,Model.GetEntity( Permission.ObjectId ).TableName );
  60868.            else     
  60869.                Table.DefineCell( ++row,0,Model.GetTrigger( Permission.ObjectId ).Name );
  60870.  
  60871.            Table.DefineCell( row,1, ShowPermission( Permission.Select ,Permission.CanSelect ) );
  60872.            Table.DefineCell( row,2, ShowPermission( Permission.Insert ,Permission.CanInsert ) );
  60873.            Table.DefineCell( row,3, ShowPermission( Permission.Update ,Permission.CanUpdate ) );
  60874.            Table.DefineCell( row,4, ShowPermission( Permission.Delete ,Permission.CanDelete ) );
  60875.            Table.DefineCell( row,5, ShowPermission( Permission.Execute,Permission.CanExecute) );
  60876.            Table.DefineCell( row,6, ShowPermission( Permission.DRI,    Permission.CanDRI    ) );
  60877.            };
  60878.        };
  60879.  
  60880. if (row != 0 )
  60881.     {
  60882.     Table.Draw();
  60883.    };
  60884.    
  60885. Table.Close(); 
  60886. };
  60887.  
  60888. //================================================================================
  60889.  
  60890. function ShowPermission( lPermission,lSupported )
  60891. {
  60892. if (lSupported)
  60893.       return( Scripting.SysReportUtils.LogicToString(lPermission) )
  60894. else
  60895.     return( '---' );
  60896. };
  60897.  
  60898. //================================================================================
  60899. ]]></VALUE>
  60900. <LANGUAGE>1</LANGUAGE>
  60901. <LANGUAGEWIN>---</LANGUAGEWIN>
  60902. <CATEGORY>3</CATEGORY>
  60903. <MAINSCRIPT>0</MAINSCRIPT>
  60904. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  60905. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  60906. <AUTHOR>David Fux</AUTHOR>
  60907. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  60908. <VERSION>1.1</VERSION>
  60909. <CREATED><DATE>10/9/2000</DATE><TIME>9:53:34</TIME></CREATED>
  60910. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  60911. </TEMPLATE>
  60912. <TEMPLATE>
  60913. <NAME>PERH_Users</NAME>
  60914. <ID>128</ID>
  60915. <GUID>{3260A275-9DC8-11D4-975B-0050BF0C7D34}</GUID>
  60916. <CAPTION>PERH_Users</CAPTION>
  60917. <PACKAGEGUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  60918. <ENABLED>1</ENABLED>
  60919. <LEVEL>0</LEVEL>
  60920. <IDPARENT>0</IDPARENT>
  60921. <VALUE><![CDATA[function Generate()
  60922. {
  60923. var u, User, r, Role;
  60924. var UserList = DefineInterfaceList();
  60925. var Table, row;
  60926.  
  60927. Log.Writeln( 'Generating users' );
  60928.  
  60929. for (u=0; u<Model.CountUsers; u++)
  60930.     {
  60931.     User = Model.Users(u);
  60932.     UserList.AddInterface( User.UserName, User );
  60933.     };
  60934. UserList.Sorted = Variables.lSort;
  60935.  
  60936. if (UserList.Count != 0)
  60937.     {
  60938.     Page = HTML.DefinePage( Translator.Translate( 'USERS',0 ) );
  60939.     Page.FileName = 'Users';
  60940.     Page.LeftFrameWidth = '25%'
  60941.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  60942.  
  60943.     // Table summary
  60944.     for (u=0; u<UserList.Count; u++)
  60945.         {
  60946.         User = UserList.GetInterface(u);
  60947.  
  60948.        Page.DefineBookmark( 'User_'+User.Id,User.UserName );
  60949.        Page.Write( Page.SetBookmark( 'User_'+User.Id ) );
  60950.        Page.Write( 'CAPTION1', User.UserName );
  60951.    
  60952.        //=== Users ================================================================
  60953.        Page.Write( 'CAPTION2', Translator.Translate( 'USER_ROLES',1 ) );
  60954.  
  60955.        // Table definition
  60956.        Table = Page.DefineTable( true,false );
  60957.        Table.DefineColumn( 50 );
  60958.        Table.DefineColumn( 50 );
  60959.  
  60960.        // Table header
  60961.        Table.DefineCell( 0,0,Translator.Translate( 'ROLE_NAME',    1    ) );
  60962.        Table.DefineCell( 0,1,Translator.Translate( 'GENERATE',    1    ) );
  60963.  
  60964.         row = 0;
  60965.        for (r=0; r<Model.CountUserRoleUsers; r++)
  60966.            if (Model.UserRoleUsers(r).UserId == User.Id )
  60967.                {
  60968.                Role = Model.GetUserRole( Model.UserRoleUsers(r).RoleId );
  60969.                Table.DefineCell( ++row,0,Role.UserRoleName );
  60970.                Table.DefineCell( row,1,Scripting.SysReportUtils.LogicToString(Role.Generate));
  60971.                };
  60972.         Table.Draw();
  60973.         Table.Close();
  60974.     
  60975.        //=== Permissions ============================================================
  60976.        Page.Write( 'CAPTION2', Translator.Translate( 'PERMISSIONS',1 ) );
  60977.     
  60978.        // Show permissions
  60979.        Scripting.PERH_UserRoles.DrawPermissionTable( Page,0,1,User.Id );
  60980.        Scripting.PERH_UserRoles.DrawPermissionTable( Page,1,1,User.Id );
  60981.        Scripting.PERH_UserRoles.DrawPermissionTable( Page,3,1,User.Id );
  60982.        
  60983.          // Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  60984.         if (User.Description != '')
  60985.         {
  60986.             Page.Write( 'CAPTION2', Translator.Translate( 'DESCRIPTION',1 ) );
  60987.             Table = Page.DefineTable( false,false );
  60988.             Table.DefineColumn();
  60989.             Table.DefineCell( 0,0,SysUtils.TxtToHtml( User.Description ) );
  60990.             Table.Draw();
  60991.             Table.Close();
  60992.         }
  60993.         Page.Writeln( ' ' );
  60994.         };
  60995.     Page.Writeln( '</body>' );
  60996.     };
  60997. UserList.Close();
  60998. };
  60999. ]]></VALUE>
  61000. <LANGUAGE>1</LANGUAGE>
  61001. <LANGUAGEWIN>---</LANGUAGEWIN>
  61002. <CATEGORY>3</CATEGORY>
  61003. <MAINSCRIPT>0</MAINSCRIPT>
  61004. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61005. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61006. <AUTHOR>David Fux</AUTHOR>
  61007. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61008. <VERSION>1.0</VERSION>
  61009. <CREATED><DATE>10/9/2000</DATE><TIME>11:49:01</TIME></CREATED>
  61010. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61011. </TEMPLATE>
  61012. <TEMPLATE>
  61013. <NAME>PERH</NAME>
  61014. <ID>129</ID>
  61015. <GUID>{76BDC74B-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  61016. <CAPTION>Fyzick² entitn∞ relaΦnφ report</CAPTION>
  61017. <PACKAGEGUID>{76BDC756-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  61018. <ENABLED>1</ENABLED>
  61019. <LEVEL>0</LEVEL>
  61020. <IDPARENT>0</IDPARENT>
  61021. <VALUE><![CDATA[function Main()
  61022. {
  61023. Translator.DefaultLng = 'csy';
  61024. Scripting.PERH_Main.Main();
  61025. };
  61026.  
  61027. function DefineVariables()
  61028. {
  61029. var i;
  61030.  
  61031. Variables.DefineVariable( 'nSubModel',        'V²b∞r submodelu',        4 );
  61032. for (i=0; i<Model.CountSubmodels; i++)
  61033.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  61034. Variables.nSubModel = 0;    
  61035.  
  61036. Variables.DefineVariable( 'lSort',            'T°φdit objekty podle abecedy',1 );
  61037. Variables.lSort            = true;
  61038.  
  61039. Variables.DefineVariable( 'lInfo',            'Generuj zßkladnφ informace o modelu',    1 );
  61040. Variables.lInfo            = true;
  61041. Variables.DefineVariable( 'lERD',            'Generuj ER diagram',              1 );
  61042. Variables.lERD                = true;
  61043. Variables.DefineVariable( 'lTables',        'Generuj tabulky',                1 );
  61044. Variables.lTables            = true;
  61045. Variables.DefineVariable( 'lColumns',        'Generuj sloupce',                1 );
  61046. Variables.lColumns        = true;
  61047. Variables.DefineVariable( 'lIndexes',        'Generuj indexy',                    1 );
  61048. Variables.lIndexes        = true;
  61049. Variables.DefineVariable( 'lAlterKeys',    'Generuj alternativnφ klφΦe',    1 );
  61050. Variables.lAlterKeys        = true;
  61051. Variables.DefineVariable( 'lDictionary',    'Generuj slovnφk',                1 );
  61052. Variables.lDictionary    = true;
  61053. Variables.DefineVariable( 'lTriggers',        'Generuj triggery',                1 );
  61054. Variables.lTriggers        = true;
  61055. Variables.DefineVariable( 'lProcedures',    'Generuj procedury',                1 );
  61056. Variables.lProcedures    = true;
  61057. Variables.DefineVariable( 'lViews',            'Generuj pohledy',                1 );
  61058. Variables.lViews            = true;
  61059. Variables.DefineVariable( 'lTextObjects',    'Generuj textovΘ objekty',        1 );
  61060. Variables.lTextObjects    = true;
  61061. Variables.DefineVariable( 'lURoles',        'Generuj u₧ivatelskΘ role',    1 );
  61062. Variables.lURoles            = true;
  61063. Variables.DefineVariable( 'lUsers',            'Generuj u₧ivatele',                1 );
  61064. Variables.lUsers            = true;
  61065. };
  61066. ]]></VALUE>
  61067. <LANGUAGE>1</LANGUAGE>
  61068. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  61069. <CATEGORY>3</CATEGORY>
  61070. <MAINSCRIPT>1</MAINSCRIPT>
  61071. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61072. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61073. <AUTHOR>David Fux</AUTHOR>
  61074. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61075. <VERSION>1.2</VERSION>
  61076. <CREATED><DATE>11/20/2000</DATE><TIME>15:16:08</TIME></CREATED>
  61077. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61078. </TEMPLATE>
  61079. <TEMPLATE>
  61080. <NAME>PERH_Dictionary</NAME>
  61081. <ID>130</ID>
  61082. <GUID>{76BDC74C-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  61083. <CAPTION>PERH_Dictionary</CAPTION>
  61084. <PACKAGEGUID>{76BDC756-BEF5-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  61085. <ENABLED>1</ENABLED>
  61086. <LEVEL>0</LEVEL>
  61087. <IDPARENT>0</IDPARENT>
  61088. <VALUE><![CDATA[function ReadVocabulary()
  61089. {
  61090. Translator.Add( 'PHYSICAL_MODEL',    'fyzick² model'            );
  61091. Translator.Add( 'MODEL_INFO',            'informace o modelu'        );
  61092. Translator.Add( 'BASIC_INFO',            'zßkladnφ informace'        );
  61093. Translator.Add( 'STATISTIC_INFO',    'statistickΘ informace'    );
  61094. Translator.Add( 'ER_DIAGRAM',            'ER diagram'                 );
  61095. Translator.Add( 'CONST_REL_NAME',   'Nßzev constraintu (relace)' );
  61096.  
  61097. Translator.Add( 'TEXT_OBJECTS',       'textovΘ objekty' );
  61098.  
  61099. // TextObjects - Oracle 9i
  61100. Translator.Add( 'FUNCTIONS',           'funkce' );
  61101. Translator.Add( 'PACKAGES',           'packages' );
  61102. Translator.Add( 'PACK_BODIES',       'package bodies' );
  61103. Translator.Add( 'OBJ_TYPES',           'object types' );
  61104. Translator.Add( 'OBJ_TYPE_BODIES',    'object type bodies' );
  61105. };
  61106. ]]></VALUE>
  61107. <LANGUAGE>1</LANGUAGE>
  61108. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  61109. <CATEGORY>3</CATEGORY>
  61110. <MAINSCRIPT>0</MAINSCRIPT>
  61111. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61112. <DESCRIPTION><![CDATA[DodateΦn² slovnφk, pro report k fyzickΘmu entitn∞ relaΦnφmu modelu.]]></DESCRIPTION>
  61113. <AUTHOR>David Fux</AUTHOR>
  61114. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61115. <VERSION>1.2</VERSION>
  61116. <CREATED><DATE>11/20/2000</DATE><TIME>15:20:10</TIME></CREATED>
  61117. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61118. </TEMPLATE>
  61119. <TEMPLATE>
  61120. <NAME>PERH</NAME>
  61121. <ID>131</ID>
  61122. <GUID>{037E4531-8F02-11D4-9759-0050BF0C7D34}</GUID>
  61123. <CAPTION>Physical entity relationship report</CAPTION>
  61124. <PACKAGEGUID>{FC867994-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  61125. <ENABLED>1</ENABLED>
  61126. <LEVEL>0</LEVEL>
  61127. <IDPARENT>0</IDPARENT>
  61128. <VALUE><![CDATA[function Main()
  61129. {
  61130. Translator.DefaultLng = 'enu';
  61131. Scripting.PERH_Main.Main();
  61132. };
  61133.  
  61134. function DefineVariables()
  61135. {
  61136. var i;
  61137.  
  61138. Variables.DefineVariable( 'nSubModel',        'Select submodel',                4 );
  61139. for (i=0; i<Model.CountSubmodels; i++)
  61140.     Variables.AddItemToCombo('nSubModel',Model.SubModels( i ).Name,i);
  61141. Variables.nSubModel = 0;    
  61142.  
  61143. Variables.DefineVariable( 'lSort',            'Sort objects alphabetically',1 );
  61144. Variables.lSort            = true;
  61145.  
  61146. Variables.DefineVariable( 'lInfo',            'Generate model info',            1 );
  61147. Variables.lInfo            = true;
  61148. Variables.DefineVariable( 'lERD',            'Generate ER diagram',            1 );
  61149. Variables.lERD                = true;
  61150. Variables.DefineVariable( 'lTables',        'Generate tables',                1 );
  61151. Variables.lTables            = true;
  61152. Variables.DefineVariable( 'lColumns',        'Generate columns',                1 );
  61153. Variables.lColumns        = true;
  61154. Variables.DefineVariable( 'lIndexes',        'Generate indexes',                1 );
  61155. Variables.lIndexes        = true;
  61156. Variables.DefineVariable( 'lAlterKeys',    'Generate alternative keys',    1 );
  61157. Variables.lAlterKeys        = true;
  61158. Variables.DefineVariable( 'lDictionary',    'Generate dictionary',            1 );
  61159. Variables.lDictionary    = true;
  61160. Variables.DefineVariable( 'lTriggers',        'Generate triggers',                1 );
  61161. Variables.lTriggers        = true;
  61162. Variables.DefineVariable( 'lProcedures',    'Generate procedures',            1 );
  61163. Variables.lProcedures    = true;
  61164. Variables.DefineVariable( 'lViews',            'Generate views',                    1 );
  61165. Variables.lViews            = true;
  61166. Variables.DefineVariable( 'lTextObjects',    'Generate text objects',        1 );
  61167. Variables.lTextObjects    = true;
  61168. Variables.DefineVariable( 'lURoles',        'Generate user roles',            1 );
  61169. Variables.lURoles            = true;
  61170. Variables.DefineVariable( 'lUsers',            'Generate users',                    1 );
  61171. Variables.lUsers            = true;
  61172. };
  61173. ]]></VALUE>
  61174. <LANGUAGE>1</LANGUAGE>
  61175. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  61176. <CATEGORY>3</CATEGORY>
  61177. <MAINSCRIPT>1</MAINSCRIPT>
  61178. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61179. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61180. <AUTHOR>David Fux</AUTHOR>
  61181. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61182. <VERSION>1.1</VERSION>
  61183. <CREATED><DATE>9/20/2000</DATE><TIME>14:42:14</TIME></CREATED>
  61184. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61185. </TEMPLATE>
  61186. <TEMPLATE>
  61187. <NAME>PERH_Dictionary</NAME>
  61188. <ID>132</ID>
  61189. <GUID>{632F5C4E-9EAF-11D4-975B-0050BF0C7D34}</GUID>
  61190. <CAPTION>PERH_Dictionaty</CAPTION>
  61191. <PACKAGEGUID>{FC867994-BED1-11D4-975B-0050BF0C7D34}</PACKAGEGUID>
  61192. <ENABLED>1</ENABLED>
  61193. <LEVEL>0</LEVEL>
  61194. <IDPARENT>0</IDPARENT>
  61195. <VALUE><![CDATA[function ReadVocabulary()
  61196. {
  61197. Translator.Add( 'PHYSICAL_MODEL',    'physical model'            );
  61198. Translator.Add( 'MODEL_INFO',            'model info'                );
  61199. Translator.Add( 'BASIC_INFO',            'basic information'        );
  61200. Translator.Add( 'STATISTIC_INFO',    'statistic information'    );
  61201. Translator.Add( 'ER_DIAGRAM',            'ER diagram'                 );
  61202. Translator.Add( 'CONST_REL_NAME',   'constraint (relationship) name' );
  61203.  
  61204. Translator.Add( 'TEXT_OBJECTS',       'text objects' );
  61205.  
  61206. // TextObjects - Oracle 9i
  61207. Translator.Add( 'FUNCTIONS',           'functions' );
  61208. Translator.Add( 'PACKAGES',           'packages' );
  61209. Translator.Add( 'PACK_BODIES',       'package bodies' );
  61210. Translator.Add( 'OBJ_TYPES',           'object types' );
  61211. Translator.Add( 'OBJ_TYPE_BODIES',    'object type bodies' );
  61212. };
  61213. ]]></VALUE>
  61214. <LANGUAGE>1</LANGUAGE>
  61215. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  61216. <CATEGORY>3</CATEGORY>
  61217. <MAINSCRIPT>0</MAINSCRIPT>
  61218. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61219. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61220. <AUTHOR>David Fux</AUTHOR>
  61221. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61222. <VERSION>1.1</VERSION>
  61223. <CREATED><DATE>10/10/2000</DATE><TIME>13:23:01</TIME></CREATED>
  61224. <MODIFIED><DATE>7/10/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61225. </TEMPLATE>
  61226. <TEMPLATE>
  61227. <NAME>TDRH_Main</NAME>
  61228. <ID>133</ID>
  61229. <GUID>{D80D9E7B-253F-11D6-A81C-004033539E18}</GUID>
  61230. <CAPTION>TDRH_Main</CAPTION>
  61231. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61232. <ENABLED>1</ENABLED>
  61233. <LEVEL>0</LEVEL>
  61234. <IDPARENT>0</IDPARENT>
  61235. <VALUE><![CDATA[function Main()
  61236. {
  61237. var p, f;
  61238. var Page;
  61239.  
  61240. Log.Clear();
  61241. Log.Writeln( 'Reading language specifications' );
  61242. Scripting.LngSpec.SetLngSpecifications();
  61243.  
  61244. Log.Writeln( 'Reading vocabulary' );
  61245. Scripting.Dictionary.ReadVocabulary();
  61246. Scripting.TDRH_Dictionary.ReadVocabulary();
  61247.  
  61248. HTML.New();
  61249. HTML.Title = Translator.Translate( 'TO_DO_LIST',1 );
  61250.  
  61251. if (HTML.CSSName == '' )
  61252.   HTML.CSSName = 'classic_violet';
  61253.  
  61254. if (HTML.FileName == '' )
  61255.   HTML.FileName = 'Default';
  61256.  
  61257. // Style definition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61258.  
  61259. if (HTML.CSS)
  61260.     {
  61261.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" class="caption1"><tr><td>',
  61262.                                   '</td></tr></table>' ); 
  61263.     HTML.DefineStyle( 'CAPTION1a','<table border="0" width="770" class="caption1"><tr><td>',
  61264.                                   '</td></tr></table>' ); 
  61265.     HTML.DefineStyle( 'CAPTION2', '<table border="0" width="100%" class="caption2"><tr><td>'
  61266.                                          +    '<br><img src="Img/arrow.gif" align="absmiddle"> ',
  61267.                                   '</td></tr></table>' );
  61268.     HTML.DefineStyle( 'CAPTION2a','<table border="0" width="770" class="caption2"><tr><td>'
  61269.                                          +    '<br><img src="Img/arrow.gif" align="absmiddle"> ',
  61270.                                   '</td></tr></table>' );
  61271.    }
  61272. else   
  61273.     {
  61274.     HTML.DefineStyle( 'CAPTION1', '<table border="0" width="100%" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  61275.                                   '</b></font></center></td></tr></table>' ); 
  61276.     HTML.DefineStyle( 'CAPTION1a','<br><table border="0" width="770" bgcolor="#FFCC00"><tr><td><center><font face="verdana, tahoma, arial" color="#000000" size="3"><b>',
  61277.                                   '</b></font></center></td></tr></table>' ); 
  61278.     HTML.DefineStyle( 'CAPTION2', '<br> <img src="Img/arrow.gif" width="20" height="20" align="absmiddle">'
  61279.                                          + '<font face="verdana, tahoma, arial" color="#000000" size="3"><b> ', 
  61280.                                             '</b></font><br><br>' ); 
  61281.     HTML.DefineStyle( 'CAPTION2a','<br> <img src="Img/arrow.gif" width="20" height="20" align="absmiddle">'
  61282.                                          + '<font face="verdana, tahoma, arial" color="#000000" size="3"><b> ', 
  61283.                                             '</b></font><br><br>' ); 
  61284.     };
  61285. HTML.DefineStyle( 'SOURCE',   '<pre>','</pre>' ); 
  61286.  
  61287. //Generate ToDo List - Summary page
  61288. if ( Variables.lToDoSummary)
  61289.     Scripting.TDRH_ToDoSummary.Generate();
  61290.     
  61291. //Generate ToDo List - Model page
  61292. if ( Variables.lToDoModel)
  61293.     Scripting.TDRH_ToDoModel.Generate();
  61294.     
  61295. //Generate ToDo List - Entities page
  61296. if ( Variables.lToDoEntities)
  61297.     Scripting.TDRH_ToDoEntities.Generate();
  61298.  
  61299. //Generate ToDo List - Relationships page
  61300. if ( Variables.lToDoRelationships)
  61301.     Scripting.TDRH_ToDoRelationships.Generate();
  61302.  
  61303. //Generate ToDo List - Dictionaries page
  61304. if ( Variables.lToDoDictionary)
  61305.     Scripting.TDRH_ToDoDictionary.Generate();
  61306.  
  61307. //Generate ToDo List - Triggers List page
  61308. if ( Variables.lToDoTriggersList)
  61309.     Scripting.TDRH_ToDoTriggersList.Generate();
  61310.  
  61311. //Generate ToDo List - Users List page
  61312. if ( Variables.lToDoUsersList)
  61313.     Scripting.TDRH_ToDoUsersList.Generate();
  61314.     
  61315. //Generate ToDo List - Roles List page
  61316. if ( Variables.lToDoRolesList)
  61317.     Scripting.TDRH_ToDoRolesList.Generate();
  61318.  
  61319. Log.Writeln( 'Closing report' );
  61320. HTML.Close();
  61321.  
  61322. // Save HTML report  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61323.  
  61324. TextStream.SaveDialogFilter     = 'html files (*.htm;*.html)|*.htm;*.html';
  61325. TextStream.SaveDialogDefaultExt = 'htm';
  61326.  
  61327. // Save HTML
  61328. Log.Writeln( 'Saving report' );
  61329. for (p=0; p<HTML.CountPages; p++)
  61330.     {
  61331.     Page = HTML.Pages( p );
  61332.     TextStream.Clear();
  61333.     TextStream.FileName = Page.FileName;
  61334.     TextStream.Text     = Page.Text;
  61335.     TextStream.Save();
  61336.     
  61337.     for (f=0; f<Page.CountFrames; f++)
  61338.         {
  61339.         TextStream.Clear();
  61340.         TextStream.FileName = Page.FrameName( f );
  61341.         TextStream.Text     = Page.FrameText( f );
  61342.         TextStream.Save();
  61343.         };
  61344.     };
  61345.  
  61346. Log.Writeln( 'Ready' );
  61347. };
  61348. ]]></VALUE>
  61349. <LANGUAGE>1</LANGUAGE>
  61350. <LANGUAGEWIN>---</LANGUAGEWIN>
  61351. <CATEGORY>3</CATEGORY>
  61352. <MAINSCRIPT>0</MAINSCRIPT>
  61353. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61354. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61355. <AUTHOR>Radim Tkacik</AUTHOR>
  61356. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61357. <VERSION>1.0</VERSION>
  61358. <CREATED><DATE>2/19/2002</DATE><TIME>15:15:04</TIME></CREATED>
  61359. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61360. </TEMPLATE>
  61361. <TEMPLATE>
  61362. <NAME>TDRH_ToDoSummary</NAME>
  61363. <ID>134</ID>
  61364. <GUID>{6EF13CE1-25FB-11D6-A81F-004033539E18}</GUID>
  61365. <CAPTION>TDRH_ToDoSummary</CAPTION>
  61366. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61367. <ENABLED>1</ENABLED>
  61368. <LEVEL>0</LEVEL>
  61369. <IDPARENT>0</IDPARENT>
  61370. <VALUE><![CDATA[function Generate()
  61371. {
  61372.     var d, ToDo, Date_str, ObjectType_name, ObjectTypeSort, ToDoText, Page, Table;
  61373.     var ObjectType_array = new Array(
  61374.         Translator.Translate('NOT_CLASSIFIED',1),
  61375.         Translator.Translate('MODEL',1),
  61376.         Translator.Translate('ENTITY',1),
  61377.         Translator.Translate('DICTIONARY',1),
  61378.         Translator.Translate('DICT_ITEM',1),
  61379.         Translator.Translate('RELATIONSHIP',1),
  61380.         Translator.Translate('TRIGGERS',1),
  61381.         Translator.Translate('USERS',1),
  61382.         Translator.Translate('USER_ROLES',1));
  61383.     var ObjectTypeSort_array = new Array(4,3,2,1,0,5,7,8,6);
  61384.     var ToDoList = DefineInterfaceList();
  61385.     
  61386.     Log.Writeln( 'Generating To-Do List summary' );
  61387.  
  61388.     for (d=0; d<Model.CountToDoItems; d++)
  61389.     {
  61390.         ToDo = Model.ToDoItems(d);
  61391.         Date_str = DateToStr(ToDo.Date,'yyyymmdd');
  61392.         ObjectTypeSort = IntToStr(8-ObjectTypeSort_array[ToDo.ParentObjectType]);
  61393.         ToDoList.AddInterface( Date_str+ObjectTypeSort, ToDo );
  61394.     };
  61395.     ToDoList.Sorted = Variables.lSort;
  61396.  
  61397.     Page = HTML.DefinePage( Translator.Translate( 'SUMMARY',0 ) );
  61398.     Page.FileName = 'ToDoSummary';
  61399.  
  61400.     //=== Basic information ========================================================
  61401.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61402.     Page.Write( '<div align="center"><center>' );
  61403.     Page.Writeln( 'CAPTION1a',    Translator.Translate( 'TO_DO_LIST',1    ) );
  61404.  
  61405.     // Table definition
  61406.    Table = Page.DefineTable( true,false );
  61407.    Table.Width  = '770';
  61408.     Table.DefineColumn();
  61409.    Table.DefineColumn();
  61410.    Table.DefineColumn();
  61411.    Table.DefineColumn();
  61412.    Table.DefineColumn();
  61413.    Table.DefineColumn();
  61414.  
  61415.    // Table header
  61416.    Table.DefineCell( 0,0,Translator.Translate( 'DONE',    1     ) );
  61417.     Table.DefineCell( 0,1,' ! ' );
  61418.     Table.DefineCell( 0,2,Translator.Translate( 'DATE',    1     ) );
  61419.     Table.DefineCell( 0,3,Translator.Translate( 'TEXT',    1    ) );
  61420.     Table.DefineCell( 0,4,Translator.Translate( 'OWNER',    1    ) );
  61421.     Table.DefineCell( 0,5,Translator.Translate( 'OBJECT_TYPE', 1    ) );
  61422.     
  61423.     for (d=0; d<ToDoList.Count; d++)
  61424.     {
  61425.         ToDo = ToDoList.GetInterface(ToDoList.Count-1-d);
  61426.  
  61427.         Table.DefineCell( d+1,0, Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61428.         Table.DefineCell( d+1,1, SysUtils.IntToStr( ToDo.Priority ) );
  61429.         Table.DefineCell( d+1,2, SysUtils.DateToStr( ToDo.Date ) );
  61430.         ToDoText=SysUtils.TxtToHtml( ToDo.Text );
  61431.         if (ToDoText.length>60)
  61432.             ToDoText=ToDoText.substr(0,60)+" ....";
  61433.         Table.DefineCell( d+1,3, ToDoText );
  61434.         Table.DefineCell( d+1,4, ToDo.Owner );
  61435.         ObjectType_name = ObjectType_array[ToDo.ParentObjectType];
  61436.         Table.DefineCell( d+1,5, ObjectType_name );
  61437.     };
  61438.     Table.Draw();
  61439.     Table.Close();
  61440.  
  61441.     Page.Writeln( ' ' );
  61442.     Page.Write( '</center></div>' );    
  61443.     Page.Write( '</body>' );
  61444.     ToDoList.Close( );
  61445. };
  61446. ]]></VALUE>
  61447. <LANGUAGE>1</LANGUAGE>
  61448. <LANGUAGEWIN>---</LANGUAGEWIN>
  61449. <CATEGORY>3</CATEGORY>
  61450. <MAINSCRIPT>0</MAINSCRIPT>
  61451. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61452. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61453. <AUTHOR>Radim Tkacik</AUTHOR>
  61454. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61455. <VERSION>1.0</VERSION>
  61456. <CREATED><DATE>2/20/2002</DATE><TIME>16:14:32</TIME></CREATED>
  61457. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61458. </TEMPLATE>
  61459. <TEMPLATE>
  61460. <NAME>TDRH_ToDoModel</NAME>
  61461. <ID>135</ID>
  61462. <GUID>{6EF13CFD-25FB-11D6-A81F-004033539E18}</GUID>
  61463. <CAPTION>TDRH_ToDoModel</CAPTION>
  61464. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61465. <ENABLED>1</ENABLED>
  61466. <LEVEL>0</LEVEL>
  61467. <IDPARENT>0</IDPARENT>
  61468. <VALUE><![CDATA[function Generate()
  61469. {
  61470.     var d, i, ToDo, Page, Table;
  61471.     var ToDoList = DefineInterfaceList();
  61472.  
  61473.     Log.Writeln( 'Generating ToDo - model report' );
  61474.  
  61475.     for (d=0; d<Model.CountToDoItems; d++)
  61476.     {
  61477.         ToDo = Model.ToDoItems(d);
  61478.         if (ToDo.ParentObjectType==1)
  61479.             ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  61480.     };
  61481.     ToDoList.Sorted = Variables.lSort;
  61482.  
  61483.     if (ToDoList.Count != 0)
  61484.     {
  61485.     Page = HTML.DefinePage( Translator.Translate( 'MODEL',0 ) );
  61486.     Page.FileName = 'ToDoModel';
  61487.  
  61488.     //=== Model ToDo List ========================================================
  61489.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61490.     Page.Write( '<div align="center"><center>' );
  61491.     Page.Write( 'CAPTION1a', Translator.Translate( 'MODEL',1 )+" '"+Model.ModelName+"'" );
  61492.  
  61493.     for (d=0; d<ToDoList.Count; d++)
  61494.     {
  61495.         ToDo = ToDoList.GetInterface(d);
  61496.         if (d>0)
  61497.             Page.Write('<HR width="770" size="1">');
  61498.  
  61499.         Page.Write( 'CAPTION2a',Translator.Translate( 'GENERAL_INFO',1 ) );
  61500.  
  61501.         // Table definition
  61502.         Table = Page.DefineTable( false,true );
  61503.         Table.Width  = '770';
  61504.         Table.DefineColumn( 13 );
  61505.         Table.DefineColumn( );
  61506.         Table.DefineColumn( );    
  61507.         Table.DefineColumn( );
  61508.  
  61509.         // Table header
  61510.         i=0;
  61511.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  61512.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61513.  
  61514.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  61515.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  61516.  
  61517.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  61518.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  61519.  
  61520.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  61521.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  61522.  
  61523.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  61524.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  61525.  
  61526.         Table.Draw();
  61527.         Table.Close();
  61528.  
  61529.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61530.         Page.Write( 'CAPTION2a',    Translator.Translate( 'TEXT',1 ) );
  61531.         Table = Page.DefineTable( false,false );
  61532.         Table.Width  = '770';
  61533.         Table.DefineColumn();
  61534.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  61535.         Table.Draw();
  61536.         Table.Close();
  61537.  
  61538.         //=== User-defined variables =======================================================
  61539.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2a', ToDo, '770' );
  61540.           
  61541.           Page.Writeln( ' ' );
  61542.     };
  61543.     Page.Write( '</center></div>' );
  61544.     Page.Write( '</body>' );
  61545.     }
  61546.     ToDoList.Close( );
  61547. };
  61548. ]]></VALUE>
  61549. <LANGUAGE>1</LANGUAGE>
  61550. <LANGUAGEWIN>---</LANGUAGEWIN>
  61551. <CATEGORY>3</CATEGORY>
  61552. <MAINSCRIPT>0</MAINSCRIPT>
  61553. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61554. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61555. <AUTHOR>Radim Tkacik</AUTHOR>
  61556. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61557. <VERSION>1.0</VERSION>
  61558. <CREATED><DATE>2/20/2002</DATE><TIME>17:40:59</TIME></CREATED>
  61559. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61560. </TEMPLATE>
  61561. <TEMPLATE>
  61562. <NAME>TDRH_ToDoEntities</NAME>
  61563. <ID>136</ID>
  61564. <GUID>{D80D9E7E-253F-11D6-A81C-004033539E18}</GUID>
  61565. <CAPTION>TDRH_ToDoEntities</CAPTION>
  61566. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61567. <ENABLED>1</ENABLED>
  61568. <LEVEL>0</LEVEL>
  61569. <IDPARENT>0</IDPARENT>
  61570. <VALUE><![CDATA[function Generate()
  61571. {
  61572.     var e, d, i, Entity, ToDo, Page, Table;
  61573.     var EntityList = DefineInterfaceList();
  61574.  
  61575.     Log.Writeln( 'Generating ToDo - entity report' );
  61576.  
  61577.     for (e=0; e<Model.CountEntities; e++)
  61578.     {
  61579.         Entity = Model.Entities(e);
  61580.         if (Entity.CountToDoItems>0)
  61581.             EntityList.AddInterface( Entity.Name, Entity );
  61582.     };
  61583.     EntityList.Sorted = Variables.lSort;
  61584.  
  61585.     if (EntityList.Count != 0)
  61586.     {    
  61587.     Page = HTML.DefinePage( Translator.Translate( 'ENTITIES',0 ) );
  61588.     Page.FileName = 'ToDoEntities';
  61589.     Page.LeftFrameWidth = '25%'
  61590.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61591.  
  61592.     for (e=0; e<EntityList.Count; e++)
  61593.     {
  61594.         Entity = EntityList.GetInterface(e);
  61595.     
  61596.        Page.DefineBookmark( 'Entity_'+Entity.Id,Entity.Name );
  61597.        Page.Write( Page.SetBookmark( 'Entity_'+Entity.Id ) );
  61598.        Page.Write( 'CAPTION1', Translator.Translate( 'ENTITY',1 )+" '"+Entity.Name+"'" );
  61599.    
  61600.        for (d=0; d<Entity.CountToDoItems; d++)
  61601.         {
  61602.         if (d>0)
  61603.             Page.Write('<HR size="1">');
  61604.             
  61605.        ToDo = Entity.ToDoItems( d );
  61606.         // Entities ToDo List - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61607.  
  61608.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  61609.     
  61610.         // Table definition
  61611.         Table = Page.DefineTable( false,true );
  61612.         Table.DefineColumn( 13 );
  61613.         Table.DefineColumn( );
  61614.         Table.DefineColumn( );    
  61615.         Table.DefineColumn( );
  61616.  
  61617.         // Table header
  61618.         i=0;
  61619.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  61620.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61621.  
  61622.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  61623.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  61624.  
  61625.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  61626.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  61627.  
  61628.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  61629.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  61630.  
  61631.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  61632.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  61633.  
  61634.         Table.Draw();
  61635.         Table.Close();
  61636.  
  61637.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61638.         Page.Write( 'CAPTION2',    Translator.Translate( 'TEXT',1 ) );
  61639.         Table = Page.DefineTable( false,false );
  61640.         Table.DefineColumn();
  61641.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  61642.         Table.Draw();
  61643.         Table.Close();
  61644.         //=== User-defined variables =======================================================
  61645.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', ToDo );
  61646.           
  61647.         Page.Writeln( ' ' );
  61648.         }
  61649.     };
  61650.     Page.Write( '</body>' );
  61651.     };
  61652.     EntityList.Close( );
  61653. };
  61654. ]]></VALUE>
  61655. <LANGUAGE>1</LANGUAGE>
  61656. <LANGUAGEWIN>---</LANGUAGEWIN>
  61657. <CATEGORY>3</CATEGORY>
  61658. <MAINSCRIPT>0</MAINSCRIPT>
  61659. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61660. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61661. <AUTHOR>Radim Tkacik</AUTHOR>
  61662. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61663. <VERSION>1.0</VERSION>
  61664. <CREATED><DATE>2/19/2002</DATE><TIME>15:39:45</TIME></CREATED>
  61665. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61666. </TEMPLATE>
  61667. <TEMPLATE>
  61668. <NAME>TDRH_ToDoRelationships</NAME>
  61669. <ID>137</ID>
  61670. <GUID>{6EF13CF8-25FB-11D6-A81F-004033539E18}</GUID>
  61671. <CAPTION>TDRH_ToDoRelationships</CAPTION>
  61672. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61673. <ENABLED>1</ENABLED>
  61674. <LEVEL>0</LEVEL>
  61675. <IDPARENT>0</IDPARENT>
  61676. <VALUE><![CDATA[function Generate()
  61677. {
  61678.     var r, d, i, Relation, ToDo, Page, Table;
  61679.     var RelationList = DefineInterfaceList();
  61680.  
  61681.     Log.Writeln( 'Generating ToDo - relationship report' );
  61682.  
  61683.     for (r=0; r<Model.CountRelations; r++)
  61684.     {
  61685.         Relation = Model.Relations(r);
  61686.         if (Relation.CountToDoItems>0)
  61687.             RelationList.AddInterface( Relation.Name, Relation );
  61688.     };
  61689.     RelationList.Sorted = Variables.lSort;
  61690.  
  61691.     if (RelationList.Count != 0)
  61692.     {        
  61693.     Page = HTML.DefinePage( Translator.Translate( 'RELATIONSHIPS',0 ) );
  61694.     Page.FileName = 'ToDoRelationships';
  61695.     Page.LeftFrameWidth = '25%'
  61696.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61697.     
  61698.     for (r=0; r<RelationList.Count; r++)
  61699.     {
  61700.         Relation = RelationList.GetInterface(r);
  61701.     
  61702.        Page.DefineBookmark( 'Relation_'+Relation.Id,Relation.Name );
  61703.        Page.Write( Page.SetBookmark( 'Relation_'+Relation.Id ) );
  61704.        Page.Write( 'CAPTION1', Translator.Translate( 'RELATIONSHIP',1 )+" '"+Relation.Name+"'" );
  61705.    
  61706.        for (d=0; d<Relation.CountToDoItems; d++)
  61707.         {
  61708.         if (d>0)
  61709.             Page.Write('<HR size="1">');
  61710.             
  61711.        ToDo = Relation.ToDoItems( d );
  61712.         // Relationships ToDo List - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61713.  
  61714.         Page.Write( 'CAPTION2',Translator.Translate( 'GENERAL_INFO',1 ) );
  61715.     
  61716.         // Table definition
  61717.         Table = Page.DefineTable( false,true );
  61718.         Table.DefineColumn( 13 );
  61719.         Table.DefineColumn( );
  61720.         Table.DefineColumn( );    
  61721.         Table.DefineColumn( );
  61722.  
  61723.         // Table header
  61724.         i=0;
  61725.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  61726.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61727.  
  61728.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  61729.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  61730.  
  61731.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  61732.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  61733.  
  61734.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  61735.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  61736.  
  61737.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  61738.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  61739.  
  61740.         Table.Draw();
  61741.         Table.Close();
  61742.  
  61743.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61744.         Page.Write( 'CAPTION2',    Translator.Translate( 'TEXT',1 ) );
  61745.         Table = Page.DefineTable( false,false );
  61746.         Table.DefineColumn();
  61747.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  61748.         Table.Draw();
  61749.         Table.Close();
  61750.  
  61751.         //=== User-defined variables =======================================================
  61752.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2', ToDo );
  61753.           
  61754.         Page.Writeln( ' ' );
  61755.         }
  61756.     };
  61757.     Page.Write( '</body>' );
  61758.     };
  61759.     RelationList.Close( );
  61760. };
  61761. ]]></VALUE>
  61762. <LANGUAGE>1</LANGUAGE>
  61763. <LANGUAGEWIN>---</LANGUAGEWIN>
  61764. <CATEGORY>3</CATEGORY>
  61765. <MAINSCRIPT>0</MAINSCRIPT>
  61766. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61767. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61768. <AUTHOR>Radim Tkacik</AUTHOR>
  61769. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61770. <VERSION>1.0</VERSION>
  61771. <CREATED><DATE>2/20/2002</DATE><TIME>17:25:04</TIME></CREATED>
  61772. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61773. </TEMPLATE>
  61774. <TEMPLATE>
  61775. <NAME>TDRH_ToDoDictionary</NAME>
  61776. <ID>138</ID>
  61777. <GUID>{28A04363-26A9-11D6-A820-004033539E18}</GUID>
  61778. <CAPTION>TDRH_ToDoDictionary</CAPTION>
  61779. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61780. <ENABLED>1</ENABLED>
  61781. <LEVEL>0</LEVEL>
  61782. <IDPARENT>0</IDPARENT>
  61783. <VALUE><![CDATA[function Generate()
  61784. {
  61785.     var d, i, ToDo, Page, Table;
  61786.     var ToDoList = DefineInterfaceList();
  61787.  
  61788.     Log.Writeln( 'Generating ToDo - dictionary report' );
  61789.  
  61790.     for (d=0; d<Model.CountToDoItems; d++)
  61791.     {
  61792.         ToDo = Model.ToDoItems(d);
  61793.         if (ToDo.ParentObjectType==3)
  61794.             ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  61795.     };
  61796.     ToDoList.Sorted = Variables.lSort;
  61797.  
  61798.     if (ToDoList.Count != 0)
  61799.     {    
  61800.     Page = HTML.DefinePage( Translator.Translate( 'DICTIONARY',0 ) );
  61801.     Page.FileName = 'ToDoDictionary';
  61802.  
  61803.     //=== Dictionary ToDo List ========================================================
  61804.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61805.     Page.Write( '<div align="center"><center>' );
  61806.    Page.Write( 'CAPTION1a', Translator.Translate( 'DICTIONARY',1 ) );
  61807.     
  61808.     for (d=0; d<ToDoList.Count; d++)
  61809.     {
  61810.         ToDo = ToDoList.GetInterface(d);
  61811.         if (d>0)
  61812.             Page.Write('<HR width="770" size="1">');
  61813.  
  61814.         Page.Write( 'CAPTION2a',Translator.Translate( 'GENERAL_INFO',1 ) );
  61815.     
  61816.         // Table definition
  61817.         Table = Page.DefineTable( false,true );
  61818.         Table.Width  = '770';
  61819.         Table.DefineColumn( 13 );
  61820.         Table.DefineColumn( );
  61821.         Table.DefineColumn( );    
  61822.         Table.DefineColumn( );
  61823.  
  61824.         // Table header
  61825.         i=0;
  61826.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  61827.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61828.  
  61829.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  61830.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  61831.  
  61832.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  61833.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  61834.  
  61835.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  61836.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  61837.  
  61838.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  61839.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  61840.  
  61841.         Table.Draw();
  61842.         Table.Close();
  61843.  
  61844.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61845.         Page.Write( 'CAPTION2a',    Translator.Translate( 'TEXT',1 ) );
  61846.         Table = Page.DefineTable( false,false );
  61847.         Table.Width  = '770';
  61848.         Table.DefineColumn();
  61849.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  61850.         Table.Draw();
  61851.         Table.Close();
  61852.  
  61853.         //=== User-defined variables =======================================================
  61854.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2a', ToDo, '770' );
  61855.           
  61856.           Page.Writeln(' ');
  61857.     };
  61858.     Page.Write( '</center></div>' );
  61859.     Page.Write( '</body>' );
  61860.     };
  61861.     ToDoList.Close( );
  61862. };
  61863. ]]></VALUE>
  61864. <LANGUAGE>1</LANGUAGE>
  61865. <LANGUAGEWIN>---</LANGUAGEWIN>
  61866. <CATEGORY>3</CATEGORY>
  61867. <MAINSCRIPT>0</MAINSCRIPT>
  61868. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61869. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61870. <AUTHOR>Radim Tkacik</AUTHOR>
  61871. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61872. <VERSION>1.0</VERSION>
  61873. <CREATED><DATE>2/21/2002</DATE><TIME>10:09:56</TIME></CREATED>
  61874. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61875. </TEMPLATE>
  61876. <TEMPLATE>
  61877. <NAME>TDRH_ToDoTriggersList</NAME>
  61878. <ID>139</ID>
  61879. <GUID>{28A04380-26A9-11D6-A820-004033539E18}</GUID>
  61880. <CAPTION>TDRH_ToDoTriggersList</CAPTION>
  61881. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61882. <ENABLED>1</ENABLED>
  61883. <LEVEL>0</LEVEL>
  61884. <IDPARENT>0</IDPARENT>
  61885. <VALUE><![CDATA[function Generate()
  61886. {
  61887.     var d, i, ToDo, Page, Table;
  61888.     var ToDoList = DefineInterfaceList();
  61889.  
  61890.     Log.Writeln( 'Generating ToDo - triggers list report' );
  61891.  
  61892.     for (d=0; d<Model.CountToDoItems; d++)
  61893.     {
  61894.         ToDo = Model.ToDoItems(d);
  61895.         if (ToDo.ParentObjectType==6)
  61896.             ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  61897.     };
  61898.     ToDoList.Sorted = Variables.lSort;
  61899.  
  61900.     if (ToDoList.Count != 0)
  61901.     {    
  61902.     Page = HTML.DefinePage( Translator.Translate( 'TRIGGERS',0 ) );
  61903.     Page.FileName = 'ToDoTriggers';
  61904.  
  61905.     //=== Triggers ToDo List ========================================================
  61906.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  61907.     Page.Write( '<div align="center"><center>' );
  61908.    Page.Write( 'CAPTION1a', Translator.Translate( 'TRIGGERS',1 ) );
  61909.     
  61910.     for (d=0; d<ToDoList.Count; d++)
  61911.     {
  61912.         ToDo = ToDoList.GetInterface(d);
  61913.         if (d>0)
  61914.             Page.Write('<HR width="770" size="1">');
  61915.  
  61916.         Page.Write( 'CAPTION2a',Translator.Translate( 'GENERAL_INFO',1 ) );
  61917.     
  61918.         // Table definition
  61919.         Table = Page.DefineTable( false,true );
  61920.         Table.Width  = '770';
  61921.         Table.DefineColumn( 13 );
  61922.         Table.DefineColumn( );
  61923.         Table.DefineColumn( );    
  61924.         Table.DefineColumn( );
  61925.  
  61926.         // Table header
  61927.         i=0;
  61928.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  61929.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  61930.  
  61931.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  61932.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  61933.  
  61934.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  61935.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  61936.  
  61937.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  61938.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  61939.  
  61940.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  61941.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  61942.  
  61943.         Table.Draw();
  61944.         Table.Close();
  61945.  
  61946.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61947.         Page.Write( 'CAPTION2a',    Translator.Translate( 'TEXT',1 ) );
  61948.         Table = Page.DefineTable( false,false );
  61949.         Table.Width  = '770';
  61950.         Table.DefineColumn();
  61951.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  61952.         Table.Draw();
  61953.         Table.Close();
  61954.  
  61955.         //=== User-defined variables =======================================================
  61956.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2a', ToDo, '770' );
  61957.           
  61958.           Page.Writeln( ' ' );
  61959.     };
  61960.     Page.Write( '</center></div>' );
  61961.     Page.Write( '</body>' );
  61962.     };
  61963.     ToDoList.Close( );
  61964. };
  61965. ]]></VALUE>
  61966. <LANGUAGE>1</LANGUAGE>
  61967. <LANGUAGEWIN>---</LANGUAGEWIN>
  61968. <CATEGORY>3</CATEGORY>
  61969. <MAINSCRIPT>0</MAINSCRIPT>
  61970. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  61971. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  61972. <AUTHOR>Radim Tkacik</AUTHOR>
  61973. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  61974. <VERSION>1.0</VERSION>
  61975. <CREATED><DATE>2/21/2002</DATE><TIME>13:39:22</TIME></CREATED>
  61976. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  61977. </TEMPLATE>
  61978. <TEMPLATE>
  61979. <NAME>TDRH_ToDoUsersList</NAME>
  61980. <ID>140</ID>
  61981. <GUID>{28A043B0-26A9-11D6-A820-004033539E18}</GUID>
  61982. <CAPTION>TDRH_ToDoUsersList</CAPTION>
  61983. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  61984. <ENABLED>1</ENABLED>
  61985. <LEVEL>0</LEVEL>
  61986. <IDPARENT>0</IDPARENT>
  61987. <VALUE><![CDATA[function Generate()
  61988. {
  61989.     var d, i, ToDo, Page, Table;
  61990.     var ToDoList = DefineInterfaceList();
  61991.  
  61992.     Log.Writeln( 'Generating ToDo - users list report' );
  61993.  
  61994.     for (d=0; d<Model.CountToDoItems; d++)
  61995.     {
  61996.         ToDo = Model.ToDoItems(d);
  61997.         if (ToDo.ParentObjectType==7)
  61998.             ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  61999.     };
  62000.     ToDoList.Sorted = Variables.lSort;
  62001.  
  62002.     if (ToDoList.Count != 0)
  62003.     {    
  62004.     Page = HTML.DefinePage( Translator.Translate( 'USERS',0 ) );
  62005.     Page.FileName = 'ToDoUsers';
  62006.  
  62007.     //=== Users ToDo List ========================================================
  62008.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  62009.     Page.Write( '<div align="center"><center>' );
  62010.    Page.Write( 'CAPTION1a', Translator.Translate( 'USERS',1 ) );
  62011.     
  62012.     for (d=0; d<ToDoList.Count; d++)
  62013.     {
  62014.         ToDo = ToDoList.GetInterface(d);
  62015.         if (d>0)
  62016.             Page.Write('<HR width="770" size="1">');
  62017.  
  62018.         Page.Write( 'CAPTION2a',Translator.Translate( 'GENERAL_INFO',1 ) );
  62019.     
  62020.         // Table definition
  62021.         Table = Page.DefineTable( false,true );
  62022.         Table.Width  = '770';
  62023.         Table.DefineColumn( 13 );
  62024.         Table.DefineColumn( );
  62025.         Table.DefineColumn( );    
  62026.         Table.DefineColumn( );
  62027.  
  62028.         // Table header
  62029.         i=0;
  62030.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  62031.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62032.  
  62033.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  62034.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  62035.  
  62036.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  62037.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  62038.  
  62039.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  62040.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  62041.  
  62042.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  62043.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  62044.  
  62045.         Table.Draw();
  62046.         Table.Close();
  62047.  
  62048.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62049.         Page.Write( 'CAPTION2a',    Translator.Translate( 'TEXT',1 ) );
  62050.         Table = Page.DefineTable( false,false );
  62051.         Table.Width  = '770';
  62052.         Table.DefineColumn();
  62053.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  62054.         Table.Draw();
  62055.         Table.Close();
  62056.  
  62057.         //=== User-defined variables =======================================================
  62058.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2a', ToDo, '770' );
  62059.           
  62060.           Page.Writeln( ' ' );
  62061.     };
  62062.     Page.Write( '</center></div>' );
  62063.     Page.Write( '</body>' );
  62064.     };
  62065.     ToDoList.Close( );
  62066. };
  62067. ]]></VALUE>
  62068. <LANGUAGE>1</LANGUAGE>
  62069. <LANGUAGEWIN>---</LANGUAGEWIN>
  62070. <CATEGORY>3</CATEGORY>
  62071. <MAINSCRIPT>0</MAINSCRIPT>
  62072. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62073. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62074. <AUTHOR>Radim Tkacik</AUTHOR>
  62075. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62076. <VERSION>1.0</VERSION>
  62077. <CREATED><DATE>2/21/2002</DATE><TIME>13:49:16</TIME></CREATED>
  62078. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62079. </TEMPLATE>
  62080. <TEMPLATE>
  62081. <NAME>TDRH_ToDoRolesList</NAME>
  62082. <ID>141</ID>
  62083. <GUID>{28A043B1-26A9-11D6-A820-004033539E18}</GUID>
  62084. <CAPTION>TDRH_ToDoRolesList</CAPTION>
  62085. <PACKAGEGUID>{008582EC-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62086. <ENABLED>1</ENABLED>
  62087. <LEVEL>0</LEVEL>
  62088. <IDPARENT>0</IDPARENT>
  62089. <VALUE><![CDATA[function Generate()
  62090. {
  62091.     var d, i, ToDo, Page, Table;
  62092.     var ToDoList = DefineInterfaceList();
  62093.  
  62094.     Log.Writeln( 'Generating ToDo - roles list report' );
  62095.  
  62096.     for (d=0; d<Model.CountToDoItems; d++)
  62097.     {
  62098.         ToDo = Model.ToDoItems(d);
  62099.         if (ToDo.ParentObjectType==8)
  62100.             ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  62101.     };
  62102.     ToDoList.Sorted = Variables.lSort;
  62103.  
  62104.     if (ToDoList.Count != 0)
  62105.     {    
  62106.     Page = HTML.DefinePage( Translator.Translate( 'USER_ROLES',0 ) );
  62107.     Page.FileName = 'ToDoRoles';
  62108.  
  62109.     //=== Roles ToDo List ========================================================
  62110.     Page.Write( '<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10">' );
  62111.     Page.Write( '<div align="center"><center>' );
  62112.     Page.Write( 'CAPTION1a', Translator.Translate( 'USER_ROLES',1 ) );
  62113.     
  62114.     for (d=0; d<ToDoList.Count; d++)
  62115.     {
  62116.         ToDo = ToDoList.GetInterface(d);
  62117.         if (d>0)
  62118.             Page.Write('<HR width="770" size="1">');
  62119.  
  62120.         Page.Write( 'CAPTION2a',Translator.Translate( 'GENERAL_INFO',1 ) );
  62121.     
  62122.         // Table definition
  62123.         Table = Page.DefineTable( false,true );
  62124.         Table.Width  = '770';
  62125.         Table.DefineColumn( 13 );
  62126.         Table.DefineColumn( );
  62127.         Table.DefineColumn( );    
  62128.         Table.DefineColumn( );
  62129.  
  62130.         // Table header
  62131.         i=0;
  62132.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  62133.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62134.  
  62135.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  62136.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  62137.  
  62138.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  62139.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Category ) );
  62140.  
  62141.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  62142.         Table.DefineCell( i,1,SysUtils.TxtToHtml( ToDo.Owner ) );
  62143.  
  62144.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  62145.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  62146.  
  62147.         Table.Draw();
  62148.         Table.Close();
  62149.  
  62150.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62151.         Page.Write( 'CAPTION2a',    Translator.Translate( 'TEXT',1 ) );
  62152.         Table = Page.DefineTable( false,false );
  62153.         Table.Width  = '770';
  62154.         Table.DefineColumn();
  62155.         Table.DefineCell( 0,0,SysUtils.TxtToHtml( ToDo.Text ) );
  62156.         Table.Draw();
  62157.         Table.Close();
  62158.  
  62159.         //=== User-defined variables =======================================================
  62160.           Scripting.SysReportUtils.ReportUDefVariables( Page, 'CAPTION2a', ToDo, '770' );
  62161.           
  62162.           Page.Writeln( ' ' );
  62163.     };
  62164.     Page.Write( '</center></div>' );
  62165.     Page.Write( '</body>' );
  62166.     };
  62167.     ToDoList.Close( );
  62168. };
  62169. ]]></VALUE>
  62170. <LANGUAGE>1</LANGUAGE>
  62171. <LANGUAGEWIN>---</LANGUAGEWIN>
  62172. <CATEGORY>3</CATEGORY>
  62173. <MAINSCRIPT>0</MAINSCRIPT>
  62174. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62175. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62176. <AUTHOR>Radim Tkacik</AUTHOR>
  62177. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62178. <VERSION>1.0</VERSION>
  62179. <CREATED><DATE>2/21/2002</DATE><TIME>13:51:16</TIME></CREATED>
  62180. <MODIFIED><DATE>6/3/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62181. </TEMPLATE>
  62182. <TEMPLATE>
  62183. <NAME>TDRH</NAME>
  62184. <ID>142</ID>
  62185. <GUID>{CE81BDF4-2672-4220-A8D7-143735B482C8}</GUID>
  62186. <CAPTION>ToDo List report</CAPTION>
  62187. <PACKAGEGUID>{7CEB5014-B34E-4587-9C88-CAAE53239B40}</PACKAGEGUID>
  62188. <ENABLED>1</ENABLED>
  62189. <LEVEL>0</LEVEL>
  62190. <IDPARENT>0</IDPARENT>
  62191. <VALUE><![CDATA[function Main()
  62192. {
  62193.     Translator.DefaultLng = 'csy';
  62194.     Scripting.TDRH_Main.Main();
  62195. };
  62196.  
  62197. function DefineVariables()
  62198. {
  62199. Variables.DefineVariable( 'lSort',                    'Set°φdit objekty podle abecedy',        1 );
  62200. Variables.lSort                    = false;
  62201.  
  62202. Variables.DefineVariable( 'lToDoSummary',            'Generuj To-Do list - souhrn² seznam',    1 );
  62203. Variables.lToDoSummary            = true;
  62204.  
  62205. Variables.DefineVariable( 'lToDoModel',            'Generuj To-Do list - model',                1 );
  62206. Variables.lToDoModel                = true;
  62207.  
  62208. Variables.DefineVariable( 'lToDoEntities',        'Generuj To-Do list - entity',                1 );
  62209. Variables.lToDoEntities            = true;
  62210.  
  62211. Variables.DefineVariable( 'lToDoRelationships',    'Generuj To-Do list - relace',                1 );
  62212. Variables.lToDoRelationships    = true;
  62213.  
  62214. Variables.DefineVariable( 'lToDoDictionary',        'Generuj To-Do list - slovnφk',            1 );
  62215. Variables.lToDoDictionary        = true;
  62216.  
  62217. Variables.DefineVariable( 'lToDoTriggersList',    'Generuj To-Do list - triggery',            1 );
  62218. Variables.lToDoTriggersList    = true;
  62219.  
  62220. Variables.DefineVariable( 'lToDoUsersList',        'Generuj To-Do list - u₧ivatelΘ',            1 );
  62221. Variables.lToDoUsersList        = true;
  62222.  
  62223. Variables.DefineVariable( 'lToDoRolesList',        'Generuj To-Do list - u₧ivatelskΘ role',1 );
  62224. Variables.lToDoRolesList        = true;
  62225.  
  62226. };
  62227. ]]></VALUE>
  62228. <LANGUAGE>1</LANGUAGE>
  62229. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  62230. <CATEGORY>3</CATEGORY>
  62231. <MAINSCRIPT>1</MAINSCRIPT>
  62232. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62233. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62234. <AUTHOR>Radim Tkacik</AUTHOR>
  62235. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62236. <VERSION>1.0</VERSION>
  62237. <CREATED><DATE>4/12/2002</DATE><TIME>12:04:25</TIME></CREATED>
  62238. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62239. </TEMPLATE>
  62240. <TEMPLATE>
  62241. <NAME>TDRH_Dictionary</NAME>
  62242. <ID>143</ID>
  62243. <GUID>{B7A8A331-2332-4EF3-8C94-6CA811519E46}</GUID>
  62244. <CAPTION>TDRH_Dictionary</CAPTION>
  62245. <PACKAGEGUID>{7CEB5014-B34E-4587-9C88-CAAE53239B40}</PACKAGEGUID>
  62246. <ENABLED>1</ENABLED>
  62247. <LEVEL>0</LEVEL>
  62248. <IDPARENT>0</IDPARENT>
  62249. <VALUE><![CDATA[function ReadVocabulary()
  62250. {
  62251. Translator.Add( 'SUMMARY',                'souhrn² seznam'        );
  62252. Translator.Add( 'NOT_CLASSIFIED',    'nenφ klasifikovßn'    );
  62253. Translator.Add( 'DICT_ITEM',            'dict. item'            );
  62254. };
  62255. ]]></VALUE>
  62256. <LANGUAGE>1</LANGUAGE>
  62257. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  62258. <CATEGORY>3</CATEGORY>
  62259. <MAINSCRIPT>0</MAINSCRIPT>
  62260. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62261. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62262. <AUTHOR>Radim Tkacik</AUTHOR>
  62263. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62264. <VERSION>1.0</VERSION>
  62265. <CREATED><DATE>4/12/2002</DATE><TIME>12:07:17</TIME></CREATED>
  62266. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62267. </TEMPLATE>
  62268. <TEMPLATE>
  62269. <NAME>TDRH</NAME>
  62270. <ID>144</ID>
  62271. <GUID>{D80D9E7A-253F-11D6-A81C-004033539E18}</GUID>
  62272. <CAPTION>ToDo List report</CAPTION>
  62273. <PACKAGEGUID>{008582ED-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62274. <ENABLED>1</ENABLED>
  62275. <LEVEL>0</LEVEL>
  62276. <IDPARENT>0</IDPARENT>
  62277. <VALUE><![CDATA[function Main()
  62278. {
  62279.     Translator.DefaultLng = 'enu';
  62280.     Scripting.TDRH_Main.Main();
  62281. };
  62282.  
  62283. function DefineVariables()
  62284. {
  62285. Variables.DefineVariable( 'lSort',                    'Sort objects alphabeticaly',         1 );
  62286. Variables.lSort                    = false;
  62287.  
  62288. Variables.DefineVariable( 'lToDoSummary',            'Generate To-Do list - Summary',        1 );
  62289. Variables.lToDoSummary            = true;
  62290.  
  62291. Variables.DefineVariable( 'lToDoModel',            'Generate To-Do list - Model',            1 );
  62292. Variables.lToDoModel                = true;
  62293.  
  62294. Variables.DefineVariable( 'lToDoEntities',        'Generate To-Do list - Entities',        1 );
  62295. Variables.lToDoEntities            = true;
  62296.  
  62297. Variables.DefineVariable( 'lToDoRelationships',    'Generate To-Do list - Relationships',1 );
  62298. Variables.lToDoRelationships    = true;
  62299.  
  62300. Variables.DefineVariable( 'lToDoDictionary',        'Generate To-Do list - Dictionary',    1 );
  62301. Variables.lToDoDictionary        = true;
  62302.  
  62303. Variables.DefineVariable( 'lToDoTriggersList',    'Generate To-Do list - Triggers',        1 );
  62304. Variables.lToDoTriggersList    = true;
  62305.  
  62306. Variables.DefineVariable( 'lToDoUsersList',        'Generate To-Do list - Users',            1 );
  62307. Variables.lToDoUsersList        = true;
  62308.  
  62309. Variables.DefineVariable( 'lToDoRolesList',        'Generate To-Do list - Roles',            1 );
  62310. Variables.lToDoRolesList        = true;
  62311.  
  62312. };
  62313. ]]></VALUE>
  62314. <LANGUAGE>1</LANGUAGE>
  62315. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  62316. <CATEGORY>3</CATEGORY>
  62317. <MAINSCRIPT>1</MAINSCRIPT>
  62318. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62319. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62320. <AUTHOR>Radim Tkacik</AUTHOR>
  62321. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62322. <VERSION>1.0</VERSION>
  62323. <CREATED><DATE>2/19/2002</DATE><TIME>15:13:16</TIME></CREATED>
  62324. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62325. </TEMPLATE>
  62326. <TEMPLATE>
  62327. <NAME>TDRH_Dictionary</NAME>
  62328. <ID>145</ID>
  62329. <GUID>{28A043B2-26A9-11D6-A820-004033539E18}</GUID>
  62330. <CAPTION>TDRH_Dictionary</CAPTION>
  62331. <PACKAGEGUID>{008582ED-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62332. <ENABLED>1</ENABLED>
  62333. <LEVEL>0</LEVEL>
  62334. <IDPARENT>0</IDPARENT>
  62335. <VALUE><![CDATA[function ReadVocabulary()
  62336. {
  62337. Translator.Add( 'SUMMARY',                'summary'                    );
  62338. Translator.Add( 'NOT_CLASSIFIED',    'not classified'            );
  62339. Translator.Add( 'DICT_ITEM',            'dict. item'                );
  62340. };
  62341. ]]></VALUE>
  62342. <LANGUAGE>1</LANGUAGE>
  62343. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  62344. <CATEGORY>3</CATEGORY>
  62345. <MAINSCRIPT>0</MAINSCRIPT>
  62346. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62347. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62348. <AUTHOR>Radim Tkacik</AUTHOR>
  62349. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62350. <VERSION>1.0</VERSION>
  62351. <CREATED><DATE>2/21/2002</DATE><TIME>14:28:40</TIME></CREATED>
  62352. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62353. </TEMPLATE>
  62354. <TEMPLATE>
  62355. <NAME>TDRR_Main</NAME>
  62356. <ID>146</ID>
  62357. <GUID>{C6FA94BC-29D1-11D6-A823-004033539E18}</GUID>
  62358. <CAPTION>TDRR_Main</CAPTION>
  62359. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62360. <ENABLED>1</ENABLED>
  62361. <LEVEL>0</LEVEL>
  62362. <IDPARENT>0</IDPARENT>
  62363. <VALUE><![CDATA[function Main()
  62364. {
  62365. var i, Object, ToDoText;
  62366.  
  62367. Log.Clear();
  62368. Log.Writeln( 'Reading language specifications' );
  62369. Scripting.LngSpec.SetLngSpecifications();
  62370.  
  62371. Log.Writeln( 'Reading vocabulary' );
  62372. Scripting.Dictionary.ReadVocabulary();
  62373. Scripting.TDRR_Dictionary.ReadVocabulary();
  62374.  
  62375. Rtf.New();
  62376.  
  62377. // Style definition
  62378. Rtf.DefineStyle( 'SECTBEG',  '{{\\header \\pard\\plain \\f1\\fs24\\qr \\brdrb\\brdrsh\\brdrw10\\brsp10 {','\\par}}' ); 
  62379. Rtf.DefineStyle( 'SECTEND',  '','{\\footer \\pard\\plain \\f1\\fs24\\qc -\\chpgn - \\par}}\\sect' );
  62380.  
  62381. Rtf.DefineStyle( 'CAPTION1', '{\\pard \\outlinelevel0\\keepn\\b\\f0\\fs28\\sa140\\cf6\\qc ','\\par}\\pard ' ); 
  62382. Rtf.DefineStyle( 'CAPTION2', '{\\pard \\outlinelevel1\\keepn\\b0\\f0\\fs24\\sb180\\sa120\\cf9 ','\\par}\\pard ' ); 
  62383. Rtf.DefineStyle( 'CAPTION3', '{\\pard \\outlinelevel2\\keepn\\b\\f0\\fs22\\sb140\\sa80\\brdrt\\brdrb\\brdrsh\\brdrw1\\brsp1 ','\\par}\\pard ' ); 
  62384. Rtf.DefineStyle( 'CAPTION4', '{\\pard \\outlinelevel2\\keepn\\b\\f0\\fs22\\sb140\\sa80 ','\\par}\\pard ' ); 
  62385. Rtf.DefineStyle( 'SOURCE',   '{\\pard\\f2\\fs20 ','\\par}\\pard' );
  62386.  
  62387. // Define references
  62388. if ( Variables.lReferences )
  62389.     {
  62390.         for (i=0; i<Model.CountToDoItems; i++)
  62391.         {
  62392.             Object = Model.ToDoItems(i);
  62393.             ToDoText = Object.Text;
  62394.             ToDoText = ToDoText.substr(0,ToDoText.length-2);
  62395.             if (ToDoText.length>40)
  62396.                 ToDoText = ToDoText.substr(0,40);
  62397.             Rtf.DefineBookmark( 'ToDo_'+Object.Id,ToDoText );
  62398.         };
  62399.     }
  62400.  
  62401. //Generate report title
  62402. if ( Variables.lTitle )
  62403.     Scripting.TDRR_Title.Generate();
  62404.  
  62405. //Generate ToDo List - Summary report
  62406. if ( Variables.lToDoSummary)
  62407.     Scripting.TDRR_ToDoSummary.Generate();
  62408.     
  62409. //Generate ToDo List - Model report
  62410. if ( Variables.lToDoModel)
  62411.     Scripting.TDRR_ToDoModel.Generate();
  62412.     
  62413. //Generate ToDo List - Entities report
  62414. if ( Variables.lToDoEntities)
  62415.     Scripting.TDRR_ToDoEntities.Generate();
  62416.  
  62417. //Generate ToDo List - Relationships report
  62418. if ( Variables.lToDoRelationships)
  62419.     Scripting.TDRR_ToDoRelationships.Generate();
  62420.  
  62421. //Generate ToDo List - Dictionaries report
  62422. if ( Variables.lToDoDictionary)
  62423.     Scripting.TDRR_ToDoDictionary.Generate();
  62424.  
  62425. //Generate ToDo List - Triggers List report
  62426. if ( Variables.lToDoTriggersList)
  62427.     Scripting.TDRR_ToDoTriggersList.Generate();
  62428.  
  62429. //Generate ToDo List - Users List report
  62430. if ( Variables.lToDoUsersList)
  62431.     Scripting.TDRR_ToDoUsersList.Generate();
  62432.     
  62433. //Generate ToDo List - Roles List report
  62434. if ( Variables.lToDoRolesList)
  62435.     Scripting.TDRR_ToDoRolesList.Generate();
  62436.  
  62437. Log.Writeln( 'Closing report' );
  62438. Rtf.Close();
  62439.  
  62440. //Save report
  62441. Log.Writeln( 'Saving report' );
  62442. TextStream.Text = Rtf.Text;
  62443. TextStream.Save();
  62444.  
  62445. Log.Writeln( 'Ready' );
  62446. };
  62447. ]]></VALUE>
  62448. <LANGUAGE>1</LANGUAGE>
  62449. <LANGUAGEWIN>---</LANGUAGEWIN>
  62450. <CATEGORY>4</CATEGORY>
  62451. <MAINSCRIPT>0</MAINSCRIPT>
  62452. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62453. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62454. <AUTHOR>Radim Tkacik</AUTHOR>
  62455. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62456. <VERSION>1.0</VERSION>
  62457. <CREATED><DATE>2/25/2002</DATE><TIME>10:50:30</TIME></CREATED>
  62458. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62459. </TEMPLATE>
  62460. <TEMPLATE>
  62461. <NAME>TDRR_Title</NAME>
  62462. <ID>147</ID>
  62463. <GUID>{C6FA94BE-29D1-11D6-A823-004033539E18}</GUID>
  62464. <CAPTION>TDRR_Title</CAPTION>
  62465. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62466. <ENABLED>1</ENABLED>
  62467. <LEVEL>0</LEVEL>
  62468. <IDPARENT>0</IDPARENT>
  62469. <VALUE><![CDATA[function Generate()
  62470. {
  62471. Log.Writeln( 'Generating title page'  );
  62472.  
  62473. Rtf.Write(   '{\\titlepg\\qc' );
  62474. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw30\\brsp10'  );
  62475. Rtf.Writeln( '\\fs72\\brdrt\\brdrsh\\brdrw15\\brsp10' );
  62476. Rtf.Writeln( '\\b\\f0\\shad '+Translator.Translate( 'TO_DO_LIST',    2 ) );
  62477. Rtf.Writeln( '\\fs24'  +Translator.Translate( 'FOR_PROJECT',    2 ) );
  62478. Rtf.Writeln( '\\fs28' );
  62479. Rtf.Writeln( Model.ProjectName );
  62480. Rtf.Writeln( '\\fs24'+Translator.Translate('VERSION',1)+' '+Model.Version );
  62481. Rtf.Writeln( '' );
  62482. Rtf.Writeln( '\\fs8\\brdrt\\brdrsh\\brdrw15\\brsp30' );
  62483. Rtf.Writeln( '\\brdrt\\brdrsh\\brdrw30\\brsp30\\sa9000' );
  62484.  
  62485. Rtf.Writeln( '\\pard \\qr\\b\\fs24 ' + Model.Company + '\\b0' );
  62486. if ( Model.Author != '' ) 
  62487.   Rtf.Writeln( '(c) by ' + Model.Author );  
  62488.  
  62489. Rtf.Writeln( '' );
  62490. Rtf.Writeln( Translator.Translate( 'CREATED',1 )+': '+SysUtils.DateToStr( Model.Created ) );
  62491. Rtf.Writeln( Translator.Translate( 'LAST_MODIFIED',1 )+': '+SysUtils.DateToStr( Model.Modified ) );
  62492. Rtf.Write( '\\shad0}\\sect' );
  62493. };
  62494. ]]></VALUE>
  62495. <LANGUAGE>1</LANGUAGE>
  62496. <LANGUAGEWIN>---</LANGUAGEWIN>
  62497. <CATEGORY>4</CATEGORY>
  62498. <MAINSCRIPT>0</MAINSCRIPT>
  62499. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62500. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62501. <AUTHOR>Radim Tkacik</AUTHOR>
  62502. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62503. <VERSION>1.0</VERSION>
  62504. <CREATED><DATE>2/25/2002</DATE><TIME>11:39:57</TIME></CREATED>
  62505. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62506. </TEMPLATE>
  62507. <TEMPLATE>
  62508. <NAME>TDRR_ToDoSummary</NAME>
  62509. <ID>148</ID>
  62510. <GUID>{C6FA94BF-29D1-11D6-A823-004033539E18}</GUID>
  62511. <CAPTION>TDRR_ToDoSummary</CAPTION>
  62512. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62513. <ENABLED>1</ENABLED>
  62514. <LEVEL>0</LEVEL>
  62515. <IDPARENT>0</IDPARENT>
  62516. <VALUE><![CDATA[function Generate()
  62517. {
  62518. var d, ToDo, Date_str, ObjectType_name, ObjectTypeSort, ToDoText, Table;
  62519. var lModRefer    = ( Variables.lReferences && Variables.lToDoModel );
  62520. var lEntRefer    = ( Variables.lReferences && Variables.lToDoEntities );
  62521. var lRelRefer    = ( Variables.lReferences && Variables.lToDoRelationships );
  62522. var lDictRefer    = ( Variables.lReferences && Variables.lToDoDictionary );
  62523. var lTrigRefer    = ( Variables.lReferences && Variables.lToDoTriggersList );
  62524. var lUserRefer    = ( Variables.lReferences && Variables.lToDoUsersList );
  62525. var lRoleRefer    = ( Variables.lReferences && Variables.lToDoRolesList );
  62526. var ObjectType_array = new Array(
  62527.     Translator.Translate('NOT_CLASSIFIED',1),
  62528.     Translator.Translate('MODEL',1),
  62529.     Translator.Translate('ENTITY',1),
  62530.     Translator.Translate('DICTIONARY',1),
  62531.     Translator.Translate('DICT_ITEM',1),
  62532.     Translator.Translate('RELATIONSHIP',1),
  62533.     Translator.Translate('TRIGGERS',1),
  62534.     Translator.Translate('USERS',1),
  62535.     Translator.Translate('USER_ROLES',1));
  62536. var ObjectTypeSort_array = new Array(4,3,2,1,0,5,7,8,6);
  62537. var ToDoList = DefineInterfaceList();
  62538.  
  62539. Log.Writeln( 'Generating To-Do List summary' );
  62540.  
  62541. for (d=0; d<Model.CountToDoItems; d++)
  62542. {
  62543.     ToDo = Model.ToDoItems(d);
  62544.     Date_str = DateToStr(ToDo.Date,'yyyymmdd');
  62545.     ObjectTypeSort = IntToStr(8-ObjectTypeSort_array[ToDo.ParentObjectType]);
  62546.     ToDoList.AddInterface( Date_str+ObjectTypeSort, ToDo );
  62547. };
  62548. ToDoList.Sorted = Variables.lSort;
  62549.  
  62550. Rtf.Write( 'SECTBEG',    Translator.Translate( 'SUMMARY',    1    ) );
  62551. Rtf.Write( 'CAPTION1',    Translator.Translate( 'SUMMARY_R',1    ) );
  62552.  
  62553. // Table definition
  62554. Table = Rtf.DefineTable( true,false );
  62555. Table.DefineColumn(8);
  62556. Table.DefineColumn(4);
  62557. Table.DefineColumn(13);
  62558. Table.DefineColumn(47);
  62559. Table.DefineColumn(13);
  62560. Table.DefineColumn(15);
  62561.  
  62562. // Table header
  62563. Table.DefineCell( 0,0,Translator.Translate( 'DONE',    1     ) );
  62564. Table.DefineCell( 0,1,'!' );
  62565. Table.DefineCell( 0,2,Translator.Translate( 'DATE',    1     ) );
  62566. Table.DefineCell( 0,3,Translator.Translate( 'TEXT',    1    ) );
  62567. Table.DefineCell( 0,4,Translator.Translate( 'OWNER',    1    ) );
  62568. Table.DefineCell( 0,5,Translator.Translate( 'OBJECT_TYPE', 1    ) );
  62569.  
  62570. Table.DefineCell( 1,0,'\\fs8' );  // font size 8
  62571.  
  62572. // Summary of To-Do List
  62573. for (d=0; d<ToDoList.Count; d++)
  62574. {
  62575.     ToDo = ToDoList.GetInterface(ToDoList.Count-1-d);
  62576.  
  62577.     Table.DefineCell( d+2,0, Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62578.     Table.DefineCell( d+2,1, SysUtils.IntToStr( ToDo.Priority ) );
  62579.     Table.DefineCell( d+2,2, SysUtils.DateToStr( ToDo.Date ) );
  62580.     if ( ((lModRefer) && (ToDo.ParentObjectType==1)) ||
  62581.         ((lEntRefer) && (ToDo.ParentObjectType==2)) ||
  62582.         ((lRelRefer) && (ToDo.ParentObjectType==5)) ||
  62583.         ((lDictRefer) && (ToDo.ParentObjectType==3)) ||
  62584.         ((lTrigRefer) && (ToDo.ParentObjectType==6)) ||
  62585.         ((lUserRefer) && (ToDo.ParentObjectType==7)) ||
  62586.         ((lRoleRefer) && (ToDo.ParentObjectType==8)) )
  62587.     {
  62588.         ToDoText = Rtf.CallBookmark( 'ToDo_'+ToDo.Id );
  62589.         if (ToDo.Text.length>40)
  62590.             ToDoText = ToDoText+" ...";        
  62591.     }
  62592.     else
  62593.     {
  62594.         ToDoText = ToDo.Text;
  62595.         ToDoText = ToDoText.substr(0,ToDoText.length-2);
  62596.         if (ToDoText.length>40)
  62597.             ToDoText = ToDoText.substr(0,40)+" ...";
  62598.     };
  62599.     Table.DefineCell( d+2,3, ToDoText );
  62600.     Table.DefineCell( d+2,4, ToDo.Owner );
  62601.     ObjectType_name = ObjectType_array[ToDo.ParentObjectType];
  62602.     Table.DefineCell( d+2,5, ObjectType_name );
  62603. };
  62604.  
  62605. Table.Draw();
  62606. Table.Close();
  62607. Rtf.Write( 'SECTEND','' );
  62608. ToDoList.Close( );
  62609. };
  62610. ]]></VALUE>
  62611. <LANGUAGE>1</LANGUAGE>
  62612. <LANGUAGEWIN>---</LANGUAGEWIN>
  62613. <CATEGORY>4</CATEGORY>
  62614. <MAINSCRIPT>0</MAINSCRIPT>
  62615. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62616. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62617. <AUTHOR>Radim Tkacik</AUTHOR>
  62618. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62619. <VERSION>1.0</VERSION>
  62620. <CREATED><DATE>2/25/2002</DATE><TIME>11:44:55</TIME></CREATED>
  62621. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62622. </TEMPLATE>
  62623. <TEMPLATE>
  62624. <NAME>TDRR_ToDoModel</NAME>
  62625. <ID>149</ID>
  62626. <GUID>{C6FA9502-29D1-11D6-A823-004033539E18}</GUID>
  62627. <CAPTION>TDRR_ToDoModel</CAPTION>
  62628. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62629. <ENABLED>1</ENABLED>
  62630. <LEVEL>0</LEVEL>
  62631. <IDPARENT>0</IDPARENT>
  62632. <VALUE><![CDATA[function Generate()
  62633. {
  62634. var d, i, ToDo, Page, Table;
  62635. var lModRefer    = ( Variables.lReferences && Variables.lToDoModel );
  62636. var ToDoList = DefineInterfaceList();
  62637.  
  62638. Log.Writeln( 'Generating ToDo - model report' );
  62639.  
  62640. for (d=0; d<Model.CountToDoItems; d++)
  62641. {
  62642.     ToDo = Model.ToDoItems(d);
  62643.     if (ToDo.ParentObjectType==1)
  62644.         ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  62645. };
  62646. ToDoList.Sorted = Variables.lSort;
  62647.     
  62648. Rtf.Write( 'SECTBEG',Translator.Translate( 'MODEL',1 ) );
  62649. Rtf.Write( 'CAPTION1',    Translator.Translate( 'MODEL_R',1    ) );
  62650. Rtf.Write( 'CAPTION2',    Translator.Translate( 'MODEL',1 )+" '"+Model.ModelName+"'" );
  62651. Rtf.Write('\\fs20');
  62652.  
  62653. //=== Model ToDo List ========================================================
  62654.    for (d=0; d<ToDoList.Count; d++)
  62655.     {
  62656.         if (d>0)
  62657.             Rtf.Write( 'CAPTION3','');
  62658.        ToDo = ToDoList.GetInterface( d );
  62659.  
  62660.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62661.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  62662.         if (lModRefer)
  62663.         {
  62664.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  62665.             ToDoText = ToDo.Text;
  62666.             if (ToDoText.length>40)
  62667.             {
  62668.                 ToDoText = ToDoText.substr(40);
  62669.                 Rtf.Write( ToDoText );
  62670.             }
  62671.             else
  62672.                 Rtf.Write('\\par');
  62673.         }
  62674.         else
  62675.             Rtf.Write( ToDo.Text );
  62676.  
  62677.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  62678.         
  62679.         // Table definition
  62680.         Table = Rtf.DefineTable( false,true );
  62681.         Table.DefineColumn( 20 );
  62682.         Table.DefineColumn( 80 );
  62683.  
  62684.         i=0;
  62685.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  62686.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62687.  
  62688.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  62689.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  62690.  
  62691.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  62692.         Table.DefineCell( i,1,ToDo.Category );
  62693.  
  62694.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  62695.         Table.DefineCell( i,1,ToDo.Owner );
  62696.  
  62697.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  62698.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  62699.         
  62700.         Table.Draw();
  62701.         Table.Close();
  62702.  
  62703.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  62704.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  62705.         }
  62706.  
  62707.     ToDoList.Close( );
  62708.     Rtf.Write( 'SECTEND','' );
  62709. };
  62710. ]]></VALUE>
  62711. <LANGUAGE>1</LANGUAGE>
  62712. <LANGUAGEWIN>---</LANGUAGEWIN>
  62713. <CATEGORY>4</CATEGORY>
  62714. <MAINSCRIPT>0</MAINSCRIPT>
  62715. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62716. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62717. <AUTHOR>Radim Tkacik</AUTHOR>
  62718. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62719. <VERSION>1.0</VERSION>
  62720. <CREATED><DATE>2/25/2002</DATE><TIME>14:17:18</TIME></CREATED>
  62721. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62722. </TEMPLATE>
  62723. <TEMPLATE>
  62724. <NAME>TDRR_ToDoEntities</NAME>
  62725. <ID>150</ID>
  62726. <GUID>{C6FA94C0-29D1-11D6-A823-004033539E18}</GUID>
  62727. <CAPTION>TDRR_ToDoEntities</CAPTION>
  62728. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62729. <ENABLED>1</ENABLED>
  62730. <LEVEL>0</LEVEL>
  62731. <IDPARENT>0</IDPARENT>
  62732. <VALUE><![CDATA[function Generate()
  62733. {
  62734. var e, d, i, Entity, ToDo, Table, ToDoText, ToDoTextID;
  62735. var lEntRefer    = ( Variables.lReferences && Variables.lToDoEntities );
  62736. var EntityList = DefineInterfaceList();
  62737.  
  62738. Log.Writeln( 'Generating ToDo - entity report' );
  62739.  
  62740. for (e=0; e<Model.CountEntities; e++)
  62741. {
  62742.     Entity = Model.Entities(e);
  62743.     if (Entity.CountToDoItems>0)
  62744.         EntityList.AddInterface( Entity.Name, Entity );
  62745. };
  62746. EntityList.Sorted = Variables.lSort;
  62747.  
  62748. Rtf.Write( 'SECTBEG',Translator.Translate( 'ENTITIES',1 ) );
  62749. Rtf.Write( 'CAPTION1',    Translator.Translate( 'ENTITY_R',1    ) );
  62750.  
  62751. for (e=0; e<EntityList.Count; e++)
  62752.     {
  62753.     Entity = EntityList.GetInterface(e);
  62754.  
  62755.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'ENTITY',1 )+" '"+Entity.Name+"'" );
  62756.     Rtf.Write('\\fs20');
  62757.  
  62758. //=== Entities ToDo List ========================================================
  62759.    for (d=0; d<Entity.CountToDoItems; d++)
  62760.     {
  62761.         if (d>0)
  62762.             Rtf.Write( 'CAPTION3','');
  62763.        ToDo = Entity.ToDoItems( d );
  62764.  
  62765.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62766.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  62767.         if (lEntRefer)
  62768.         {
  62769.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  62770.             ToDoText = ToDo.Text;
  62771.             if (ToDoText.length>40)
  62772.             {
  62773.                 ToDoText = ToDoText.substr(40);
  62774.                 Rtf.Write( ToDoText );
  62775.             }
  62776.             else
  62777.                 Rtf.Write('\\par');
  62778.         }
  62779.         else
  62780.             Rtf.Write( ToDo.Text );
  62781.  
  62782.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  62783.         
  62784.         // Table definition
  62785.         Table = Rtf.DefineTable( false,true );
  62786.         Table.DefineColumn( 20 );
  62787.         Table.DefineColumn( 80 );
  62788.  
  62789.         i=0;
  62790.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  62791.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62792.  
  62793.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  62794.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  62795.  
  62796.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  62797.         Table.DefineCell( i,1,ToDo.Category );
  62798.  
  62799.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  62800.         Table.DefineCell( i,1,ToDo.Owner );
  62801.  
  62802.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  62803.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  62804.         
  62805.         Table.Draw();
  62806.         Table.Close();
  62807.  
  62808.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  62809.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  62810.         }
  62811.    if (e<(EntityList.Count-1))
  62812.         Rtf.Write( '\\pard\\page' );
  62813.     }
  62814.     EntityList.Close( );
  62815.     Rtf.Write( 'SECTEND','' );
  62816. };
  62817. ]]></VALUE>
  62818. <LANGUAGE>1</LANGUAGE>
  62819. <LANGUAGEWIN>---</LANGUAGEWIN>
  62820. <CATEGORY>4</CATEGORY>
  62821. <MAINSCRIPT>0</MAINSCRIPT>
  62822. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62823. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62824. <AUTHOR>Radim Tkacik</AUTHOR>
  62825. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62826. <VERSION>1.0</VERSION>
  62827. <CREATED><DATE>2/25/2002</DATE><TIME>12:15:08</TIME></CREATED>
  62828. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62829. </TEMPLATE>
  62830. <TEMPLATE>
  62831. <NAME>TDRR_ToDoRelationships</NAME>
  62832. <ID>151</ID>
  62833. <GUID>{C6FA94C1-29D1-11D6-A823-004033539E18}</GUID>
  62834. <CAPTION>TDRR_ToDoRelationships</CAPTION>
  62835. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62836. <ENABLED>1</ENABLED>
  62837. <LEVEL>0</LEVEL>
  62838. <IDPARENT>0</IDPARENT>
  62839. <VALUE><![CDATA[function Generate()
  62840. {
  62841. var r, d, i, Relation, ToDo, Table;
  62842. var lRelRefer    = ( Variables.lReferences && Variables.lToDoRelationships );
  62843. var RelationList = DefineInterfaceList();
  62844.  
  62845. Log.Writeln( 'Generating ToDo - relationship report' );
  62846.  
  62847. for (r=0; r<Model.CountRelations; r++)
  62848. {
  62849.     Relation = Model.Relations(r);
  62850.     if (Relation.CountToDoItems>0)
  62851.         RelationList.AddInterface( Relation.Name, Relation );
  62852. }
  62853. RelationList.Sorted = Variables.lSort;
  62854.  
  62855. Rtf.Write( 'SECTBEG',Translator.Translate( 'RELATIONSHIPS',1 ) );
  62856. Rtf.Write( 'CAPTION1',    Translator.Translate( 'RELATIONSHIP_R',1    ) );
  62857.  
  62858. for (r=0; r<RelationList.Count; r++)
  62859.     {
  62860.     Relation = RelationList.GetInterface(r);
  62861.     
  62862.     Rtf.Write( 'CAPTION2',    Translator.Translate( 'RELATIONSHIPS',1 )+" '"+Relation.Name+"'" );
  62863.     Rtf.Write('\\fs20');
  62864.  
  62865. //=== Relationships ToDo List ========================================================
  62866.    for (d=0; d<Relation.CountToDoItems; d++)
  62867.     {
  62868.         if (d>0)
  62869.             Rtf.Write( 'CAPTION3','');
  62870.        ToDo = Relation.ToDoItems( d );
  62871.  
  62872.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62873.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  62874.         if (lRelRefer)
  62875.         {
  62876.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  62877.             ToDoText = ToDo.Text;
  62878.             if (ToDoText.length>40)
  62879.             {
  62880.                 ToDoText = ToDoText.substr(40);
  62881.                 Rtf.Write( ToDoText );
  62882.             }
  62883.             else
  62884.                 Rtf.Write('\\par');
  62885.         }
  62886.         else
  62887.             Rtf.Write( ToDo.Text );
  62888.  
  62889.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  62890.         
  62891.         // Table definition
  62892.         Table = Rtf.DefineTable( false,true );
  62893.         Table.DefineColumn( 20 );
  62894.         Table.DefineColumn( 80 );
  62895.  
  62896.         i=0;
  62897.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  62898.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  62899.  
  62900.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  62901.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  62902.  
  62903.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  62904.         Table.DefineCell( i,1,ToDo.Category );
  62905.  
  62906.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  62907.         Table.DefineCell( i,1,ToDo.Owner );
  62908.  
  62909.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  62910.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  62911.         
  62912.         Table.Draw();
  62913.         Table.Close();
  62914.  
  62915.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  62916.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  62917.         }
  62918.    if (r<(RelationList.Count-1))
  62919.         Rtf.Write( '\\pard\\page' );
  62920.     }
  62921.     RelationList.Close( );
  62922.     Rtf.Write( 'SECTEND','' );
  62923. };
  62924. ]]></VALUE>
  62925. <LANGUAGE>1</LANGUAGE>
  62926. <LANGUAGEWIN>---</LANGUAGEWIN>
  62927. <CATEGORY>4</CATEGORY>
  62928. <MAINSCRIPT>0</MAINSCRIPT>
  62929. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  62930. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  62931. <AUTHOR>Radim Tkacik</AUTHOR>
  62932. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  62933. <VERSION>1.0</VERSION>
  62934. <CREATED><DATE>2/25/2002</DATE><TIME>12:42:35</TIME></CREATED>
  62935. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  62936. </TEMPLATE>
  62937. <TEMPLATE>
  62938. <NAME>TDRR_ToDoDictionary</NAME>
  62939. <ID>152</ID>
  62940. <GUID>{C6FA9503-29D1-11D6-A823-004033539E18}</GUID>
  62941. <CAPTION>TDRR_ToDoDictionary</CAPTION>
  62942. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  62943. <ENABLED>1</ENABLED>
  62944. <LEVEL>0</LEVEL>
  62945. <IDPARENT>0</IDPARENT>
  62946. <VALUE><![CDATA[function Generate()
  62947. {
  62948. var d, i, ToDo, Page, Table;
  62949. var lDictRefer    = ( Variables.lReferences && Variables.lToDoDictionary );
  62950. var ToDoList = DefineInterfaceList();
  62951.  
  62952. Log.Writeln( 'Generating ToDo - dictionary report' );
  62953.  
  62954. for (d=0; d<Model.CountToDoItems; d++)
  62955. {
  62956.     ToDo = Model.ToDoItems(d);
  62957.     if (ToDo.ParentObjectType==3)
  62958.         ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  62959. };
  62960. ToDoList.Sorted = Variables.lSort;
  62961.     
  62962. Rtf.Write( 'SECTBEG',Translator.Translate( 'DICTIONARY',1 ) );
  62963. Rtf.Write( 'CAPTION1',    Translator.Translate( 'DICTIONARY_R',1    ) );
  62964.  
  62965. Rtf.Write( 'CAPTION2',    Translator.Translate( 'DICTIONARY',1 ) );
  62966. Rtf.Write('\\fs20');
  62967.  
  62968. //=== Dictionary ToDo List ========================================================
  62969.    for (d=0; d<ToDoList.Count; d++)
  62970.     {
  62971.         if (d>0)
  62972.             Rtf.Write( 'CAPTION3','');
  62973.        ToDo = ToDoList.GetInterface( d );
  62974.  
  62975.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  62976.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  62977.         if (lDictRefer)
  62978.         {
  62979.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  62980.             ToDoText = ToDo.Text;
  62981.             if (ToDoText.length>40)
  62982.             {
  62983.                 ToDoText = ToDoText.substr(40);
  62984.                 Rtf.Write( ToDoText );
  62985.             }
  62986.             else
  62987.                 Rtf.Write('\\par');
  62988.         }
  62989.         else
  62990.             Rtf.Write( ToDo.Text );
  62991.  
  62992.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  62993.         
  62994.         // Table definition
  62995.         Table = Rtf.DefineTable( false,true );
  62996.         Table.DefineColumn( 20 );
  62997.         Table.DefineColumn( 80 );
  62998.  
  62999.         i=0;
  63000.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  63001.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  63002.  
  63003.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  63004.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  63005.  
  63006.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  63007.         Table.DefineCell( i,1,ToDo.Category );
  63008.  
  63009.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  63010.         Table.DefineCell( i,1,ToDo.Owner );
  63011.  
  63012.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  63013.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  63014.         
  63015.         Table.Draw();
  63016.         Table.Close();
  63017.  
  63018.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  63019.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  63020.         }
  63021.  
  63022.     ToDoList.Close( );
  63023.     Rtf.Write( 'SECTEND','' );
  63024. };
  63025. ]]></VALUE>
  63026. <LANGUAGE>1</LANGUAGE>
  63027. <LANGUAGEWIN>---</LANGUAGEWIN>
  63028. <CATEGORY>4</CATEGORY>
  63029. <MAINSCRIPT>0</MAINSCRIPT>
  63030. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63031. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63032. <AUTHOR>Radim Tkacik</AUTHOR>
  63033. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63034. <VERSION>1.0</VERSION>
  63035. <CREATED><DATE>2/25/2002</DATE><TIME>14:33:22</TIME></CREATED>
  63036. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63037. </TEMPLATE>
  63038. <TEMPLATE>
  63039. <NAME>TDRR_ToDoTriggersList</NAME>
  63040. <ID>153</ID>
  63041. <GUID>{C6FA9504-29D1-11D6-A823-004033539E18}</GUID>
  63042. <CAPTION>TDRR_ToDoTriggersList</CAPTION>
  63043. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  63044. <ENABLED>1</ENABLED>
  63045. <LEVEL>0</LEVEL>
  63046. <IDPARENT>0</IDPARENT>
  63047. <VALUE><![CDATA[function Generate()
  63048. {
  63049. var d, i, ToDo, Page, Table;
  63050. var lTrigRefer    = ( Variables.lReferences && Variables.lToDoTriggersList );
  63051. var ToDoList = DefineInterfaceList();
  63052.  
  63053. Log.Writeln( 'Generating ToDo - triggers list report' );
  63054.  
  63055. for (d=0; d<Model.CountToDoItems; d++)
  63056. {
  63057.     ToDo = Model.ToDoItems(d);
  63058.     if (ToDo.ParentObjectType==6)
  63059.         ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  63060. };
  63061. ToDoList.Sorted = Variables.lSort;
  63062.     
  63063. Rtf.Write( 'SECTBEG',Translator.Translate( 'TRIGGERS',1 ) );
  63064. Rtf.Write( 'CAPTION1',    Translator.Translate( 'TRIGGERS_R',1    ) );
  63065.  
  63066. Rtf.Write( 'CAPTION2',    Translator.Translate( 'TRIGGERS',1 ) );
  63067. Rtf.Write('\\fs20');
  63068.  
  63069. //=== Triggers ToDo List ========================================================
  63070.    for (d=0; d<ToDoList.Count; d++)
  63071.     {
  63072.         if (d>0)
  63073.             Rtf.Write( 'CAPTION3','');
  63074.        ToDo = ToDoList.GetInterface( d );
  63075.  
  63076.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  63077.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  63078.         if (lTrigRefer)
  63079.         {
  63080.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  63081.             ToDoText = ToDo.Text;
  63082.             if (ToDoText.length>40)
  63083.             {
  63084.                 ToDoText = ToDoText.substr(40);
  63085.                 Rtf.Write( ToDoText );
  63086.             }
  63087.             else
  63088.                 Rtf.Write('\\par');
  63089.         }
  63090.         else
  63091.             Rtf.Write( ToDo.Text );
  63092.  
  63093.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  63094.         
  63095.         // Table definition
  63096.         Table = Rtf.DefineTable( false,true );
  63097.         Table.DefineColumn( 20 );
  63098.         Table.DefineColumn( 80 );
  63099.  
  63100.         i=0;
  63101.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  63102.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  63103.  
  63104.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  63105.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  63106.  
  63107.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  63108.         Table.DefineCell( i,1,ToDo.Category );
  63109.  
  63110.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  63111.         Table.DefineCell( i,1,ToDo.Owner );
  63112.  
  63113.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  63114.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  63115.         
  63116.         Table.Draw();
  63117.         Table.Close();
  63118.  
  63119.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  63120.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  63121.         }
  63122.  
  63123.     ToDoList.Close( );
  63124.     Rtf.Write( 'SECTEND','' );
  63125. };
  63126. ]]></VALUE>
  63127. <LANGUAGE>1</LANGUAGE>
  63128. <LANGUAGEWIN>---</LANGUAGEWIN>
  63129. <CATEGORY>4</CATEGORY>
  63130. <MAINSCRIPT>0</MAINSCRIPT>
  63131. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63132. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63133. <AUTHOR>Radim Tkacik</AUTHOR>
  63134. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63135. <VERSION>1.0</VERSION>
  63136. <CREATED><DATE>2/25/2002</DATE><TIME>14:34:42</TIME></CREATED>
  63137. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63138. </TEMPLATE>
  63139. <TEMPLATE>
  63140. <NAME>TDRR_ToDoUsersList</NAME>
  63141. <ID>154</ID>
  63142. <GUID>{C6FA9505-29D1-11D6-A823-004033539E18}</GUID>
  63143. <CAPTION>TDRR_ToDoUsersList</CAPTION>
  63144. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  63145. <ENABLED>1</ENABLED>
  63146. <LEVEL>0</LEVEL>
  63147. <IDPARENT>0</IDPARENT>
  63148. <VALUE><![CDATA[function Generate()
  63149. {
  63150. var d, i, ToDo, Page, Table;
  63151. var lUserRefer    = ( Variables.lReferences && Variables.lToDoUsersList );
  63152. var ToDoList = DefineInterfaceList();
  63153.  
  63154. Log.Writeln( 'Generating ToDo - users list report' );
  63155.  
  63156. for (d=0; d<Model.CountToDoItems; d++)
  63157. {
  63158.     ToDo = Model.ToDoItems(d);
  63159.     if (ToDo.ParentObjectType==7)
  63160.         ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  63161. };
  63162. ToDoList.Sorted = Variables.lSort;
  63163.     
  63164. Rtf.Write( 'SECTBEG',Translator.Translate( 'USERS',1 ) );
  63165. Rtf.Write( 'CAPTION1',    Translator.Translate( 'USERS_R',1    ) );
  63166.  
  63167. Rtf.Write( 'CAPTION2',    Translator.Translate( 'USERS',1 ) );
  63168. Rtf.Write('\\fs20');
  63169.  
  63170. //=== Users ToDo List ========================================================
  63171.    for (d=0; d<ToDoList.Count; d++)
  63172.     {
  63173.         if (d>0)
  63174.             Rtf.Write( 'CAPTION3','');
  63175.        ToDo = ToDoList.GetInterface( d );
  63176.  
  63177.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  63178.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  63179.         if (lUserRefer)
  63180.         {
  63181.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  63182.             ToDoText = ToDo.Text;
  63183.             if (ToDoText.length>40)
  63184.             {
  63185.                 ToDoText = ToDoText.substr(40);
  63186.                 Rtf.Write( ToDoText );
  63187.             }
  63188.             else
  63189.                 Rtf.Write('\\par');
  63190.         }
  63191.         else
  63192.             Rtf.Write( ToDo.Text );
  63193.  
  63194.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  63195.         
  63196.         // Table definition
  63197.         Table = Rtf.DefineTable( false,true );
  63198.         Table.DefineColumn( 20 );
  63199.         Table.DefineColumn( 80 );
  63200.  
  63201.         i=0;
  63202.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  63203.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  63204.  
  63205.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  63206.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  63207.  
  63208.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  63209.         Table.DefineCell( i,1,ToDo.Category );
  63210.  
  63211.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  63212.         Table.DefineCell( i,1,ToDo.Owner );
  63213.  
  63214.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  63215.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  63216.         
  63217.         Table.Draw();
  63218.         Table.Close();
  63219.  
  63220.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  63221.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  63222.         }
  63223.  
  63224.     ToDoList.Close( );
  63225.     Rtf.Write( 'SECTEND','' );
  63226. };
  63227. ]]></VALUE>
  63228. <LANGUAGE>1</LANGUAGE>
  63229. <LANGUAGEWIN>---</LANGUAGEWIN>
  63230. <CATEGORY>4</CATEGORY>
  63231. <MAINSCRIPT>0</MAINSCRIPT>
  63232. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63233. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63234. <AUTHOR>Radim Tkacik</AUTHOR>
  63235. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63236. <VERSION>1.0</VERSION>
  63237. <CREATED><DATE>2/25/2002</DATE><TIME>14:35:11</TIME></CREATED>
  63238. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63239. </TEMPLATE>
  63240. <TEMPLATE>
  63241. <NAME>TDRR_ToDoRolesList</NAME>
  63242. <ID>155</ID>
  63243. <GUID>{C6FA9506-29D1-11D6-A823-004033539E18}</GUID>
  63244. <CAPTION>TDRR_ToDoRolesList</CAPTION>
  63245. <PACKAGEGUID>{008582EE-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  63246. <ENABLED>1</ENABLED>
  63247. <LEVEL>0</LEVEL>
  63248. <IDPARENT>0</IDPARENT>
  63249. <VALUE><![CDATA[function Generate()
  63250. {
  63251. var d, i, ToDo, Page, Table;
  63252. var lRoleRefer    = ( Variables.lReferences && Variables.lToDoRolesList );
  63253. var ToDoList = DefineInterfaceList();
  63254.  
  63255. Log.Writeln( 'Generating ToDo - roles list report' );
  63256.  
  63257. for (d=0; d<Model.CountToDoItems; d++)
  63258. {
  63259.     ToDo = Model.ToDoItems(d);
  63260.     if (ToDo.ParentObjectType==8)
  63261.         ToDoList.AddInterface( SysUtils.IntToStr( ToDo.Priority ), ToDo );
  63262. };
  63263. ToDoList.Sorted = Variables.lSort;
  63264.     
  63265. Rtf.Write( 'SECTBEG',Translator.Translate( 'USER_ROLES',1 ) );
  63266. Rtf.Write( 'CAPTION1',    Translator.Translate( 'USER_ROLES_R',1    ) );
  63267.  
  63268. Rtf.Write( 'CAPTION2',    Translator.Translate( 'USER_ROLES',1 ) );
  63269. Rtf.Write('\\fs20');
  63270.  
  63271. //=== Roles ToDo List ========================================================
  63272.    for (d=0; d<ToDoList.Count; d++)
  63273.     {
  63274.         if (d>0)
  63275.             Rtf.Write( 'CAPTION3','');
  63276.        ToDo = ToDoList.GetInterface( d );
  63277.  
  63278.         // Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  63279.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'TEXT',1 ) );
  63280.         if (lRoleRefer)
  63281.         {
  63282.             Rtf.Write( Rtf.SetBookmark( 'ToDo_'+ToDo.Id ) );
  63283.             ToDoText = ToDo.Text;
  63284.             if (ToDoText.length>40)
  63285.             {
  63286.                 ToDoText = ToDoText.substr(40);
  63287.                 Rtf.Write( ToDoText );
  63288.             }
  63289.             else
  63290.                 Rtf.Write('\\par');
  63291.         }
  63292.         else
  63293.             Rtf.Write( ToDo.Text );
  63294.  
  63295.         Rtf.Write( 'CAPTION4',    Translator.Translate( 'GENERAL_INFO',1 ) );
  63296.         
  63297.         // Table definition
  63298.         Table = Rtf.DefineTable( false,true );
  63299.         Table.DefineColumn( 20 );
  63300.         Table.DefineColumn( 80 );
  63301.  
  63302.         i=0;
  63303.         Table.DefineHeadCell( i,0,Translator.Translate( 'DONE',1 ) );
  63304.         Table.DefineCell( i,1,Scripting.SysReportUtils.LogicToString( ToDo.Done ) );
  63305.  
  63306.         Table.DefineCell( ++i,0,Translator.Translate( 'PRIORITY',1 ) );
  63307.         Table.DefineCell( i,1,SysUtils.IntToStr( ToDo.Priority ) );
  63308.  
  63309.         Table.DefineCell( ++i,0,Translator.Translate( 'CATEGORY',1 ) );
  63310.         Table.DefineCell( i,1,ToDo.Category );
  63311.  
  63312.         Table.DefineCell( ++i,0,Translator.Translate( 'OWNER',1 ) );
  63313.         Table.DefineCell( i,1,ToDo.Owner );
  63314.  
  63315.         Table.DefineCell( ++i,0,Translator.Translate( 'DATE',1 ) );
  63316.         Table.DefineCell( i,1,SysUtils.DateToStr( ToDo.Date ) );
  63317.         
  63318.         Table.Draw();
  63319.         Table.Close();
  63320.  
  63321.         // User-defined variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  63322.         Scripting.SysReportUtils.ReportUDefVariables( Rtf, 'CAPTION4', ToDo );
  63323.         }
  63324.  
  63325.     ToDoList.Close( );
  63326.     Rtf.Write( 'SECTEND','' );
  63327. };
  63328. ]]></VALUE>
  63329. <LANGUAGE>1</LANGUAGE>
  63330. <LANGUAGEWIN>---</LANGUAGEWIN>
  63331. <CATEGORY>4</CATEGORY>
  63332. <MAINSCRIPT>0</MAINSCRIPT>
  63333. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63334. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63335. <AUTHOR>Radim Tkacik</AUTHOR>
  63336. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63337. <VERSION>1.0</VERSION>
  63338. <CREATED><DATE>2/25/2002</DATE><TIME>14:35:34</TIME></CREATED>
  63339. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63340. </TEMPLATE>
  63341. <TEMPLATE>
  63342. <NAME>TDRR</NAME>
  63343. <ID>156</ID>
  63344. <GUID>{00690237-6BEE-4D26-98C0-47F4A201AC3F}</GUID>
  63345. <CAPTION>ToDo List report</CAPTION>
  63346. <PACKAGEGUID>{0AF94880-B3A3-40A6-AC84-C7A9F4741265}</PACKAGEGUID>
  63347. <ENABLED>1</ENABLED>
  63348. <LEVEL>0</LEVEL>
  63349. <IDPARENT>0</IDPARENT>
  63350. <VALUE><![CDATA[function Main()
  63351. {
  63352. Translator.DefaultLng = 'csy';
  63353. Scripting.TDRR_Main.Main();
  63354. };
  63355.  
  63356. function DefineVariables()
  63357. {
  63358. Variables.DefineVariable( 'lSort',                    'Set°φdit objekty podle abecedy',    1 );
  63359. Variables.lSort                    = false;
  63360.  
  63361. Variables.DefineVariable( 'lReferences',            'Pou₧φvat odkazy v reportu',            1 );
  63362. Variables.lReferences            = true;
  63363.  
  63364. Variables.DefineVariable( 'lTitle',                    'Titulnφ strana',                            1 );
  63365. Variables.lTitle                    = true;
  63366.  
  63367. Variables.DefineVariable( 'lToDoSummary',            'Generuj To-Do list - souhrn² seznam',1 );
  63368. Variables.lToDoSummary            = true;
  63369.  
  63370. Variables.DefineVariable( 'lToDoModel',            'Generuj To-Do list - model',            1 );
  63371. Variables.lToDoModel                = true;
  63372.  
  63373. Variables.DefineVariable( 'lToDoEntities',        'Generuj To-Do list - entity',            1 );
  63374. Variables.lToDoEntities            = true;
  63375.  
  63376. Variables.DefineVariable( 'lToDoRelationships',    'Generuj To-Do list - relace',            1 );
  63377. Variables.lToDoRelationships    = true;
  63378.  
  63379. Variables.DefineVariable( 'lToDoDictionary',        'Generuj To-Do list - slovnφk',        1 );
  63380. Variables.lToDoDictionary        = true;
  63381.  
  63382. Variables.DefineVariable( 'lToDoTriggersList',    'Generuj To-Do list - triggery',        1 );
  63383. Variables.lToDoTriggersList    = true;
  63384.  
  63385. Variables.DefineVariable( 'lToDoUsersList',        'Generuj To-Do list - u₧ivatelΘ',        1 );
  63386. Variables.lToDoUsersList        = true;
  63387.  
  63388. Variables.DefineVariable( 'lToDoRolesList',        'Generuj To-Do list - u₧ivatelskΘ role',1 );
  63389. Variables.lToDoRolesList        = true;
  63390. };
  63391. ]]></VALUE>
  63392. <LANGUAGE>1</LANGUAGE>
  63393. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  63394. <CATEGORY>4</CATEGORY>
  63395. <MAINSCRIPT>1</MAINSCRIPT>
  63396. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63397. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63398. <AUTHOR>Radim Tkacik</AUTHOR>
  63399. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63400. <VERSION>1.0</VERSION>
  63401. <CREATED><DATE>4/12/2002</DATE><TIME>13:27:17</TIME></CREATED>
  63402. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63403. </TEMPLATE>
  63404. <TEMPLATE>
  63405. <NAME>TDRR_Dictionary</NAME>
  63406. <ID>157</ID>
  63407. <GUID>{4779CEFF-D1CA-423D-88AB-59059E9DE7EC}</GUID>
  63408. <CAPTION>TDRR_Dictionary</CAPTION>
  63409. <PACKAGEGUID>{0AF94880-B3A3-40A6-AC84-C7A9F4741265}</PACKAGEGUID>
  63410. <ENABLED>1</ENABLED>
  63411. <LEVEL>0</LEVEL>
  63412. <IDPARENT>0</IDPARENT>
  63413. <VALUE><![CDATA[function ReadVocabulary()
  63414. {
  63415. Translator.Add( 'SUMMARY',                'souhrn² seznam'        );
  63416. Translator.Add( 'NOT_CLASSIFIED',    'nenφ klasifikovßn'    );
  63417. Translator.Add( 'DICT_ITEM',            'dict. item'            );
  63418.  
  63419. Translator.Add( 'SUMMARY_R',            'To-Do list - souhrn² seznam'                );
  63420. Translator.Add( 'MODEL_R',                'seznam To-Do list - model'                );
  63421. Translator.Add( 'ENTITY_R',            'seznam To-Do list - entity'                );
  63422. Translator.Add( 'RELATIONSHIP_R',    'seznam To-Do list - relace'                );
  63423. Translator.Add( 'DICTIONARY_R',        'seznam To-Do list - slovnφk'                );
  63424. Translator.Add( 'DICT_ITEM_R',        'seznam To-Do list - dict. item'            );
  63425. Translator.Add( 'TRIGGERS_R',            'seznam To-Do list - triggery'            );
  63426. Translator.Add( 'USERS_R',                'seznam To-Do list - u₧ivatelΘ'            );
  63427. Translator.Add( 'USER_ROLES_R',        'seznam To-Do list - u₧ivatelskΘ role'    );
  63428. };
  63429. ]]></VALUE>
  63430. <LANGUAGE>1</LANGUAGE>
  63431. <LANGUAGEWIN>CSY</LANGUAGEWIN>
  63432. <CATEGORY>4</CATEGORY>
  63433. <MAINSCRIPT>0</MAINSCRIPT>
  63434. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63435. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63436. <AUTHOR>Radim Tkacik</AUTHOR>
  63437. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63438. <VERSION>1.0</VERSION>
  63439. <CREATED><DATE>4/12/2002</DATE><TIME>13:27:49</TIME></CREATED>
  63440. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63441. </TEMPLATE>
  63442. <TEMPLATE>
  63443. <NAME>TDRR</NAME>
  63444. <ID>158</ID>
  63445. <GUID>{C6FA94BB-29D1-11D6-A823-004033539E18}</GUID>
  63446. <CAPTION>ToDo List report</CAPTION>
  63447. <PACKAGEGUID>{008582EF-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  63448. <ENABLED>1</ENABLED>
  63449. <LEVEL>0</LEVEL>
  63450. <IDPARENT>0</IDPARENT>
  63451. <VALUE><![CDATA[function Main()
  63452. {
  63453. Translator.DefaultLng = 'enu';
  63454. Scripting.TDRR_Main.Main();
  63455. };
  63456.  
  63457. function DefineVariables()
  63458. {
  63459. Variables.DefineVariable( 'lSort',                    'Sort objects alphabetically',            1 );
  63460. Variables.lSort                    = false;
  63461.  
  63462. Variables.DefineVariable( 'lReferences',            'Use references inside of report',        1 );
  63463. Variables.lReferences            = true;
  63464.  
  63465. Variables.DefineVariable( 'lTitle',                    'Title page',                                    1 );
  63466. Variables.lTitle                    = true;
  63467.  
  63468. Variables.DefineVariable( 'lToDoSummary',            'Generate To-Do list - Summary',            1 );
  63469. Variables.lToDoSummary            = true;
  63470.  
  63471. Variables.DefineVariable( 'lToDoModel',            'Generate To-Do list - Model',                1 );
  63472. Variables.lToDoModel                = true;
  63473.  
  63474. Variables.DefineVariable( 'lToDoEntities',        'Generate To-Do list - Entities',            1 );
  63475. Variables.lToDoEntities            = true;
  63476.  
  63477. Variables.DefineVariable( 'lToDoRelationships',    'Generate To-Do list - Relationships',        1 );
  63478. Variables.lToDoRelationships    = true;
  63479.  
  63480. Variables.DefineVariable( 'lToDoDictionary',        'Generate To-Do list - Dictionary',        1 );
  63481. Variables.lToDoDictionary        = true;
  63482.  
  63483. Variables.DefineVariable( 'lToDoTriggersList',    'Generate To-Do list - Triggers List',    1 );
  63484. Variables.lToDoTriggersList    = true;
  63485.  
  63486. Variables.DefineVariable( 'lToDoUsersList',        'Generate To-Do list - Users List',        1 );
  63487. Variables.lToDoUsersList        = true;
  63488.  
  63489. Variables.DefineVariable( 'lToDoRolesList',        'Generate To-Do list - Roles List',        1 );
  63490. Variables.lToDoRolesList        = true;
  63491. };
  63492. ]]></VALUE>
  63493. <LANGUAGE>1</LANGUAGE>
  63494. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  63495. <CATEGORY>4</CATEGORY>
  63496. <MAINSCRIPT>1</MAINSCRIPT>
  63497. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63498. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63499. <AUTHOR>Radim Tkacik</AUTHOR>
  63500. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63501. <VERSION>1.0</VERSION>
  63502. <CREATED><DATE>2/25/2002</DATE><TIME>10:44:55</TIME></CREATED>
  63503. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63504. </TEMPLATE>
  63505. <TEMPLATE>
  63506. <NAME>TDRR_Dictionary</NAME>
  63507. <ID>159</ID>
  63508. <GUID>{C6FA94BD-29D1-11D6-A823-004033539E18}</GUID>
  63509. <CAPTION>TDRR_Dictionary</CAPTION>
  63510. <PACKAGEGUID>{008582EF-2C27-11D6-A825-004033539E18}</PACKAGEGUID>
  63511. <ENABLED>1</ENABLED>
  63512. <LEVEL>0</LEVEL>
  63513. <IDPARENT>0</IDPARENT>
  63514. <VALUE><![CDATA[function ReadVocabulary()
  63515. {
  63516. Translator.Add( 'SUMMARY',                'summary'            );
  63517. Translator.Add( 'NOT_CLASSIFIED',    'not classified'    );
  63518. Translator.Add( 'DICT_ITEM',            'dict. item'        );
  63519.  
  63520. Translator.Add( 'SUMMARY_R',            'To-Do list summary report'        );
  63521. Translator.Add( 'MODEL_R',                'To-Do list model report'            );
  63522. Translator.Add( 'ENTITY_R',            'To-Do list entity report'            );
  63523. Translator.Add( 'RELATIONSHIP_R',    'To-Do list relationship report'    );
  63524. Translator.Add( 'DICTIONARY_R',        'To-Do list dictionary report'    );
  63525. Translator.Add( 'DICT_ITEM_R',        'To-Do list dict. item report'    );
  63526. Translator.Add( 'TRIGGERS_R',            'To-Do list triggers report'        );
  63527. Translator.Add( 'USERS_R',                'To-Do list users report'            );
  63528. Translator.Add( 'USER_ROLES_R',        'To-Do list user roles report'    );
  63529. };
  63530. ]]></VALUE>
  63531. <LANGUAGE>1</LANGUAGE>
  63532. <LANGUAGEWIN>ENU</LANGUAGEWIN>
  63533. <CATEGORY>4</CATEGORY>
  63534. <MAINSCRIPT>0</MAINSCRIPT>
  63535. <EVENTSCRIPTTYPE>0</EVENTSCRIPTTYPE>
  63536. <DESCRIPTION><![CDATA[]]></DESCRIPTION>
  63537. <AUTHOR>Radim Tkacik</AUTHOR>
  63538. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63539. <VERSION>1.0</VERSION>
  63540. <CREATED><DATE>2/25/2002</DATE><TIME>10:52:22</TIME></CREATED>
  63541. <MODIFIED><DATE>5/14/2002</DATE><TIME>0:00:00</TIME></MODIFIED>
  63542. </TEMPLATE>
  63543. </TEMPLATES>
  63544. </SYSTEM>
  63545. <PACKAGES>
  63546. <PACKAGE>
  63547. <NAME>DatabßzovΘ Üablnoy pro ADO</NAME>
  63548. <ID>1</ID>
  63549. <GUID>{2EBE2EEC-425B-4C52-BDFC-21F837E99AA7}</GUID>
  63550. <DATABASEID>0</DATABASEID>
  63551. <ENABLED>1</ENABLED>
  63552. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63553. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63554. <VERSION>2.10</VERSION>
  63555. <FILENAME>ADO_CSY.te2</FILENAME>
  63556. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze ADO
  63557. BalφΦek obsahuje :
  63558. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63559. </PACKAGE>
  63560. <PACKAGE>
  63561. <NAME>Zßkladnφ Üablony</NAME>
  63562. <ID>2</ID>
  63563. <GUID>{F112CC40-5902-4C8B-9E4A-C7DB9BD0B71D}</GUID>
  63564. <DATABASEID>0</DATABASEID>
  63565. <ENABLED>1</ENABLED>
  63566. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63567. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63568. <VERSION>2.10</VERSION>
  63569. <FILENAME>Basic_CSY.te2</FILENAME>
  63570. <DESCRIPTION><![CDATA[BalφΦek obsahuje zßkladnφ obecnΘ Üalbony
  63571. BalφΦek obsahuje :
  63572. - Üablony pro generovßnφ SQL skriptu
  63573. - Üablony pro reverse engineering
  63574. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63575. </PACKAGE>
  63576. <PACKAGE>
  63577. <NAME>DatabßzovΘ Üablnoy pro Clipper 5.0</NAME>
  63578. <ID>3</ID>
  63579. <GUID>{39F824AF-A406-43A9-A1CB-1A7348B66D71}</GUID>
  63580. <DATABASEID>0</DATABASEID>
  63581. <ENABLED>1</ENABLED>
  63582. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63583. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63584. <VERSION>2.10</VERSION>
  63585. <FILENAME>Clipper_5_CSY.te2</FILENAME>
  63586. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Clipper 5.0
  63587. BalφΦek obsahuje :
  63588. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63589. </PACKAGE>
  63590. <PACKAGE>
  63591. <NAME>DatabßzovΘ Üablnoy pro DB2 v.7</NAME>
  63592. <ID>4</ID>
  63593. <GUID>{A516FDD7-89F8-4F96-8EF2-C0B4C235079E}</GUID>
  63594. <DATABASEID>0</DATABASEID>
  63595. <ENABLED>1</ENABLED>
  63596. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63597. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63598. <VERSION>2.10</VERSION>
  63599. <FILENAME>DB2_71_CSY.te2</FILENAME>
  63600. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze DB2 v.7
  63601. BalφΦek obsahuje :
  63602. - Üablony pro generovßnφ SQL skriptu
  63603. - Üablony pro reverse engineering]]></DESCRIPTION>
  63604. </PACKAGE>
  63605. <PACKAGE>
  63606. <NAME>DatabßzovΘ Üablnoy pro DBIsam 3</NAME>
  63607. <ID>5</ID>
  63608. <GUID>{63AB4F7D-985B-4086-9169-95BFA181D65F}</GUID>
  63609. <DATABASEID>0</DATABASEID>
  63610. <ENABLED>1</ENABLED>
  63611. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63612. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63613. <VERSION>2.10</VERSION>
  63614. <FILENAME>DBIsam_3_CSY.te2</FILENAME>
  63615. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze DBIsam 3
  63616. BalφΦek obsahuje :
  63617. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63618. </PACKAGE>
  63619. <PACKAGE>
  63620. <NAME>DatabßzovΘ Üablnoy pro Interbase 4</NAME>
  63621. <ID>6</ID>
  63622. <GUID>{49689FA7-82AD-4586-9468-2302D5B2E3F9}</GUID>
  63623. <DATABASEID>0</DATABASEID>
  63624. <ENABLED>1</ENABLED>
  63625. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63626. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63627. <VERSION>2.10</VERSION>
  63628. <FILENAME>IBase_4_CSY.te2</FILENAME>
  63629. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Interbase 4
  63630. BalφΦek obsahuje :
  63631. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63632. </PACKAGE>
  63633. <PACKAGE>
  63634. <NAME>DatabßzovΘ Üablnoy pro Interbase 5</NAME>
  63635. <ID>7</ID>
  63636. <GUID>{C7126934-D1FC-4640-897F-585EA5FED7F6}</GUID>
  63637. <DATABASEID>0</DATABASEID>
  63638. <ENABLED>1</ENABLED>
  63639. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63640. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63641. <VERSION>2.10</VERSION>
  63642. <FILENAME>IBase_5_CSY.te2</FILENAME>
  63643. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Interbase 5
  63644. BalφΦek obsahuje :
  63645. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63646. </PACKAGE>
  63647. <PACKAGE>
  63648. <NAME>DatabßzovΘ Üablnoy pro Interbase 6 SQL 1</NAME>
  63649. <ID>8</ID>
  63650. <GUID>{0AB7A283-FA9F-48CF-A382-A003D4A9FCAA}</GUID>
  63651. <DATABASEID>0</DATABASEID>
  63652. <ENABLED>1</ENABLED>
  63653. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63654. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63655. <VERSION>2.10</VERSION>
  63656. <FILENAME>IBase_61_CSY.te2</FILENAME>
  63657. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Interbase 6 SQL 1
  63658. BalφΦek obsahuje :
  63659. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63660. </PACKAGE>
  63661. <PACKAGE>
  63662. <NAME>DatabßzovΘ Üablnoy pro Interbase 6 SQL 3</NAME>
  63663. <ID>9</ID>
  63664. <GUID>{10E8CBA6-6E97-4C55-BB28-762F23AB04AD}</GUID>
  63665. <DATABASEID>0</DATABASEID>
  63666. <ENABLED>1</ENABLED>
  63667. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63668. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63669. <VERSION>2.10</VERSION>
  63670. <FILENAME>IBase_63_CSY.te2</FILENAME>
  63671. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Interbase 6 SQL 3
  63672. BalφΦek obsahuje :
  63673. - Üablony pro generovßnφ SQL skriptu
  63674. - Üablony pro reverse engineering]]></DESCRIPTION>
  63675. </PACKAGE>
  63676. <PACKAGE>
  63677. <NAME>DatabßzovΘ Üablnoy pro Informix</NAME>
  63678. <ID>10</ID>
  63679. <GUID>{0BF72CFC-43B1-411B-AE62-F39F1A7616EC}</GUID>
  63680. <DATABASEID>0</DATABASEID>
  63681. <ENABLED>1</ENABLED>
  63682. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63683. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63684. <VERSION>2.10</VERSION>
  63685. <FILENAME>Informix_CSY.te2</FILENAME>
  63686. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Informix
  63687. BalφΦek obsahuje :
  63688. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63689. </PACKAGE>
  63690. <PACKAGE>
  63691. <NAME>DatabßzovΘ Üablnoy pro Ingres</NAME>
  63692. <ID>11</ID>
  63693. <GUID>{1A88E79F-F115-4DD7-A8AA-374E7E071F9D}</GUID>
  63694. <DATABASEID>0</DATABASEID>
  63695. <ENABLED>1</ENABLED>
  63696. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63697. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63698. <VERSION>2.10</VERSION>
  63699. <FILENAME>Ingres_CSY.te2</FILENAME>
  63700. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Ingres
  63701. BalφΦek obsahuje :
  63702. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63703. </PACKAGE>
  63704. <PACKAGE>
  63705. <NAME>DatabßzovΘ Üablnoy pro Access 2000</NAME>
  63706. <ID>12</ID>
  63707. <GUID>{00A5A7B6-C430-41C3-90B0-61B7E4FE99BE}</GUID>
  63708. <DATABASEID>0</DATABASEID>
  63709. <ENABLED>1</ENABLED>
  63710. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63711. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63712. <VERSION>2.10</VERSION>
  63713. <FILENAME>MSAcs_2k_CSY.te2</FILENAME>
  63714. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Access 2000
  63715. BalφΦek obsahuje :
  63716. - Üablony pro generovßnφ SQL skriptu
  63717. - Üablony pro reverse engineering
  63718. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63719. </PACKAGE>
  63720. <PACKAGE>
  63721. <NAME>DatabßzovΘ Üablnoy pro Access 97</NAME>
  63722. <ID>13</ID>
  63723. <GUID>{EB00F6DF-45DD-41D0-9D82-38A45DEE1F42}</GUID>
  63724. <DATABASEID>0</DATABASEID>
  63725. <ENABLED>1</ENABLED>
  63726. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63727. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63728. <VERSION>2.10</VERSION>
  63729. <FILENAME>MSAcs_97_CSY.te2</FILENAME>
  63730. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Access 97
  63731. BalφΦek obsahuje :
  63732. - Üablony pro generovßnφ SQL skriptu
  63733. - Üablony pro reverse engineering]]></DESCRIPTION>
  63734. </PACKAGE>
  63735. <PACKAGE>
  63736. <NAME>DatabßzovΘ Üablnoy pro MS SQL 2000</NAME>
  63737. <ID>14</ID>
  63738. <GUID>{5EC01106-46D5-47AD-81B1-E5AC3BB68583}</GUID>
  63739. <DATABASEID>0</DATABASEID>
  63740. <ENABLED>1</ENABLED>
  63741. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63742. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63743. <VERSION>2.10</VERSION>
  63744. <FILENAME>MSSQL_2k_CSY.te2</FILENAME>
  63745. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze MS SQL 2000
  63746. BalφΦek obsahuje :
  63747. - Üablony pro generovßnφ SQL skriptu
  63748. - Üablony pro reverse engineering
  63749. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63750. </PACKAGE>
  63751. <PACKAGE>
  63752. <NAME>DatabßzovΘ Üablnoy pro MS SQL 6.5</NAME>
  63753. <ID>15</ID>
  63754. <GUID>{D75A39AF-5FA2-4B7D-B084-8C84C2461D16}</GUID>
  63755. <DATABASEID>0</DATABASEID>
  63756. <ENABLED>1</ENABLED>
  63757. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63758. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63759. <VERSION>2.10</VERSION>
  63760. <FILENAME>MSSQL_65_CSY.te2</FILENAME>
  63761. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze MS SQL 6.5
  63762. BalφΦek obsahuje :
  63763. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63764. </PACKAGE>
  63765. <PACKAGE>
  63766. <NAME>DatabßzovΘ Üablnoy pro MS SQL 7</NAME>
  63767. <ID>16</ID>
  63768. <GUID>{D387694B-0908-4920-9FA5-E1CDD5799590}</GUID>
  63769. <DATABASEID>0</DATABASEID>
  63770. <ENABLED>1</ENABLED>
  63771. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63772. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63773. <VERSION>2.10</VERSION>
  63774. <FILENAME>MSSQL_7_CSY.te2</FILENAME>
  63775. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze MS SQL 7
  63776. BalφΦek obsahuje :
  63777. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63778. </PACKAGE>
  63779. <PACKAGE>
  63780. <NAME>DatabßzovΘ Üablnoy pro mySQL 3.23</NAME>
  63781. <ID>17</ID>
  63782. <GUID>{15FC637F-C9E6-47A4-8C2C-BEBD4D29ECB5}</GUID>
  63783. <DATABASEID>0</DATABASEID>
  63784. <ENABLED>1</ENABLED>
  63785. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63786. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63787. <VERSION>2.10</VERSION>
  63788. <FILENAME>mySQL_323_CSY.te2</FILENAME>
  63789. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze mySQL 3.23
  63790. BalφΦek obsahuje :
  63791. - Üablony pro generovßnφ SQL skriptu
  63792. - Üablony pro reverse engineering]]></DESCRIPTION>
  63793. </PACKAGE>
  63794. <PACKAGE>
  63795. <NAME>DatabßzovΘ Üablnoy pro mySQL 4</NAME>
  63796. <ID>18</ID>
  63797. <GUID>{D82B13B4-6A15-4FE1-9A79-BF5CBD218EA3}</GUID>
  63798. <DATABASEID>0</DATABASEID>
  63799. <ENABLED>1</ENABLED>
  63800. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63801. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63802. <VERSION>2.10</VERSION>
  63803. <FILENAME>mySQL_4_CSY.te2</FILENAME>
  63804. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze mySQL 4
  63805. BalφΦek obsahuje :
  63806. - Üablony pro generovßnφ SQL skriptu
  63807. - Üablony pro reverse engineering
  63808. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63809. </PACKAGE>
  63810. <PACKAGE>
  63811. <NAME>DatabßzovΘ Üablnoy pro Oracle 8</NAME>
  63812. <ID>19</ID>
  63813. <GUID>{54D56F93-1C0D-46F4-AF36-A9EE2500354A}</GUID>
  63814. <DATABASEID>0</DATABASEID>
  63815. <ENABLED>1</ENABLED>
  63816. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63817. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63818. <VERSION>2.10</VERSION>
  63819. <FILENAME>Ora_8_CSY.te2</FILENAME>
  63820. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Oracle 8
  63821. BalφΦek obsahuje :
  63822. - Üablony pro generovßnφ SQL skriptu
  63823. - Üablony pro reverse engineering
  63824. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63825. </PACKAGE>
  63826. <PACKAGE>
  63827. <NAME>DatabßzovΘ Üablnoy pro Oracle 9i</NAME>
  63828. <ID>20</ID>
  63829. <GUID>{3F4B6010-80C9-4735-AF45-DEB030D74C63}</GUID>
  63830. <DATABASEID>0</DATABASEID>
  63831. <ENABLED>1</ENABLED>
  63832. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63833. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63834. <VERSION>2.10</VERSION>
  63835. <FILENAME>Ora_9i_CSY.te2</FILENAME>
  63836. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Oracle 9i
  63837. BalφΦek obsahuje :
  63838. - Üablony pro generovßnφ SQL skriptu
  63839. - Üablony pro reverse engineering
  63840. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63841. </PACKAGE>
  63842. <PACKAGE>
  63843. <NAME>DatabßzovΘ Üablnoy pro Paradox</NAME>
  63844. <ID>21</ID>
  63845. <GUID>{96317ED9-946D-4FA0-B36E-B34E71534E5C}</GUID>
  63846. <DATABASEID>0</DATABASEID>
  63847. <ENABLED>1</ENABLED>
  63848. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63849. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63850. <VERSION>2.10</VERSION>
  63851. <FILENAME>Pdox_CSY.te2</FILENAME>
  63852. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Paradox
  63853. BalφΦek obsahuje :
  63854. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63855. </PACKAGE>
  63856. <PACKAGE>
  63857. <NAME>DatabßzovΘ Üablnoy pro PostgreSQL 7.3</NAME>
  63858. <ID>22</ID>
  63859. <GUID>{FC10D45B-4965-4577-8B0E-D75B54C13797}</GUID>
  63860. <DATABASEID>0</DATABASEID>
  63861. <ENABLED>1</ENABLED>
  63862. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63863. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63864. <VERSION>2.10</VERSION>
  63865. <FILENAME>PgSQL_73_CSY.te2</FILENAME>
  63866. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze PostgreSQL 7.3
  63867. BalφΦek obsahuje :
  63868. - Üablony pro generovßnφ SQL skriptu
  63869. - Üablony pro reverse engineering]]></DESCRIPTION>
  63870. </PACKAGE>
  63871. <PACKAGE>
  63872. <NAME>DatabßzovΘ Üablnoy pro PostgreSQL 7</NAME>
  63873. <ID>23</ID>
  63874. <GUID>{AE70AC45-1CED-4128-A823-AEF364D283E1}</GUID>
  63875. <DATABASEID>0</DATABASEID>
  63876. <ENABLED>1</ENABLED>
  63877. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63878. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63879. <VERSION>2.10</VERSION>
  63880. <FILENAME>PgSQL_7_CSY.te2</FILENAME>
  63881. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze PostgreSQL 7
  63882. BalφΦek obsahuje :
  63883. - Üablony pro generovßnφ SQL skriptu
  63884. - Üablony pro reverse engineering]]></DESCRIPTION>
  63885. </PACKAGE>
  63886. <PACKAGE>
  63887. <NAME>DatabßzovΘ Üablnoy pro Sybase Anywhere</NAME>
  63888. <ID>24</ID>
  63889. <GUID>{7E8B8913-2A49-4040-A123-09039DA3EEF8}</GUID>
  63890. <DATABASEID>0</DATABASEID>
  63891. <ENABLED>1</ENABLED>
  63892. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63893. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63894. <VERSION>2.10</VERSION>
  63895. <FILENAME>SybAny_CSY.te2</FILENAME>
  63896. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Sybase Anywhere
  63897. BalφΦek obsahuje :
  63898. - Üablony pro generovßnφ SQL skriptu]]></DESCRIPTION>
  63899. </PACKAGE>
  63900. <PACKAGE>
  63901. <NAME>DatabßzovΘ Üablnoy pro Sybase ASE 12.5</NAME>
  63902. <ID>25</ID>
  63903. <GUID>{F45690A0-49DC-431A-83EB-FE44E1C71794}</GUID>
  63904. <DATABASEID>0</DATABASEID>
  63905. <ENABLED>1</ENABLED>
  63906. <AUTHOR>CASE Studio 2 Team</AUTHOR>
  63907. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63908. <VERSION>2.10</VERSION>
  63909. <FILENAME>SybASE_125_CSY.te2</FILENAME>
  63910. <DESCRIPTION><![CDATA[BalφΦek pro podporu databßze Sybase ASE 12.5
  63911. BalφΦek obsahuje :
  63912. - Üablony pro generovßnφ SQL skriptu
  63913. - Üablony pro reverse engineering
  63914. - Üablony pro dodateΦnou verifikaci modelu]]></DESCRIPTION>
  63915. </PACKAGE>
  63916. <PACKAGE>
  63917. <NAME>Basic czech dictionary</NAME>
  63918. <ID>26</ID>
  63919. <GUID>{76BDC75C-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  63920. <DATABASEID>0</DATABASEID>
  63921. <ENABLED>1</ENABLED>
  63922. <AUTHOR>David Fux</AUTHOR>
  63923. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63924. <VERSION>1.5.3</VERSION>
  63925. <FILENAME>Dictionary_csy.te2          </FILENAME>
  63926. <DESCRIPTION><![CDATA[The package contains a basic czech dictionary for generating of reports.
  63927. ]]></DESCRIPTION>
  63928. </PACKAGE>
  63929. <PACKAGE>
  63930. <NAME>Basic american-english dictionary </NAME>
  63931. <ID>27</ID>
  63932. <GUID>{FC867993-BED1-11D4-975B-0050BF0C7D34}</GUID>
  63933. <DATABASEID>0</DATABASEID>
  63934. <ENABLED>1</ENABLED>
  63935. <AUTHOR>David Fux</AUTHOR>
  63936. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63937. <VERSION>1.5.3</VERSION>
  63938. <FILENAME>Dictionary_enu.te2   </FILENAME>
  63939. <DESCRIPTION><![CDATA[The package contains a basic american-english dictionary for generating of reports.
  63940. ]]></DESCRIPTION>
  63941. </PACKAGE>
  63942. <PACKAGE>
  63943. <NAME>Utilities</NAME>
  63944. <ID>28</ID>
  63945. <GUID>{70CDAF66-7F9F-4811-A7D5-68654B657E56}</GUID>
  63946. <DATABASEID>0</DATABASEID>
  63947. <ENABLED>1</ENABLED>
  63948. <AUTHOR></AUTHOR>
  63949. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63950. <VERSION>1.0.1</VERSION>
  63951. <FILENAME>Utilities.te2       </FILENAME>
  63952. <DESCRIPTION><![CDATA[Jazykov∞ zßvislΘ Üablony pro reverse engineering. ╚eskß Φßst.]]></DESCRIPTION>
  63953. </PACKAGE>
  63954. <PACKAGE>
  63955. <NAME>Data Flow Report - RTF</NAME>
  63956. <ID>29</ID>
  63957. <GUID>{FC867A65-BED1-11D4-975B-0050BF0C7D34}</GUID>
  63958. <DATABASEID>0</DATABASEID>
  63959. <ENABLED>1</ENABLED>
  63960. <AUTHOR>David Fux</AUTHOR>
  63961. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63962. <VERSION>1.1</VERSION>
  63963. <FILENAME>DFR.te2</FILENAME>
  63964. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  63965. for generating of data flow RTF reports.
  63966.  
  63967. It is necessary to also import along with the package :
  63968. - basic dictionary. (e.g. Dictionary_deu.te2)
  63969. - dictionary for the data flow RTF report
  63970.   of selected language. (e.g. DFR_deu.te2)]]></DESCRIPTION>
  63971. </PACKAGE>
  63972. <PACKAGE>
  63973. <NAME>Data Flow Report - RTF - czech</NAME>
  63974. <ID>30</ID>
  63975. <GUID>{76BDC784-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  63976. <DATABASEID>0</DATABASEID>
  63977. <ENABLED>1</ENABLED>
  63978. <AUTHOR>David Fux</AUTHOR>
  63979. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63980. <VERSION>1.0</VERSION>
  63981. <FILENAME>DFR_csy.te2                 </FILENAME>
  63982. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  63983. generating of data flow RTF reports.
  63984.  
  63985. It is necessary to also import along with the package :
  63986. - basic dictionary in czech ( Dictionary_csy.te2 )
  63987. - basic language independent templates for generating of logical
  63988.   data flow RTF reports. ( DFR.te2 )]]></DESCRIPTION>
  63989. </PACKAGE>
  63990. <PACKAGE>
  63991. <NAME>Data Flow Report - RTF - american-english</NAME>
  63992. <ID>31</ID>
  63993. <GUID>{FC867A7F-BED1-11D4-975B-0050BF0C7D34}</GUID>
  63994. <DATABASEID>0</DATABASEID>
  63995. <ENABLED>1</ENABLED>
  63996. <AUTHOR>David Fux</AUTHOR>
  63997. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  63998. <VERSION>1.0</VERSION>
  63999. <FILENAME>DFR_enu.te2</FILENAME>
  64000. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64001. generating of data flow RTF reports.
  64002.  
  64003. It is necessary to also import along with the package :
  64004. - basic dictionary in american-english ( Dictionary_enu.te2 )
  64005. - basic language independent templates for generating of
  64006.  data flow RTF reports. ( DFR.te2 )]]></DESCRIPTION>
  64007. </PACKAGE>
  64008. <PACKAGE>
  64009. <NAME>Logical ER Report - RTF</NAME>
  64010. <ID>32</ID>
  64011. <GUID>{EC28BCFE-BEE4-11D4-975B-0050BF0C7D34}</GUID>
  64012. <DATABASEID>0</DATABASEID>
  64013. <ENABLED>1</ENABLED>
  64014. <AUTHOR>David Fux</AUTHOR>
  64015. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64016. <VERSION>1.6.6</VERSION>
  64017. <FILENAME>LERR.te2                    </FILENAME>
  64018. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  64019. for generating of logical entity relationship RTF reports.
  64020.  
  64021. It is necessary to also import along with the packages :
  64022. - basic dictionary. (e.g. Dictionary_deu.te2)
  64023. - dictionary for the logical entity relationship RTF report
  64024.   of selected language. (e.g. LERR_deu.te2)]]></DESCRIPTION>
  64025. </PACKAGE>
  64026. <PACKAGE>
  64027. <NAME>Logical ER Report - RTF - czech</NAME>
  64028. <ID>33</ID>
  64029. <GUID>{76BDC818-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  64030. <DATABASEID>0</DATABASEID>
  64031. <ENABLED>1</ENABLED>
  64032. <AUTHOR>David Fux</AUTHOR>
  64033. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64034. <VERSION>1.3</VERSION>
  64035. <FILENAME>LERR_csy.te2</FILENAME>
  64036. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64037. generating of logical entity relationship RTF reports.
  64038.  
  64039. It is necessary to also import along with the package :
  64040. - basic dictionary in czech ( Dictionary_csy.te2 )
  64041. - basic language independent templates for generating of logical
  64042.  entity relationship RTF reports. ( LERR.te2 )]]></DESCRIPTION>
  64043. </PACKAGE>
  64044. <PACKAGE>
  64045. <NAME>Logical ER Report - RTF - american-english</NAME>
  64046. <ID>34</ID>
  64047. <GUID>{FC867A4F-BED1-11D4-975B-0050BF0C7D34}</GUID>
  64048. <DATABASEID>0</DATABASEID>
  64049. <ENABLED>1</ENABLED>
  64050. <AUTHOR>David Fux</AUTHOR>
  64051. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64052. <VERSION>1.3</VERSION>
  64053. <FILENAME>LERR_enu.te2</FILENAME>
  64054. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64055. generating of logical entity relationship RTF reports.
  64056.  
  64057. It is necessary to also import along with the package :
  64058. - basic dictionary in american-english ( Dictionary_enu.te2 )
  64059. - basic language independent templates for generating of logical
  64060.  entity relationship RTF reports. ( LERR.te2 )]]></DESCRIPTION>
  64061. </PACKAGE>
  64062. <PACKAGE>
  64063. <NAME>Logical ER Report - HTML - czech</NAME>
  64064. <ID>35</ID>
  64065. <GUID>{45385908-E48F-11D4-9ACD-004033539E18}</GUID>
  64066. <DATABASEID>0</DATABASEID>
  64067. <ENABLED>1</ENABLED>
  64068. <AUTHOR>David Fux</AUTHOR>
  64069. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64070. <VERSION>1.2.1</VERSION>
  64071. <FILENAME>LERH_csy.te2</FILENAME>
  64072. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64073. generating of logical entity relationship HTML reports.
  64074.  
  64075. It is necessary to also import along with the package :
  64076. - basic dictionary in czech ( Dictionary_csy.te2 )
  64077. - basic language independent templates for generating of logical
  64078.   entity relationship HTML reports. ( LERH.te2 )]]></DESCRIPTION>
  64079. </PACKAGE>
  64080. <PACKAGE>
  64081. <NAME>Logical ER Report - HTML - american-english</NAME>
  64082. <ID>36</ID>
  64083. <GUID>{74DB2E02-E495-11D4-9ACD-004033539E18}</GUID>
  64084. <DATABASEID>0</DATABASEID>
  64085. <ENABLED>1</ENABLED>
  64086. <AUTHOR>Jaroslav Kovar</AUTHOR>
  64087. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64088. <VERSION>1.2</VERSION>
  64089. <FILENAME>LERH_enu.te2</FILENAME>
  64090. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64091. generating of logical entity relationship HTML reports.
  64092.  
  64093. It is necessary to also import along with the package :
  64094. - basic dictionary in czech ( Dictionary_enu.te2 )
  64095. - basic language independent templates for generating of logical
  64096.   entity relationship HTML reports. ( LERH.te2 )]]></DESCRIPTION>
  64097. </PACKAGE>
  64098. <PACKAGE>
  64099. <NAME>Logical ER Report - HTML</NAME>
  64100. <ID>37</ID>
  64101. <GUID>{45385907-E48F-11D4-9ACD-004033539E18}</GUID>
  64102. <DATABASEID>0</DATABASEID>
  64103. <ENABLED>1</ENABLED>
  64104. <AUTHOR>David Fux</AUTHOR>
  64105. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64106. <VERSION>2.9.1</VERSION>
  64107. <FILENAME>LERH.te2</FILENAME>
  64108. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  64109. for generating of logical entity relationship HTML reports.
  64110.  
  64111. It is necessary to also import along with the package :
  64112. - common dictionary. (e.g. Dictionary_deu.te2)
  64113. - dictionary for the logical entity relationship HTML report
  64114.   of selected language. (e.g. LERH_deu.te2)
  64115.  
  64116. ]]></DESCRIPTION>
  64117. </PACKAGE>
  64118. <PACKAGE>
  64119. <NAME>Physical ER Report - HTML</NAME>
  64120. <ID>38</ID>
  64121. <GUID>{FC867992-BED1-11D4-975B-0050BF0C7D34}</GUID>
  64122. <DATABASEID>0</DATABASEID>
  64123. <ENABLED>1</ENABLED>
  64124. <AUTHOR>David Fux</AUTHOR>
  64125. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64126. <VERSION>2.9.2</VERSION>
  64127. <FILENAME>PERH.te2</FILENAME>
  64128. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  64129. for generating of physical entity relationship HTML reports.
  64130.  
  64131. It is necessary to also import along with the package :
  64132. - common dictionary. (e.g. Dictionary_deu.te2)
  64133. - dictionary for the physical entity relationship HTML report
  64134.   of selected language. (e.g. PERH_deu.te2)
  64135.  
  64136. ]]></DESCRIPTION>
  64137. </PACKAGE>
  64138. <PACKAGE>
  64139. <NAME>Physical ER Report - HTML - czech</NAME>
  64140. <ID>39</ID>
  64141. <GUID>{76BDC756-BEF5-11D4-975B-0050BF0C7D34}</GUID>
  64142. <DATABASEID>0</DATABASEID>
  64143. <ENABLED>1</ENABLED>
  64144. <AUTHOR>David Fux</AUTHOR>
  64145. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64146. <VERSION>1.6.2</VERSION>
  64147. <FILENAME>PERH_csy.te2                </FILENAME>
  64148. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64149. generating of physical entity relationship HTML reports.
  64150.  
  64151. It is necessary to also import along with the package :
  64152. - basic dictionary in czech ( Dictionary_csy.te2 )
  64153. - basic language independent templates for generating of physical
  64154.   entity relationship HTML reports. ( PERH.te2 )]]></DESCRIPTION>
  64155. </PACKAGE>
  64156. <PACKAGE>
  64157. <NAME>Physical ER Report - HTML - american-english</NAME>
  64158. <ID>40</ID>
  64159. <GUID>{FC867994-BED1-11D4-975B-0050BF0C7D34}</GUID>
  64160. <DATABASEID>0</DATABASEID>
  64161. <ENABLED>1</ENABLED>
  64162. <AUTHOR>David Fux</AUTHOR>
  64163. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64164. <VERSION>1.6.2</VERSION>
  64165. <FILENAME>PERH_enu.te2</FILENAME>
  64166. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64167. generating of entity relationship HTML reports.
  64168.  
  64169. It is necessary to also import along with the package :
  64170. - common dictionary in american-english ( Dictionary_enu.te2 )
  64171. - basic language independent templates for generating of physical
  64172.  entity relationship HTML reports. ( PERH.te2 )
  64173.  
  64174. ]]></DESCRIPTION>
  64175. </PACKAGE>
  64176. <PACKAGE>
  64177. <NAME>ToDo List Report - HTML</NAME>
  64178. <ID>41</ID>
  64179. <GUID>{008582EC-2C27-11D6-A825-004033539E18}</GUID>
  64180. <DATABASEID>0</DATABASEID>
  64181. <ENABLED>1</ENABLED>
  64182. <AUTHOR>Radim Tkacik</AUTHOR>
  64183. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64184. <VERSION>2.9.1</VERSION>
  64185. <FILENAME>TDRH.te2</FILENAME>
  64186. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  64187. for generating of ToDo List HTML reports.
  64188.  
  64189. It is necessary to also import along with the package :
  64190. - common dictionary. (e.g. Dictionary_enu.te2)
  64191. - dictionary for the ToDo List HTML report
  64192.   of selected language. (e.g. TDRH_enu.te2)]]></DESCRIPTION>
  64193. </PACKAGE>
  64194. <PACKAGE>
  64195. <NAME>ToDo List Report - HTML - czech</NAME>
  64196. <ID>42</ID>
  64197. <GUID>{7CEB5014-B34E-4587-9C88-CAAE53239B40}</GUID>
  64198. <DATABASEID>0</DATABASEID>
  64199. <ENABLED>1</ENABLED>
  64200. <AUTHOR>Radim Tkacik</AUTHOR>
  64201. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64202. <VERSION>1.1.1</VERSION>
  64203. <FILENAME>TDRH_csy.te2</FILENAME>
  64204. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64205. generating of ToDo List HTML reports.
  64206.  
  64207. It is necessary to also import along with the package :
  64208. - basic dictionary in czech ( Dictionary_csy.te2 )
  64209. - basic language independent templates for generating
  64210.   of ToDo List HTML reports. ( TDRH.te2 )]]></DESCRIPTION>
  64211. </PACKAGE>
  64212. <PACKAGE>
  64213. <NAME>ToDo List Report - HTML - american-english</NAME>
  64214. <ID>43</ID>
  64215. <GUID>{008582ED-2C27-11D6-A825-004033539E18}</GUID>
  64216. <DATABASEID>0</DATABASEID>
  64217. <ENABLED>1</ENABLED>
  64218. <AUTHOR>Radim Tkacik</AUTHOR>
  64219. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64220. <VERSION>1.1.1</VERSION>
  64221. <FILENAME>TDRH_enu.te2</FILENAME>
  64222. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64223. generating of ToDo List HTML reports.
  64224.  
  64225. It is necessary to also import along with the package :
  64226. - basic dictionary in american-english ( Dictionary_enu.te2 )
  64227. - basic language independent templates for generating
  64228.   of ToDo List HTML reports. ( TDRH.te2 )]]></DESCRIPTION>
  64229. </PACKAGE>
  64230. <PACKAGE>
  64231. <NAME>ToDo List Report - RTF</NAME>
  64232. <ID>44</ID>
  64233. <GUID>{008582EE-2C27-11D6-A825-004033539E18}</GUID>
  64234. <DATABASEID>0</DATABASEID>
  64235. <ENABLED>1</ENABLED>
  64236. <AUTHOR>Radim Tkacik</AUTHOR>
  64237. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64238. <VERSION>1.1</VERSION>
  64239. <FILENAME>TDRR.te2</FILENAME>
  64240. <DESCRIPTION><![CDATA[The package contains the basic language independent templates
  64241. for generating of ToDo List RTF reports.
  64242.  
  64243. It is necessary to also import along with the package :
  64244. - common dictionary. (e.g. Dictionary_enu.te2)
  64245. - dictionary for the ToDo List RTF report
  64246.   of selected language. (e.g. TDRR_enu.te2)]]></DESCRIPTION>
  64247. </PACKAGE>
  64248. <PACKAGE>
  64249. <NAME>ToDo List Report - RTF - czech</NAME>
  64250. <ID>45</ID>
  64251. <GUID>{0AF94880-B3A3-40A6-AC84-C7A9F4741265}</GUID>
  64252. <DATABASEID>0</DATABASEID>
  64253. <ENABLED>1</ENABLED>
  64254. <AUTHOR>Radim Tkacik</AUTHOR>
  64255. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64256. <VERSION>1.1.1</VERSION>
  64257. <FILENAME>TDRR_csy.te2</FILENAME>
  64258. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64259. generating of ToDo List RTF reports.
  64260.  
  64261. It is necessary to also import along with the package :
  64262. - basic dictionary in czech ( Dictionary_csy.te2 )
  64263. - basic language independent templates for generating
  64264.   of ToDo List RTF reports. ( TDRR.te2 )]]></DESCRIPTION>
  64265. </PACKAGE>
  64266. <PACKAGE>
  64267. <NAME>ToDo List Report - RTF - american-english</NAME>
  64268. <ID>46</ID>
  64269. <GUID>{008582EF-2C27-11D6-A825-004033539E18}</GUID>
  64270. <DATABASEID>0</DATABASEID>
  64271. <ENABLED>1</ENABLED>
  64272. <AUTHOR>Radim Tkacik</AUTHOR>
  64273. <COMPANY>CHARONWARE, s.r.o.</COMPANY>
  64274. <VERSION>1.1.1</VERSION>
  64275. <FILENAME>TDRR_enu.te2</FILENAME>
  64276. <DESCRIPTION><![CDATA[The package contains a dictionary of the templates for
  64277. generating of ToDo List RTF reports.
  64278.  
  64279. It is necessary to also import along with the package :
  64280. - basic dictionary in american-english ( Dictionary_enu.te2 )
  64281. - basic language independent templates for generating
  64282.   of ToDo List RTF reports. ( TDRR.te2 )]]></DESCRIPTION>
  64283. </PACKAGE>
  64284. </PACKAGES>
  64285. </SERVERS>
  64286.