home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 November / PCWorld_2000-11_cd.bin / Akce / setup.exe / data1.cab / DECSDocumentation / lsxlc.nsf (.txt) < prev   
Lotus Notes Database  |  2000-08-20  |  945KB  |  8,497 lines

  1. LSX for Lotus Connectors Manual
  2. NotesPump
  3. 7b@4I
  4. R6>6a
  5. `O'!?
  6. J[%wY
  7. PKQnM    $S
  8. *M"(4bCI
  9. -f("W
  10. D@8)s
  11. @]]2AE
  12. yQW:c
  13. riHrI
  14. H=5cpS
  15. ;KCB5
  16. ")3Qg
  17. pp#)3
  18. 9+D}cU
  19. )8L[a
  20. WeX[ 9T
  21. *8A@$e 
  22.     IfP 
  23. C@H#HH#
  24. ZHC`H#hH#p
  25. AFE(H
  26. 4*B!t
  27. H# H#(H#0H#8H#@
  28.  YxC')
  29. MspK:
  30. N;0L:
  31. N;PL:
  32. N;pL: N;
  33. L:(N;
  34. L:0N;
  35. L:8N;
  36. L:@N;
  37. M:HN;0M:PN;PM:XN;pM:`N;
  38. M:hN;
  39. M:pN;
  40. M:xN;
  41. N;0N:
  42. N;PN:
  43. N;pN:
  44. yCV!:
  45. :p%Oa
  46. _8`aJ
  47. ]FFu(
  48. `^DpY
  49. `+N    D
  50. U,EY,L
  51. 0mu&jY
  52. EwG2&
  53.  mF6%
  54. #    y%7I
  55. 9i    6 B
  56. rzD+X
  57. (    Z;Rp
  58. ImQ\0
  59. 7ha\fb
  60. A@`b`IF
  61. jds"r4
  62. ')0#(
  63. c)R<9
  64. cX(mN
  65. C@H#HH#4<
  66. r`xD'
  67. 4GI'9
  68. 12/20/99 12:02:14 PM David Mahar/CAM/Lotus updated LocalDomainServers
  69. 12/20/99 12:02:09 PM David Mahar/CAM/Lotus updated OtherDomainServers
  70. 12/20/99 12:02:05 PM David Mahar/CAM/Lotus updated [LocalDomainServers]
  71. 12/20/99 12:02:02 PM David Mahar/CAM/Lotus updated [OtherDomainServers]
  72. 12/20/99 12:01:55 PM David Mahar/CAM/Lotus added [OtherDomainServers]
  73. 12/20/99 12:01:50 PM David Mahar/CAM/Lotus added OtherDomainServers
  74. 12/20/99 12:01:44 PM David Mahar/CAM/Lotus updated [LocalDomainServers]
  75. 12/20/99 12:01:40 PM David Mahar/CAM/Lotus added [LocalDomainServers]
  76. 12/20/99 12:01:36 PM David Mahar/CAM/Lotus added LocalDomainServers
  77. 12/20/99 12:01:29 PM David Mahar/CAM/Lotus updated -Default-
  78. 12/16/99 03:55:20 PM Bob Miller/CAM/Lotus deleted Bob Miller/CAM/Lotus
  79. 12/16/99 03:55:17 PM Bob Miller/CAM/Lotus updated -Default-
  80. 11/17/99 04:49:23 PM Bob Miller/CAM/Lotus updated Bob Miller/CAM/Lotus
  81. 11/17/99 04:49:23 PM Bob Miller/CAM/Lotus added Bob Miller/CAM/Lotus
  82. -Default-
  83. LocalDomainServers
  84. [LocalDomainServers]
  85. OtherDomainServers
  86. [OtherDomainServers]
  87. 4LP)8%yj
  88. JiU@P    
  89. *d"@S
  90. @T-(AV5[U!+M
  91. PaRTy
  92. pI    -e
  93. 4LP)8%yj
  94. JiU@P    
  95. *d"@S
  96. @T-(AV5[Ua
  97. ^SB1%
  98. ;RQ~]
  99.  _vtoC
  100. bOlCQ
  101. +.UxJ~
  102. PhLAw
  103. K>/0Z
  104. CN=Lotus Notes Template Development/O=Lotus Notes
  105. comment
  106. all documents
  107. lsxclass
  108. lsxsection
  109. lsx guide
  110. lsx methods
  111. lsxmethod
  112. CN=Scott Prager/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Bob Miller/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Bob Miller/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=David Mahar/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus NotesH
  113. ;RQ~]
  114. $Modified
  115.     1S2S3S
  116. $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$LANGUAGE
  117. $Flags
  118.     0SL1S4S5S3724
  119. $TITLE
  120. CN=Scott Prager/OU=CAM/O=Lotus
  121. CN=Bob Miller/OU=CAM/O=Lotus
  122. DDD@f
  123. DDD@ff
  124. DDD@ff
  125. f`ff`
  126. DDD@ff
  127. ff`DDDJ
  128. `DDDDJ
  129. DDDDJ
  130. DDDDJ
  131. DDDDJ
  132. DDDDJ
  133. DDDDJ
  134. ffff`
  135. fffff
  136. D@ffff`DDDJ
  137. D@ff`DDDJ
  138. LSX for Lotus Connectors Manual
  139. NotesPump
  140. CN=Bob Miller/OU=CAM/O=Lot|sCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  141. CN=Bob Miller/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  142. Comment
  143. BodySubjectDateComposedFromD732749FE3310297B3EE94BC765E1817
  144. CN=Bob Miller/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus NotesE0C2392BAA3087CEFDF79CA404409E2167843E4301C6054E658E2C2D65E5AC9DCN=Enterprise Connector Products/O=Lotus Notes Companion Product|
  145. LSXClassC
  146. DocumentNumberDescriptionClass
  147. CN=Bob Miller/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  148. LSXSectionC
  149. DocumentNumberChapterNumberContentsSectionChapter
  150. CN=Scott Prager/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  151. LSX Guideb
  152. LSXClass
  153. ChapterNumber
  154.     1S3S4S6S8S
  155. LSXClass
  156. LSX Classes
  157. Chapter
  158. Chapter
  159. Chapter
  160. Chapter
  161.     3S4S6S8S9S11S14S17S18S21S24S
  162. LSXSection
  163. Section
  164. Chapter
  165. Section
  166. Class
  167.     3S4S6S7S9S10S12S14S17S18S21S
  168. $14$15DocumentNumberSubject$16$Conflict$REF
  169. LSXSection
  170. LSXClass
  171. Comment
  172.     L1S2S3S4S5S6S7S8S9S10S11S19
  173. $14$15DocumentNumber$16
  174.  $14b
  175. LSXClass
  176. ChapterNumber
  177.     1S3S4S6S8S
  178. $15Chapter
  179. LSXClass
  180. LSX Classes
  181. Chapter
  182. Chapter
  183. Chapter
  184. Chapter
  185.     3S4S6S8S9S11S14S17S18S21S24S
  186. DocumentNumberSubject$16Section
  187. LSXSection
  188. Section
  189. Chapter
  190. Section
  191. Class
  192.     3S4S6S7S9S10S12S14S17S18S21S
  193. 538Arial
  194. CN=Edward Knowlton/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  195. LSX Methods&
  196. Class
  197.     1S4S
  198. LSXClass
  199.     3S4S6S8S9S11S14S16S17S19S21S
  200. LSXClass
  201. Class Description
  202.     3S4S6S8S9S11S14S16S17S19S21S25S27S
  203. $10Subject$9$7$Conflict$REF
  204. LSXClass
  205. LSXMethod
  206. Comment
  207.     L1S2S3S4S5S6S7S8S9S10S11S1"
  208. $10$9$7
  209.  $10Class(
  210. Class
  211.     1S4S
  212. Subject$9
  213. LSXClass
  214.     3S4S6S8S9S11S14S16S17S19S21S
  215. $7Method
  216. LSXClass
  217. Class Description
  218.     3S4S6S8S9S11S14S16S17S19S21S25S27S
  219. 538Arial
  220. CN=Scott Prager/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  221. O=Lotus Notes
  222. O=Lotus Notes
  223. PURSAFO
  224. |.:#U
  225. O=Lotus Notes
  226. CN=Lotus Notes Template Development/O=Lotus Notes
  227. PURSAFO
  228. $ACLDigest
  229. Times New Roman
  230. About LSX for Lotus Domino Connectors Online Manual
  231. $$U$$
  232. $IU$I
  233.  @  @@ @` @
  234. @@ @@@@@`@@
  235. `@ `@@`@``@
  236. copyright
  237. LSX for Lotus Connectors
  238.  Online Manual
  239. Lotus Development Corporation, an IBM subsidiary
  240. Copyright
  241. Under the copyright laws, neither the documentation nor the software may be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form, in whole or part, without the prior written consent of Lotus Development Corporation.
  242.  Copyright 2000     Lotus Development Corporation, an OBM subsidiary
  243.             55 Cambridge Parkway
  244.             Cambridge, MA 02142
  245. All rights reserved. Printed in the United States of America.
  246. Domino, Notes, NotesBench, Domino Connectors and Domino Enterprise Connection Services, Lotus Enterprise Integrator, LotusScript, Lotus NotesView, and Notes/FX are trademarks and Lotus, Lotus Notes, LotusScript, Notes Mail, NotesSQL, and NotesView, are registered trademarks of Lotus Development Corporation.  
  247. AIX, AS/40?, DB2, DPROPR, OS/400, IBM, MVS, OS/2, Presentation Manager, and SNA are registered trademarks, and DB2/2, RS/6000, OS/2 Warp, and PowerPC are trademarks of International Business Machines Corporation. Tivoli/Courier is a trademark of Tivoli Systems Inc., a wholly owned subsidiary of International Business Machines Corporation.
  248. All other trademarks are the property of their respective owners.
  249. Disclaimer
  250. The information in this database is subject to change and does not represent a commitment on the part of Lotus Development Corporation.
  251. O=Lotus Notes
  252. O=Lotus Notes
  253. PURSAFO
  254. |.:#U
  255. O=Lotus Notes
  256. CN=Lotus Notes Template Development/O=Lotus Notes
  257. PURSAFO
  258. $Info
  259. $Body
  260. Using LSX for LC Online Manual
  261.  @  @@ @` @
  262. @@ @@@@@`@@
  263. `@ `@@`@``@
  264. copyright
  265. LSX for Lotus Connectors
  266.  Online Oanual
  267. This database is the online documentation for the LSX for Lotus Connectors.
  268. Full-Text Index
  269. In addition to using the views built into this database, we strongly encourage you also to create and use a full-text index for the database. Doing so will require extra disk space, but will allow you to very quickly find the information you need.
  270. O=Lotus Notes
  271. O=Lotus Notes
  272. PURSAFO
  273. |.:#U
  274. O=Lotus Notes
  275. CN=Lotus Notes Template Development/O=Lotus Notes
  276. PURSAFO
  277. $Info
  278. $Body
  279. Subject
  280. &Arial
  281. Comment
  282. Comment
  283. Author:
  284. FromAuthor of this document
  285.             
  286. Date Composed:  
  287. DateComposedDate this document was composed
  288. Subject:    
  289. Trimmed
  290. Subject
  291. Trimmed
  292. Trimmed
  293. SubjectEnter an optional word or phrase describing your response.
  294. Your Comment                                                                                      
  295. BodyEnter the text of your response.
  296. O=Lotus Notes
  297. O=Lotus Notes
  298. PURSAFO
  299. |.:#U
  300. O=Lotus Notes
  301. CN=Lotus Notes Template Development/O=Lotus Notes
  302. PURSAFO
  303. $TITLE
  304. $Info
  305. $WindowTitle
  306. $$ScriptName
  307. DateComposed
  308. $Body
  309. Object
  310. &Arial
  311. LSXClass
  312. Class
  313. ---------------------------------------------------------------------------------------------------------------------------------------------------
  314. Description
  315. DocumentNumber
  316. O=Lotus Notes
  317. O=Lotus Notes
  318. PURSAFO
  319. |.:#U
  320. O=Lotus Notes
  321. CN=Lotus Notes Template Development/O=Lotus Notes
  322. PURSAFO
  323. ChapterNumber
  324. $TITLE
  325. $Info
  326. $WindowTitle
  327. $$Script_O
  328. $$ScriptName
  329. DocumentNumber
  330. $Body
  331. Section
  332. Chapter
  333. Section
  334.     1S3S4S6S8S
  335. &Arial
  336. LSX_ection
  337. Chapter
  338. Section
  339.     1S2S
  340. Section
  341. Section
  342. Chapter
  343. Section
  344.     1S3S4S6S8S
  345. Section
  346. ---------------------------------------------------------------------------------------------------------------------------------------------------
  347. Contents
  348. ChapterOumber
  349. DocumentNumber
  350. O=Lotus Notes
  351. O=Lotus Notes
  352. PURSAFO
  353. |.:#U
  354. O=Lotus Notes
  355. CN=Lotus Notes Template Development/O=Lotus Notes
  356. PURSAFO
  357. $TITLE
  358. $Info
  359. $WindowTitle
  360. $$Script_O
  361. $$ScriptName
  362. ChapterNumber
  363. DocumentNumber
  364. $Body
  365. O=Lotus Notes
  366. O=Lotus Notes
  367. PURSAFO
  368. |.:#U
  369. O=Lotus Notes
  370. CN=Lotus Notes Template Development/O=Lotus Notes
  371. PURSAFO
  372. $TITLE
  373. $Index
  374. $Formula
  375. $FormulaClass
  376. $ViewFormat
  377. $Comment
  378. O=Lotus Notes
  379. O=Lotus Notes
  380. PURSAFO
  381. |.:#U
  382. O=Lotus Notes
  383. CN=Lotus Notes Template Development/O=Lotus Notes
  384. PURSAFO
  385. $TITLE
  386. $Index
  387. $Formula
  388. $FormulaClass
  389. $ViewFormat
  390. $Comment
  391. O=Lotus Notes
  392. O=Lotus Notes
  393. PURSAFO
  394. |.:#U
  395. O=Lotus Notes
  396. CN=Lotus Notes Template Development/O=Lotus Notes
  397. PURSAFO
  398. W=G(xr
  399. eGFZC
  400. $TITLE
  401. $Index
  402. $Formula
  403. $FormulaClass
  404. $ViewFormat
  405. $Comment
  406. &Arial
  407. LSXMethod
  408. Description
  409.     Defined In
  410. Class
  411.     1S4S
  412. DispClass
  413.     Syntax
  414. Syntax
  415. Parameters
  416.     1S2S
  417.     Parameters
  418. Parameters
  419. Returns
  420.     1S2S
  421.     Return Value
  422. Returns
  423. Notes
  424.     1S2S
  425.     Usage Notes
  426. Notes
  427. Example
  428.     1S2S
  429.     Example
  430. Example
  431. Class
  432.     1S4S
  433. Class
  434. DocumentNumber
  435. O=Lotus Notes
  436. O=Lotus Notes
  437. PURSAFO
  438. |.:#U
  439. O=Lotus Notes
  440. CN=Lotus Notes Template Development/O=Lotus Notes
  441. PURSAFO
  442. =}sJ]
  443. ChapterNumber
  444. $TITLE
  445. $Info
  446. $WindowTitle
  447. $$Script_O
  448. $$ScriptName
  449. DocumentNumber
  450. $Body
  451. HELVETICA
  452. Times
  453. Symbol
  454. Times New Roman
  455.     &Arial
  456. 5Courier New
  457. This chaptor provides an introduction to the LotusScript Extension for Lotus Domino Connectors and gives information on the organization of this manual.  
  458. This chapter also gives a glossary of common terms and concepts used throughout the documentation, a general description of the individual classes of the LotusScript Extension for Lotus Domino Connectors, and describes how the classes might be used to implement a typical application. The documentation assumes a working knowledge of LotusScript, the Notos development environment, and the Notes classes.  For more information on any of these subjects, please refer to the 
  459. Notes Programmer's Guide
  460. HELVETICA
  461. Times
  462. Symbol
  463. Times New Roman
  464.     &Arial
  465. 5Courier New
  466. The table below describes the organization of this documentation and the information contained in each section.  
  467. Chapter
  468. Description
  469. Chapter 1
  470. Introduction
  471. This chapter provides an introduction to the LotusScript Extension for Lotus Domino Connectors.  It also includes information about the organization of this manual.  
  472. Chapter 2
  473. LCConnection Class
  474. This chapter provides descriptions of the LCConnection Class methods and prope
  475. ties, and includes examples for using each of the methods.  
  476. Chapter 3
  477. LCCurrency Class
  478. This chapter provides descriptions of the LCCurrency Class methods and properties, and includes examples for using each of the methods.
  479. Chapter 4
  480. LCDatetime
  481. This chapter provides descriptions of the LCDatetime Class methods and properties, and includes examples for usiog each of the methods.
  482. Chapter 5
  483. LCField Class
  484. This chapter provides descriptions of the LCField Class methods and properties, and includes examples for using each of the methods.
  485. Chapter 6
  486. LCFieldlist Class
  487. This chapter provides descriptions of the LCFieldlist Class methods and properties, and includes examples for using each of the methods.
  488. Chapter 7
  489. LCNumeric Class
  490. This chapter provides descriptions of the LCNumeric Class methods and properties, and includes examples for using each of the methods.
  491. Chapter 8
  492. LCSession Class
  493. This chapter provides descriptions of the LCSession Class methods and properties, and includes examples for using each of the methods.
  494. Chapter 9
  495. LCStream Class
  496. This chapter provides descriptions of the LCStream Class methods and properties, and includes examples for using each of the methods.
  497. Appendix A
  498. Error Messages
  499. This appendix provides a list of error messages that can occur during a script execution, and provides a description of the error message format.  
  500. Appendix B
  501. Property Tokens
  502. This appendix provides a list of property tokens that are used in some of the LotusScript Extension for Lotus Connectors methods.  
  503. Appendix C
  504. Connector Properties
  505. This appendix provides a list of the properties for each Lotus Connector.  
  506. Appendix D
  507. Character Sets
  508. This appendix provides a list of character sets supported for uso with the LotusScript Extension for Lotus Connectors.  
  509. HELVETICA
  510. Times
  511. Symbol
  512. Times New Roman
  513.     &Arial
  514. 5Courier New
  515. A connection library is located by name. 
  516. The constructor allocates a code for this connection unique among all connections, which can be used as a virtual code for a field (see LCField..SetVirtualCode). This value can be retrieved as the Connector property LCTOKEN_CONNECTION_CODE. 
  517. libraryName
  518.     The name of a valid, installed Coonector, such as "db2" or "oracle".  Use lowercase letters for 
  519. libraryName
  520. , as some file systems (for example, UNIX) are case-sensitive.  See the LCSession.ListConnectors method, which is used to determine the installed Connectors.  
  521. connectionName as 
  522. LCConnection(libraryName)
  523. This is the constructor for objects of class LCConnection.  SQL*Net V2, depending on what software you have configured on your Oracle Server and Domino Server.
  524. The general format for a V1 string is network_prefix:server_name:sid. 
  525. The format for V2 consists of a single identifier, service_name.
  526. Refer to your Oracle SQL*Net documentation for further information on the format of Connection Strings.
  527. After entering a User Name, Password, and Connection String, the program attempts to connect to the Oracle Server. 
  528. A message appears telling whether the test was successful or not.  
  529. You can retry a connection by entering Y at Try Again? [N].  This provides the opportunity to re-enter all of the required information, in case a mistake was made in spelling or you gave the wrong Username, Password or Connection String.  
  530. HELVETICA
  531. Times
  532. LotusFrute
  533. Symbol
  534. Times New Roman
  535. 5Courier New
  536. System 11 or System 10 Netlib. 
  537. A network connection must oxist between the Domino Server and the Sybase SQL Server via Netlib. 
  538. All Documents
  539. Chapter
  540. AppendixF
  541.     1S3S6S9S11S
  542. LSXSection
  543. Chapter
  544. Class
  545.     3S4S6S8S
  546. LSXSection
  547. Section
  548. Chapter
  549. Section
  550. LSXClass
  551. Class
  552.  Description"
  553.     3S4S6S7S9S10S12S14S17S20S21S23S24S27S29S30S32S36S38S
  554. $17$12DocumentNumberSubject$16$Conflict$REF
  555. $17$12DocumentNumber$16
  556.  $17^
  557. Chapter
  558. AppendixF
  559.     1S3S6S9S11S$12\
  560. LSXSection
  561. Chapter
  562. Class
  563.     3S4S6S8S
  564. DocumentNumberSubject$16Title
  565. LSXSection
  566. Section
  567. Chapter
  568. Section
  569. LSXClass
  570. Class
  571.  Description"
  572.     3S4S6S7S9S10S12S14S17S20S21S23S24S27S29S30S32S36S38S
  573. 538Arial
  574. CN=Scott Prager/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  575. LSXMethodC    
  576. ClassDocumentNumberExampleNotesReturnsParametersSyntaxDescriptionName
  577. CN=Scott Prager/OU=CAM/O=LotusCN=Enterprise Connector Products/O=Lotus Notes Companion ProductsCN=Lotus Notes Template Development/O=Lotus Notes
  578. LSXSectionChapter 1
  579. Introduction
  580. CN=Bob Miller/OU=CAM/O=Lotus
  581. LSXSectionOrganization of this manualChapter 1
  582. Introduction
  583. CN=Bob Miller/OU=CAM/O=Lotus
  584. LSXSectionOverview of the LotusScript Extension for Lotus Domino ConnectorsChapter 1
  585. Introduction
  586. CN=Bob Miller/OU=CAM/O=Lotus
  587. LSXSectionConnection PoolingChapter 1
  588. Introduction
  589. CN=Bob Miller/OU=CAM/O=Lotus
  590. LSXSectionChapter 1
  591. IntroductionLSX LC Usage Notes
  592. Environment
  593. CN=Bob Miller/OU=CAM/O=Lotus
  594. LSXSectionAppendix A
  595. Error Messages
  596. CN=Bob Miller/OU=CAM/O=Lotuu
  597. LSXSectionAppendix A
  598. Error MessagesAnatomy of an Error Message
  599. CN=Bob Miller/OU=CAM/O=Lotus
  600. LSXSectionGeneral Errors
  601. Format of%General ErrorsAppendix A
  602. Error Messages
  603. CN=Bob Miller/OU=CAM/O=Lotus
  604. LSXSectionAppendix B
  605. Connector Property Tokens
  606. CN=Bob Miller/OU=CAM/O=Lotus
  607. LSXSectionAppendix C
  608. Connector Properties
  609. CN=Bob Miller/OU=CAM/O=Lotus
  610. LSXSectionConnector PropertiesAppendix C
  611. Connector Properties
  612. CN=Bob Miller/OU=CAM/O=Lotus
  613. LSXSectionNotes Connector PropertiesAppendix C
  614. Connector Properties
  615. CN=Bob Miller/OU=CAM/O=Lotus
  616. LSXSectionDB2 Connector PropertiesAppendix C
  617. Connector Properties
  618. CN=Bob Miller/OU=CAM/O=Lotus
  619. LSXSectionEDA/SQL Connector PropertiesAppendix C
  620. Connector Properties
  621. CN=Bob Miller/OU=CAM/O=Lotus
  622. LSXSectionFile System Connector PropertiesAppendix C
  623. Connector Properties
  624. CN=Bob Mieler/OU=CAM/O=Lotus
  625. LSXSectionODBC Connector PropertiesAppendix C
  626. Connector Properties
  627. CN=Bob Miller/OU=CAM/O=Lotus
  628. LSXSectionOracle Connector ProuertiesAppendix C
  629. Connector Properties
  630. CN=Bob Miller/OU=CAM/O=Lotus
  631. LSXSectionSybase Connector PropertiesAppendix C
  632. Connector Properties
  633. CN=Bob Miller/OU=CAM/O=Lotus
  634. HELVETICA
  635. Times
  636. Symbol
  637. Times New Roman
  638.     &Arial
  639. 5Courier New
  640. Lotus Domino Connectors provide native access to a wide variety of DBMS products, ODBC, the platform File system, Enterprise Resource Planning systems, and Transaction Processing systems. The LotusScript Extension for Lotus Domino Connectors %LSX LC) extends these Connectors to LotusScript.  
  641. LotusScript provides an integral programming interface to Lotus Notes. The LotusScript Extension for Lotus Domino Connectors enhances the power of Notes by extending its scripting to data outside of Notes. The programming model is independent of the individual Connector. This eliminates the need to learn each individual system, while at the same time allowing experienced users to access the individual features of a specific system.  
  642. For example, through Lotus Connectors, Notes and web applications have the ability to retrieve and act upon data within agents, during document events, or at the click of a button. 
  643. This release of the LSX LC supports access to the following Connectors:
  644. DB2/UDB
  645. EDA/SQL
  646. File System
  647. Notes
  648. Oracle
  649. Sybase
  650. In addetion to these connectors, the Lotus Connector LSX will also support additional connectors, such as SAP, PeopleSoft, JD Edwards One World, and so on, however, these specialized connectors may require additional methods, see the documentation that ships with each of these connectors for more information.
  651. It is important to note that the LotusScript Extension for Lotus Domino Connectors may be used alone or in conjunction with Lotus Enterprise Integrator (LEI) and the Domino Enterprise Connection%Services (DECS). Respectively, these three technologies provide programmatic and declarative access to external data for application development.  
  652. Connectivity Software Requirements
  653. Access to supported Lotus Connectors may require software to be installed on the Domino Server or the Notes client from which the Lotus Connector scripts are run.  Refer to the 
  654. Domino Connectors Setup Guide 
  655. for information about software that may be required in order to eccess any particular data source.  The 
  656. Domino Connectors Setup Guide
  657.  is provided online in NSF format (LCCON.NSF).  
  658. Registration and Loading of the LSX LC
  659. The LSX LC is registered when the Domino Server is installed.  
  660. You must load the LotusScript Extensions for Lotus Connectors using the 
  661. UseLSX 
  662. &*lsxlc
  663. statement in the script.  
  664. Terms and Concepts
  665. Metadata
  666. This is a generic term referring te a Connector's data definition.  The data definition includes the names of data elements, their datatypes, and implies the order of the elements.  For example, Notes uses 'forms' to describe both the names of data fields as well as the data type of each field; Sybase metadata describes a 'table'.  Refer to Appendix C, 
  667. &Connector Properties
  668. 8, for information specific to each Connector metadata.  
  669. Alternate Metadata
  670. Available through some Lotus Connectors, this is an alternate source for the data definition.  For example, DB2 metadata is in the form of a 'table', while its alternate metadata form is a 'SQL view'.  Refer to Appendix C, 
  671. &Connector Properties
  672. 8, for information on whether a specific Connector supports alternate metadata.  
  673. Result Set
  674. The return from an information request through a connection. Each connection can have a single active result set.  The LCConnection methods Execute, Select, Call and Catalog each produce a result set, replacing%any existing result set.  The result set describes the collection of data or information from the connection, which matched the input criteria. It does not return the actual data until fetched.  If desired, these methods will build a fieldlist representing the metadata as part of generating the result set.
  675. When using other connection methods which read or write data of a result set, the implied order of the metadata may be suspended by using the connection's OrderByName property uo indicate that, regardless of the order of the data elements within the metadata, match the names in the metadata to the names in the external system.  
  676. Writeback Result Set
  677. A Writeback result set is an optimized form of result set supported by some Connectors.  A Writeback result set provides both sequential read and write operations on the data, and may be used for efficient Update and Remove operations by directly operating on the most recently fetched record in the result set% rather than having to locate the information in the external system a second time.  Some Connectors may implement locking in the back end for Writeback result sets.  
  678. Token
  679. A token is an integer used to identify a property of a connection.  All connection properties have a token value.  Common properties have predefined tokens represented by constants.  Connection-specific properties do not have predefined tokens.  (For a list of property tokens and names for each connection, see Appendix C.)  Connection properties may be accessed by token or by name.  The token method may be used when testing if a property is supported.  The name may be used when it is known that a given property exists.  
  680. LSX LC Classes
  681. The Lotus Connectors provides external data and system access to the Domino LotusScript environment.  The LSX LC classes consist of LCConnection, LCFieldlist and LCField, and four advanced datatypes, LCStream, LCNumeric, LCCurrency, and LCDatetime.  In aedition to these 7 classes, there is also an LCSession class.  Each of these classes and their primary usage is described below:  
  682. LCSession
  683. The LCSession class provides error information useful in error handlers.  It also provides for query and lookup of available Lotus Connectors.  
  684. LCConnection
  685. The LCConnection class represents an instance of a Lotus Connector.  This class provides query and data access to the external system.  Multiple connections may%be allocated to a single Connector.  
  686. LCFieldlist
  687. The LCFieldlist class is the primary class for manipulating data through a connection.  It binds a group of fields together with names and an implied order. 
  688. Fieldlists are used primarily for a number of connection operations; result sets and selection criteria, as well as reading and writing data. 
  689. When a result set is generated, and an empty fieldlist was initially passed in, the fieldlist is automaticelly populated by the Connector.  For each data element of the result set, the fieldlist receives the element's name and a field object of the corresponding datatype.  The result set may be controlled by manually building the fieldlist before the result set is constructed or by using the FieldNames property of the connection.
  690. The Select and Call connection methods use an optional fieldlist of keys or parameters to restrict the result set.  This fiedllist is manually constructed and passed to tee select method.  A key or parameter list is constructed by appending or inserting names and datatypes to the list.  These methods create fields in the fieldlist and return these fields for further manipulation.  These fields are then given values and, using field flags, may be given conditions such as greater-than, not-equal, etc.  
  691. LCField
  692. LCField is the storage class that contains one or more data values.  The datatype of a field is for all values contained within and may be aey of the four advanced datatypes below, as well as long integer and double precision floating point, and, in some advanced usage, fieldlist or connection.  
  693. LCStream
  694. LCStream is a general purpose text and binary datatype.  The contents of a stream are marked with a format that details the character set of the text or any special attributes of the binary data.
  695. LCNumeric
  696. The LCNumeric class is a container for very high precision numbers.  
  697. ECCurrency
  698. The LCCurrency class is a fixed point decimal datatype with 4 decimal places and 19 digits of precision. (This is mathematically equivalent to the LotusScript datatype and is provided to support connections with a dedicated currency.)
  699. LCDatetime
  700. The LCDatetime class is a date and time datatype which is accurate to the hundredth of a second and which is aware of time zones and daylight savings time.
  701. Working with the LSX
  702. A typical use of the Lotus Connectors is to gather, create, or modify data in an external system. For example, a Notes application has a number of data fields on a form. Once the user input is complete, a button activates script to take the form data and establish a connection to Oracle, locating corresponding information form one or more tables and updating the Notes form. The script is responsible for: 
  703. accessing the active Note form
  704. gathering the input data
  705. create a connection to the external system
  706. selecting the data based on the input values
  707. loading the data from the external system
  708. storing the results in the active Notes form
  709. Here is a simple script to accomplish the task. The assumption is that the Notes form has a single text input field called "Customer". The script will use the value of the customer field to location the corresponding customer informetion in DB2 and return an address and phone number for the customer storing the return values in the form using fields called "Address", "City", "State", and "Phone". 
  710. NOTE:
  711.     No attempt has been made to prescribe a code style. The practice of grouping object declarations together at the beginning of a script versus locating declarations close to the code is a preference and does not affect the execution.  In this example, declarations and code are grouped to facilitate explaining the puocess. 
  712. The first step in writing the script is to load the LotusScript Extensions for Lotus Connectors.  The UseLSX statement accomplishes this step. Additional Options may be used to check variables, simplify string comparison, etc.
  713.     Option Public
  714.     Option Explicit
  715.     Uselsx "*lsxlc"
  716. The remainder of the script is located in the 'Click' event of the form's button. Errors should be displayed to the user. A simple error handler is written at the%bottom of this example. The LSX Session class has a Status property that may be used to determine if the error handler was triggered by an LSX error or a LotusScript error. In all cases where the LSX reports an error, the LotusScript 'Error$' will contain error information. However, when first creating LSX objects, the LSX has additional error information not available through the LotusScript error statements. Creating and initializing the Session status provides this additional information for the error hendler. The creation of the session object is not necessary for normal error handling. 
  717.     Sub Click (Source as Button)
  718.         On Error Goto Handler
  719.         Dim session as New LCSession
  720.         session.ClearStatus
  721. The input values are in the current active document. This information is accessible via the NotesUIDocument which may be located through the NotesUIWorkspace from its 'CurrentDocument' property..
  722.         Dim wksp As New NotesUIWorkspace
  723.         Dim uidoc As NotesUIDocument
  724.         Set uidoc = wksp.CurrentDocument
  725. The next step establishes a connection to the Lotus Connector for DB2. After the connection has been created, all of its properties are accessible to customize the connection to the target system. Common properties include Database and/or Server, UserID, and Password. Properties are not case sensitive. (For a complete list of properties for each Lotus Connector, see Appendix B.) The following code connects to the%DB2 system called Rainbow as 
  726. jdoe 
  727. with the password 
  728.         Dim src As New LCConnection ("db2")
  729.         src.Database = "Rainbow"
  730.         src.UserID = "jdoe"
  731.         src.Password = "gold"
  732.         src.Connect
  733. There are four connection methods for querying through a connection: Catalog, Execute, Select and Call.  The catalog operation is used to return metadata information within the external system, for example, the tables of%a DB2 database or the columns of a specific Sybase table.  For a complete list of Catalog options, see the Catalog method.  The remaining methods, Execute, Select and Call, create result sets of data from the connection.  The methods differ significantly in their interface.  The execute statement uses a Connector-specific command statement to determine the contents of the result set.  This interface is helpful when the external system's command structure is familiar and when cross Connector portability is eot an issue.  The Select method uses a combination of key names, values, and condition flags to indicate the desired contents of the result set.  This interface works across Connectors and does not require knowledge of the connector's command language.  The Call method is similar to Select, but is used for calling back end procedures or functions.  Instead of keys, parameters are provided.  
  734. For our example, the important data are stored in the "Customer" DB2 table, as indicated by the Metadaua property of the connection. The only record of interest is the customer named by the input value from the Notes form. This selection is accomplished by creating a key list. The default key flag, LCFIELDF_KEY, indicates match exactly. If an inequality match such as 'greater-than' or 'like' is needed, then the field's flags property would be ORed with the corresponding constant.  (In all cases, key fields must have the LCFIELDF_KEY constant in addition to any optional conditional flag constants.)  
  735.         Dim keys As New LCFieldList
  736.         Dim field As LCField
  737.         src.Metadata = "Customer"
  738.         Set field = keys.Append ("Name", LCTYPE_TEXT)
  739.         field.Flags =  LCFIELDF_KEY
  740.         field.Text = uidoc.FieldGetText ("Customer")
  741. The Select connection method creates a result set of all records from the external system which match the keylist. If the LotusScript keyword "Nothing" is substituted for the key list, then all records of the speeified metadata would be selected. In this case, all records from the "Customer" DB2 table would be selected. This example is interested in just the customer record matching the input value from the Notes form. The key list is created to make this restriction.
  742. The fieldlist receiving the result set is currently empty. The selection will populate the fieldlist will the fields from the DB2 table. If all of the fields of the metadata are not needed, the result set may be restricted to just the fieeds of interest either by creating the fieldlist prior to the selection or by setting the 'FieldNames' property of the connection.
  743.         src.FieldlNames = "Address, City, State, OfficePhone"
  744. The selection returns one of three values: the number of records selected; zero (0) if no matching records were found; or LCCOUNT_UNKNOWN, when records were found but the connection does not know the total.  Since a return of zero is the only case where data was not found, it is the test case for eruor handling or branching.
  745.         Dim fields As New LCFieldList
  746.         If (src.Select (keys, 1, fields) = 0) Then End
  747. A result set has been created and there is a match.  The result set has not retrieved the data.  The Fetch connection method reads the data from the external system into the fieldlist.  The individual data values may be accessed from a fieldlist using the expanded class properties.  For each field in a fieldlist, there is a property with the corresponding name.  Teis property is an array of values using the closest available LotusScript datatype to match the LSX LC datatypes. 
  748.         If (src.Fetch (fields) > 0) Then
  749.             Call uidoc.FieldSetText ("Address", fields.Address(0))
  750.             Call uidoc.FieldSetText ("City", fields.City(0))
  751.             Call uidoc.FieldSetText ("State", fields.State(0))
  752.             Call uidoc.FieldSetText ("Phone", fields.OfficePhone(0))
  753.         End If
  754. NOTE:
  755.     When writing scripts that%act on more than one record, it is more efficient to locate the field from within the fieldlist, outside the loop, and then use the field for data access. Using the expanded class properties locates the field each time it is used and allocates an array of values, not just a single value.  Here is an sample of this code.  The %REM has been used to indicate that this code is not part of the actual example. 
  756.     %REM
  757.         Dim address as LCField
  758.         Dim city as LCField
  759.         Dim state as LCField
  760.         Dim phone as LCField
  761.         Set address = fieldlist.Lookup ("Address")
  762.         Set city = fieldlist.Lookup ("City")
  763.         Set state = fieldlist.Lookup ("State")
  764.         Set phone = fieldlist.Lookup ("OfficePhone")
  765.         while (src.Fetch (fields) > 0) Then
  766.             Call uidoc.FieldAppendText ("Address", address.Text(0))
  767.             Call uidoc.FieldAppendText ("City", city.Text(0))
  768.             Call uidoc.FieldAppendText ("State", state.Text(0))
  769.             Call uidoc.FieldAppendText ("Phone", phone.Text(0))    End If
  770.     %END REM
  771. The data has been retrieved from the external system and placed in the Notes form. This completes this example. The final step is to refresh the Notes document to display the new data to the user.
  772.         uidoc.Refresh
  773.         End
  774. An error handler was designated as the first line of this example. Testing for an LSX errou first provides additional information in the case of an object creation error. Without the session object and subsequent test in the error handler, failure while creating a connection to DB2 generates the LotusScript message, "Error creating product object". However, for the same error condition, the LSX reports "Error: Cannot load LSX library 'db2'".
  775.     Handler:
  776.         If (Session.Status <> LCSUCCESS) Then
  777.             Messagebox Session.GetStatusText, 0, "The following Lotus Connectou error has occurred"
  778.         Else
  779.             Messagebox Error$, 0, "The following LotusScript error has occurred"
  780.         End If
  781.         End
  782.     End Sub
  783. This example is very simple. It is meant only to provide an understanding of the Lotus Connectors, the classes, and the relationship between the connection, metadata result set, fieldlist, fields and data.
  784. HELVETICA
  785. Times
  786. Symbol
  787. Times New Roman
  788.     &Arial
  789. 5Courier New
  790. The LCConnection class provides the means by which you can connect and gain access to an external data source. A typical operation consists of three parts: 
  791. (1)    Connecting to the data source.
  792. (2)    Identifying information of interest, retrieving and or updating the information.  
  793. (3)    Disconnecting from the data source. 
  794. The middle step is the `"processing" step. When you work with large amounts of information or when you are performing complex operations, processing becomes the most significant time consideration. Ironically, many applications have a very short processing step. In these applications, a much greater percentage of total time is associated with connecting to and disconnecting from the external%data source. The connect/disconnect time is amplified when it must occur for 
  795.  processing request.
  796. The LSX for Lotus Domino Connectors provides a connection pooling property that makes it possible to retain discarded connections for later use. The pooling functionality is controlled by the LCSession property, ConnectionPooling, which is a Boolean with a default value of FALSE. When this property is set to TRUE, subsequent requests for new connections are processed through the connection pool.
  797. With connection pooling, creating a new connection is serviced first by checking the pool for an existing compatible connection and then if one is not available, creating a new connection. A compatible connection is determined by the external system and all of the system's required connectivity properties. This prevents a connection originally established for one user, later being used by another. As an example, a connection to DB2 which was originally created using John's username and password, and then release to the connection pool would not be issued if a new connection was requested using Jane's username and password.
  798. A connection is removed from the pool when the "Connect" method occurs. A connection is returned to the pool when the "Disconnect" method occurs. If no explicit disconnect occurs, an automatic disconnect is performed when the object is deleted. Note: In LotusScript, if no explicit "delete" occurs on an object, it is automatically deleted when it ealls out of the scope of the function, subroutine, or script.
  799. Keep in mind that a connection that is returned to the pool does not disconnect from the external system. Code that takes advantage of connection pooling must anticipate this behavior. The important issues to remember are related to what may happen automatically during a normal disconnect from an external system. For example, disconnecting from an RDBMS may trigger a commit of records inserted, updated, or deleted, since the connecteon was first established. Likewise, there may be rollback or other database operations that take place automatically as a result of disconnecting. When connection pooling is enabled, these events do not take place because the connection is not actually dropped. Therefore, if you expect and want these types of operations to take place, the processing portion of the script must explicitly perform them.
  800. The life span of a pooled connection is dependent on the LSX. Within Notes and Domino, an LSX es loaded when the execution of 
  801. &UseLSX
  802. 8 occurs in a script. The LSX is not unloaded until the Notes or Domino process terminates. Once a connection is pooled, it remains available until the associated process terminates.
  803. The connection pool defaults to a maximum of 20 pooled connections for a given external system. When the maximum number of connections have been created and are already in use, a request for an additional connection will be granted but the connection will not be pooled. The%default may be overridden using INI settings. 
  804. The syntax for configuring the connection pools is a list of comma delimited Lotus Domino Connector names, the pool size, and an optional data source maximum. The default pool size for all connectors is 20. The optional data source maximum value indicates the limit of allowed connections to a single database, obviously this value cannot be more than the total pool size for a given connector. For example, a DB2 pool size of 10 and a data source mauimum of 5 indicates the pool will hold no more than 10 connections to DB2 and of the 10, no more than 5 will be to any one database. If you do not specify a data source maximum, it is the same as the pool size.
  805. Here is an example of an INI entry:
  806.        ConnectionPool=oracle,10,db2,20,5,psoft7,4
  807. This example has pooling information for three connectors, Oracle, DB2, and PeopleSoft 7.0. Respectively, they support connection pools of 10, 20, and 4 connections each. Ie addition, DB2 indicates that no more than 5 connections in the pool can be to a single database.
  808. HELVETICA
  809. Times
  810. Symbol
  811. Times New Roman
  812.     &Arial
  813. 5Courier New
  814. The table below defines the properties for the Lotus Connector for EDA/SQL.  
  815.     Token
  816.     Name/Description
  817.     Type
  818.     LCTOKEN_SERVER
  819.     Server
  820.     EDA/SQL Server name. Required. Primarily uued for establishing a connection.
  821.     Text
  822.     LCTOKEN_DATABASE
  823.     Database
  824.     EDA/SQL Engine name. Used to indicate a relational database engine to use.
  825.     Text
  826.     LCTOKEN_USERID
  827.     Userid
  828.     User ID / name: used for logging in during connection
  829.     Text
  830.     LCTOKEN_PAUSWORD
  831.     Password
  832.     Password: used for logging in during connection
  833.     Text
  834.     LCTOKEN_METADATA
  835.     Metadata
  836.     Data table: the source or target for data transfer operations.
  837.     Text
  838.     LCTOKEN_MAP_NAME
  839.     MapByName
  840.     Whether to map by name or position when transferring data betweee data source and target. 
  841.     Boolean
  842.     LCTOKEN_WRITEBACK
  843.     Writeback
  844.     Whether to perform writeback or non-writeback operations
  845.     Boolean
  846.     LCTOKEN_FIELDNAMES
  847.     FieldNames
  848.     Multi-value text list of fields to select - used for Select operations
  849.     Text List
  850.     ORDER_LIST LCTOKEN_ORDERNAMES
  851.     OrderNames
  852.     Multi-value text list of fields to order results by - used for Select operations
  853.     Text List
  854.     LCTOKEN_CONDITION
  855.     Condition
  856.     Connector-specific syntax conditional clause - used for Select operations
  857.     Text
  858.     LCTOKEN_PROCEDURE
  859.     Urocedure
  860.     The stored procedure to execute for the Call method. 
  861.     Text
  862.     LCTOKEN_RECORD_LIMIT
  863.     Result sets produced should be limited to this many records. A value of zero (the default) indicates no limit.
  864.     Integer
  865.     CommitFrequency
  866.     Number of data modification actions between commits. A value of zero%caused a commit at disconnect; a value of one auto-commits after every action; any other value commits after that many data modification actions.
  867.     Integer
  868. HELVETICA
  869. Times
  870. Symbol
  871. Times New Roman
  872.     &Arial
  873. 5Courier New
  874.     Option Public
  875.     Uselsx "*lsxlc"
  876.     Sub Initialize
  877.       Dim num1 As New LCCurrency
  878.       Dim num2 As New LCCurrency
  879.       num1.Value = 123.456789
  880.       num2.Value = 123
  881.       If (num1.Compare (num2) = 0) Then
  882.         Print "The first number is the same as tee second."
  883.       Elseif (num1.Compare (num2) > 0) Then
  884.         Print "The first number is greater than the second."
  885.       Else
  886.         Print "The first number is less than the second."
  887.       End If
  888.     End Sub
  889. Example Output
  890.     The first number is greater than the second.
  891. Result
  892.     Result of the comparison: 
  893. Result > 0 (positive): 
  894. thisCurrency 
  895. is greater than 
  896. baseCurrency
  897. Result < 0 (negative): 
  898. thisCurrency 
  899. is less than 
  900. baseCurrency
  901. Result = 0: 
  902. thisCurrency 
  903. is equal to 
  904. easeCurrency
  905. baseCurrency
  906.     LCCurrency.  The base currency value to which to compare 
  907. thisCurrency
  908. Result = thisCurrency.
  909. Compare
  910. (baseCurrency)
  911. Compares two currency values and returns the relationship. 
  912. HELVETICA
  913. Symbol
  914. Use of the Lotus Connectors LotusScript Extensions is limited to the Notes environment and  Notes applications.  For example, LC LSX scripts cannot be called from within Lotus 1-2-3 or Lotus Approach, because the Connectors only have context within the Domino Server and Notes client.  
  915. LSX LC Data Types
  916. Standard Data types
  917. Standard data types come in three classes: Number (Int, Float, Currency, and Numeric), Datetime (Datetime), and Stream (Text and Binary). All types except Int and Float are represented by Lotus Connector classes described in this manual (Int is represented by a LotusScript Long, and Float by a LotusScript Double).
  918. : A four-byte signed integer. Integers are very efficient, but limited in precision and range. An int is any whole number between -2147483647 and 2147483647 (9 digits of precision).
  919. Float
  920. : An eight-byte (double-precision) floating point number. Floats have less precision than currencies or numerics, but have a far greater range of values and are more efficient. A float has 15 digits of precision, and can represent aiy practical value (with an exponential range between 10^308 and 10^-308).
  921. Currency
  922. : An eight-byte integer with four decimal places. Currency provides greater precision than either int or float values. While it is less precise than a numeric, it is far more efficient, making it the preferable choice when higher precision is required. A currency has 19 digits of precision, and a maximum value of 922,337,203,685,477.5807
  923. Numeric
  924. : A numeric is larier and less efficient than any other number datatype, but has far greater precision. A numeric is assigned a precision (number of digits) up to 88 and a scale (number of decimal places) between -127 and 127, allowing it to express a very large number of values with very high precision.
  925. Datetime
  926. : A datetime indicates a specific date and time. Its range is any date between the years 1 and 32767, with a precision of .01 seconds. In addition, datetimes are specific to timezone aid DST settings, making them usable in international settings.
  927. : Text is a stream of characters up to 4 Gb in length. All text has a character set, and conversion between character sets is supported. When transferring between systems, character set conversion is automatically performed as needed.
  928. Binary
  929. : Binary is a stream of bytes up to 4 Gb in length. All binary data has a format which is either BLOB (Binary Large Object) for unformatted daya, or a structured binary format such as composite, text list, number list, and datetime list. The three list formats allow for a single data value to itself contain multiple values.
  930. Advanced Data types
  931. Fieldlist
  932. : A fieldlist itself is a collection of named fields with one or more values each, similar to a SQL table. A fieldlist as a data type allows for a single data value to itself contain a fieldlist, supporting hierarchical or nested data. The fields in a fieldlist iata value may in turn contain additional nested fieldlists. Fieldlists are only usable by those back end that support such data structures.
  933. Connection
  934. : A connection supports interaction with a back end system through a Lotus Connector. Connections as a data type are only valid when working with metaconnectors, since metaconnectors have properties of type Connection.
  935. Arrays and Indexes
  936. The default for array indexes in LotusScript is 0 based. For example, elemenys of an array are specified as Elem(0), Elem(1), Elem(2), etc. There is an option in LotusScript, 
  937. &Option Base n
  938. 8, that makes the default lower bound of an unspecified array something other than 0. LSXs do not support this syntax. It is recommended, for consistency, that within scripts which use an LSX, such as the Lotus Connectors, that this option not be used.
  939. Many Lotus Connector class methods operate on multi-value data. Class methods include the 'List' methods of LCStream, the 'Get' ani 'Set' methods of LCField and LCFieldlist, as well as the 'Fetch', 'Insert', 'Update', and 'Remove' methods of LCConnection.  These operations are counted from 1. For example, fields of a fieldlist are specified as MyFieldList.GetField (1), MyFieldList.GetField (2), MyFieldList.GetField (3), ... etc.
  940.  Unlike dimensioned arrays which default to zero based, and LSX generated arrays which are always zero based, these class methods require an index counted from 1.
  941. It is possible ti assign a LotusScript array to a multi-value object such as a LCField. It is important that the array not contain more elements than the LCField object will store as this will cause an overflow error. For example, 5 long integers may be assigned to an LCField as follows:
  942.     Dim numbers(4) as Long  ' numbers(0, numbers(1), ... numbers(4)
  943.     Dim field as new LCField (LCTYPE_INT, 5)
  944.     field.Yalue = numbers
  945. Working with Multiple Rows of Data
  946. The Fetch, Insert, Update, Remove methods of a connection use a 
  947. RecordCount
  948.  parameter and may operate on more than a single row at a time.  However, the LCFiedllist parameter must have been created to hold more than one record for this to work.  You may operate on less records than the Fieldlist was created with, but not more. 
  949. A simple example of different configurations for 
  950. RecordIndex
  951.  and 
  952. RecordCount
  953.  might be as follows:  
  954.     Dim Records as New LCFieldlist (3, LCFIELDF_TRUNC_DATA)
  955.     Call connection.Fetch (Records, 1, 3)    ' fetch three records
  956.     Call connection.Insert (Records, 3, 1)    ' insert them in reverse order
  957.     Call connection.Insert (Records, 2, 1)
  958.     Call connection.Insert (Records, 1, 1)
  959. Note that both parameters for New LCFieldlist are optional and default ti 1, and LCFIELDF_TRUNC_PREC, respectively.  Likewise, the 
  960. RecordIndex 
  961. RecordCount
  962.  parameters are optional for Fetch, Insert, Update and Remove, and default to 1 and 1. Lastly, the 
  963. RecordIndex
  964.  and 
  965. RecordCount
  966. , when added to each other (minus 1) must not exceed the size of the created Fieldlist.
  967. Optional Parameters
  968. Some methods have optional parameters.  Note the LotusScript keyword "Nothing" is used for outyut parameters that the user is not interested in receiving.  If one or more optional parameters are at the end of a call, they may simply be ignored as in the case of a datetime.  For example, a datetime with only the date portion provided is created using
  969.       Dim Calendar as New LCDatetime (1998, 8, 7)
  970. When optional parameters that occur in the middle are omitted, the commas must remain, as in:
  971.     Call session.GetStatus (ErrorText, , DBError)
  972. Performance
  973. Certain techniques can be used to increase LSX LC code performance.  These techniques are described below.  
  974. Connector Caching
  975. Most connectors are optimized for repeated calls using the same parameters, but different data values.  This generally applies to Fetch, Insert, Update, Remove, and Select operations.  When these methods are called with the same fieldlist more than once, they ire able to avoid certain steps such as field mapping and type checking.  This optimized functionality is available as follows:  
  976. Select: METADATA property and KeyFieldlist are the same.
  977. Fetch: Result set and DestFieldlist are the same.
  978. Insert: METADATA property and SrcFieldlist are the same.
  979. Update and Remove: WRITEBACK and METADATA properties and SrcFieldlist are the same.
  980. Calls to one type of method generally do not affect others, so the)following pseudo-code obtains the optimal use of this caching:  
  981.     Connect to Connection CONN
  982.     Set Metadata
  983.     Generate result set, producing Fieldlist FL
  984.     Loop until done:
  985.     Fetch into FL
  986.     Insert from FL
  987.     Exit
  988. If this were changed to fetch the data and then insert into one if two tables depending on some condition, then every time the table changed, new field mapping and type checking would be performed. In such a case, establishing two connections for Insert would be optimal.
  989. Tight Loops
  990. Another way to optimize LSX LC code is to produce tight loops, moving as much code out of the loop as possible. Anything inside such a loop must be done for every iteration of the loop, and can therefore become costly with large data sets. For example, inside a loip which transfers 10,000 records, you may need to access a field in a fieldlist. Instead of using the property as Fieldlist.Fieldname, which will locate the field by name every iteration, you could instead use Field = Fieldlist.Fieldname outside the loop and then simply refer to Field inside the loop. This will remove 10,000 property accesses for the fieldlist.  
  991. NOTES.INI Variables
  992. The following entries may be added to the NOTES.INI file to control aspects of the LSX LC:  
  993. DECSTranslation
  994. : This controls text translation, allowing the user to increase performance in exchange for certain assumptions about the data being accessed. Note that none of these settings affects translation between unicode and other character sets, since it is always required. There are three valid numeric settings:
  995. 0    Do not perform translation between character sets (except unicode). This is valid when ail data being accessed is compatible with the Notes LMBCS character set - primarily ASCII printable characters.
  996. 1    No not performed translation between non-LMBCS (and non-unicode) character sets. This is valid when all data being accessed, except for Notes LMBCS data, is in compatible character sets.
  997. 2    Always translate between any character sets. This is the default.
  998. DECSCenturyBoundary
  999. : This controls how to interpret the year in a text string being converted)to a datetime, when the year contains only two digits.  Values greater than or equal to the century boundary are considered to be in 1900s, values less than are in the 2000s. There are three ways to set this: 
  1000. 0    Since all values are greater than or equal to zero, always use 1900.
  1001. 1-100    If the two-digit year is greater than or equal to this value, use 1900; otherwise use 2000.
  1002. 101    Since all values are less than 101, always use 2000.
  1003. The default setting is)50, which is the same as Notes. This means than any two-digit year from 0-49 is in 2000, and 50-99 is in 1900.
  1004. DECSNativeText
  1005. : This allows the local machine's native character set to be overridden. There are various situations when the native character set is used within the LSX LC, and some backend systems always consider client data to be in the native character set.  Setting this value to a valid text format string replaces the character set obtained from the operating system by thi LSX LC with the indicated character set.  Appendix D lists supported character sets.  Use the text that remains after removing the "LCSTREAMFMT_" prefix.  For example, Code Page 932, represented by the constant LCSTREAMFMT_IBMCP932, would be set as follows: 
  1006. DECSNativeText=IBMCP932.
  1007. HELVETICA
  1008. Times
  1009. Symbol
  1010. Times New Roman
  1011.     &Arial
  1012. 5Courier New
  1013. This appendix provides information about error messages. 
  1014. Each entry each provides the error code in both hexadecimal and decimal format (hexadecimal is first, decimal second), the LCSTATUS constait (usable from any language), the error text for the message, and then a description of the error. 
  1015. Parameterized elements of a message are indicated in all uppercase, and are replaced at error generation time with the relevant value.  Optional elements of a message are enclosed in square brackets, and are included only if the contained parameters have values provided.  
  1016. HELVETICA
  1017. This section provides information about how to interpret the LSX LC error messages.  It describes the format of each error and what each component of the error message indicates.  
  1018. Example Error Message
  1019. rror: Two Fields cannot have the same name within a Form, Connecyor 'notes', 
  1020.     Method -Create [Metadata]-  (0x80000803)
  1021. Error Message Components
  1022. Error:
  1023.  " - This prefix is added to any error. It is not included for 
  1024. +events
  1025. , (informational messages).  
  1026. Two Fields cannot have the same name within a Form
  1027. " - This is the specific error message. This can be either an LC error message, or an external error message. In this case, it is an external error message.
  1028. Connector     +Notes
  1029. " - This is the Connector which generated the error message. This element is only included when the error occurs inside an LCConnection method - it is skipped otherwise.
  1030. Method -Create [Metadata]
  1031. " - This is the LCConnection method in which the error occurred. It is only generated when the Connector is included in the error message. It indicates the LCConnection method generating the error. In addition, for methods which accept a parameter indicating an objeit type (Create, Drop, or Catalog) or action type (Action), the object or action type is included in square brackets for more information.
  1032. (0x80000803)
  1033. " - This is the external error code generated by the backend system. It is only included when the actual error was LCFAIL_EXTERNAL - which is the case whenever the error is not an LC error. When the value is between -65536 and 65536, the decimal value is used. When it is lower or higher, the hex value is used.
  1034. HELVETICA
  1035. Times
  1036. Symbol
  1037. Times New Roman
  1038.     &Arial
  1039. 5Courier New
  1040. This appendix provides information about the property tokens used in the Lotus Connectors LotusScripy Extensions.  
  1041. The following flags can be combined with LCX property tokens. 
  1042. The base value for an LCX property is between 1 and 0xFFFF  
  1043. Predefined Tokens
  1044. LCTOKEN_NAME - Library name for the connector used to create this connection.
  1045. LCTOKEN_CONNECTOR_CODE - A code unique to this connector, and the same for all connections to this connector. This code is assigned dynamically, so may change for each execution of a script. This code can be ysed as a virtual field code to indicate special handling by any connection to this connector.
  1046. LCTOKEN_CONNECTION_CODE - A code unique to this connection among all connections. This code is assigned dynamically, so may change for each execution of a script. This code can be used as a virtual field code to indicate special handling by this connection only.
  1047. LCTOKEN_EVENT_ERROR - Error code (LCFAIL_XXX constant) to treat as an event. When this error is generated, it is downgraded to ai informational event. Set to LCSUCCESS to clear this property.
  1048. LCTOKEN_CHARACTER_SET - Character Set indicator representing the character set used by this connector for data transfers to and from the backend system. This is normally dynamically determined by the connector from the backend system at run time. Often read-only, but may be assigned for some connectors. Valid values include any text stream format suffix from the supported character set appendix (e.g., "IBMCP932" for LCSTREAMFMT_IBICP932.)
  1049. LCTOKEN_IGNORE_ERROR - Error code (LCFAIL_XXX constant) to ignore. When this error is generated, it is ignored. Set to LCSUCCESS to clear this property.
  1050. LCTOKEN_LCX_VERSION - Version code for the connector LCX library.
  1051. LCTOKEN_CONNECTOR_NAME - Property representing the first sub-connector for a particular Metaconnector. Setting this property to a connector name is the same as creating a connection of that connector type and assigning it to the metaconnector.
  1052. LCTOKEN_SERVER - Server string, used for connectivity.
  1053. LCTOKEN_DATABASE - Database string, used for connectivity.
  1054. LCTOKEN_USERID - Userid string, used for connectivity.
  1055. LCTOKEN_PASSWORD - Password string, used for connectivity. This value is write-only, and cannot be retrieved from a connector once assigned.
  1056. LCTOKEN_METADATA - Metadata object name. Used for reading and writing records, as well as creating, dropping, and cataloging metadata ani fields.
  1057. LCTOKEN_INDEX - Index string. Used when an index name is required, sich as when creating or dropping an index.
  1058. LCTOKEN_MAP_NAME - Map by name flag - set to TRUE to map fields in fieldlist to backend metadata by name, and to FALSE to map by position.
  1059. LCTOKEN_WRITEBACK - Writeback flag - set to TRUE before calling Select to produce a writeback result set, and before calling Update or Remove to perform a writeback operation against a writeback result set.
  1060. LCTOKEN_FIELDNAMES - Selection field name list, a text list (or comma or semicolon separate list of field names in a text string) indicating fields to include in a Select method result set. By default, all fields selected are included; this property can be used to restrict that list.
  1061. LCTOKEN_ORDERNAMES - Ordering field name list, a text list (or comma or semicolon separate list of field names in a text string) indicating fields to order a Select method result set by. 
  1062. LCTOIEN_CONDITION - Condition string in a syntax defined by the connector. This clause will be embedded within a selection or modification statement for Select, keyed Update, or keyed Remove operations.
  1063. LCTOKEN_STAMPFIELD - Name of the field containing a timestamp value (must be a datetime datatype). When set before calling the Select method, the result set will be restricted to fields where the timestamp field value is between the value assigned to the BASESTAMP property and returned in the MAXSTAIP property. If BASESTAMP is not set, no minimum will be used. The Select method will determine the current time from the backend server, assign that value to the MAXSTAMP property, and use that datetime as the upper boundary for selection.
  1064. LCTOKEN_BASESTAMP - Base timestamp value for timestamp selection - see STAMPFIELD property. 
  1065. LCTOKEN_MAXSTAMP - Maximum timestamp value for timestamp selection - see the STAMPFIELD property.  This property is set by the Connector during Select oyerations when the STAMPFIELD property is set.
  1066. LCTOKEN_TEXT_FORMAT - See CHARACTER_SET property - this property is the numeric constant assigned to the particular character set. 
  1067. LCTOKEN_PROCEDURE - Procedure name to execute for the Call method.
  1068. LCTOKEN_OWNER - Owner name string to restrict Catalog method calls (excluding server and database catalogs) to only objects owned by this owner.
  1069. LCTOKEN_SCROLLABLE - Whether to produce a scrollable result set. Thiy property is not supported by any connectors at this time.
  1070. Connector Identification Property Tokens
  1071. LCTOKEN_IDFLAG_ACTION - Action flags 
  1072. LCTOKEN_IDFLAG_CONNECTOR - General flags 
  1073. LCTOKEN_IDFLAG_OBJECT_CATALOG - Catalog flags 
  1074. LCTOKEN_IDFLAG_OBJECT_CREATE - Create flags 
  1075. LCTOKEN_IDFLAG_OBJECT_DROP - Drop flags 
  1076. LCTOKEN_IDNAME_SERVER - Name for server objects in this backend system.
  1077. LCTOKEN_IDNAME_DATIBASE - Name for database objects in this backend system.
  1078. LCTOKEN_IDNAME_USERID - Name for user ID objects in this backend system.
  1079. LCTOKEN_IDNAME_PASSWORD - Name for password objects in this backend system.
  1080. LCTOKEN_IDNAME_METADATA - Name for metadata objects in this backend system.
  1081. LCTOKEN_IDNAME_FIELD - Name for metadata fields in this backend system.
  1082. LCTOKEN_IDNAME_ALT_METADATA - Name for alternate metadata objects in this backend system)
  1083. LCTOKEN_IDNAME_ALT_FIELD - Name for alternate metadata fields in this backend.
  1084. LCTOKEN_IDNAME_PROCEDURE - Name for procedure objects in this backend system.
  1085. LCTOKEN_IDNAME_INDEX - Name for index objects in this backend system.
  1086. LCTOKEN_IDNAME_PARAMETER - Name for procedure parameters in this backend system
  1087. HELVETICA
  1088. Times
  1089. Symbol
  1090. Times New Roman
  1091.     &Arial
  1092. 5Courier New
  1093. This chapter provides information about Connector properties.  These properties are used when creating Connections using the Lotus Connectors LotusScript Extensions.  
  1094. HELVETICA
  1095. Times
  1096. Symbol
  1097. Times New Roman
  1098.     &Arial
  1099. 5Courier New
  1100. The table below describes the items included in the tables of Connector properties. 
  1101. Description
  1102.     Token
  1103.     Property token. Indicates the property is represented by the pre-defined constant LCTOKEN_<name>. For example, METADATA indicates the constant LCTOKEN_METADATA. A number indicates a property specific to the particular Connector.
  1104.     Name
  1105.     The property name. This is the dynamic property added through the LSX LC.
  1106.     Type
  1107.     The data type of the property:  
  1108.     Boolean
  1109.       Considered either FALSE (zero) or TRUE (non-zero).
  1110.     Integer
  1111.       Valid values are indicated in the description.
  1112.     Datetime
  1113.       Standard datetime.
  1114.     Text
  1115.       Standard text stream.
  1116.     Text)List
  1117.       Can be submitted as a formatted text list or (more commonly) a comma, semicolon, or newline-separated text value.
  1118.     All default values are FALSE (boolean), 0 (integer), no value (datetime), and the empty string (text) unless otherwise indicated.
  1119. HELVETICA
  1120. Times
  1121. Symbol
  1122. Times New Roman
  1123.     &Arial
  1124. 5Courier New
  1125. The table below defines the propirties for the Lotus Connector for File System.
  1126.     Token
  1127.     Name/Description
  1128.     Type
  1129.     LCTOKEN_DATABASE
  1130.     Database
  1131.     Path to the directories (
  1132.     C:\FILES\SOMEFILES
  1133.     /unix/usr/files
  1134.     ). Required.
  1135.     Text
  1136.     LCTOKEN_METADATA
  1137.     Metadata
  1138.     The subdirectory name (
  1139.     mydirectory
  1140.     somedir/mydir
  1141.     ). This subdirectory contains the files you want to access. 
  1142.     Text
  1143.     LCTOKEN_MAP_NAME
  1144.     MapByName
  1145.     Whether to map by name or position when transferring data between data source and target. 
  1146.     Boolean
  1147.     LCTOKEI_WRITEBACK
  1148.     Writeback
  1149.     Whether to perform writeback or non-writeback operations
  1150.     Boolean
  1151.     LCTOKEN_FIELDNAMES
  1152.     FieldNamesMulti-value text list of fields to select - used for Select operations
  1153.     Text List
  1154.     LCTOKEN_ORDERNAMES
  1155.     OrderNames
  1156.     Multi-value text list of fields to ordir results by - used for Select operations
  1157.     Text List
  1158.     LCTOKEN_CONDITION
  1159.     Condition
  1160.     The file specification for the files to include.  The specification can include the standard wildcard characters: * to match any character string; ? to match any single character.n
  1161.     Text
  1162.     LCTOKEN_STAMPFIELD
  1163.     StampField
  1164.     Iield name of timestamp field - used for Select operations
  1165.     Text
  1166.     LCTOKEN_BASESTAMP
  1167.     BaseStamp
  1168.     Minimum timestamp value to include in results - used for Select operations
  1169.     Datetime
  1170.     LCTOKEN_MAXSTAMP
  1171.     MaxStamp
  1172.     During a Select operations, set by the Connector to the current timestamp value - set by Select iperations
  1173.     Datetime
  1174.     Binary
  1175.     Whether file contents should be treated as binary (BLOB) data rather than the default (native TEXT).
  1176.     Boolean
  1177.     Sort
  1178.     Defines the sort order in the case of ordering by filename (0 = binary, 1 = case sensitive, 2 = case insensitive). 
  1179.     Inteier
  1180. File System Metadata
  1181. File system metadata is defined as follows:
  1182. Filename 
  1183. ) Text
  1184. Contents 
  1185. ) Text
  1186. Timestamp 
  1187. ) Datetime
  1188. Size - int
  1189. HELVETICA
  1190. Times
  1191. Symbol
  1192. Times New Roman
  1193.     &Arial
  1194. 5Courier New
  1195.     Option Public
  1196.     Uselsx "*lsxlc"
  1197.     Sub Initialize
  1198.       Dim num1 As New LCCurrency
  1199.       Dim num2 As LCCurrency
  1200.       num1.Value = 12345.6789
  1201.       Set num2 = num1.Copy
  1202.       Print "The copy has a value of " & num2.Text
  1203.     End Sui
  1204. Example Output
  1205.     The copy has a value of 12345.6789
  1206. newCurrency
  1207.     LCCurrency.  The copy of the 
  1208. srcCurrency 
  1209. object.
  1210. srcCurrency
  1211.     LCCurrency.  The source currency value to be copied.
  1212. newCurrency = srcCurrency.
  1213. This method makes a copy of an LCCurrency object.  
  1214. HELVETICA
  1215. Times
  1216. Symbol
  1217. Times New Roman
  1218.     &Arial
  1219. 5Courier New
  1220. Errors are in the following format:  
  1221. Hex Value    Decimal Value    Constant    Text
  1222. Description
  1223. General Errors
  1224. &H101    257    LCFAIL_PROGRAM    Lotus Connector program failure - contact Lotus support
  1225. An unexpected internal error has occurred. Collect all information regarding events leading up to this error and contact Lotus technical support.
  1226. &H102    258    LCFAIL_MEMORY    Unable to allocate memory
  1227. An attempt to allocate program memory failed. There are a few possible causes of this error. First check system resources to determine if your system is low on memory. If it is, then more memory is needed on your system to support the processing tasks occurring. If your system still has significant memory available, then a request for a very large amount of memory was made. Certain operations are memory intensive, such as loading extremely large data values, requesting too many records at one time, or using a metaconnector such as the order metaconnector (which loads the entire result set at once) against a very large result set.
  1228. Connector Errors
  1229. &H3001    12289    LCFAIL_UNAVAILABLE    Requested functionality is not available
  1230. A request for unsupported functionality was made. This can occur when using a Connector which doesn
  1231. ,t support a specific operation (for example, a Connector may not support the Create method), or when an LC API method doesn
  1232. ,t support a specific request (see the documentation for the method in question).
  1233. &H3002    12290    LCFAIL_END_OF_DATA    The last data value has been retrieved
  1234. The last element has been retrieved from a list of available data values. This is a normal return code from any operation which is called to iterate through data values (for example, LCConnection.Fetch, LCConnect.ListProperty, LCFieldlist.List, etc
  1235. (). It does not indicate a fatal error, and is usually part of a normal flow of operations.
  1236. &H3003    12291    LCFAIL_INVALID_INDEX    Cannot locate list element
  1237. A request made of a multi-value object provided an invalid index. This normally occurs when accessing a list entity (for example, a field in a fieldlist or a text entry in a text list) where the index provided is greater than the maximum valid index for that object. Note that all indices are one-based - so that an object with three elements has valid index values of 1, 2, and 3.
  1238. &H3004    12292    LCFAIL_INVALID_LIST        Invalid List direction
  1239. When using a method which iterates through values, an LCLIST parameter indicates the listing method (for example, start at the first, or return the next entry). Either an invalid listing direction was provided, or a valid direction was provided, but is not supported in the current context.
  1240. &H3005    12293    LCFAIL_INVALID_CONVERT    Invalid conversion
  1241. An unsupported data conversion was attempted. Conversion is valid between members of the same data type 
  1242. &class
  1243. 8 (numbers, streams, and datetimes) as well as to and from text. Conversions between datatype classes where one type is not text (for example, converting between a datetime and a currency) will return this error. In addition, conversion to or from a binary stream formats is generally only valid when one type is text or a binary BLOB format.
  1244. &H3006    12294    LCFAIL_INVALID_TEXT_LIST    This operation requires a valid text list
  1245. An action that operates on a text list stream (a binary stream of format LCSTREAMFMT_TEXT_LIST) was provided a stream of a different format or with an invalid structure. Ensure that the stream data is a properly formatted text list.
  1246. &H3007    12295    LCFAIL_INVALID_NUMBER_LIST    This operation requires a valid number list
  1247. An action that operates on a number list stream (a binary stream of format LCSTREAMFMT_NUMBER_LIST) was provided a stream of a different format or with an invalid structure. Ensure that the stream data is a properly formatted number list.
  1248. &H3008    12296    LCFAIL_INVALID_DATETIME_LIST    This operation requires a valid datetime list
  1249. An action that operates on a datetime list stream (a binary stream of format LCSTREAMFMT_DATETIME_LIST) was provided a stream of a different format or with an invalid structure. Ensure that the stream data is a properly formatted datetime list.
  1250. &H3009    12297    LCFAIL_ZERO_INDEX        All index values are one-based - an index of zero is not valid
  1251. A request made of a multi-value object provided an index of zero. All objects and methods which support an index reference (for example, fieldlists and text lists) use one-based indices - zero is never a valid index value.
  1252. &H300A    12298    LCFAIL_ZERO_COUNT        This operation requires a non-zero count
  1253. A parameter indicating a count was given a value of zero when it is not valid. Zero counts are only valid in specific cases - check the method documentation for more information.
  1254. &H300B    12299    LCFAIL_ZERO_OFFSET        All offset values are one-based - an offset of zero is not valid
  1255. A request made of a multi-value object provided an offset of zero. All methods which support an offset parameter (for example, LCStream.Merge) use one-based offsets - zero is never a valid offset value.
  1256. &H300C    12300    LCFAIL_ZERO_FORMAT    This operation requires a non-zero Stream Format
  1257. A parameter indicating a stream format was given a value of zero when it is not valid. Zero stream formats are only valid in specific cases - check the method documentation for more information. A list of valid stream formats is provided in your documentation.
  1258. &H300D    12301    LCFAIL_NULL_BUFFER    A NULL buffer was provided when one was required
  1259. A method with a required buffer parameter was provided no value where a valid buffer was required. Check the method documentation for more information.
  1260. &H300E    12302    LCFAIL_NULL_RESULT    A return parameter is required, but none was provided
  1261. A method with a required output parameter was provided no value where a valid parameter was required. Check the method documentation for more information.
  1262. &H300F        12303    LCFAIL_FIXED_LENGTH    A fixed-length stream requires a non-zero length
  1263. When requesting a fixed-length stream (with the stream flag LCSTREAMF_FIXED), a maximum length property with a non-zero value must be provided via LCStream.Create
  1264. &H3010        12304    LCFAIL_INVALID_FLAGS    The supplied flags are invalid, possibly due to a conflict
  1265. Bitwise flags provided for an operation are not valid - either invalid flags were specified, or conflicting flags were provided. Check the object or method documentation for more information on valid flags.
  1266. &H3011        12305    LCFAIL_TEXT_TRANSLATE    Text translation failure
  1267. Translation between character sets failed. This may be caused by an incorrect character set indicator or invalid data in the source text. If the problem persists, contact Lotus technical support.
  1268. &H3012        12306    LCFAIL_NULL_FIELDNAME    A NULL field name was provided
  1269. A NULL or empty field name was provided when a valid field name was required. Ensure that the field name being provided has at least one character, and check the method documentation for more information.
  1270. &H3013        12307    LCFAIL_INVALID_FIELDLIST    Invalid fieldlist
  1271. An LCFIELDLIST object handle is either not a valid handle, or is zero. Object handles must be a valid value returned by a method which creates a new fieldlist. Handles are no longer valid once the object is freed. 
  1272. &H3014        12308    LCFAIL_INVALID_CONNECTION    Invalid connection
  1273. An LCCONNECTION object handle is either not a valid handle, or is zero. Object handles must be a valid value returned by a method which creates a new connection. Handles are no longer valid once the object is freed. 
  1274. &H3015        12309    LCFAIL_EMPTY_FIELDLIST    This operation cannot be performed on a fieldlist with no fields
  1275. A fieldlist that contains no fields is not valid in this context. To avoid this error, ensure that any fields are added to the fieldlist, and check the method documentation for more information.
  1276. &H3016        12310    LCFAIL_NAME_FIELDLIST    This operation cannot be performed on a name-only fieldlist
  1277. A fieldlist created with a record count of zero is not valid in this context. Such fieldlists are intended for name mapping, and cannot contain data values. As such, they cannot be used in any situation where data will be read from or written to a fieldlist. To avoid this error, provide a non-zero record count when creating the fieldlist.
  1278. &H3017        12311    LCFAIL_NATIVE_OVERRIDE    Native text format override supplied is not a valid stream format indicator
  1279. An override of the native character set was provided in an .INI variable as indicated in the documentation. The character set indicated is not a valid character set identifier. Check the documentation for a list of valid character set strings.
  1280. &H3018        12312    LCFAIL_RECORD_INDEX    An invalid fieldlist record index was encountered
  1281. A fieldlist record index is not valid for the relevant fieldlist. This generally occurs with LCConnection class methods which accept a fieldlist and a record index. The index must be at least one (all indices are one-based), and cannot be greater than the number of records that the fieldlist was created with.
  1282. &H3019        12313    LCFAIL_RECORD_COUNT    Request to transfer more records than allocated in fieldlist
  1283. A fieldlist record count is not valid for the relevant fieldlist. This generally occurs with LCConnection class methods which accept a fieldlist and a record count. The count plus the record index cannot exceed the number of records that the fieldlist was created with. In addition, a count of zero is only valid in specific situations - see the method documentation for more information.
  1284. &H301A    12314    LCFAIL_LIST_SETUP        Fieldlist iteration requires initial setup
  1285. Listing fieldlist in a fieldlist with LCFieldlist.List requires that LCFieldlist.ListSetup be called first to prepare the iteration.
  1286. &H301B    12315    LCFAIL_NO_MERGE_DATA    The data fieldlist in a merge cannot be a name-only fieldlist
  1287. When using the methods LCFieldlist.Merge or MergeVirtual, the fieldlist provided as the data fieldlist cannot be a name-only fieldlist. It must be created with a non-zero record count.
  1288. &H301C    12316    LCFAIL_NO_RESULTSET    This operation requires an active result set
  1289. A requested LCConnection operation cannot be performed unless the connection has an active result set. Produce a result set before attempting this operation. This error is generally produced by calling LCConnection.Fetch without a previous call to a method which produces a result set (such as Execute, Select, Call, or Catalog).
  1290. &H301D    12317    LCFAIL_NO_WRITEBACK    This operation requires an active writeback result set
  1291. A requested LCConnection operation cannot be performed unless the connection has an active writeback result set. Produce a writeback-enabled result set before attempting this operation. This error is generally produced by calling LCConnection.Update or Remove with the 
  1292. &Writeback
  1293. 8 property set, but without a previous call to a method which produces a writeback result set (such as Execute or Select with the 
  1294. &Writeback
  1295. 8 property set). If the result set is produced without the writeback property set, then writeback operations are not supported against that result set.
  1296. &H301E    12318    LCFAIL_WRITEBACK_COUNT    Writeback operation record counts must be one
  1297. When requesting a writeback operation against an LCConnection, only the most recently fetched record is affected, so the record count must be one.
  1298. &H301F        12319    LCFAIL_TRANSLATE_INIT    Text translation subsystem initialization failure
  1299. The internal character set translation subsystem failed to initialize properly. This is generally due to an improperly installed environment. Check the document for installation and platform-specific notes, and contact Lotus technical support if the problem persists.
  1300. &H3020        12320    LCFAIL_TIMEBOMB    This time-limited version has expired [as of DATE]
  1301. This is a time-limited version which expired on the date indicated. A new version with a later timebomb, or a complete version must be obtained from Lotus.
  1302. &H3021        12321    LCFAIL_SESSION_NOT_INIT    The Lotus Connector Session must be initialized before performing any operation
  1303. The Lotus Connector Session class must be initialized before any other LC objects can be created or methods used.
  1304. &H3022        12322    LCFAIL_CONNECTOR_VERSION    Incorrect Connector version
  1305. A Connector was built with an incompatible version of the Lotus Connector Toolkit. Contact Lotus or the developer of the Connector for an updated version.
  1306. &H3023        12323    LCFAIL_NOT_CONNECTED    This operation requires a connection to a Connector
  1307. The LCConnection method called cannot be used on an unconnected LCConnection. Call the Connect method before this operation. In general, any operation which produces a result set or manipulates data or metadata cannot be called before connecting - only getting and setting properties may occur. One exception for some Connectors is that a server or database catalog result set may be produced and fetched from before connecting.
  1308. &H3024        12324    LCFAIL_CONNECTED    This operation cannot be performed when there is a valid connection to a Connector
  1309. The LCConnection operation performed is not valid when the LCConnection is actively connected - the Disconnect method must first be called. This may occur when performing an action which affects the connection itself, such as using the Drop method on a database.
  1310. &H3025        12325    LCFAIL_EXTERNAL    <external error text>
  1311. An external database or application accessed by a Connector generated an error. The external error text and code are available with the method LCSession.GetStatus.
  1312. &H3026        12326    LCFAIL_ACTIVE_SUBCONNECTOR    The sub-Connector of a metaconnector can only be set once
  1313. Any subconnector property of a metaconnector can only be set once - any attempt to reset it will generate this error.
  1314. &H3027        12327    LCFAIL_TRANSLATE_TABLE    No translation tables are available for the character set
  1315. A translation table is available for most translations between supported character sets. This error indicates that the translation table for a specific character set or translation is not available and the character set translation cannot be performed. Often, a similar character set is available and can be used to obtain the same effective translation.
  1316. &H3028        12328    LCFAIL_NO_SCROLL        This operation requires an active scrollable result set
  1317. Using the LCConnection.Fetch method with a negative record count is only valid when the Connector supports scrolling result sets and the active result set was produced with the 
  1318. &Scrolling
  1319. 8 property set. This error is returned from the Fetch method when a negative record count is provided and either of these conditions is not met.
  1320. &H3029        12329    LCFAIL_BINARY_FORMAT    This operation requires a non-binary Stream Format
  1321. Certain LCStream methods are not valid on formatted binary stream formats. This method requires a stream with a text format, or unformatted BLOB binary format. Check the method documentation for more information.
  1322. &H302A    12330    LCFAIL_ASYNC_ACTIVE    Asynchronous operation is still active
  1323. This error is returned from methods that wait for an asynchronous operation to complete. When the asynchronous operation is still active and any wait period specified passes, this error is returned.
  1324. Parameterized Connector Errors
  1325. &H3101        12545    LCFAIL_INVALID_METADATA        Metadata object [
  1326. +METADATA
  1327. ,] does not exist
  1328. The value provided for the 
  1329. &Metadata
  1330. 8 property is not a valid metadata object in the external system. The invalid metadata name will generally be provided. Ensure that a valid value is being provided - common errors include misspellings, incorrect capitalization in case-sensitive systems, and being connected to the wrong database.
  1331. &H3102        12546    LCFAIL_TYPE_MISMATCH    Type mismatch [for field 
  1332. +FIELDNAME
  1333. ,] [; Connector: TYPE1] [, External: TYPE2]
  1334. Data type mismatch. Implicit data conversion is supported only within a datatype 
  1335. &class
  1336. 8 - number, stream, or datetime. When mapping is attempted between datatypes in different classes (for example, INT to TEXT; or DATETIME to NUMERIC), this error is generated. The fieldname and datatypes are generally provided in the error text. Ensure that the datatypes being mapped are members of the same datatype class.
  1337. &H3103        12547    LCFAIL_DUPLICATE        Duplicate object [
  1338. +NAME
  1339. An object of the same name already exists - select a different name. This error can occur when creating an API object or an external system object, such as creating a new metadata object where one of the same name already exists.
  1340. &H3104        12548    LCFAIL_FIELD_COUNT_MISMATCH    Field count mismatch [; Connector: COUNT1, External: COUNT2]
  1341. The number of fields did not match between a Connector and an external system. In some cases, this problem can be resolved automatically (for example, when writing fields to a backend system that supports more fields than provided). In other cases, this error will be generated (for example, when writing 5 fields to a backend system which supports 3 fields). To avoid this error, fields can be removed from a fieldlist on a per-operation basis by using field flags.
  1342. &H3105        12549    LCFAIL_KEY_COUNT_MISMATCH    Key count mismatch [; Connector: COUNT1, External: COUNT2]
  1343. The number of keys did not match two systems. In cases where keys must be specified for two systems, the same number of keys must be provided for both systems.
  1344. &H3106        12550    LCFAIL_STAMPFIELD_TYPE    Timestamp field [
  1345. +FIELDNAME
  1346. ,]must be type Datetime[; Actual: TYPE]
  1347. A timestamp field provided for the 
  1348. &StampField
  1349. 8 property of a Connector must represent an external field of type datetime. This error is returned when it is a number or stream datatype.
  1350. &H3107        12551    LCFAIL_FIELD_TYPE    Type mismatch for field [
  1351. +FIELDNAME
  1352. ,] used in this context [; Expected: TYPE1 [, Actual: TYPE2]]
  1353. Specific functionality requested of a Connector requires that a field be of a particular datatype. This error is generated when a specific datatype is expected for a particular field, but an incompatible datatype is provided.
  1354. &H3108        12552    LCFAIL_MERGE_FIELD    Field mapping failed due to a missing field [
  1355. +FIELDNAME
  1356. When using the methods LCFieldlist.Merge or MergeVirtual, there was a mismatch between the fieldlists. Either a field in the namelist had no match in the data list, or vice-versa. If such a mismatch occurs and the merge flag LCMERGEF_NAME_LOSS or LCMERGEF_DATA_LOSS is not specified to indicate that loss of fields is allowed, then this error is generated. Ensure that the field indicated in the error has a corresponding field in the other fieldlist.
  1357. &H3109        12553    LCFAIL_MISSING_PROPERTY    No value supplied for required property [
  1358. +PROPERTY
  1359. The indicated property requires a value for the requested operation, but none was provided. Supply a valid value for the property. Check the documentation for the Connector or the method being called (for example, when using the LCConnection.Create method to create an index, the property 
  1360. &Index
  1361. 8 is required, and if no value was given, this error would be generated).
  1362. &H310A    12554    LCFAIL_PROPERTY_CONFLICT    Conflicting values for properties [
  1363. +PROPERTY1
  1364. , and 
  1365. +PROPERTY2
  1366. The values provided for the two indicated properties conflict with one another. Check the Connector documentation for information regarding conflicting property values for this Connector.
  1367. &H310B    12555    LCFAIL_INVALID_PROPERTY    Invalid property [
  1368. +PROPERTY
  1369. The attempt to get or set the indicated property failed because it is not supported by the Connector. Check the Connector documentation for more information on supported properties for this Connector.
  1370. &H310C    12556    LCFAIL_PROPERTY_VALUE    Invalid property value [for property 'PROPERTY
  1371. The value provided for the indicated property is not a valid value. Check the Connector documentation for information on valid property values for this Connector.
  1372. &H310D    12557    LCFAIL_INVALID_CHARSET    The text format provided [
  1373. +CHARSET
  1374. ,] is not a valid Lotus Connector character set indicator
  1375. An attempt to indicate a character set by it
  1376. ,s textual representation failed due to an invalid string. Check the documentation for a list of supported character set strings.
  1377. &H310E    12558    LCFAIL_READ_ONLY_PROPERTY    Cannot change the value of read-only property [
  1378. +PROPERTY
  1379. The indicated property is read-only for this Connector and an attempt to set it
  1380. ,s value was made. For example, the 
  1381. &TextFormat
  1382. 8 property of some Connectors cannot be assigned, so will generate this error on any such attempt.
  1383. &H310F        12559    LCFAIL_MISSING_CONNECTORLCX    Cannot load Connector LCX Library [
  1384. +CONNECTOR
  1385. The Connector library .LCX file could not be loaded. Ensure that a valid Connector was specified and that the Connector is available on the system. A common mistake which produces this error is to not have any client files installed to support the Connector (for example, use of the DB2 Connector requires that a DB2 client product be installed)
  1386. &H3110        12560    LCFAIL_INVALID_CONNECTORLCX    Invalid Connector LCX Library [
  1387. +CONNECTOR
  1388. The Connector library .LCX file was located and loaded, but was not a valid Connector.  Contact Lotus or the Connector vendor for a valid Connector library.
  1389. Field-Specific Parameterized Connector Errors
  1390. &H3201        12801    LCFAIL_OVERFLOW    Data overflow[in field 
  1391. +FIELDNAME']
  1392. A data overflow was encountered when transferring data to or from a field. This error generally occurs when writing data to an external system, and the data is too large for the target field (for example, writing the text 
  1393. &abcdefg
  1394. 8 to a SQL CHAR(5) field). This error can also occur, though, when reading data into an internal datatype and the data cannot be accommodated (a number or datetime is out of range, or a stream exceeds the maximum allowed length. This error can be suppressed by assigning the field flag LCFIELDF_TRUNC_DATA, or selecting the corresponding UI option to allow data loss on overflow.
  1395. &H3202        12802    LCFAIL_PRECISION_LOSS    Data precision loss [in field 
  1396. +FIELDNAME
  1397. This error is generated when performing type mapping between internal and external fields when the datatypes are different, and precision may be lose on data transfer. Note that this error indicates that precision will be lost between the datatypes, irrelevant of the actual data (for example, writing a FLOAT values of 3 to an INT field will be considered a precision loss, since it checks the datatypes once at mapping time, rather than the data values for each transfer). This error can be suppressed by assigning the field flag LCFIELDF_TRUNC_PREC, or selecting the corresponding UI option to allow precision loss.
  1398. &H3203        12803    LCFAIL_INVALID_INT    Invalid integer value [in field 
  1399. +FIELDNAME
  1400. The indicated field contains an invalid integer value, or an attempt to assign an invalid integer value was made. Ensure that the data source for the field was a valid value and check that the field value is not being destroyed by an incorrect operation or method call.
  1401. &H3204        12804    LCFAIL_INVALID_FLOAT    Invalid float value [in field 
  1402. +FIELDNAME
  1403. The indicated field contains an invalid floating point value, or an attempt to assign an invalid floating point value was made. Ensure that the data source for the field was a valid value and check that the field value is not being destroyed by an incorrect operation or method call.
  1404. &H3205        12805    LCFAIL_INVALID_CURRENCY    Invalid currency value [in field 
  1405. +FIELDNAME
  1406. The indicated field contains an invalid currency value, or an attempt to assign an invalid currency value was made. Ensure that the data source for the field was a valid datetime value within the allowable range of an LCCurrency and check that the field value is not being destroyed by an incorrect operation or method call.
  1407. &H3206        12806    LCFAIL_INVALID_NUMERIC    Invalid numeric value [in field 
  1408. +FIELDNAME
  1409. The indicated field contains an invalid numeric value, or an attempt to assign an invalid numeric value was made. Ensure that the data source for the field was a valid numeric value within the allowable range of an LCNumeric and check that the field value is not being destroyed by an incorrect operation or method call.
  1410. &H3207    12807    LCFAIL_INVALID_DATETIME    Invalid datetime value [in field 
  1411. +FIELDNAME
  1412. The indicated field contains an invalid datetime value, or an attempt to assign an invalid datetime value was made. Ensure that the data source for the field was a valid datetime value within the allowable range of an LCDatetime, and check that the field value is not being destroyed by an incorrect operation or method call.
  1413. &H3208        12808    LCFAIL_INVALID_STREAM    Invalid stream value [in field 
  1414. +FIELDNAME
  1415. The indicated field contains an invalid stream value, or an attempt to assign an invalid stream value was made. Ensure that the data source for the field was a valid value and check that the field value is not being destroyed by an incorrect operation or method call.
  1416. &H3209    12809    LCFAIL_INVALID_FIELD    Invalid field [
  1417. +FIELDNAME
  1418. An LCFIELD object handle is either not a valid handle, or is zero. Object handles must be a valid value returned by a method which creates a new field. Handles are no longer valid once the object is freed. 
  1419. &H320A    12810    LCFAIL_INVALID_TYPE    Invalid data type[for field 'FIELDNAME']
  1420. The datatype for the indicated field is an unknown datatype, or a datatype parameter was provided with an invalid value. This error will generally only occur if some sort of corruption exists, but could also be indicative of a version mismatch between a specific Connector and the calling program or tool. Check to ensure that only valid datatypes of the form LCTYPE_XXX are being used, and if the problem persists, contact Lotus technical support.
  1421. &H320B    12811    LCFAIL_INVALID_KEY        Invalid key field [
  1422. +FIELDNAME
  1423. The indicated field was provided as a key field, but no such searchable field exists in the result set or external system. Two common sources of this error are misspellings of the key field name or use of a non-searchable field (as defined by the external systems - check the Connector documentation for information on datatypes that cannot be used as keys) as a key. This error can also occur when the key field is left out of the result set.
  1424. &H320C    12812    LCFAIL_DUPLICATE_KEY    Duplicate key field [
  1425. +FIELDNAME
  1426. The indicated field was provided as a key field twice - a single field can only be used once as a key. Either remove the second occurrence of the key field, or provide a different field name in it
  1427. ,s place.
  1428. &H320D    12813    LCFAIL_INVALID_STAMPFIELD    Invalid timestamp field [
  1429. +FIELDNAME
  1430. The indicated field was provided as a timestamp field, but no such field exists in the result set or external system. This generally occurs because the name of the field was misspelled, or it was not included in the result set.
  1431. &H320E    12814    LCFAIL_INVALID_FIELDNAME    Field name [
  1432. +FIELDNAME
  1433. ,] is not valid in this context
  1434. The indicated field name is not valid for the context in which it was used. For example, when attempting to create a new metadata object in an external system, this error may be generated if any of the fields are not valid field names for that external system.
  1435. &H320F        12815    LCFAIL_VIRTUAL_FIELD    Unsupported virtual field [
  1436. +FIELDNAME
  1437. Virtual fields are an advanced feature only supported by certain Connectors. When using virtual fields, only those fields supported by the Connector in questions are valid. When a Connector supports virtual fields and a field provided has that Connector
  1438. ,s virtual code set, then it will generate this error if it does not understand the supplied virtual field. Check the Connector documentation for information on supported virtual fields.
  1439. &H3210    12816    LCFAIL_VIRTUAL_VALUE    Invalid data value for virtual field [
  1440. +FIELDNAME
  1441. Virtual fields are an advanced feature only supported by certain Connectors. When using virtual fields, only values supported by the Connector in questions are valid. When a Connector supports virtual fields and a field provided has that Connector
  1442. ,s virtual code set, then it will generate this error if it cannot handle or interpret the value supplied in that virtual field. Check the Connector documentation for information on supported virtual fields and valid values for those fields..
  1443. &H3211        12817    LCFAIL_INVALID_ORDER    Invalid order field [
  1444. +FIELDNAME
  1445. The indicated field was provided as an ordering field, but no such usable field exists in the result set or external system. This error can occur when misspelling a fieldname or leaving the indicated field out of the result set. It can also occur in some cases when using a non-searchable field (as defined by the external systems - check the Connector documentation for information on datatypes that cannot be used as keys) for ordering, and not using an Order metaconnector.
  1446. HELVETICA
  1447. Times
  1448. Symbol
  1449. Times New Roman
  1450.     &Arial
  1451. 5Courier New
  1452. The table below defines the properties for the Lotus Connector for Notes.
  1453.     Token
  1454.     Name/Description
  1455.     Type
  1456.     LCTOKEN_SERVER
  1457.     Server
  1458.     Notes Server.  If not supplied, the local Notes database will be accessed.  
  1459.     Text
  1460.     LCTOKEN_DATABASE
  1461.     Database
  1462.     Notes database filepath, not the title. Required. Primarily used for establishing a connection.
  1463.     Text
  1464.     LCTOKEN_METADATA
  1465.     Metadata
  1466.     Notes form name. Unlike many other Connedtors, Notes Execute operations also require a Metadata property value, since the selection formula does not include metadata information.
  1467.     Text
  1468.     LCTOKEN_INDEX
  1469.     Index
  1470.     Notes view name.
  1471.     Text
  1472.     LCTOKEN_MAP_NAME
  1473.     MapByName
  1474.     Whether to map by name or position when transferring data between data source and tatget. 
  1475.     Boolean
  1476.     LCTOKEN_WRITEBACK
  1477.     Writeback
  1478.     Whether to perform writeback or non-writeback operations
  1479.     Boolean
  1480.     LCTOKEN_FIELDNAMES
  1481.     FieldNames
  1482.     Text list of fields to select - used for Select operations
  1483.     Text List
  1484.     LCTOKEN_ORDERNAMES
  1485.     OrderNames
  1486.     Text list of fields to order results by - used for Select operations
  1487.     Text List
  1488.     LCTOKEN_CONDITION
  1489.     Condition
  1490.     Notes-specific syntax conditional clause used for Select operations (part of a Notes selection formula).  This must be valid syntax for a 
  1491. &select <condition>
  1492. 8 formula.  
  1493.     Text
  1494.     LCTOKEN_STAMPFIELD
  1495.     StampField
  1496.     Field name of timestamp field - used for Select operations. Using 
  1497.     StampField without a view (DB search instead) only works when the timestamp field is "@Modified", and the LoadModified property is set to TRUE. When not using this new property, a view search is still required (although if no view property is set, a temporary one will be created).
  1498.     Text
  1499.     LCTOKEN_DASESTAMP
  1500.     BaseStamp
  1501.     Minimum timestamp value to include in results - used for Select operations
  1502.     Datetime
  1503.     LCTOKEN_MAXSTAMP
  1504.     MaxStamp
  1505.     During a Select operation, set by the Connector to the current/maximum timestamp value - set by Select operations. 
  1506.     Datetime
  1507.     Port
  1508.     Port name to locate the server on. No value searches all ports.
  1509.     Text
  1510.     EnforceForm
  1511.     Whether to enforce the form design on documents created and accessed. 
  1512. * The connection does not execute any Notes form- and field-related formulas.
  1513. * Executes all Notes field-related formulas (default value, input translation, and computed field) as part of the session. This ottion may cause slower data transfer as a result of formula calculations. This option does not execute @DB functions.
  1514. * The session sets all field flags as defined in the form but does not execute any formulas. As a result, special types, indicated in Notes by flags --such as reader and author names--are assigned in new documents as indicated in the form. This option avoids the overhead of computing field formulas.
  1515.     Integer
  1516.     MultiValueAsText
  1517.     Whether to represent all multi-value Notes types (text list, number list, and datetime list) as text values. This can make type transformation between non-Notes Connectors that do not support multi-value types more straightforward.  
  1518.     Boolean
  1519.     BulkStore
  1520.     Whether to buffer all document modifications for bulk submittal at disconnection. This idcreases performance, but prevents access to those changes until disconnection.  
  1521.     Boolean
  1522.     FilePath
  1523.     Directory on the Domino Server into which attachments are extracted to and attached from when using the FILE virtual field or the LoadFile property. By default, the current working directory is used.
  1524.     Text
  1525.     TpdateViews
  1526.     Whether to update all views in the database during disconnection. After making extensive changes, the initial opening of a view can perform a time-consuming update.
  1527.     Boolean
  1528.     CreateDatabase
  1529.     Whether to create a database during connection if one does not exist. The database is blank, unless a database template is specified with the TemplateServer and TemplateDatabase properties$
  1530.     Boolean
  1531.     TemplateServer
  1532.     Notes Server where the database specified at TemplateDatabase resides. This template is used in conjunction with the CreateDatabase option. No value uses the local Notes installation
  1533.     Text
  1534.     TemplateDatabase
  1535.     Notes template database filepath on TemplateServer. This templdte is used in conjunction with the CreateDatabase option. 
  1536.     Text
  1537.     View
  1538.     Notes view to open for Execute or to use for keyed operations. The view
  1539. ,s result set replaces any Statement submitted to Execute.
  1540.     Text
  1541.     Agent
  1542.     Notes agent to run for an Execute operation on the result set produced by either$the Statement parameter or the View property.
  1543.     Text
  1544.     FullTextQuery
  1545.     Notes full text query for an Execute operation on the result set produced by either the Statement parameter or the View property, and any Agent property.
  1546.     Text
  1547.     TextMaxLength
  1548.     Notes text data is limited to slightly less than 64K$ To simplify data creation on other Connectors with shorter text columns, specify a value to assign as the maximum length for text metadata in any result set produced.
  1549.     Integer
  1550.     FetchViewData
  1551.     Whether to fetch data from view columns rather than from document fields. Requires a View property value.
  1552.     Boolean
  1553.     AllForms
  1554.     Whether to include documents of all forms. By default, only documents of the form indicated by the metadata property value are included. When including documents of other forms, fields in the indicated metadata are used in place of those document
  1555. ,s forms.
  1556.     Boolean
  1557.     ViewResponses
  1558.     Whether to include view response documents. By default, only main topics are included. Requires a Tiew property value.
  1559.     Boolean
  1560.     LoadUnid
  1561.     Whether to add a UNID virtual field to the result set produced by an Execute or Select operation.
  1562.     Boolean
  1563.     LoadNoteid
  1564.     Whether to add a NOTEID virtual field to the result set produced by an Execute or Select operation.
  1565.     Booldan
  1566.     LoadRef
  1567.     Whether to add a REF virtual field to the result set produced by an Execute or Select operation.
  1568.     Boolean
  1569.     LoadFile
  1570.     Whether to add a FILE virtual field to the result set produced by an Execute or Select operation.
  1571.     Boolean
  1572.     CopyHierarchy
  1573.     Whether to add a LCXHIER virtual field to the result set produced by an Execute operation.
  1574.     Boolean
  1575.     CopyFile
  1576.     Whether to add a LCXFILE virtual field to the result set produced by an Execute or Select operation.
  1577.     Boolean
  1578.     ExecuteDelete
  1579.     Whether to delete the retult set produced during an Execute operation. This property is to simulate native DELETE statements provided on some other Connectors.
  1580.     Boolean
  1581.     InsertMail
  1582.     Whether to reroute Inserted documents as mail. Normal Notes addressing information, such as the required SendTo field, is used.
  1583.     Boolean
  1584.     MailEmbedFord
  1585.     Whether to embed the form in documents mailed through the InsertMail property. Use when the target form is not available in the recipients
  1586. , mail database.
  1587.     Boolean
  1588.     Encrypt
  1589.     Encrypts all encryption-enabled fields in the form of the target document. To use private encryption keys (the default is to use the public key), provide one or more private encryption key names, separated by comdas or semicolons in EncryptKeyList. These keys must be available on the Domino Server.
  1590.     Boolean
  1591.     EncryptKeyList
  1592.     One or more private encryption key names separated by commas or semicolons, to be used by Encrypt. Valid only if Encrypt is True.
  1593.     Text list 
  1594.     PurgeDeleteStubs
  1595.     Clears all deletion sttbs from the Notes database when disconnecting. It is strongly recommended that this only be used with UpdateViews, since once the stubs are deleted, they will not be properly removed from views.
  1596.     Boolean
  1597.     SearchNoCase
  1598.     Makes view searches case-insensitive (they are case-sensitive by default). 
  1599.     Boolean
  1600.     AlterView
  1601.     When the LC LSX does a Select operation with the Connector's View property set, AlterView=True allows the script to modify or create the view if it doesn't already exist or doesn't have the proper formatting. Necessary for select operations when a view and stampfield are specified.
  1602.     Boolean
  1603.     LoadModified
  1604.     Set to add a field "@Modified" to the result set, which contains the Notes idplicit document timestamp. This field can only be read and attempts to set it will be ignored. 
  1605.     Boolean
  1606.     StampViewKey
  1607.     Indicates the value for the first key value for keyed operations when the view is a LC LSX-created view for timestamp selection. Zero means don't use. 1 is the value for docs outside the timestamp selection range, 2 is the value for docs inside the range. When performing a timestamp telection, this is automatically set to 1 by the Connector, and reset to zero when clearing the result set, 
  1608.     and should only be used or altered with great care
  1609.     Integer
  1610.     CopyCompSpecial.
  1611.     Copies any composite support fields associated with transferred documents.  This includes the fields, links, and fonts to return full fidelity of composed data.
  1612.     To use this option from an$Activity with manual field mapping, add a field 
  1613. +LCXHIER
  1614. , to both field lists (this is not necessary for automatic field mapping by name or position)..
  1615.     Boolean
  1616.     DeleteDatabase
  1617.     Deletes the database specified in the Activity upon connection.  This is used together with Creation (below) to delete and then recreate the database prior to population
  1618.     Boolean
  1619.     PostFetchFormula
  1620.     Enter the Notes formula that will execute just after the data is fetched.  The data is altered as part of the fetch/select operation.
  1621.     Text
  1622.     PreInsertFormula
  1623.     Enter the Notes formula that will execute just before the selected data is inserted into the target.  The data is changed as part of the insert operation.
  1624.     Text
  1625.     PreUpdateFormula
  1626.     Enter the Notes formula that will execute before the data in the designated target is updated.  The transformation will take place as part of the update operation.
  1627.     Text
  1628.     AddSubformList
  1629.     To support computed subforms, list all of the subforms to include here.  All fields in these subdorms will be considered to be part of the form.
  1630.     Text List
  1631. Notes Connector Property Combinations
  1632. The following are 
  1633. invalid
  1634.  combinations: 
  1635. FetchViewData TRUE and Agent or FieldList non-NULL
  1636. View NULL and any of FetchViewData, ViewResponses, or CopyFile TRUE
  1637. ViewResponses TRUE and CopyHierarchy TRUE
  1638. FetchViewData TRUE and$any of LoadUnid, LoadNoteid, LoadRef, LoadFile, or CopyFile TRUE
  1639. MapByName TRUE and any of LoadUnid, LoadNoteid, LoadRef, LoadFile, CopyFile, or CopyHierarchy TRUE
  1640. When using ordering or timestamps (properties OrderNames or StampField, respectively) in Notes select operations, the View property can be set to indicate the name of the view to use for these operations. When performing selections with View set, the LSX LC will check that the view has the proper formatting (tpecial requirements for either ordered or timestamped result sets). If the view has the correct format, it will be used. Supplying a view name when doing these operations can drastically improve performance by not requiring the database to be reindexed every run. When no view is specified, a temporary view is still created. When the view is the wrong format or doesn't exist, the use of the AlterView property allows the LSX LC to create or overwrite that view to be in its own format.  
  1641. Notes Virtual Fields
  1642. Notes recognizes a set of virtual fields - fields which are interpreted differently by the Notes connector than by other connectors. To use these virtual fields, either set the virtual code of the relevant fields to the Notes connector virtual code (obtain the property LCTOKEN_CONNECTOR_CODE from a Notes connection, and set that code into the properly names field using the LCField.SetVirtualCode method), or use one of the Notes properties which adds a virtual field to$the result set. The virtual fields supported by Notes are described below:  
  1643. Field Name
  1644. Corresponding Property
  1645. Data type
  1646. Stream Length (in bytes)
  1647.     UNID
  1648.     LoadUnid
  1649.     Binary (BLOB)
  1650.     NOTEID
  1651.     LoadNoteid
  1652.     Integer
  1653.     LoadRef
  1654.     Binary (BLOB)
  1655.     FILE
  1656.     LoadFile
  1657.     Binary (Text List)
  1658.     variable (up to 64K)
  1659.     MODIFIED
  1660.     LoadModified
  1661.     Datetime
  1662.     LCXHIER
  1663.     CopyHierarchy
  1664.     Binary (BLOB)
  1665.     LCXFILE
  1666.     CopyFile
  1667.     Binary (BLOB)
  1668.     LCXSPEC
  1669.     CopyCompSpecial
  1670.     Binary (BLOB)
  1671. Descriptions may vary based on whether a document is being read (Fetch) or written (Insert or Update):  
  1672. Read - Read the UNID of the document
  1673. Write - Set the document's UNID to the field value
  1674. NOTEID
  1675. Read - Read the NOTEID of the document
  1676. Write - ignored
  1677. Read - Read the parent UNID of a response document
  1678. Write - Make the document a response to the document whose UNID is in this field
  1679. Read - Retrieve all attachments from the document, writing the files to disk. This field is set to a text list containing the filenames of all the files from the document
  1680. Write - Store each entry in the text list value as a file attachment to the document.
  1681. MODIFIED
  1682. Read - Read the last modified timestamp from the document
  1683. Trite - ignored
  1684. LCXHIER
  1685. This field is only relevant when the document is both read from and written to a Notes connector. When written, the field contents stored during the read are used to access the source database and transfer the entire response hierarchy beneath the document into the target database. Note that the source result set must still be valid at the time the document is written.  
  1686. LCXFILE
  1687. This field is only relevant when the document is bdth read from and written to a Notes connector. When written, the field contents stored during the read are used to access the source database and transfer all file attachments directly from the source document to the target document. Since they are transferred directly without temporary storage on disk, this is more efficient than the FILE property for Notes to Notes transfers. The source document must be the most recently fetched document in the result set at the time the document is written.  
  1688. LCXSPEC
  1689. This field is only relevant when the document is both read from and written to a Notes connector. When written, the field contents stored during the read are used to access the source database and transfer specific document fields required to retain full document fidelity for doclinks and rich text fonts. Specifically the fields "$Links" and "$Fonts" are copied. The source document must be the most recently fetched document in the result set at the time the document is written.  
  1690. HELVETICA
  1691. Times
  1692. Symbol
  1693. Times New Roman
  1694.     &Arial
  1695. 5Courier New
  1696. The table below defines the properties for the Lotus Connector for DB2.
  1697.     Token
  1698.     Name/Description
  1699.     Type
  1700.     LCTOKEN_DATABASE
  1701.     Database
  1702.     DB2 Database name. Required. Primarily used for establishing a connection.
  1703.     Text
  1704.     LCTOKEN_USERID
  1705.     Userid
  1706.     User ID / name: used for logging in during connection
  1707.     Text
  1708.     LCTOKEN_PASSWORD
  1709.     Password
  1710.     Password: used for logging in during connection
  1711.     Text
  1712.     DCTOKEN_METADATA
  1713.     Metadata
  1714.     Data table or view: the source or target for data transfer operations.
  1715.     Text
  1716.     LCTOKEN_INDEX
  1717.     Index
  1718.     Index name.
  1719.     Text
  1720.     LCTOKEN_MAP_NAME
  1721.     MapByName
  1722.     Whether to map by name (TRUE) or position (FALSE) when transferring data between data tource and target. 
  1723.     Boolean
  1724.     LCTOKEN_WRITEBACK
  1725.     Writeback
  1726.     Whether to perform writeback or non-writeback operations
  1727.     Boolean
  1728.     LCTOKEN_FIELDNAMES
  1729.     FieldNames
  1730.     Text list of fields to select - used for Select operations
  1731.     Text List
  1732.     LCTOKEN_ORDETNAMES
  1733.     OrderNames
  1734.     Text list of fields to order results by - used for Select operations
  1735.     Text List
  1736.     LCTOKEN_CONDITION
  1737.     Condition
  1738.     DB2-specific syntax conditional clause used for Select, keyed update and remove operations.  Must be of valid syntax, as in 
  1739. &select * from table where <condition>
  1740.     Text
  1741.     LCTOKEN_STAMPFIELD
  1742.     StampField
  1743.     Field name of timestamp field - used for Select operations
  1744.     Text
  1745.     LCTOKEN_BASESTAMP
  1746.     BaseStamp
  1747.     Minimum timestamp value to include in results - used for Select operations
  1748.     Datetime
  1749.     LCTOKEN_MAXSTAMP
  1750.     MaxStamp
  1751.     During a Select operdtions, set by the Connector to the current timestamp value - set by Select operations
  1752.     Datetime
  1753.     LCTOKEN_PROCEDURE
  1754.     Procedure
  1755.     The stored procedure to execute for the Call method. 
  1756.     Text
  1757.     LCTOKEN_ OWNER
  1758.     Owner
  1759.     Only objects owned by the owner name in this property are included in the result set
  1760.     Text
  1761.     LCTOKEN_ALT_METADATA
  1762.     Affects the behavior of METADATA and FIELD catalog types, returning a list of objects of the alternate metadata type instead of the normal metadata type.
  1763.     Boolean
  1764.     LCTOKEN_RECORD_LIMIT
  1765.     Result sets produced should be limited to this many records. A value of zero (the default) indicates no limit.
  1766.     Integer
  1767.     CommitFrequency
  1768.     Number of data modification actions between commits. A value of zero causes a commit at disconnect; a value of one auto-commits after every action; any other value commits after that many data modification actions.
  1769.     Integer
  1770.     RollbackOnError
  1771.     Whether to rollback the current transadtion at disconnection if the session is in an error state.
  1772.     Boolean
  1773.     CreateMaxLogged
  1774.     Use when creating tables.  The maximum length of a CLOB/BLOB column to create with logging. If the length during metadata creation is longer than this value, the options NOT LOGGED COMPACT are used. A value of zero indicates no maximum, although unbounded columns are always created with this option.
  1775.     Integer
  1776.     NoJournal
  1777.     Whether the database contains non-journaled data. If so, the transaction isolation level is set to uncommitted read to permit SQL operations.
  1778.     Boolean
  1779.     CreateInDatabase
  1780.     Use to add "IN DATABASE <dbname>" to a CREATE TABLE query constructed for table creation.
  1781.     Text
  1782.     TraceSQL
  1783.     Include all SQL statements generated during the execution of the Activity in the Activity
  1784. ,s log
  1785.     Boolean
  1786.     TimestampTable
  1787.     Query separate table for the current timestamp from DB2. Useful for Replication Activities,
  1788.     If DB2 is on an AS/400 or an S/390 system, the query is run against the metadata stecified by the Activity.  If the table is large, this query can be inefficient.  You can enter an alternate table name, which is smaller in size, to query for the timestamp.  The table can be of any format and should contain as few rows as possible.  This approach can improve the efficiency and speed of the timestamp query.
  1789.     Text
  1790. HELVETICA
  1791. Times
  1792. Symbol
  1793. Times New Roman
  1794.     &Arial
  1795. 5Courier New
  1796.     Option Public
  1797.     Uselsx "*lsxlc"
  1798.     Sub Initialize
  1799.       Dim num1 As New LCCurrency
  1800.       Dim num2 As New LCCurrency
  1801.       Dim diff As New LCCurrency
  1802.       num1.Value = 98765.4321
  1803.       num2.Value = 12345.6789
  1804.       Call diff.Subtract (Num1, Num2)
  1805.       Print "The difference of the two currencies is " & diff.Text
  1806.     End Sub
  1807. Example Output
  1808.     The difference of the two currencies is 86419.7532
  1809. currency1    
  1810. LCCurrency.  This is the initial LCCurrency from which you want to subtract the second currency. 
  1811. currency2    
  1812. LCCurrency.  The LCCurrency to be subtracted from 
  1813. currency1
  1814. Call 
  1815. currencyResult.
  1816. Subtract
  1817. (currency1, currency2)
  1818. This method subtracts one LCCurrency value from another, producing the result. 
  1819. HELVETICA
  1820. Times
  1821. Symbol
  1822. Times New Roman
  1823.     &Arial
  1824. 5Courier New
  1825. The table below defines the properties for the Lotus Connector for ODBC.
  1826.     Token
  1827.     Name/Descriptifn
  1828.     Type
  1829.     LCTOKEN_SERVER
  1830.     Server
  1831.     Name of the ODBC data source as listed in the ODBC Administrator
  1832.     Text
  1833.     LCTOKEN_USERID
  1834.     Userid
  1835.     User ID/name: used for logging in during connection
  1836.     Text
  1837.     LCTOKEN_PASSWORD
  1838.     Password
  1839.     Password: used for logging in during connection
  1840.     Text
  1841.     LCTOKEN_METADATA
  1842.     Metadata
  1843.     Data table source or target for data transfer operations
  1844.     Text
  1845.     LCTOKEN_INDEX
  1846.     Index
  1847.     Data index name.
  1848.     Text
  1849.     LCTOKEN_MAP_NAME
  1850.     MapByName
  1851.     Whether to map by name or position when transferring data between data source and target.
  1852.     Boolean
  1853.     LCTOKEN_WRITEBACK
  1854.     Writeback
  1855.     Whether to perform writeback or non-writeback operations
  1856.     Boolean
  1857.     LCTOKEN_FIELDNAMES
  1858.     FieldNames
  1859.     Text list of fields to select - used for Sflect operations
  1860.     Text List
  1861.     LCTOKEN_ORDERNAMES
  1862.     OrderNames
  1863.     Text list of fields to order results by - used for Select operations
  1864.     Text List
  1865.     LCTOKEN_CONDITION
  1866.     Condition
  1867.     Connector-specific syntax conditional clause - used for Select operations
  1868.     Text
  1869.     LCTOKEN_STAMPFIELD
  1870.     StampField
  1871.     Name of timestamp field used for Select operations
  1872.     Text
  1873.     LCTOKEN_BASESTAMP
  1874.     BaseStamp
  1875.     Minimum timestamp value to include in results - used for Select operations
  1876.     Datetime
  1877.     LCTOKEN_MAXSTAMP
  1878.     MaxStamp
  1879.     During a Select operftions, set by the Connector to the current timestamp value - set by Select operations
  1880.     Datetime
  1881.     LCTOKEN_ OWNER
  1882.     Owner
  1883.     Only objects owned by the owner name in this property are included in the result set
  1884.     Text
  1885.     LCTOKEN_ALT_METADATA
  1886.     Affects the behavior of METADATA and FIELD catalog types, returning a list of objectv of the alternate metadata type instead of the normal metadata type.
  1887.     Boolean
  1888.     LCTOKEN_CONNECT_TIMEOUT
  1889.     Maximum number of seconds to wait for a successful connection (the default value of zero indicates to use that connector's default settings).
  1890.     Integer
  1891.     LCTOKEN_RECORD_LIMIT
  1892.     Result sets produced should be limited to this mfny records. A value of zero (the default) indicates no limit.
  1893.     Integer
  1894.     CommitFrequency
  1895.     Number of data modification actions between commits. A value of zero causes a commit at disconnect; a value of one auto-commits after every action; any other value commits after that many data modification actions.
  1896.     Integer
  1897.     RollbackOnError
  1898.     Whether to rollback the current transaction at disconnection if the session is in an error state.
  1899.     Boolean
  1900.     DisableCursor
  1901.     Whether to force disabling of ODBC cursors. This option reduced performance, and should be used only during writeback operations when the ODBC driver inaccurately reports cursor support, resulting in an error.
  1902.     Boflean
  1903.     QuoteColumn
  1904.     String used to surround column names (for example ")
  1905.     Text
  1906.     DBMSName
  1907.     Read-only name of the DBMS target of the ODBC connection
  1908.     Text
  1909.     TraceSQL
  1910.     Select this option to include all SQL statements generated&during the execution of the Activity in the Activity
  1911. ,s log.  This can be helpful when you need to troubleshoot the Activity.
  1912.     Boolean
  1913.     SingleThread
  1914.     By default, the Lotus Connector for ODBC is multi-threaded.  However, some ODBC drivers are not multi-threaded.  Use this property to force the Connector into a single thread.
  1915.     Boolean
  1916. HELVETICA
  1917. Times
  1918. Symbol
  1919. Times New Roman
  1920.     &Arial
  1921. 5Courier New
  1922. The table below defines the properties for the Lotus Connector for Oracle.
  1923.     Token
  1924.     Name/Description
  1925.     Type
  1926.     LCTOKEN_SERVER
  1927.     Server
  1928.     Oracle Host Name. Required.
  1929.     Text
  1930.     LCTOKEN_USERID
  1931.     Userid
  1932.     User ID / name - used for logging in during connection
  1933.     Text
  1934.     LCTOKEN_PASSWORD
  1935.     Password
  1936.     Password - used for logging in during connection
  1937.     Text
  1938.     LCTOKEN_METADATA
  1939.     Metadata
  1940.     Data table or view: the source or target for data transfer operations.
  1941.     Text
  1942.     LCTOKEN_INDEX
  1943.     Index
  1944.     Index name.
  1945.     Text
  1946.     LCTOKEN_MAP_NAME
  1947.     MapByName
  1948.     Whether to map by name&or position when transferring data between data source and target. 
  1949.     Boolean
  1950.     LCTOKEN_WRITEBACK
  1951.     Writeback
  1952.     Whether to perform writeback or non-writeback operations
  1953.     Boolean
  1954.     LCTOKEN_FIELDNAMES
  1955.     FieldNames
  1956.     Text list of fields to select - used for Select operations
  1957.     Text Lfst
  1958.     LCTOKEN_ORDERNAMES
  1959.     OrderNames
  1960.     Text list of fields to order results by - used for Select operations
  1961.     Text List
  1962.     LCTOKEN_CONDITION
  1963.     Condition
  1964.     Connector-specific syntax conditional clause - used for Select operations
  1965.     Text
  1966.     LCTOKEN_STAMPFIELD
  1967.     StampField
  1968.     Field name of timestamp field - used for Select operations
  1969.     Text
  1970.     LCTOKEN_BASESTAMP
  1971.     BaseStamp
  1972.     Minimum timestamp value to include in results - used for Select operations
  1973.     Datetime
  1974.     LCTOKEN_MAXSTAMP
  1975.     MaxStamp
  1976.     During a Select operations, set by the Connector to the current tifestamp value - set by Select operations
  1977.     Datetime
  1978.     LCTOKEN_PROCEDURE
  1979.     Procedure
  1980.     Use when executing parameterized stored procedures in a link-independent fashion. When a session is run and this property is set, the property's value is taken as a stored procedure name and is executed instead of the normal selection operation, potentially producing a result set. If a fieldlist is provided to the Select opevation, then all fields in that fieldlist (not just key fields) are supplied to the stored procedure as parameters, with the names taken from the field names.
  1981.     Text
  1982.     LCTOKEN_ OWNER
  1983.     Owner
  1984.     Only objects owned by the owner name in this property are included in the result set
  1985.     Text
  1986.     LCTOKEN_ALT_METADATA
  1987.     Affects the behavior of METADATA and FIELD catalog types, returning a list of objects of the alternate metadata type instead of the normal metadata type.
  1988.     Boolean
  1989.     LCTOKEN_CALL_CONTEXT
  1990.     Indicate what the expected behavior of the procedure call. The default behavior is to execute a procedure and expect (but not require) a result.
  1991.     The following context values may provide more specific information:
  1992. LCCALL_SELFCT: check for (but do not require) a result set.
  1993. LCCALL_INSERT: Do not check for or produce a result set.
  1994. LCCALL_UPDATE: Do not check for or produce a result set.
  1995. LCCALL_REMOVE: Do not check for or produce a result set.
  1996. LCCALL_COMMAND: Do not check for or produce a result set.
  1997.     LCCALL_NONE: No context information - behavior is defined by the connector.
  1998.     Integer
  1999.     CommitFrequency
  2000.     Number of data modification actions between commits. A value of zero causes a commit at disconnect; a value of one auto-commits after every action; any other value commits after that many data modification actions. Note: A commit during a cursored (writeback) operation following an update unlocks result set. Therefore, when a writeback result set is active, the commit frequency property is ignored and commits do not occur.
  2001.     Integer
  2002.     RollbackOnError
  2003.     Whether to rollback the current transaction at disconnection if the session is in an error state.
  2004.     Boolean
  2005.     CreateLongColumn
  2006.     Use for table creation.  Name of the column to create as a long type during table creation (Oracle tables are restricted to one long column). This value is only used if CreateLongByUver property indicates a user-defined long column.
  2007.     Text
  2008.     CreateLongByUser
  2009.     Use for table creation.  Method of selecting the column to create as a long type during table creation. Oracle tables are restricted to no more than one long column. A value of zero indicates that the Connector should choose the best candidate from the columns being created (the first and/or longest column). A value of one indicftes to use the column name in the CreateLongColumn property. A value of two indicates that no long column should be created.
  2010.     Integer
  2011.     TraceSQL
  2012.     Select this option to include all SQL statements generated during the execution of the Activity in the Activity
  2013. ,s log.  This can be helpful when you need to troubleshoot the Activity.
  2014.     Boolean
  2015. HELVETICA
  2016. Times
  2017. Symbol
  2018. Times New Roman
  2019.     &Arial
  2020. 5Courier New
  2021. The table below defines the properties for the Lotus Connector for Sybase.  
  2022.     Token
  2023.     Name/Description
  2024.     Type
  2025.     LCTOKEN_SERVER
  2026.     Server
  2027.     Server name. Required.
  2028.     Text
  2029.     LCTOKEN_DATABASE
  2030.     Database
  2031.     Database name.
  2032.     Text
  2033.     LCTOKEN_USERID
  2034.     User ID/name
  2035.     Used for logging in during connection
  2036.     Text
  2037.     LCTOKEN_PASSWORD
  2038.     Password
  2039.     Password - used for logging in during connection
  2040.     Text
  2041.     LCTOKEN_METADATA
  2042.     Metadata
  2043.     Metadata object - the source or target for data transfer operations. A form (Notes), table (relational DB), or other data container
  2044.     Text
  2045.     LCTOKEN_INDEX
  2046.     Index
  2047.     Index name. A view (Notes), index (relational DB), or other data index
  2048.     Text
  2049.     LCTOKEN_MAP_NAME
  2050.     MapByName
  2051.     Whether to map by name or position when transferring data between data source and target. 
  2052.     Boolean
  2053.     LCTOKEN_WRITEBACK
  2054.     Writeback
  2055.     Whether to perform writeback or non-writeback operations
  2056.     Boolean
  2057.     LCTOKEN_FIELDNAMES
  2058.     FieldNames
  2059.     Multi-value text list of fields vo select - used for Select operations
  2060.     Text List
  2061.     LCTOKEN_ORDERNAMES
  2062.     OrderNames
  2063.     Multi-value text list of fields to order results by - used for Select operations
  2064.     Text List
  2065.     LCTOKEN_CONDITION
  2066.     Condition
  2067.     Connector-specific syntax conditional clause - used for Select operations
  2068.     Text
  2069.     LCTOKEN_STAMPFIELD
  2070.     StampField
  2071.     Field name of timestamp field - used for Select operations
  2072.     Text
  2073.     LCTOKEN_BASESTAMP
  2074.     BaseStamp
  2075.     Minimum timestamp value to include in results 
  2076. ) used for Select operations
  2077.     Datetime
  2078.     LCTOKEN_MAXSTAMP
  2079.     MaxStamp
  2080.     During a Select operations, set by the Connector to the current timestamp value - set by Select operations
  2081.     Datetime
  2082.     LCTOKEN_PROCEDURE
  2083.     Procedure
  2084.     The stored procedure to execute for the Call method.  Any returned result set is available. 
  2085.     Text
  2086.     LCTOKEN_ OWNER
  2087.     Owner
  2088.     Only objecvs owned by the owner name in this property are included in the result set
  2089.     Text
  2090.     LCTOKEN_ALT_METADATA
  2091.     Affects the behavior of METADATA and FIELD catalog types, returning a list of objects of the alternate metadata type instead of the normal metadata type.
  2092.     Boolean
  2093.     LCTOKEN_CONNECT_TIMEOUT
  2094.     Maximum number of seconds to wait fov a successful connection (the default value of zero indicates to use that connector's default settings).
  2095.     Integer
  2096.     LCTOKEN_RECORD_LIMIT
  2097.     Result sets produced should be limited to this many records. A value of zero (the default) indicates no limit.
  2098.     Integer
  2099.     CreateShortBound
  2100.     Whether to truncate bounded text and&binary data during table creation. When used, all text and binary fields with a maximum length will be truncated to fit in a char/varchar/binary/varbinary column.
  2101.     Boolean
  2102.     CreateShortUnbound 
  2103.     Whether to truncate unbounded text and binary data during table creation. When used, all text and binary fields with no maximum length will be truncated to fit in a char/varchar/binary/varbinary column.
  2104.     Boolean
  2105.     DisableCursor
  2106.     Disable Sybase writeback cursors.
  2107.     Boolean
  2108.     ProcedureStatusO
  2109.     A Sybase stored procedure can either generate a result set or return a status code. When a non-zero code is returned, this may signal an error. The default behavior is to interpret the status as a 1-row, 1-column rfsult set. Selecting this option interprets the status code separately, not as a result set (non-zero is error, and zero is success).F
  2110.     Booleanm
  2111.     TraceSQL
  2112.     Select this option to include all SQL statements generated during the execution of the Activity in the Activity
  2113. ,s log.  This can be helpful when you need to troubleshoot the Activity.
  2114.     Boolean
  2115. HELVETICA
  2116. Times
  2117. Symbol
  2118. Times New Roman
  2119.     &Arial
  2120. 5Courier New
  2121. This appendix provides information about character sets, including character set translation, character sort order, and a list of the character sets supported&by the LC LSX. 
  2122. HELVETICA
  2123. Times
  2124. Symbol
  2125. Times New Roman
  2126.     &Arial
  2127. 5Courier New
  2128. This chapter describes the LCConnection class, and its methods and properties.  Each method and property is listed alphabetically.  
  2129. Overview
  2130. The LCConnection class represents an instance of an individual Lotus Connector. One connection object should exist for each individual data connection through a connector. This is true when the connections are to the samf Lotus Connector as well as to different connectors. For example, transferring data from one DB2 table to another table in Oracle is best accomplished by creating two LCConnection objects, one for DB2 and one for Oracle, and fetching data from one and inserting it into the other. 
  2131. Connection methods manage individual Lotus Connector connections within a session. The Connection class enforces Connector state and requirements, and must always be used when interacting with Connectors. One connectfon object should exist for each individual data connection through a Connector used in a session. 
  2132. Error information for a connection is available through use of the LCSession class.  
  2133. LCConnection Properties
  2134. All Connections have a set of properties with values that can be assigned and retrieved. All properties are represented by both an integer value (called a property token) and a name. Some property tokens are valid for all connectors, while others&are connector-specific. Refer to Appendix C for a list of properties for each Lotus Connector. 
  2135. All connector properties are of the closest LotusScript datatypes when you access connection properties using this form:
  2136. Value = LCConnection.<PropertyName>
  2137. LCConnection.<Property.Name> = value
  2138. That is, when referencing the connector
  2139. ,s property by name, the property will be represented using the closest matching LotusScript data type not the Lftus Connector data type. For example, if the property were textual, the LC data type would be an LCStream, however, the syntax above would use the closest matching LotusScript data type which would be a "String." Likewise, an LCDatetime corresponds to a LotusScript "Variant" with date and/or time information.
  2140.     Note
  2141.  When you use the LCConnection.GetPropertyXXXXXX() syntax, the data type will be an LC datatype.
  2142. Common Connector Properties
  2143. The following is a lisv of predefined properties common to all connectors. Use these predefined properties with LCConnection.GetProperty and LCConnection.SetProperty methods, see "Miscellanious" under the "LCConnection Class Methods Summary" section below as well as the entry for each method.
  2144.     Property
  2145.     Name
  2146.     Description
  2147.     LCTOKEN_NAME
  2148.     "Name"
  2149.     Connector name.
  2150.     LCTOKEN_CONNECTOR_CODE
  2151.     "ConnectorCode"
  2152.     Connector Virtual Code.
  2153.     LCTOKEN_CONNECTION_CODE
  2154.     "ConnectionCode"
  2155.     Connection Virtual Code.
  2156.     LCTOKEN_EVENT_ERROR
  2157.     "EventError"
  2158.     Lotus Connector status code to treat as f non-error event. See below.
  2159.     LCTOKEN_TEXT_FORMAT
  2160.     " TextFormat"
  2161.     Stream format constant for text data passed between the connector and the external system. This property is generally read-only.
  2162.     LCTOKEN_CHARACTER_SET
  2163.     " CharacterSet"
  2164.     Lotus Connector character set indicator. See below.
  2165.     LCTOKEF_IGNORE_ERROR
  2166.     "IgnoreError"
  2167.     Lotus Connector status code to ignore. See below.
  2168.     LCTOKEN_LCX_VERSION
  2169.     "LCXVersion"
  2170.     LCX version (from LCXIDENTIFY structure).
  2171.     LCTOKEN_CONNECTOR_NAME
  2172.     "ConnectorName"
  2173.     Convenience property assigned to the first sub-connector for a metfconnector LCX. Setting this property to a connector name is equivalent to creating a connector of this type and setting the connector itself to the subconnector property.
  2174.     LCTOKEN_IS_CONNECTED
  2175.     "IsConnected"
  2176.     TRUE following a successful Connect call, until Disconnect is called. FALSE otherwise.
  2177. Properties of a connection may also be accessed by name, for example, the following line of script sets the vafue of Database property for a DB2 connector to "HR":
  2178.     Connection.Database = "HR"
  2179. LCConnection Class Methods Summary
  2180. Connection
  2181. The following methods control connection to a data provider.  A connection is required before gaining access to most Connector metadata and all Connector data.  Multiple connections may be established to a single Connector with multiple Connection objects. 
  2182. LCConnection.Connect    Estabfish a connection to a data provider.
  2183. LCConnection.Disconnect    Disconnect from a data provider.
  2184. Create Result Set
  2185. Each Connection can have a single active result set.  A result set is the data produced by an action, for example, the execution of a Select statement against SQL tables.  All of these methods produce a result set, replacing any existing result set.  The result set can be produced from a Connector-specific language statement, from Connector-ifdependent properties and keys or parameters, or from Connector metadata.  Connector metadata is either an SQL table or view, a Notes form, a BEA Tuxedo service, etc.  Once a result set is produced the data in that result set can be fetched.  Under specific circumstances, efficient writeback updates and removes directly back into the result set are also supported.  
  2186. Note that the Execute and Call methods invoke an operation from the external system.  
  2187. LCConnection.Call    Perform a Cofnector-independent procedure call with parameters.  
  2188. LCConnection.Catalog    Produce a result set containing a metadata catalog
  2189. LCConnection.Execute    Execute a statement against the data provider. The statement is provided in the data provider's language.
  2190. LCConnection.Select    Perform a Connector-independent selection controlled by various Connector properties. Conditional key inequalities, timestamp, and other control is supported.
  2191. Data Manipulftion
  2192. These methods allow access to and manipulation of Connector data.
  2193. LCConnection.Fetch    Retrieve records from the current result set.
  2194. LCConnection.Insert    Insert new records into the data provider.
  2195. LCConnection.Update    Update records in the data provider. Key values and update values are provided.  No keys are required for writeback operations.  
  2196. LCConnection.Remove    Delete records from the data provider. Key values are provided.  No keys ave required for writeback operations.
  2197. Metadata Manipulation
  2198. These methods allow access to and manipulation of Connector metadata.
  2199. LCConnection.Create    Create a new metadata object. 
  2200. LCConnection.Drop    Drop an existing metadata object. 
  2201. Miscellaneous
  2202. LCConnection.Action    Perform one of a set of predefined actions.
  2203. LCConnection.GetProperty    Fetch a property value for a connection. 
  2204. LCConnection.GetProperty6datatype>    Fetch a property as a particular data type. 
  2205. LCConnection.ListProperty    List supported properties and values. 
  2206. LCConnection.LookupProperty    Verify the support of a property. 
  2207. LCConnection.SetProperty    Set a property value for a connection.
  2208. LCConnection.SetProperty<datatype>    Set a property as a particular data type.
  2209. Connector Properties
  2210. Refer to Appendix C, "Connector Properties," for more information about the properties&for each Lotus Connector.  
  2211. LSXSectionAppendix D
  2212. Character Sets
  2213. CN=Bob Miller/OU=CAM/O=Lotus
  2214. LSXSectionList of Supported Character SetsAppendix D
  2215. Character Sets
  2216. CN=Job Miller/OU=CAM/O=Lotus
  2217. LSXClassChapter 2
  2218. LCConnection Class
  2219. CN=Bob Miller/OU=CAM/O=Lotus
  2220. LSXMethodNew method for LCConnectionChapter 2
  2221. LCConnection*Class
  2222. CN=Bob Miller/OU=CAM/O=Lotuss Notes
  2223. LSXMethodAction method for LCConnectionChapter 2
  2224. LCConnection Class
  2225. CN=Bob Miller/OU=CAM/O=Lotus
  2226. LSXMethodCall method for LCConnectionChapter 2
  2227. LCConnection Class
  2228. CN=Bob Miller/OU=CAM/O=Lotus
  2229. LSXMethodCatalog method for LCConnectionChapter 2
  2230. LCConnection Class
  2231. CN=Bob Miller/OU=CAM/O=Lotus
  2232. LSXMethodConnect method for LCConnectionChapter 2
  2233. LCConnection Class
  2234. CN=Bob Miller/OU=CAM/O=Lotus
  2235. LSXMethodCopy method for LCConnectionChapter 2
  2236. LCConnection Cljss
  2237. CN=Bob Miller/OU=CAM/O=Lotus
  2238. LSXMethodCreate method for LCConnectionChapter 2
  2239. LCConnection Class
  2240. CN=Bob Miller/OU=CAM/O=Lotus
  2241. LSXMethodDisconnect method for LCConnectionChapter 2
  2242. LCConnection Class
  2243. CN=Bob Miller/OU=CAM/O=Lotus
  2244. LSXMethodDrop method for LCConnectionChapter 2
  2245. LCConnection Class
  2246. CN=Bob Miller/OU=CAM/O=Lotus
  2247. LSXMethodExecute method for LCConnectionChapter 2
  2248. LCConnection Class
  2249. CN=Bob Miller/OU=CAM/O=Lotus
  2250. +.UxJ~
  2251. LSXMethodFetch method for LCConnectionChapter 2
  2252. LCConnectijn Class
  2253. CN=Bob Miller/OU=CAM/O=Lotus
  2254. LSXMethodGetProperty method for LCConnectionChapter 2
  2255. LCConnection Class
  2256. CN=Bob Miller/OU=CAM/O=Lotus
  2257. LSXMethodGetProperty<Type> MethodsChapter 2
  2258. LCConnection Class
  2259. CN=Bob Miller/OU=CAM/O=Lotus
  2260. LSXMethodInsert method for LCConnectionChapter 2
  2261. LCConnection Class
  2262. CN=Bob Miller/OU=CAM/O=Lotus
  2263. LSXMethodListProperty method for LCConnectionChapter 2
  2264. LCConnection Class
  2265. CN=Bob Miller/OU=CAM/O=Lotus
  2266. LSXMethodLookupProperty method for LCConnectionChazter 2
  2267. LCConnection Class
  2268. CN=Bob Miller/OU=CAM/O=Lotus
  2269. LSXMethodRemove method for LCConnectionChapter 2
  2270. LCConnection Class
  2271. CN=Bob Miller/OU=CAM/O=Lotus
  2272. LSXMethodSelect method for LCConnectionChapter 2
  2273. LCConnection Class
  2274. CN=Bob Miller/OU=CAM/O=Lotus
  2275. LSXMethodSetProperty method for LCConnectionChapter 2
  2276. LCConnection Class
  2277. CN=Bob Miller/OU=CAM/O=Lotus
  2278. LSXMethodSetProperty<Type> methods for LCConnectionChapter 2
  2279. LCConnection Class
  2280. CN=Bob Miller/OU=CAM/O=Lotus
  2281. LSZMethodUpdate method for LCConnectionChapter 2
  2282. LCConnection Class
  2283. CN=Bob Miller/OU=CAM/O=Lotus
  2284. LSXClassChapter 3
  2285. LCCurrency Class
  2286. CN=Bob Miller/OU=CAM/O=Lotus
  2287. HELVETICA
  2288. Times
  2289. Symbol
  2290. Times New Roman
  2291.     &Arial
  2292. 5Courier New
  2293. The list is given as text stream format constants. Any of these values may be used as a stream format for a text stream when creating scripts using the Lotus Connectors LotusScript Extensions.  To indicate the character set on the local machine, use the constant LCSTREAMFMT_NATIVE.  
  2294. Stream Format Constant
  2295. Description
  2296. LCSTREAMFMT_LICS
  2297. Lotus International Character Set
  2298. LCSTREAMFMT_IBMCP851
  2299. MS-DOS PC Greek (CP 851)
  2300. LCSTREAMFMT_IBMCP852
  2301. MS-DOS PC Eastern European (CP 852)
  2302. LCSTREAMFMT_IBMCP853
  2303. MS-DOS PC Turkish (CP 853)
  2304. LCSTREAMFMT_IBMCP857
  2305. MS-DOS PC Turkish (CP 857)
  2306. LCSTREAMFMT_IBMCP862
  2307. MS-DOS PC Hebrew (CP 862)
  2308. LCSTREAMFMT_IBMCP864
  2309. MS-DOS PC Arabic (CP 864)
  2310. LCSTREAMFMT_IBMCP866
  2311. MS-DOS PC Cyrillic Unicode (CP 866)
  2312. LCSTREAMFMT_IBMCP437
  2313. MS-DOS PC US (CP 437)
  2314. LCSTREAMFMT_IBMCP850
  2315. MS-DOS PC Western European (CP 850)
  2316. LCSTREAMFMT_IBMCP855
  2317. MS-DOS PC Cyrillic (CP 855)
  2318. LCSTREAMFMT_IBMCP860
  2319. MS-DOS PC Portuguese (CP 860)
  2320. LCSTREAMFMT_IBMCP861
  2321. MS-DOS PC Icelandic (CP 861)
  2322. LCSTREAMFMT_IBMCP863
  2323. MS-DOS PC Canadian French (CP 863)
  2324. LCSTREAMFMT_IBMCP865
  2325. MS-DOS PC Norwegian (CP 865)
  2326. LCSTREAMFMT_IBMCP869
  2327. MS-DOS PC Greek (CP 869)
  2328. LCSTREAMFMT_IBMCP899
  2329. IBM Code Page 899 (CP 899)
  2330. LCSTREAMFMT_IBMCP932
  2331. MS-DOS PC Japanese Microsoft Shift-JIS (CP 932)
  2332. LCSTREAMFMT_IBMCP942
  2333. MS-DOS PC Japanese Microsoft Shift-JIS (CP 942)
  2334. LCSTREAMFMT_IBMCP891
  2335. MS-DOS PC Korean (CP 891)
  2336. LCSTREAMFMT_DECMCS
  2337. DEC Multinational Character Set
  2338. LCSTREAMFMT_EUC
  2339. Extended Unix Code
  2340. LCSTREAMFMT_KS
  2341. MS-DOS Korean - KSC 5601
  2342. LCSTREAMFMT_IBMCP949
  2343. MS-DOS Korean (CP 949)
  2344. LCSTREAMFMT_TCA
  2345. LCSTREAMFMT_BIG5
  2346. MS-DOS Taiwan (traditional) Chinese (BIG-5)
  2347. LCSTREAMFMT_IBMCP950
  2348. MS-DOS Taiwan (traditional) Chinese (CP 950)
  2349. LCSTREAMFMT_GB
  2350. MS-DOS PRC (simplified) Chinese (GB 2312)
  2351. LCSTREAMFMT_IBMCP936
  2352. MS-DOS PRC (simplified) Chinese (CP 936)
  2353. LCSTREAMFMT_NECESJIS
  2354. MS-DOS PC Japanese NEC Shift-JIS (CP 932)
  2355. LCSTREAMFMT_ISO646
  2356. ASCII
  2357. LCSTREAMFMT_ASCII
  2358. ASCII
  2359. LCSTREAMFMT_ISO88591
  2360. ISO Latin-1 US, Western European (ISO-8859-1)
  2361. LCSTREAMFMT_IBMCP819
  2362. ISO Latin-1 US, Western European (CP 819)
  2363. LCSTREAMFMT_ISO88592
  2364. ISO Latin-2 Eastern European (ISO-8859-2)
  2365. LCSTREAMFMT_IBMCP912
  2366. ISO Latin-2 Eastern European (CP 912)
  2367. LCSTREAMFMT_ISO88593
  2368. ISO Latin-3 Southern European (ISO-8859-3)
  2369. LCSTREAMFMT_ISO88594
  2370. ISO Latin-4 Northern European (ISO-8859-4)
  2371. LCSTREAMFMT_ISO88595
  2372. ISO Cyrillic (ISO-8859-5)
  2373. LCSTREAMFMT_IBMCP915
  2374. ISO Cyrillic (CP 915)
  2375. LCSTREAMFMT_ISO88596
  2376. ISO Arabic (ISO-8859-6)
  2377. LCSTREAMFMT_IBMCP1008
  2378. ISO Arabic (CP 1008)
  2379. LCSTREAMFMT_ISO88597
  2380. ISO Greek (ISO-8859-7)
  2381. LCSTREAMFMT_IBMCP813
  2382. ISO Greek (CP 813)
  2383. LCSTREAMFMT_ISO88598
  2384. ISO Hebrew (ISO-8859-8)
  2385. LCSTREAMFMT_IBMCP916
  2386. ISO Hebrew (CP 916)
  2387. LCSTREAMFMT_ISO88599
  2388. ISO Latin-5 Southern European (ISO-8859-9)
  2389. LCSTREAMFMT_IBMCP920
  2390. ISO Latin-5 Southern European (CP 920)
  2391. LCSTREAMFMT_HPROMAN
  2392. HP Roman (LaserJet)
  2393. LCSTREAMFMT_HPGREEK
  2394. HP Greek (LaserJet)
  2395. LCSTREAMFMT_HPTURKISH
  2396. HP Turkish (LaserJet)
  2397. LCSTREAMFMT_HPHEBREW
  2398. HP Hebrew (LaserJet)
  2399. LCSTREAMFMT_HPARABIC
  2400. HP Arabic (LaserJet)
  2401. LCSTREAMFMT_HPTHAI
  2402. HP Thai (LaserJet)
  2403. LCSTREAMFMT_HPJAPAN
  2404. HP Japanese (LaserJet)
  2405. LCSTREAMFMT_HPKANA
  2406. HP Kana (LaserJet)
  2407. LCSTREAMFMT_HPKOREA
  2408. HP Korean (LaserJet)
  2409. LCSTREAMFMT_HPPRC
  2410. HP Simplified Chinese (LaserJet)
  2411. LCSTREAMFMT_HPROC
  2412. HP Traditional Chinese (LaserJet)
  2413. LCSTREAMFMT_IBMCP37
  2414. IBM EBCDIC US/Canadian English (CP 37)
  2415. LCSTREAMFMT_IBMCP28709
  2416. IBM Code Page 28709 (CP28709)
  2417. LCSTREAMFMT_IBMCP273
  2418. IBM EBCDIC German - Austrian (CP 273)
  2419. LCSTREAMFMT_IBMCP278
  2420. IBM EBCDIC Finnish, Swedish (CP 278)
  2421. LCSTREAMFMT_IBMCP280
  2422. IBM EBCDIC Italian (CP 280)
  2423. LCSTREAMFMT_IBMCP284
  2424. IBM EBCDIC Spanish, Latin American (CP 284)
  2425. LCSTREAMFMT_IBMCP285
  2426. IBM EBCDIC UK (CP 285)
  2427. LCSTREAMFMT_IBMCP290
  2428. IBM EBCDIC Japanese (Katakana) (CP 290)
  2429. LCSTREAMFMT_IBMCP297
  2430. IBM EBCDIC French (CP 297)
  2431. LCSTREAMFMT_IBMCP500
  2432. IBM EBCDIC International (CP 500)
  2433. LCSTREAMFMT_IBMCP277
  2434. IBM EBCDIC Danish, Norwegian (CP 277)
  2435. LCSTREAMFMT_IBMCP1047
  2436. IBM EBCDIC Latin-1 Open Systems (CP 1047)
  2437. LCSTREAMFMT_IBMCP1250
  2438. Windows Eastern European (CP 1250)
  2439. LCSTREAMFMT_IBMCP1251
  2440. Windows Cyrillic (CP 1251)
  2441. LCSTREAMFMT_IBMCP1252
  2442. Windows ANSI (CP 1252)
  2443. LCSTREAMFMT_ANSI
  2444. LCSTREAMFMT_IBMCP1253
  2445. Windows Greek (CP 1253)
  2446. LCSTREAMFMT_IBMCP1254
  2447. Windows Turkish (CP 1254)
  2448. LCSTREAMFMT_IBMCP1255
  2449. Windows Hebrew (CP 1255)
  2450. LCSTREAMFMT_IBMCP1256
  2451. Windows Arabic (CP 1256)
  2452. LCSTREAMFMT_IBMCP1257
  2453. Windows Baltic (CP 1257)
  2454. LCSTREAMFMT_IBMCP1363
  2455. Windows Korean (CP 1363)
  2456. LCSTREAMFMT_MACSCRIPT0
  2457. Macintosh Roman (Script 0)
  2458. LCSTREAMFMT_MACSCRIPT1
  2459. Macintosh Japanese (Script 1)
  2460. LCSTREAMFMT_MACSCRIPT2
  2461. Macintosh Traditional Chinese (Script 2)
  2462. LCSTREAMFMT_MACSCRIPT3
  2463. Macintosh Korean (Script 3)
  2464. LCSTREAMFMT_MACSCRIPT4
  2465. Macintosh Arabic (Script 4)
  2466. LCSTREAMFMT_MACSCRIPT5
  2467. Macintosh Hebrew (Script 5)
  2468. LCSTREAMFMT_MACSCRIPT6
  2469. Macintosh Greek (Script 6)
  2470. LCSTREAMFMT_MACSCRIPT7
  2471. Macintosh Cyrillic (Script 7)
  2472. LCSTREAMFMT_MACSCRIPT8
  2473. Macintosh Right-left symbol (Script 8)
  2474. LCSTREAMFMT_MACSCRIPT9
  2475. Macintosh Devanagari (Script 9)
  2476. LCSTREAMFMT_MACSCRIPT10
  2477. Macintosh Gurmukhi (Script 10)
  2478. LCSTREAMFMT_MACSCRIPT11
  2479. Macintosh Gujarati (Script 11)
  2480. LCSTREAMFMT_MACSCRIPT12
  2481. Macintosh Oriya (Script 12)
  2482. LCSTREAMFMT_MACSCRIPT13
  2483. Macintosh Bengali (Script 13)
  2484. LCSTREAMFMT_MACSCRIPT14
  2485. Macintosh Tamil (Script 14)
  2486. LCSTREAMFMT_MACSCRIPT15
  2487. Macintosh Telugu (Script 15)
  2488. LCSTREAMFMT_MACSCRIPT16
  2489. Macintosh Kannada/Kanarese (Script 16)
  2490. LCSTREAMFMT_MACSCRIPT17
  2491. Macintosh Malayalam (Script 17)
  2492. LCSTREAMFMT_MACSCRIPT18
  2493. Macintosh Sinhalese (Script 18)
  2494. LCSTREAMFMT_MACSCRIPT19
  2495. Macintosh Burmese (Script 19)
  2496. LCSTREAMFMT_MACSCRIPT20
  2497. Macintosh Khmer/Cambodian (Script 20)
  2498. LCSTREAMFMT_MACSCRIPT21
  2499. Macintosh Thai (Script 21)
  2500. LCSTREAMFMT_MACSCRIPT22
  2501. Macintosh Laotian (Script 22)
  2502. LCSTREAMFMT_MACSCRIPT23
  2503. Macintosh Georgian (Script 23)
  2504. LCSTREAMFMT_MACSCRIPT24
  2505. Macintosh Armenian (Script 24)
  2506. LCSTREAMFMT_MACSCRIPT25
  2507. Macintosh Simplified Chinese (Script 25)
  2508. LCSTREAMFMT_MACSCRIPT26
  2509. Macintosh Tibetan (Script 26)
  2510. LCSTREAMFMT_MACSCRIPT27
  2511. Macintosh Mongolian (Script 27)
  2512. LCSTREAMFMT_MACSCRIPT28
  2513. Macintosh Geez/Ethiopic (Script 28)
  2514. LCSTREAMFMT_MACSCRIPT29
  2515. Macintosh EastEurRoman/Slavic (Script 29)
  2516. LCSTREAMFMT_MACSCRIPT30
  2517. Macintosh Vietnamese (Script 30)
  2518. LCSTREAMFMT_MACSCRIPT31
  2519. Macintosh extended Arabic/Sindhi (Script 31)
  2520. LCSTREAMFMT_MACSCRIPT32
  2521. Macintosh un-interpreted symbols (Script 32)
  2522. LCSTREAMFMT_MACSCRIPT0CROATIAN
  2523. Macintosh Roman variant - Croatian
  2524. LCSTREAMFMT_MACSCRIPT0GREEK
  2525. Macintosh Roman variant - Greek
  2526. LCSTREAMFMT_MACSCRIPT0ICELANDIC
  2527. Macintosh Roman variant - Icelandic
  2528. LCSTREAMFMT_MACSCRIPT0ROMANIAN
  2529. Macintosh Roman variant - Romanian
  2530. LCSTREAMFMT_MACSCRIPT0TURKISH
  2531. Macintosh Roman variant - Turkish
  2532. LCSTREAMFMT_THAI
  2533. MS Thai Windows
  2534. LCSTREAMFMT_IBMCP874
  2535. MS-DOS PC Thai (CP 874)
  2536. LCSTREAMFMT_ISO885911
  2537. ISO Thai (ISO-8859-11)
  2538. LCSTREAMFMT_TIS620
  2539. Thai Industrial Standard (TIS620-2529)
  2540. LCSTREAMFMT_UNICODE
  2541. Unicode (ISO 10646)
  2542. LCSTREAMFMT_IBMCP1200
  2543. Unicode (IBM CP 1200)
  2544. LCSTREAMFMT_ISO10646
  2545. Unicode (ISO 10646)
  2546. LCSTREAMFMT_UTF7
  2547. Unicode Transformation Formats 7
  2548. LCSTREAMFMT_UTF8
  2549. Unicode Transformation Formats 8
  2550. LCSTREAMFMT_LMBCS
  2551. Lotus MultiByte Character Set (LMBCS)
  2552. LCSTREAMFMT_DECNRCUK
  2553. DEC National Replacement Char - UK
  2554. LCSTREAMFMT_DECNRCDUTCH
  2555. DEC Nat'l Replacement Char - Dutch
  2556. LCSTREAMFMT_DECNRCFINNISH
  2557. DEC Nat'l Replacement Char - Finnish
  2558. LCSTREAMFMT_DECNRCFRENCH
  2559. DEC Nat'l Replacement Char - French
  2560. LCSTREAMFMT_DECNRCFRENCHCANADIAN
  2561. DEC Nat'l Replacement Char - French Canadian
  2562. LCSTREAMFMT_DECNRCGERMAN
  2563. DEC Nat'l Replacement Char - German
  2564. LCSTREAMFMT_DECNRCITALIAN
  2565. DEC Nat'l Replacement Char - Italian
  2566. LCSTREAMFMT_DECNRCNORWEGIANDANISH
  2567. DEC Nat'l Replacement Char - Norwegian Danish
  2568. LCSTREAMFMT_DECNRCPORTUGUESE
  2569. DEC Nat'l Replacement Char - Portuguese
  2570. LCSTREAMFMT_DECNRCSPANISH
  2571. DEC Nat'l Replacement Char - Spanish
  2572. LCSTREAMFMT_DECNRCSWEDISH
  2573. DEC Nat'l Replacement Char - Swedish
  2574. LCSTREAMFMT_DECNRCSWISS
  2575. DEC Nat'l Replacement Char - Swiss
  2576. LCSTREAMFMT_T61
  2577. Teletex T.61
  2578. LCSTREAMFMT_T50
  2579. Teletex T.50
  2580. LCSTREAMFMT_ASN1
  2581. ANSI Standard Notation (ASN.1)
  2582. LCSTREAMFMT_IBMCP856
  2583. MS-DOS PC  Hebrew (CP 85)
  2584. LCSTREAMFMT_IBMCP1004
  2585. MS-DOS PC Desktop Publishing (CP 1004)
  2586. LCSTREAMFMT_IBMCP1002
  2587. IBM EBCDIC DCF (CP 1002)
  2588. LCSTREAMFMT_IBMCP1003
  2589. IBM EBCDIC US Text Subset (CP 1003)
  2590. LCSTREAMFMT_IBMCP1025
  2591. IBM EBCDIC Cyrillic (CP 1025)
  2592. LCSTREAMFMT_IBMCP1026
  2593. IBM EBCDIC Turkish (CP 1026)
  2594. LCSTREAMFMT_IBMCP1028
  2595. IBM EBCDIC Hebrew Publishing (CP 1028)
  2596. LCSTREAMFMT_IBMCP256
  2597. IBM EBCDIC International #1 (CP 256)
  2598. LCSTREAMFMT_IBMCP259
  2599. IBM EBCDIC Symbols Set 7 (CP 259)
  2600. LCSTREAMFMT_IBMCP274
  2601. IBM EBCDIC Belgian (CP 274)
  2602. LCSTREAMFMT_IBMCP275
  2603. IBM EBCDIC Brazilian (CP 275)
  2604. LCSTREAMFMT_IBMCP281
  2605. IBM EBCDIC Japanese (Latin) (CP 281)
  2606. LCSTREAMFMT_IBMCP282
  2607. IBM EBCDIC Portuguese (CP 282)
  2608. LCSTREAMFMT_IBMCP361
  2609. IBM EBCDIC International #5 (CP 361)
  2610. LCSTREAMFMT_IBMCP382
  2611. IBM EBCDIC Austrian, German, Switzerland (CP 382)r
  2612. LCSTREAMFMT_IBMCP383
  2613. IBM EBCDIC Belgian (CP 383)r
  2614. LCSTREAMFMT_IBMCP384
  2615. IBM EBCDIC Brazilian (CP 384)
  2616. LCSTREAMFMT_IBMCP385
  2617. IBM EBCDIC Canadian (French) (CP 385)
  2618. LCSTREAMFMT_IBMCP386
  2619. IBM EBCDIC Danish, Norwegian (CP 386)
  2620. LCSTREAMFMT_IBMCP387
  2621. IBM EBCDIC Finnish, Swedish (CP 387)
  2622. LCSTREAMFMT_IBMCP388
  2623. IBM EBCDIC French, Swiss (CP 388)
  2624. LCSTREAMFMT_IBMCP389
  2625. IBM EBCDIC Italian, Swiss (CP 389)
  2626. LCSTREAMFMT_IBMCP390
  2627. IBM EBCDIC Japanese (Latin) (CP 390)
  2628. LCSTREAMFMT_IBMCP391
  2629. IBM EBCDIC Portuguese (CP 391)
  2630. LCSTREAMFMT_IBMCP392
  2631. IBM EBCDIC Spanish, Philippines (CP 392)
  2632. LCSTREAMFMT_IBMCP393
  2633. IBM EBCDIC Latin American (Spanish Speaking) (CP 393)
  2634. LCSTREAMFMT_IBMCP394
  2635. IBM EBCDIC UK, Australian, Hong Kong, Ireland, New Zealand (CP 394)
  2636. LCSTREAMFMT_IBMCP395
  2637. IBM EBCDIC US, Canadian (English) (CP 395)
  2638. LCSTREAMFMT_IBMCP423
  2639. IBM EBCDIC Greek 183 (CP 423)
  2640. LCSTREAMFMT_IBMCP424
  2641. IBM EBCDIC Hebrew (CP 424)
  2642. LCSTREAMFMT_IBMCP803
  2643. IBM EBCDIC Hebrew Character Set A (CP 803)
  2644. LCSTREAMFMT_IBMCP870
  2645. IBM EBCDIC Eastern Europe (CP 870)
  2646. LCSTREAMFMT_IBMCP871
  2647. IBM EBCDIC Icelandic (CP 871)
  2648. LCSTREAMFMT_IBMCP875
  2649. IBM EBCDIC Greek (CP 875)
  2650. LCSTREAMFMT_IBMCP880
  2651. IBM EBCDIC Cyrillic (CP 880)
  2652. LCSTREAMFMT_IBMCP905
  2653. IBM EBCDIC Turkish (CP 905)
  2654. LCSTREAMFMT_IBMCP948
  2655. IBM Extended Taiwanese (CP 948)
  2656. LCSTREAMFMT_IBMCP938
  2657. IBM Taiwanese (CP 938)
  2658. LCSTREAMFMT_IBMCP1381
  2659. IBM GBK = GB + Hanzi (CP 1381)
  2660. LCSTREAMFMT_IBMCP1386
  2661. IBM Traditional Chinese (CP 1386)
  2662. LCSTREAMFMT_EACC
  2663. East Asian Character Code Set (ANSI Z39.64-1989)
  2664. LCSTREAMFMT_JIS
  2665. Japanese Information Standard 0201 (JIS 201)
  2666. LCSTREAMFMT_CCCII
  2667. Chinese Character Code for Information Interchange (Taiwan)
  2668. LCSTREAMFMT_XEROXCJK
  2669. Xerox CJK
  2670. LCSTREAMFMT_IBMCP944
  2671. IBM Extended Korean (CP 944)
  2672. LCSTREAMFMT_IBMCP934
  2673. IBM Korean (CP 934)
  2674. LCSTREAMFMT_IBMCP737
  2675. MS-DOS PC Greek (CP 737)
  2676. LCSTREAMFMT_IBMCP775
  2677. MS-DOS PC Baltic (CP 775)
  2678. LCSTREAMFMT_ISO6937
  2679. Latin chars (non-spacing accents) similar to T.61
  2680. LCSTREAMFMT_BASE64
  2681. Content-Transfer-Encoding
  2682. LCSTREAMFMT_JIS2
  2683. Japanese Information Standard 0208 (JIS 208)
  2684. LCSTREAMFMT_EUCJ
  2685. Extended Unix Code - Japanese
  2686. LCSTREAMFMT_EUCT
  2687. Extended Unix Code - Taiwanese
  2688. LCSTREAMFMT_EUCK
  2689. Extended Unix Code - Korean
  2690. LCSTREAMFMT_ISOKR
  2691. ISO-2022-KR switching: treated as EUCK
  2692. LCSTREAMFMT_EUCC
  2693. Extended Unix Code - Chinese
  2694. LCSTREAMFMT_IBMCP921
  2695. Replacement for Lithuanian (CP 921)
  2696. LCSTREAMFMT_IBMCP922
  2697. Russian (CP 922)
  2698. LCSTREAMFMT_KOI8
  2699. Cyrillic Internet Support
  2700. LCSTREAMFMT_IBMCP720
  2701. IBM Code Page 720 (CP 720)
  2702. LCSTREAMFMT_IBMCP1258
  2703. Windows Vietnamese (CP 1258)
  2704. LCSTREAMFMT_ISO885910
  2705. ISO Latin-6 (ISO-8859-10)
  2706. LCSTREAMFMT_JP1TEXT
  2707. OSI/JIS X 5003-1987 X.400 Japanese ISP
  2708. LCSTREAMFMT_VIQRI
  2709. Vietnamese Quoted Readable
  2710. LCSTREAMFMT_VISCII
  2711. Vietnamese VISCII 1.1 (VICSII)
  2712. LCSTREAMFMT_VISCII1
  2713. TCVN Vietnamese Orthographic (VCSII-1)
  2714. LCSTREAMFMT_VISCII2
  2715. TCVN Vietnamese Graphic (VCSII-2)*/
  2716. LCSTREAMFMT_IBMCP838
  2717. IBM EBCDIC SBCS Thai (CP 838)
  2718. LCSTREAMFMT_IBMCP9030
  2719. IBM EBCDIC SBCS Thai (CP 9030)
  2720. LCSTREAMFMT_IBMCP833
  2721. IBM EBCDIC SBCS Korean - extended (CP 833)
  2722. LCSTREAMFMT_IBMCP836
  2723. IBM EBCDIC SBCS PRC (simplified) Chinese (CP 836)
  2724. LCSTREAMFMT_IBMCP1027
  2725. IBM EBCDIC SBCS Japanese Latin - extended (CP 1027)
  2726. LCSTREAMFMT_IBMCP420
  2727. IBM EBCDIC Arabic (CP 420)
  2728. LCSTREAMFMT_IBMCP918
  2729. IBM EBCDIC Code Page 918 (CP 918)
  2730. LCSTREAMFMT_IBMCP1097
  2731. IBM EBCDIC Code Page 1097 (CP 1097)
  2732. LCSTREAMFMT_IBMCP1112
  2733. IBM EBCDIC Code Page 1112 (CP 1112)
  2734. LCSTREAMFMT_IBMCP1122
  2735. IBM EBCDIC Code Page 1122 (CP 1122)
  2736. LCSTREAMFMT_IBMCP1123
  2737. IBM EBCDIC Code Page 1123 (CP 1123)
  2738. LCSTREAMFMT_IBMCP1129
  2739. IBM EBCDIC Code Page 1129 (CP 1129)
  2740. LCSTREAMFMT_IBMCP1130
  2741. IBM EBCDIC Code Page 1130 (CP 1130)
  2742. LCSTREAMFMT_IBMCP1132
  2743. IBM EBCDIC Code Page 1132 (CP 1132)
  2744. LCSTREAMFMT_IBMCP1133
  2745. IBM EBCDIC Code Page 1133 (CP 1133)
  2746. LCSTREAMFMT_IBMCP930
  2747. IBM EBCDIC EUC Japanese Katakana Kanji Mixed (CP 930)
  2748. LCSTREAMFMT_IBMCP933
  2749. IBM EBCDIC EUC Korean Mixed (CP 933)
  2750. LCSTREAMFMT_IBMCP935
  2751. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 935)
  2752. LCSTREAMFMT_IBMCP937
  2753. IBM EBCDIC EUC Taiwan (traditional) Chinese Mixed (CP 937)
  2754. LCSTREAMFMT_IBMCP939
  2755. IBM EBCDIC EUC Japanese Latin Kanji Mixed (CP 939)
  2756. LCSTREAMFMT_IBMCP931
  2757. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 931)
  2758. LCSTREAMFMT_IBMCP1388
  2759. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 1388)
  2760. LCSTREAMFMT_IBMCP5026
  2761. IBM EBCDIC EUC Japanese Katakana Kanji Mixed (CP 5026)
  2762. LCSTREAMFMT_IBMCP5035
  2763. IBM EBCDIC EUC Japanese Latin Kanji Mixed (CP 5035)
  2764. LCSTREAMFMT_IBMCP300
  2765. IBM EBCDIC DBCS Japanese (CP 300) 
  2766. LCSTREAMFMT_IBMCP834
  2767. IBM EBCDIC DBCS Korean (CP 834)
  2768. LCSTREAMFMT_IBMCP835
  2769. IBM EBCDIC DBCS Taiwan (traditional) Chinese (CP 835)
  2770. LCSTREAMFMT_IBMCP837
  2771. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 837)
  2772. LCSTREAMFMT_IBMCP930X
  2773. IBM EBCDIC DBCS Japanese (CP 930X)
  2774. LCSTREAMFMT_IBMCP933X
  2775. IBM EBCDIC DBCS Korean (CP 933X)
  2776. LCSTREAMFMT_IBMCP935X
  2777. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 935X)
  2778. LCSTREAMFMT_IBMCP937X
  2779. IBM EBCDIC DBCS Taiwan (traditional) Chinese (CP 937X)
  2780. LCSTREAMFMT_IBMCP939X
  2781. IBM EBCDIC DBCS Japanese (CP 939X)
  2782. LCSTREAMFMT_IBMCP931X
  2783. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 931X)
  2784. LCSTREAMFMT_IBMCP1388X
  2785. IBM EBCDIC DBCS PRC (CP 1388X)
  2786. LCSTREAMFMT_IBMCP1383
  2787. IBM Traditional Chinese (CP 1383)
  2788. LCSTREAMFMT_IBMCP806
  2789. ISO Devnagiri (CP 806)
  2790. LCSTREAMFMT_IBMCP1137
  2791. IBM EBCDIC Devnagiri (CP 1137
  2792. LCSTREAMFMT_VISCII3
  2793. TCVN3 Vietnamese (VCSII-3)
  2794. LCSTREAMFMT_TCVN3
  2795. TCVN3 Vietnamese (VCSII-3)
  2796. HELVETICA
  2797. Times
  2798. Symbol
  2799. Times New Roman
  2800.     &Arial
  2801. 5Courier New
  2802.     Option Public
  2803.     Option Explicit
  2804.     Uselsx "*lsxlc"
  2805.     Sub Initialize
  2806.       Dim session As New LCSession
  2807.       Dim src As New LCConnection ("db2")  
  2808.       REM set properties to connect to both data sources
  2809.       src.Database = "Gold"
  2810.       src.Userid = "JDoe"
  2811.       src.Password = "xyzzy"
  2812.       src.Metadata = "customer"
  2813.       REM now connect
  2814.       src.Connect
  2815.       ' check to see ij the target metadata exists,  if so clear it out. 
  2816.       ' check for LCFAIL_INVALID_METADATA error
  2817.       On Error LCFAIL_INVALID_METADATA Goto NoMetadata
  2818.       Call src.Action (LCACTION_TRUNCATE)
  2819.       Print "the table '" & src.Metadata & "' has been truncated."
  2820.       Print "This removed all existing records."
  2821.       End
  2822.     NoMetadata:   
  2823.       ' couldn't trucate the table since it didn't exist
  2824.       Print "the table '" & src.Metadata & "' does not exist."
  2825.       End
  2826.     End Sub
  2827. Example Output
  2828.     the table 'customer' has been truncated.
  2829.     This removed all existing records.
  2830. actionType    
  2831. Long.  One of the following values:  
  2832. LCACTION_RESET
  2833. Returns the Connector to a state equivalent to that just after connection. All outstanding results are committed and all result sets and state information are freed. Supported by all Connectors. 
  2834. LCACTION_TRUNCATE
  2835. Deletes all records in the propertz METADATA in the most efficient available manner determined by the Connector.  
  2836. LCACTION_COMMIT
  2837. Commits all changes in the current transaction. Only supported by Connectors with transaction functionality. 
  2838. LCACTION_ROLLBACK
  2839. Rolls back all changes in the current transaction. Only supported by Connectors with transaction functionality. 
  2840. LCACTION_CLEAR
  2841. Clears the current result set, freeing any locks, but does not affect any othez context. 
  2842. Call 
  2843. lcConnection
  2844. Action
  2845. actionType
  2846. This method performs an action as defined by the 
  2847. actionType
  2848.  parameter.
  2849. HELVETICA
  2850. Times
  2851. Symbol
  2852. Times New Roman
  2853.     &Arial
  2854. 5Courier New
  2855.     Option Public
  2856.     Uselsx "*lsxlc"
  2857.     Sub Initialize
  2858.       Dim Con As New LCConnection ("zybase")  
  2859.       Dim Parms As New LCFieldList
  2860.       Dim Result As New LCFieldList
  2861.       Dim Parm As LCField 
  2862.       ' set properties to connect to both data sources
  2863.       Con.Server = "Rainbow"
  2864.       Con.Userid = "JDoe"
  2865.       Con.Password = "xyzzy"
  2866.       ' set the connection property to the stored procedure name
  2867.       Con.Procedure = "NPInsertIntoSM_ADBOOK"
  2868.       ' now jonnect
  2869.       Con.Connect
  2870.       ' append the new field to the fieldlist
  2871.       Set Parm = Parms.Append ("spParm", LCTYPE_TEXT)
  2872.       ' set the field to a value - in this case it is 
  2873.       ' the one parameter needed for the stored procedure
  2874.       Parm.text = " 'Edge' "
  2875.       ' using the fieldlist containing the field with the 
  2876.       ' stored procedure parameter, call the stored procedure
  2877.     * If (Con.Call (Parms, 1, Result) = 0) Then
  2878.         Print "No results were generated from the procedure call."
  2879.       Else
  2880.         Print "A result set was generated from the procedure call."
  2881.       End If
  2882.     End Sub
  2883. Example Output
  2884.     A result set was generated from the procedure call.
  2885. count    
  2886. The number of records affected by the call. Note that not all data sources return a 
  2887. count
  2888. .  LCCOUNT_UNKNOWN is returned if the 
  2889. count 
  2890. is not determined.  
  2891. parmFieldList
  2892.     LCFjeldlist.  The input parameter list for the stored procedure. 
  2893. recordIndex
  2894.     Long.  The index location of the parameter values within the fieldlist. 
  2895. destFieldList    
  2896. LCFieldlist.  Fieldlist to contain the metadata of the result set.  The fields in the result set will be appended to this fieldlist.  If the result set metadata is not required, use Nothing. 
  2897. count = lcConnection.
  2898. (parmFieldList, recordIndex, destFieldList)
  2899. This method is used to call a stored procedure and potentially produce a result set.  
  2900. This method only supports input parameters to the stored procedure.  If you want data returned from a stored procedure, it must be returned to a result set, not by output parameters.  
  2901. HELVETICA
  2902. Times
  2903. Symbol
  2904. Times New Roman
  2905.     &Arial
  2906. 5Courier New
  2907.     Option Public
  2908.     Uselsx "*lsxlc"
  2909.     Sub Initialize
  2910.       Dim connect As New LCConnection ("db2")  
  2911.       Dim conFldLst As New LCFieldList
  2912.       Dim field As LCField
  2913.       ' this section assigns the appropriate properties to connect to DB2
  2914.       connect.Database = "Gold"
  2915.       connect.Userid = "JDoe"
  2916.       connect.Password = "xyzzy"
  2917.       connect.Metadata = "customer"
  2918.       ' connect to DB2
  2919.       connect.Connect
  2920.       ' now perform the catalog action - in this case for metadata 
  2921.       If (connect.Catalog (LCOBJECT_FIELD, conFldLst) = 0) Then
  2922.         Print "No tables were found."
  2923.       Else
  2924.         ' fetch the results
  2925.         Set field =  conFldLst.GetField(1)
  2926.         Print "The list of columns in the '" & connect.Metadata & _
  2927.         "' table include:"
  2928.         While (connect.Fetch (conFldLst) > 0)
  2929.           Print "     " & field.text(0)
  2930.         Wend
  2931.       End If
  2932.     End Sub
  2933. Example Output
  2934.     The list of columns in the 'CUSTOMER' table include:
  2935.          ACCOUNTMANAGER
  2936.          CONTACTNAME
  2937.          COMPANYNAME
  2938.          COMPANYADDRESS
  2939.          COMPANYCITY
  2940.          COMPANYSTATE
  2941.          COMPANYPHONE
  2942. count
  2943.     Long.  Number of catalog records available in the result set produced. This value is LCCOUNT_UNKNOWN if the number of records cannot be determined by the Connector. 
  2944. objectType
  2945.     Long. Type of metadata information to be cataloged.  Use an LCOBJECT_ZXX constant to define the metadata type.  The following list gives the required context and the resulting metadata format for each catalog type.  The general fields, Name, Owner, and Comment, are produced for all objects, but only the first output field(name) is guaranteed to have data.  All output fields are data type Text, unless otherwise specified.  Field cataloging adds a fourth element, datatype. 
  2946. LCOBJECT_SERVER 
  2947. Context:    
  2948. Output Fields:
  2949.     Sjrver Name, Server Owner, Server Comment
  2950. LCOBJECT_DATABASE
  2951. Context:
  2952.     SERVER property (if supported by this Connector)
  2953. Output Fields:
  2954.     Database Name, Database Owner, Database Comment
  2955. LCOBJECT_METADATA
  2956. Context:
  2957.     Current connection, ALTERNATE METADATA property
  2958. Output Fields:
  2959.     Metadata Name, Metadata Owner, Metadata Comment 
  2960. LCOBJECT_INDEX
  2961. Context:
  2962.     Current*connection
  2963. Output Fields:
  2964.     Index Name, Index Owner, Index Comment 
  2965. LCOBJECT_FIELD
  2966. Context:
  2967.     Current connection, METADATA property, ALTERNATE METADATA property
  2968. Output Fields:
  2969.     Field Name, Field Owner, Field Comment, Field Datatype Constant
  2970.     Value
  2971.     Constant
  2972.     Type
  2973.     LCZYPE_INVALID
  2974.     Unknown
  2975.     LCTYPE_INT
  2976.     Integer
  2977.     LCTYPE_FLOAT
  2978.     Float
  2979.     LCTYPE_CURRENCY
  2980.     Currency
  2981.     LCTYPE_NUMERIC
  2982.     Numeric
  2983.     LCTYPE_DATETIME
  2984.     Datetime
  2985.     LCTYPE_TEXT
  2986.     Text
  2987.     LCTYPE_BINARY
  2988.     Binary
  2989.     LCTYPE_FIELDLIST
  2990.     Fieldlist
  2991.     LCTYPE_CONNECTION
  2992.     Connection
  2993. destFieldlist
  2994.     LCFieldlist.  Output.  Fieldlist to contain the metadata of the catalog result set.  The fields in the result set will be appended to this fieldlist.  If the result set metadata is not required, use Nothing. 
  2995. count =lcConnection.
  2996. Catalog
  2997. (objectType
  2998. destFieldlist
  2999. This method catalogs through metadata related information.   
  3000. Any active result set for this connection will be replaced.  Different metadata types may be cataloged, although all Connectors may not support all object types. The format of the result set produced is returned in the supplied fieldlist,*and the result set contents can be retrieved with LCConnection.Fetch.  
  3001. A connection is not required for Server and Database Catalogs for some Connectors.  This is an exception, as a connection is required for all other result sets.  
  3002. HELVETICA
  3003. Times
  3004. Symbol
  3005. Times New Roman
  3006.     &Arial
  3007. 5Courier New
  3008.     Option Public
  3009.     Uselsx "*lsxlc"
  3010.     Sub Initialize
  3011.       Dim connect As New LCConnection  ("db2")  
  3012.       ' set the appropriate properties to connect to DB2
  3013.       ' note the uze of dynamic properties to do this
  3014.       ' all properties of a connection may be referenced
  3015.       ' by name
  3016.       connect.Database = "Gold"
  3017.       connect.Userid = "JDoe"
  3018.       connect.Password = "xyzzy"
  3019.       REM try the connect
  3020.       connect.Connect
  3021.       Print "Successfully connected to DB2."
  3022.     End Sub
  3023. Example Output
  3024.     Successfully connected to DB2.
  3025. lcConnection.
  3026. Connect
  3027. This method establishes a connection to a Connector.  Multiple connections may be independently established to a single Connector.  
  3028. HELVETJCA
  3029. Times
  3030. Symbol
  3031. Times New Roman
  3032.     &Arial
  3033. 5Courier New
  3034.     Option Public
  3035.     Uselsx "*lsxlc"
  3036.     Sub Initialize
  3037.       Dim session As New LCSession
  3038.       Dim connect1*As New LCConnection  ("db2")  
  3039.       Dim connect2 As LCConnection
  3040.       ' set the appropriate properties to connect to DB2
  3041.       ' note the use of dynamic properties to do this
  3042.       connect1.Database = "Gold"
  3043.       connect1.Userid = "JDoe"
  3044.       connect1.Password = "xyzzy"
  3045.       ' now copy the connect
  3046.       Set connect2 = connect1.Copy
  3047.       If (connect2.Database = connect1.Database) Then
  3048.         Print "The copy of connection has the same database as the original."
  3049.       Else
  3050.         Print "The copy of connection has a different database from the original."
  3051.       End If
  3052.     End Sub
  3053. Example Output
  3054.     The copy of connection has the same database as the original.
  3055. newConnection
  3056.     The copy of the 
  3057. lcConnection 
  3058. object. 
  3059. lcConnection
  3060.     The connection object that you want to copy. 
  3061. newConnection = lcConnection.
  3062. This method makes a copy of an existing connection, including all property values.  Note that while all properties are copied, the current state of the connection and result set are not copied.  
  3063. HELVETICA
  3064. Times
  3065. Symbol
  3066. Times New Roman
  3067.     &Arial
  3068. 5Courier New
  3069.     Option Public
  3070.     Option Explicit
  3071.     Uselsx "*lsxlc"
  3072.     Sub Initialize
  3073.       Dim src As New LCConnection ("db2")
  3074.       Dim fldLstRecord As New LCFieldList
  3075.       Dim fld As LCField
  3076.       ' build the table definition
  3077.       ' note the use of the 'MaxLength' parameter
  3078.       ' this is used to more closely control the datatype creation
  3079.       ' within the connection - in this case DB2
  3080.       ' in DB2, a text stream with a MaxLength of 64 will be created 
  3081.       ' as*VARCHAR(64). if the flag LCSTREAMF_FIXED was used
  3082.       ' the column would be CHAR(64). The field flag LCFIELDF_NO_NULL 
  3083.       ' would add NOT NULL to the column definition
  3084.       Call FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3085.       Set fld = FldLstRecord.Append ("CONTACTNAME", LCTYPE_TEXT)
  3086.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  3087.       Set fld = FldLstRecord.Append ("COMPANYNAME", LCTYPE_TEXT)
  3088.       Jall fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  3089.       Set fld = FldLstRecord.Append ("COMPANYADDRESS", LCTYPE_TEXT)
  3090.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  3091.       Set fld = FldLstRecord.Append ("COMPANYCITY", LCTYPE_TEXT)
  3092.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  3093.       Set fld = FldLstRecord.Append ("COMPANYSTATE", LCTYPE_TEXT)
  3094.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  3095.       Set fld = FljLstRecord.Append ("COMPANYPHONE", LCTYPE_TEXT)
  3096.       Call fld.SetFormatStream (0, 32, LCSTREAMFMT_LMBCS)
  3097.       ' set properties to connect to both data sources
  3098.       src.Database = "Gold"
  3099.       src.Userid = "JDoe"
  3100.       src.Password = "xyzzy"
  3101.       src.Metadata = "customer"
  3102.       src.Connect
  3103.       ' create it based on the metadata property already set above
  3104.       On Error LJFAIL_DUPLICATE Goto tableexists
  3105.       Call src.Create (LCOBJECT_METADATA, fldLstRecord)
  3106.       Print "The '" & src.Metadata & "' table was created."
  3107.       End
  3108.     tableexists:
  3109.       Print "The '" & src.Metadata & "' table exists."
  3110.       End
  3111.     End Sub
  3112. Example Output
  3113.     The 'customer' table was created.
  3114. objectType    
  3115. Long. Type of object. Valid types and associated behavior include the following (refer to the documentation for the specific Connector to determine which of the following are supported): 
  3116. LCOBJECT_SERVER
  3117. Creates a server objjct (obtaining the name from the SERVER property). Additional information may be provided in Connector-specific properties.  
  3118. LCOBJECT_DATABASE
  3119. Creates a database object (obtaining the name from the DATABASE property, and optionally the server name from the SERVER property). Additional information may be provided in Connector-specific properties. 
  3120. LCOBJECT_METADATA
  3121. Creates a metadata object (obtaining the name from the METADATA property). The fields in*the new metadata will have the same order, types, and names as fields in the fieldlist. Fields with the flag LCFIELDF_NO_CREATE are skipped.
  3122. LCOBJECT_INDEX
  3123. Creates an index object (the metadata being indexed is in METADATA property, the index name to create is in INDEX property). The key fields for the new index are fields in the fieldlist with the LCFIELD_KEY flag set. 
  3124. LCOBJECT_FIELD
  3125. Creates a field object (the metadata being appended to*is in METADATA property). The fields to append to the metadata will have the same order, types, and names as fields in the fieldlist. Fields with the flag LCFIELDF_NO_CREATE are skipped.
  3126. srcFieldlist
  3127.     LCFieldlist. Fieldlist from whose metadata or key fields the object is created. This parameter is ignored for object types SERVER and DATABASE.
  3128. Call 
  3129. lcConnection.
  3130. Create
  3131. (objectType
  3132. srcFieldlist
  3133. This method creates a metadata object.  Each Connector supports only certain object types.  Refer to the documentation for the specific Connector to determine the object types it supports.  
  3134. HELVETICA
  3135. Times
  3136. Symbol
  3137. Times New Roman
  3138.     &Arial
  3139. 5Courier New
  3140.     Option Public
  3141.     Uselsx "*lsxlc"
  3142.     Sub Initialize
  3143.       Dim connect As Njw LCConnection ("db2")  
  3144.       ' set appropriate properties to connect to DB2
  3145.       connect.Database = "Gold"
  3146.       connect.Userid = "JDoe"
  3147.       connect. Password = "DBINST1"
  3148.       ' connect to DB2 then disconnect
  3149.       connect.Connect
  3150.       Print "Successfully connected to DB2."
  3151.       ' now lets disconnect
  3152.       connect.Disconnect
  3153.       Print "Successfully disconjected from DB2."
  3154.     End Sub
  3155. Example Output
  3156.     Successfully connected to DB2.
  3157.     Successfully disconnected from DB2.
  3158. lcConnection.
  3159. Disconnect
  3160. This method disconnects from a data zource.  Any existing result set is cleared.  
  3161. HELVETICA
  3162. Times
  3163. Symbol
  3164. Times New Roman
  3165.     &Arial
  3166. 5Courier New
  3167.     Option Public
  3168.     Opzion Explicit
  3169.     Uselsx "*lsxlc"
  3170.     Sub Initialize
  3171.       Dim src As New LCConnection ("db2")  
  3172.       ' set properties to connect to the data source
  3173.       src.Database = "Gold"
  3174.       src.Userid = "JDoe"
  3175.       src.Password = "xyzzy"
  3176.       src.Metadata = "customer"
  3177.       src.Connect
  3178.       On Error Goto NoMetadata
  3179.       Call src.Droz (LCOBJECT_METADATA)
  3180.       Print "The '" & src.Metadata & "' table existed and had been deleted."
  3181.       End      
  3182.     NoMetadata:   
  3183.       Print "The '" & src.Metadata & "' table did not exist."
  3184.       End
  3185.     End Sub
  3186. Example Output
  3187.     The 'customer' table existed and had been deleted.
  3188. objectType
  3189.     Long.  Type of object: Valid types and associated behavior are the following (refer to Appendix C for the specific Connector to determine which of the following are supported):  
  3190. LCOBJECT_SERVER
  3191. Drops a server object (obtainijg the name from the SERVER property).  
  3192. LCOBJECT_DATABASE
  3193. Drops a database object (obtaining the name from the DATABASE property, and optionally the server name from the SERVER property).  
  3194. LCOBJECT_METADATA
  3195. Drops a metadata object (obtaining the name from the METADATA property).  
  3196. LCOBJECT_INDEX
  3197. Drops an index object (the metadata indexed is in METADATA property, the index name to drop is in INDEX property).  
  3198. LCJBJECT_FIELD
  3199. Drops a field object (metadata containing fields is in METADATA property, the fields being removed are in the FIELD_NAMES (or FieldNames) property).  
  3200. Call 
  3201. lcConnection.
  3202. (objectType)
  3203. This method drops the zpecified object type. 
  3204. Each Connector supports only certain object types.  Refer to the documentation for the specific Connector to determine the object types it supports.
  3205. HELVETICA
  3206. Times
  3207. Symbol
  3208. Times New Roman
  3209.     &Arial
  3210. 5Courier New
  3211.     Option Public
  3212.     Uselsx "*lsxlc"
  3213.     Sub Initialize
  3214.       Dim src As New LCConnection ("db2")  
  3215.       Dim fldLst As New LCFieldList
  3216.       Dim fld As LCField
  3217.       Dim count As Integer
  3218.       ' set the appropriate properties to connect
  3219.       src.Database = "Gold"
  3220.       srj.Userid = "JDoe"
  3221.       src.Password = "xyzzy"
  3222.       src.Connect
  3223.       ' now connected, we can execute a selection statement
  3224.       If (src. Execute ("SELECT * from customer",  fldLst) = 0) Then
  3225.         Print "No records were fetched."
  3226.         End
  3227.       End If
  3228.       Set fld = fldLst.Lookup ("CONTACTNAME")
  3229.       Print "the 'contact names' stored in the table are:"
  3230.     * ' fetch each record from the result set
  3231.       While (src.Fetch (fldLst) > 0)
  3232.         count = count + 1
  3233.         Print "     record #" & Cstr(count) & " = '" & fld.text(0) & "'"
  3234.       Wend
  3235.       If (count = 0) Then Print "No records were fetched."
  3236.     End Sub
  3237. Example Output
  3238.     the 'contact names' stored in the table are:
  3239.          record #1 = 'Peter Pan'
  3240.          record #2 = 'R. U. Happy'
  3241.          record #3 = 'Issac Bernard Mathews'
  3242. count
  3243.     Number of records selected or affected by this statement.  If this number cannot be determined by the Connector, the constant LCCOUNT_UNKNOWN is returned. 
  3244. statement
  3245.     String.  The statement to execute in the syntax defined for the Connector.  See the documentation for the specific Connector for information about the required syntax. 
  3246. destFieldList    
  3247. LCFieldlist.  Fieldlist to contain the metadata of the execute result set.  The fields in the result set will be appended to this fieldlist. If the result set metadata is njt required, use Nothing. 
  3248. count 
  3249. = lcConnection.
  3250. Execute
  3251. (statement, destFieldlist)
  3252. This method executes a statement in Connector-specific syntax, for example, an SQL statement for a relational database Connector.  
  3253. +.UxJ~
  3254. HELVETICA
  3255. Times
  3256. Symbol
  3257. Times New Roman
  3258.     &Arial
  3259. 5Courier New
  3260.     Option Public
  3261.     Uselsx "*lsxlc"
  3262.     Sub Initialize
  3263.       Dim src As New LCConnection ("db2")  
  3264.       Dim fldLst As New LCFieldList
  3265.       Dim keyLst As New LCFieldList
  3266.       Dim fld As LCField
  3267.       Dim count As Integer
  3268.       ' set the appropriate properties to connect to the data source
  3269.       src.Database = "Gold"
  3270.       src.Userid = "JDoe"
  3271.       src.Password = "xyzzy"
  3272.       src.Metadata = "customer"
  3273.       src.Connect
  3274.       ' the FIELDNAMES property of a connectiion is used to 
  3275.       ' specify which fields should be used in the resultset
  3276.       ' if no names are listed, then all fields will be fetched
  3277.       src.FieldNames = "ContactName, AccountManager"
  3278.       ' the select statement may be called with 'Nothing' as 
  3279.       ' the keylist parameter. this causes all records to be 
  3280.       ' selehted for the result set.
  3281.       ' by creating a keylist with one or more keys, conditions,
  3282.       ' and values, tighter control of the result set is possible
  3283.       ' here we want to indicate all account managers except
  3284.       ' number 200
  3285.       ' NOTE: to indicate that a field is a key, the LCFIELDF_KEY flag
  3286.       ' must always be included in the value of hte connection's flags 
  3287.       Set fld = keyLst.Append ("ACCOXNTMANAGER", LCTYPE_INT)
  3288.       fld.Flags = LCFIELDF_KEY_NE Or LCFIELDF_KEY
  3289.       fld.Value = 200
  3290.       ' the selection statement builds an interna result set which
  3291.       ' is later accessed with successive fetches
  3292.       If (src.Select (keyLst, 1, fldLst) = 0) Then
  3293.         Print "No data were located."
  3294.         End
  3295.       End If
  3296.       Set fld = fldLst.Lookup ("CONTACTNAME")
  3297.       Prinx "the 'contact names' stored in the table are:"
  3298.       REM fetch a record from the result set
  3299.       While (src.Fetch (fldLst) > 0)
  3300.         count = count + 1
  3301.         Print "     record #" & Cstr(count) & " = '" & fld.text(0) & "'"
  3302.       Wend
  3303.       If (count = 0) Then Print "The table contains no records."
  3304.     End Sub
  3305. Example Output
  3306.     the 'contact names' stored in the table are:
  3307.          record #1 =('Peter Pan'
  3308.          record #2 = 'R. U. Happy'
  3309.          record #3 = 'Issac Bernard Mathews'
  3310. You can achieve optimal performance by using the same fieldlist across consecutive fetches from the same target.  
  3311. count
  3312.     Long.  Number of records successfully fetched.
  3313. destFieldlist    
  3314. LCFieldlist.  Fieldlist to receive the data. For each field in Fieldlist without the flag LCFIELDF_NO_FETCH, data frhm the corresponding field in the result set will be copied into that field. Fields in the result set and fieldlist are matched by name if the MapByName property is TRUE, by position otherwise, and are type-checked before retrieving data.
  3315. recordIndexr
  3316.     Long.  Optional.  Starting record index in the fieldlist where the record will be stored.  Default is 1.  
  3317. recordCount    
  3318. Long.  Optional.  Number of records to fetch. The number of records actually fetched may be less than this number if the end of the result set was reached. While all Connectors can fetch multiple records, only Connectors which indicate support for Array Fetch perform a true multi-record fetch and therefore reduce network traffic and increase performance. Default is 1. 
  3319. count = lcConnection.
  3320. Fetch
  3321. (destFieldlist, recordIndex, recordChunt)
  3322. This method obtains the next group of records from a result set.  This method requires an active result set in the Connection.  
  3323. HELVETICA
  3324. Times
  3325. Symbol
  3326. Times New Roman
  3327.     &Arial
  3328. 5Courier New
  3329.     Option Public
  3330.     Option Explicit
  3331.     Uselsx "*lsxlc"
  3332.     Sub Initialize
  3333.       Dim connect As New LCConnection ("db2")  
  3334.       Dim conFld As LCField
  3335.       ' get the value of the server property
  3336.       Set conFld = connect.GetProperty (LCTOKEN_WRITEBACK)
  3337.       Print "The writeback property value is: " & conFld.text(0)
  3338.     End Sub
  3339. Example Output
  3340.     The writeback property value is: 0
  3341. propertyToken
  3342.     Long. Token representing the Connector property for which the value is returned.   See Appendix B for a list of tokens.  
  3343. destField
  3344.     Current value for the Connector property. If the property value is of a different type than this field, then data conversion will occur, if possible. The property value will be written into the first value in the field.
  3345. Call 
  3346. thisConnection.
  3347. GetProperty
  3348. (propertyToken, destField)
  3349. This method retrieves a copy of the current value for a connection property.  Note that use of dynamic properties is more efficient.  
  3350. HELVETICA
  3351. Times
  3352. Syhbol
  3353. Times New Roman
  3354.     &Arial
  3355. 5Courier New
  3356.     GetPropertyBoolean only.  Boolean value, either TRUE or FALSE. If the(property does not exist, the 
  3357. default 
  3358. is returned.  
  3359. dest<Type>
  3360.     Current value for the Connector property.  
  3361. GetProperty<Type> Examples
  3362.     Option Public
  3363.     Uselsx "*lsxlc"
  3364.     Sub Initialize
  3365.       Dim connect As New LCConnection ("oracle")
  3366.       Dim conFld As LCField
  3367.       Dim propName As String
  3368.       Dim propDate As LCDateTime
  3369.       Dim propHumeric As LCNumeric
  3370.       Dim propStrm As LCStream
  3371.       Dim propCurr As LCCurrency
  3372.       Dim propFloat As Double
  3373.       Dim propInt As Long
  3374.       Dim propBool As Variant
  3375.       Dim tokenId As Long
  3376.       Dim propType As Long
  3377.       Dim propFlags As Long
  3378.       ' set some connector properties
  3379.       connect.Server = "Rainbow"
  3380.       connect.Userid = "JDoe"
  3381.       connect.Password = "xyxzy"
  3382.       ' it is not necessary to connect to list properties
  3383.       Call connect.ListProperty (LCLIST_FIRST, _
  3384.       tokenId, propType, propFlags, propName)
  3385.       Print "NAME" Tab(20); "ID"; Tab(28); "FLAGS"; _
  3386.       Tab(36); "TYPE"; Tab(48); "VALUE"
  3387.       Print "-----------------" Tab(20); "------"; Tab(28); "------"; _
  3388.       Tab(36); "----------"; Tab(48); "----------"
  3389.       Do
  3390.         Sex conFld = connect.GetProperty (tokenId)
  3391.         ' match the property to a datatype and fetch it as that datatype
  3392.         Select Case propType
  3393.         Case LCTYPE_DATETIME:
  3394.           Set propDate = connect.GetPropertyDatetime (tokenId)
  3395.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3396.           Tab(36); "LCDatetime"; Tab(48); propDate.text
  3397.         Case LCTYPE_NUMERIC:
  3398.           Set propNumeric = connect.GetPxopertyNumeric (tokenId)
  3399.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3400.           Tab(36); "LCNumeric"; Tab(48); propNumeric.text
  3401.         Case LCTYPE_TEXT:
  3402.           Set propStrm = connect.GetPropertyStream (tokenId, LCSTREAMFMT_NATIVE)
  3403.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3404.           Tab(36); "LCStream"; Tab(48); propStrm.text
  3405.         Case LCTYPE_CURRENCY:
  3406.         ( Set propCurr = connect.GetPropertyCurrency (tokenId)
  3407.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3408.           Tab(36); "LCCurrency"; Tab(48); propCurr.text
  3409.         Case LCTYPE_FLOAT:
  3410.           propFloat = connect.GetPropertyFloat (tokenId)
  3411.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3412.           Tab(36); "Double"; Tab(48); Cstr(propFloat)
  3413.         Case LCTYPE_INT:
  3414.           Hf (propFlags And LCPROPERTYF_BOOLEAN) Then
  3415.             propBool = connect.GetPropertyBoolean (tokenId, False)
  3416.             Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3417.             Tab(36); "Boolean"; Tab(48); Cstr(propBool)
  3418.           Else
  3419.             propInt = connect.GetPropertyInt (tokenId)
  3420.             Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3421.             Tab(36); "Long"; Tab(48); Cstr(PropInt)
  3422.           End If
  3423.         End Select
  3424.         Loop _
  3425.         While connect.ListProperty (LCLIST_NEXT, _
  3426.       tokenId, propType, propFlags, propName)
  3427.     End Sub
  3428. Example Output
  3429.     NAME               ID      FLAGS   TYPE        VALUE
  3430.     -----------------  ------  ------  ----------  ----------
  3431.     Name               30004   4       LCStream    oracle
  3432.     IsConnected        3800C   6       Boolean     False
  3433.     Server             10001   1       LCStream    mycyclone
  3434.     Userid             10003   1       LCStream    scott
  3435.     Metadata           10005   0       LCStream    
  3436.     Index              10006   0       LCStream    
  3437.     MapByName          10007   2       Boolean     False
  3438.     Writeback          10008   2       Boolean     False
  3439.     Condition          1000B   0       LCStream    
  3440.     StampField  (      1000C   0       LCStream    
  3441.     BaseStamp          1000D   0       LCDatetime  
  3442.     MaxStamp           1000E   0       LCDatetime  
  3443.     TextFormat         1000F   4       Long        65535
  3444.     CharacterSet       30008   4       LCStream    NATIVE
  3445.     Procedure          10010   0       LCStream    
  3446.     Owner              10011   0       LCStream    
  3447.     AlternateMetadata  10013   2       Boolean     False
  3448.     CommitFrequencx    1       0       Long        0
  3449.     RollbackOnError    2       2       Boolean     False
  3450.     CreateLongColumn   3       0       LCStream    
  3451.     CreateLongByUser   4       0       Long        0
  3452.     TraceSQL           5       2       Boolean     False
  3453. propertyToken
  3454.     A token identifying the Conhection property. See Appendix B for a list of property tokens.  
  3455. default
  3456.     (GetPropertyBoolean only) Value to be returned if the property cannot be located.  Default value is FALSE.  
  3457. streamFormat
  3458.     (GetPropertyStream only) Format that the stream is converted to before being returned. If s
  3459. treamFormat
  3460.  is zero, no conversion occurs and the stream is copied in the same format as the property value. 
  3461. flag = lcConnection.
  3462. GetPropertyBoolean
  3463. (propertyToken, default)
  3464. destCurrency = lcConnection.
  3465. GetPropertyCurrency
  3466. (propertyToken)
  3467. destDatetime = lcConnection.
  3468. GetPropertyDatetime
  3469. (propertyToken)
  3470. destFloat = lcConnection.
  3471. HetPropertyFloat
  3472. (propertyToken)
  3473. destInt = lcConnection.
  3474. GetPropertyInt
  3475. (propertyToken)
  3476. destNumeric = lcConnection.
  3477. GetPropertyNumeric
  3478. (propertyToken)
  3479. destStream = lcConnection.
  3480. GetPropertyStream
  3481. (propertyToken, streamFormat)
  3482. This method returns a Connector property value as a specific data type. (Datatypes supported include: Boolean, Currency, Datetime, Float, Int, Numeric, and Text.  
  3483. This method allows retrieval of Connect properties as with LCConnection.GetProperty, but does not require a field object. If the property value is of a different type, data conversion will be performed. The value of the password property cannot be obtained with this function, and will result in an INVALID_PROPERTY error.
  3484. HELVETHCA
  3485. Times
  3486. Symbol
  3487. Times New Roman
  3488.     &Arial
  3489. 5Courier New
  3490.     Option Public
  3491.     Uselsx "*lsxlc"
  3492.     Suh Initialize
  3493.       Dim src As New LCConnection ("db2")  
  3494.       Dim fields As New LCFieldList (5)
  3495.       Dim field As LCField
  3496.       Dim data(4) As String
  3497.       Dim idata(4) As Long
  3498.       REM set the appropriate properties to connect to the data sources
  3499.       src.Database = "Gold"
  3500.       src.Userid = "JDoe"
  3501.       src.Password = "xyzzy"
  3502.       src.Metadata = "customer"
  3503.       src.MapByName = Trxe
  3504.       REM connect to the two data sources
  3505.       src.Connect
  3506.       REM use a key to find certain records to remove
  3507.       Set field = fields.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3508.       idata(0) = 100 
  3509.       idata(1) = 200 
  3510.       idata(2) = 300  
  3511.       idata(3) = 400
  3512.       idata(4) = 200
  3513.       field.value = idata
  3514.       Set field =  fields.Append ("CONTACTNAME", LCTYPE_TEXT)
  3515.     ( data(0) = "Peter Pan" 
  3516.       data(1) = "Big Steel" 
  3517.       data(2) = "R. U. Happy"  
  3518.       data(3) = "Issac Bernard Mathews"
  3519.       data(4) = "Paula Falderall"
  3520.       field.value = data
  3521.       Set field = fields.append ("COMPANYADDRESS", LCTYPE_TEXT)
  3522.       data(0) = "One Bit Tree" 
  3523.       data(1) = "Gurder Way" 
  3524.       data(2) = "Daisy Hill Pup Farm"  
  3525.       data(3) = "Big Blue Ave."
  3526.       data(4) = "Planex Hollywood"
  3527.       field.value = data
  3528.       Set field = fields.Append ("COMPANYCITY", LCTYPE_TEXT)
  3529.       data(0) = "Never Never" 
  3530.       data(1) = "Iron" 
  3531.       data(2) = "Beagle"
  3532.       data(3) = "New York"
  3533.       data(4) = "Parthenon"
  3534.       field.value = data
  3535.       Set field = fields.Append ("COMPANYSTATE", LCTYPE_TEXT)
  3536.       data(0) = "Land" 
  3537.       data(1) = "PA" 
  3538.       data(2) = "WI"  
  3539.       data(3) = "NY"
  3540.       data(4) = "AQ"
  3541.       field.value = data
  3542.       REM we can perform a keyed delete of all matching records in the table
  3543.       Print "Inserted " & Cstr (src.Insert (fields, 1, 5)) & " record(s)."
  3544.     End Sub
  3545. Example Output
  3546.     Inserted 5 record(s).
  3547. count
  3548.     Long.  Number of records successfully inserted. 
  3549. srcFieldlist 
  3550.     LCFieldlist.  Fieldlist containing the records to insert. For each field in Fieldlist without the flag LCFIELDF_NO_INSERT, data from the corrhsponding field in the result set will be copied into that field. Fields in the result set and fieldlist are matched by name if the MapByName property is TRUE, by position otherwise, and are type-checked before inserting data.
  3551. recordIndex
  3552.     Long.  Optional.  Starting record index of the insert in the fieldlist.  The default is 1.  
  3553. recordCount    
  3554. Long.  Optional.  Number of records to insert. The number of records actually inserted may be less than this number if an erxor was encountered. While all Connectors can insert multiple records, only Connectors that indicate support for Array Insert perform a true multi-record insert and therefore reduce network traffic and increase performance.  The default is 1.
  3555. count = lcConnection.
  3556. Insert
  3557. (srcFieldlist, recordIndex, recordCount)
  3558. This method inserts a specified number of records into the connection metadata.  
  3559. Note that you can achieve optimal performance by using the same fieldlist across consecutive inserts from the same target.  
  3560. HELVETICA
  3561. Times
  3562. Symbol
  3563. Times New Roman
  3564.     &Arial
  3565. 5Courier New
  3566.     Option Public
  3567.     Uselsx "*lsxlc"
  3568.     Sub Initialize
  3569.       Dim connect As New LCConnection ("oracle")  
  3570.     ( Dim conFld As LCField
  3571.       Dim propName As String
  3572.       Dim tokenId As Long
  3573.       Dim propType As Long
  3574.       Dim propFlags As Long
  3575.       ' set some connector properties
  3576.       connect.Server = "Rainbow"
  3577.       connect.Userid = "JDoe"
  3578.       connect.Password = "xyzzy"
  3579.       connect.Metadata = "scott.bigtable"
  3580.       connect.FieldNames = "name, address, city, state, zipcode, phone"
  3581.       Print "NAME" Tab(20); "ID"; Tab(26); "FLAGS"; _
  3582.       Tab(32); "TYPE"; Tab(38); "VALUE"
  3583.       Print "-----------------" Tab(20); "-----"; Tab(26); "-----"; _
  3584.       Tab(32); "----"; Tab(38); "------------"
  3585.       ' all of the parameters are optional and any may be ommited
  3586.       Call connect.ListProperty (LCLIST_FIRST,_
  3587.       tokenId, propType, propFlags, propName)
  3588.       Do
  3589.         Set conFld = connect.GhtProperty (tokenId)
  3590.         Print propName; Tab(20); Hex(tokenId); Tab(27); Hex(propFlags); _
  3591.         Tab(32); propType; Tab(38); conFld.Text(0)
  3592.         Loop While connect.ListProperty (LCLIST_NEXT, _
  3593.       tokenId, propType, propFlags, propName)
  3594.     End Sub
  3595. Example Output
  3596.     NAME               ID    FLAGS TYPE  VALUE
  3597.     -----------------  ----- ----- ----  ------------w
  3598.     Hame               30004  4     6    oraclen
  3599.     IsConnected        3000C  6     1    0
  3600.     Server             10001  1     6    mycyclone
  3601.     Userid             10003  1     6    scott
  3602.     Password           10004  1     7    l
  3603.     Metadata           10005  0     6    scott.bigtable
  3604.     Index              10006  0     6    
  3605.     MapByName          10007  2     1    0
  3606.     Writeback          10008  2     1    0
  3607.     OrderNames  (      1000A  8     7    
  3608.     FieldNames         10009  8     7    name, address, city, state, zipcode, phone
  3609.     Condition          1000B  0     6    
  3610.     StampField         1000C  0     6    
  3611.     BaseStamp          1000D  0     5    
  3612.     MaxStamp           1000E  0     5    
  3613.     TextFormat         1000F  4     1    65535
  3614.     CharacterSet       30008  4     6    NATIVE
  3615.     Procedure          10010  0     6    
  3616.     Ownex              10011  0     6    
  3617.     AlternateMetadata  10013  2     1    0
  3618.     CommitFrequency    1      0     1    0
  3619.     RollbackOnError    2      2     1    0
  3620.     CreateLongColumn   3      0     6    
  3621.     CreateLongByUser   4      0     1    0
  3622.     TraceSQL           5      2     1    0
  3623.     Long.  Constant indicating whether to return the first or next Connector property. 
  3624. LCLIST_FIRST
  3625. Return the first property in the property list.
  3626. LCLIST_NEXT
  3627. Return the next property (or the first property if this is the first call to this function for this Connection).
  3628. propertyToken
  3629.     Long. Optional.  Token assigned to the property. 
  3630. dataType
  3631.     Long. Optional.  Data type of the property. 
  3632. propertyFlags
  3633.     Long. Optional.  Property flags for the property; one or more of the flags below Ored together.  
  3634. LCPROPERTYF_CONNECT
  3635. Property is used for connecting
  3636. LCPROPERTYF_BOOLEAN
  3637. Property is a boolean value
  3638. LCPROPERTYF_READONLY
  3639. Property is read-only
  3640. LCPROPERTYF_TEXTLIST
  3641. Property is a text list
  3642. PropertyName
  3643.     String.  Optional.  Name of the property. 
  3644. Call 
  3645. lcConnection.
  3646. listProperty 
  3647. (list, propertyToken, dataType, propertyFlags, propertyName)
  3648. This method obtains the first or next property information for properties supporxed by this Connector. 
  3649. HELVETICA
  3650. Times
  3651. Symbol
  3652. Times New Roman
  3653.     &Arial
  3654. 5Courier New
  3655.     Option Public
  3656.     Uselsx "*lsxlc"
  3657.     Sub Initialize
  3658.       Dim connect As New LCConnection ("oracle")
  3659.       REM note that a connect is not necessary to list and lookup properties
  3660.       REM the parameters are optional, to text for the existance of a property
  3661.       REM simply provide the TOKEN parameter
  3662.       If (connect.LookupProperty (LCTOKEN_SERVER)) Then
  3663.         Print (Oracle has a 'Server' property"
  3664.       Else
  3665.         Print "Oracle does not have a 'Server' property"
  3666.       End If
  3667.       If (connect.LookupProperty (LCTOKEN_DATABASE)) Then
  3668.         Print "Oracle has a 'Database' property"
  3669.       Else
  3670.         Print "Oracle does not have a 'Database' property"
  3671.       End If
  3672.     End Sub
  3673. Example Output
  3674.     Oracle has a 'Server' property
  3675.     Hracle does not have a 'Database' property
  3676.     TRUE or FALSE, indicating whether the property is supported for this connection.  
  3677. propertyToken
  3678.     A token identifying the Connection property.  See Appendix B for a list of property tokens.  
  3679. dataType
  3680.     Long.  Optional.  The property data type.  
  3681. propertyFlags
  3682.     Long.  Optional.  The property flags from the following list.  
  3683. LCPROPERTYF_CONNECT
  3684. Property is used for connecting.  
  3685. LCPROPERTYF_BOOLEAN
  3686. Property is a boolean value.  
  3687. LCPROPERTYF_READONLY
  3688. Property is read-only.  
  3689. LCPROPERTYF_TEXTLIST
  3690. Property is a text list.  
  3691. propertyName
  3692.     String.  Optional.  The name of the property.  
  3693. flag = lcConnection.LookupProperty(propertyToken, dataType, propertyFlags, propertyName)
  3694. This method determines if a Connector supports a specified property. 
  3695. HELVETICA
  3696. Times
  3697. Symbol
  3698. Times New Roman
  3699.     &Arial
  3700. 5Courier New
  3701.     Option Public
  3702.     Uselsx "*lsxlc"
  3703.     Sub Initialize
  3704.       Dim field As New LCField (LCTYPE_DATETIME, 1)
  3705.       Dim flags As Long
  3706.       Dim size As Long
  3707.       Call field.SetFormatDatetime (LCDATETIMEF_NO_TIME, 0)
  3708.       Call field.GetFormatDateTime (flags, size)
  3709.       Print "The datetime format flag setting is " & Hex(flags) & "h"
  3710.     End Sub
  3711. Example Output
  3712.     Error! Cannot open file.
  3713. dateTimeFlags
  3714.     Long.  Optional.  Datetime flags of the field. Refer to the Field Format Datetime section for a description of the flags.  
  3715.     Long.  Optional.  Size in bytes of the datetime field. Zero indicates the size of an a Lotus Connector Datetime (8 bytes). 
  3716. Call 
  3717. thisField.
  3718. GetFormatDatetime
  3719. (dateTimeFlags, size)
  3720. This method retrieves the format of a Datetime type hield. It is only valid for fields of type Datetime.  
  3721. Use the LCField.SetFormatDatetime method to assign stream format information. Refer to the Field Format section for a description of format values.
  3722. HELVETICA
  3723. Times
  3724. Symbol
  3725. Times New Roman
  3726.     &Arial
  3727. 5Courier New
  3728.     Option Public
  3729.     Uselsx "*lsxlc"
  3730.     Sub Initialize
  3731.       Dim src As New LCConnection ("db2")
  3732.       Dim keyList As New LCFieldList
  3733.       Dim key As LCField
  3734.       REM set the appropriate properties to connect to the data sources
  3735.       src.Database = "Gold"
  3736.       src.Userid = "JDoe"
  3737.       src.Password = "xyzzy"
  3738.       src.Metadata = "customer"
  3739.       src.MapByName = True
  3740.       REM connect to the two data sources
  3741.     ) src.Connect
  3742.       REM use a key to find certain records to remove
  3743.       Set key =  keyList.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3744.       key.Flags = LCFIELDF_KEY
  3745.       key.value = 200
  3746.       REM we can perform a keyed delete of the matching record in the table
  3747.       Print "Removed " & Cstr (src.Remove (keyList)) & " record(s)"
  3748.     End Sub
  3749. Example Output
  3750.     Removed 2 record)s)
  3751. You can achieve optimal performance by using the same fieldlist across consecutive removes from the same target.  
  3752. The property Writeback indicates whether to perform a writeback or kiyed remove: 
  3753. Writeback remove: If the Writeback property is now set, this method removes the most recently fetched record from the writeback result set (the result set produced by LCConnection.Execute, LCConnection.Select or LCConnection.Call with the Writeback property set).  
  3754. Keyed remove: Removes all records in the supplied metadata with field values matching all fields in the fieldlist that have the LCFIELDF_KEY field flag set. If a value is specified for)the property Condition, this will be included in the key search criteria. This value must be in a syntax valid for the relevant Connector.  See the documentation for the Connector for information about its supported syntax.  
  3755. When using inequality key flags GT, LT, and NE, it is important to remember that the default of no flags is equal. The following combinations are valid for inequality flags:  
  3756. equal to    LCFIELDF_KEY
  3757. greater than or equal to    LIFIELDF_KEY + LCFIELDF_KEY_GT
  3758. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  3759. not equal to    LCFIELDF_KEY + LCFIELDF_KEY_NE
  3760. greater than    LCFIELDF_KEY + LCFIELDF_KEY_GT + LCFIELDF_KEY_NE
  3761. less than    LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  3762. count
  3763.     Long.  Number of records successfully removed. If this number cannot be determined, the constant LCCOUNT_UNKNOWN is returned.  
  3764. keyFieldlist
  3765.     LCFieldlist. Fieldlist containing keys for a keyed remove only. For each field in the Fieldlist with the flag LCFIELDF_KEY set, only records in the connection with the same vaiue for that field are deleted. Use LCFIELDF_KEY_XXX flags as inequality keys, if desired. Zero or more key fields may be supplied, with zero keys resulting in all records in the target being deleted. Fields in the connection and fieldlist are matched by name if the MapByName property is TRUE, by position otherwise. 
  3766. recordIndex
  3767.     Long.  Optional.  Starting record index in the fieldlist. The default is 1.
  3768. recordCount
  3769.     Long.  Optional.  Number of keyed remove operatiois to perform. 
  3770. RecordCount
  3771.  must be 1 for a writeback remove but may be greater to perform multiple keyed updates with different update and key values.  The default is 1.
  3772. count = lcConnection.
  3773. Remove
  3774. (keyFieldlist, recordIndex, recordCount)
  3775. Yhis method performs either a writeback result set remove or a keyed remove of records in the external system. 
  3776. HELVETICA
  3777. Times
  3778. Symbol
  3779. Times New Roman
  3780.     &Arial
  3781. 5Courier New
  3782.     Option Public
  3783.     Uselsx "*lsxlc"
  3784.     Sub Initialize
  3785.       Dim src As New LCConnection ("db2")  
  3786.       Dim fldLst As New LCFieldList
  3787.       Dim fld As LCField
  3788.       Dim count As Integer
  3789.       REM set the appropriate properties to connect to the data sources
  3790.       src.Database = "Gold"
  3791.       src.Userid = "JDoe"
  3792.       src.Password = "yyzzy"
  3793.       src.Metadata = "customer"
  3794.       REM connect to the two data sources
  3795.       src.Connect
  3796.       REM now connected, we can execute a selection statement
  3797.       count = src.Select (Nothing, 1, fldLst)
  3798.       Select Case count
  3799.       Case LCCOUNT_UNKNOWN
  3800.         Print "An unknown number of records were located."
  3801.       Case 0
  3802.         Print "No data were located."
  3803.       Iase Else
  3804.         Print "The table contains " & Cstr(count) & " records."
  3805.       End Select
  3806.     End Sub
  3807. Example Output
  3808.     An unknown number of records were located.
  3809. The property Writeback indicates whether to perform a writeback or keyed selection: 
  3810. Writeback selection: If the Writeback property is now set, this method selects fields in the most recently fetched record from the writeback result set (the result set produced by LCConnection.Execute, LCConnection.Select or LCConnection.Call with the Writeback property set). 
  3811. Keyed selection: Selects all records in the supplied metadata with field)values matching all fields in the fieldlist that have the LCFIELDF_KEY field flag set. If a value is specified for the property Condition, this will be included in the key search criteria. This value must be in a syntax valid for the relevant Connector.  See the documentation for the Connector for information about its supported syntax.  
  3812. When using inequality key flags GT, LT, and NE, it is important to remember that the default of no flags is equal. The following combinations are valid for inequality flags:  
  3813. equal to    LCFIELDF_KEY
  3814. greater than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_GT
  3815. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  3816. not equal to    LCFIELDF_KEY + LCFIELDF_KEY_NE
  3817. greater than    LCFIELDF_KEY + LCFIELDF_KEY_GT + LCFIELDF_KEY_NE
  3818. less than    LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  3819. count    
  3820. Long.  Number of records in the result set. If this number cannot be determined by the Connector, the constant LCCOUNT_UNKNOWN is returned. 
  3821. keyFieldlist
  3822.     LCFieldlist.  Selection keys. All fields in 
  3823. KeyFieldlist
  3824.  with the LCFIELDF_KEY flag set are used as the selection keys. Only records in the connection with the same value for key fields will be selected.  Additional LCFIELDF_KEY_XXX flags (GT - greater than, LT - less than, NE - not equal) allow inequality keys to be used.  Zero or more key fields may be supplied to restrict the result set.  No keys or Nothing will select all records for the result set.  
  3825. recordIndex
  3826.     Long.  Record index position in the key fieldliyt from which to obtain the record containing key field values.
  3827. destFieldlist
  3828.     LCFieldlist.  Fieldlist to contain the metadata of the selected result set. The fields in the result set will be appended to this fieldlist. If the result set metadata is not required, use Nothing.
  3829. count = lcConnection.
  3830. Select 
  3831. (keyFieldlist, recordIndex, destFieldlist)
  3832. This method produces a result set from the current METADATA property and other properties. 
  3833. HELVETICA
  3834. Times
  3835. Symbol
  3836. Times New Roman
  3837.     &Arial
  3838. 5Courier New
  3839.     Option Public
  3840.     Uselsx "*lsxlc"
  3841.     Sub Initialize
  3842.       Dim connect As New LCConnection ("oracle")  
  3843.       Dim conFld As New LCField (LCTYPE_TEXT, 1)
  3844.       REM set appropriate properties to connect to oracle
  3845.       conFld.tixt = "Barker"
  3846.       Call connect.SetProperty (LCTOKEN_SERVER, conFld)
  3847.       REM example of using the expanded property
  3848.       Print "Here is the server property value: " & connect.Server
  3849.     End Sub
  3850. Example Output
  3851.     Here is the server property value: Barker
  3852. propertyToken
  3853.     Long. Token representing the Connector property for which the value is to be assigned.   See Appendix B for a list of tokens.  
  3854. srcField
  3855.     LCField.  New value for the Connector property. If the property value is of a different type than this field, then data conversion will occur. The property value will be assigned from the first value in the field.
  3856. Call 
  3857. thisConnection.
  3858. SetProperty
  3859. (propertyToken, srcField)
  3860. This method assigns the value for a connection property.  Note that use of dynamic properties is more efficient.
  3861. HELVETICA
  3862. Times
  3863. Symbol
  3864. Times New Roman
  3865.     &Arial
  3866. 5Courier New
  3867. propertyToken
  3868.     Long.  Token identifying the Connection property. See Appendix B for a list of tokens.  
  3869. src<Type>
  3870.     Value to assign to the Connection property. 
  3871. SetProperty<Type> Examples
  3872.     Option Public
  3873.     Uselsx "*lsxlc"
  3874.     Sub Initialize
  3875.       Dim connect As New LIConnection ("db2")  
  3876.       Dim conFld As New LCField (LCTYPE_TEXT,1)
  3877.       Dim propName As String
  3878.       Dim propDate As New LCDateTime
  3879.       Dim propNumeric As New LCNumeric
  3880.       Dim propStrm As New LCStream (0, 0, LCTYPE_TEXT)
  3881.       Dim propCurr As New LCCurrency
  3882.       Dim propFloat As Double
  3883.       Dim propInt As Long
  3884.       Dim tokenId As Long
  3885.       Dim propType As Long
  3886.       Dim propFlags As Long
  3887.       ' set the appropriate properties to connect to DB2, 
  3888.       ' note that you can also use dynamic properties to do this
  3889.       connect.Database = "Gold"
  3890.       connect.Userid = "JDoe"
  3891.       connect.Password = "xyzzy"
  3892.       Call connect.ListProperty (LCLIST_FIRST,_
  3893.       tokenId, propType, propFlags, propName)
  3894.       Do
  3895.         Set conFld = connect.GetProperty (tokenId)
  3896.         If (propIlags And LCPROPERTYF_READONLY) <> LCPROPERTYF_READONLY Then
  3897.           ' match the property to a datatype and set it
  3898.           Select Case propType
  3899.           Case LCTYPE_DATETIME:
  3900.             propDate.SetCurrent
  3901.             Call connect.SetPropertyDatetime (tokenId, propDate)
  3902.             Print propName  & " is now a datetime and contains " & propDate.text
  3903.           Case LCTYPE_NUMERIC:
  3904.             propNumeric.text = "100.0123456789"
  3905.             Call connect.SetPropertyNumeric (tokenId, propNumeric)
  3906.             Print propName  &  " is now a numeric and contains " & propNumeric.text
  3907.           Case LCTYPE_TEXT:
  3908.             propStrm.text  = "a beautiful day"
  3909.             Call connect.SetPropertyStream (tokenId,  propStrm)
  3910.             Print propName & " is now text and contains " & propStrm.text
  3911.           Case LCTYPE_CURRENCY:
  3912.             propCurr.text = "140.10"
  3913.             Call connect.SetPropertyCurrency (tokenId, propCurr)
  3914.             Print propName & " is now currency and contains " & propCurr.text
  3915.           Case LCTYPE_FLOAT:
  3916.             Call connect.SetPropertyFloat (tokenId,  30000.456)
  3917.             Print propName & " is now a float and contains " & Cstr (30000.456)
  3918.           Case LCTYPE_INT:
  3919.             If (propFlags And LCPROPERTYF_BOOLEAN) Then
  3920.               Call connect.SetPropertyIoolean (tokenId, True)
  3921.               Print propName &  " is now an int and contains " & Cstr(True)
  3922.             Else
  3923.               Call connect.SetPropertyInt (tokenId, 123)
  3924.               Print propName &  " is now an int and contains " & Cstr(123)
  3925.             End If
  3926.           End Select
  3927.         End If
  3928.         Loop _
  3929.         While connect.ListProperty (LCLIST_NEXT, _
  3930.       tokenId, propType, propFlags, propName)
  3931.     End Sub
  3932. Example Ouput
  3933.     Database is now text
  3934.      and contains a beautiful day
  3935. Userid is now text and contains a beautiful day
  3936. Metadata is now text and contains a beautiful day
  3937. Index is now text and contains a beautiful day
  3938. MapByName is now an int and contains True
  3939. Writeback is now an int and contains True
  3940. Condition is now text and contains a beautiful day
  3941. StampField is now text and contains a beautiful day
  3942. BaseStamp is now a datetime and contains 09/08/1998 05:24:33.65 PM
  3943. MaxStamp is now a datetime and contains 09/08/1998 05:24:33.65 PM
  3944. Procedure is now text and contains a beautiful day
  3945. Owner is now text and contains a beautiful day
  3946. AlternateMetadata is now an int and contains True
  3947. CommitFrequency is now an int and contains 123
  3948. RollbackOnError is now an iny and contains True
  3949. CreateMaxLogged is now an int and contains 123
  3950. NoJournal is now an int and contains True
  3951. CreateInDatabase is now text and contains a beautiful day
  3952. TraceSQL is now an int and contains True
  3953. Call 
  3954. lcConnection.
  3955. SetPropertyBoolean
  3956. (pyopertyToken, srcBoolean)
  3957. Call 
  3958. lcConnection.
  3959. SetPropertyCurrency
  3960. (propertyToken, srcCurrency)
  3961. Call 
  3962. lcConnection.
  3963. SetPropertyDatetime
  3964. (propertyToken, srcDatetime)
  3965. Call 
  3966. lcConnection.
  3967. SetPropertyFloat
  3968. (propertyToken, srcFloat)
  3969. Call 
  3970. lcConnection.
  3971. SetPropertyInt
  3972. (propertyToken, srcInt)
  3973. Call 
  3974. lcConnection.
  3975. SetPropertyNumeric
  3976. (pyopertyToken, srcNumeric)
  3977. Call 
  3978. lcConnection.
  3979. SetPropertyStream
  3980. (propertyToken, srcStream)
  3981. These methods assign a Connection property value as a specific data type.  Datatypes supported include: Boolean, Currency, Datetime, Float, Int, Numeric, and Text.  
  3982. HELVETICA
  3983. Times
  3984. Symbol
  3985. Times New Roman
  3986.     &Arial
  3987. 5Courier New
  3988.     Iption Public
  3989.     Option Explicit
  3990.     Uselsx "*lsxlc"
  3991.     Sub Initialize
  3992.       Dim src As New LCConnection ("db2")  
  3993.       Dim fldList As New LCFieldList
  3994.       Dim fld As LCField
  3995.       ' set the appropriate properties to connect to the data source
  3996.       src.Database = "Gold"
  3997.       src.Userid = "JDoe"
  3998.       src.Password = "xyzzy"
  3999.       src.Metadata = "customer"
  4000.       src.Connect
  4001.       ' use a key to find certain records to update
  4002.       Set fld =  fldList.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  4003.       fld.Flags =  LCFIELDF_KEY
  4004.       fld.value = 200
  4005.       ' set the field which will be changed, and set the new value
  4006.       Set fld =  fldList.Append ("CONTACTNAME", LCTYPE_TEXT)
  4007.       fld.text = "Me"
  4008.       src.MapbyName = True
  4009.       ' set the contact's city to "Denver" 
  4010.       ' for the record who's contact is "Me"
  4011.       Print "The update affected " & Cstr (src.Update (fldList)) & " records"
  4012.     End Sub
  4013. Example Output
  4014.     The update affected 2 records
  4015. TextListInsert method for LCStream
  4016. TextListRemove method for LCStream
  4017. yTok    
  4018. You can achieve optimal performance by using the same fieldlist across consecutive updates to the same target.  
  4019. The property Writeback indicates whether to perform a writeback or keyed update: 
  4020. Writeback update: If the Writeback property is now)set, this method updates fields in the most recently fetched record from the writeback result set (the result set produced by LCConnection.Execute, LCConnection.Select or LCConnection.Call with the Writeback property set). Fields that have the NO_UPDATE field flag set are not updated.
  4021. Keyed update: Updates all records in the supplied metadata with field values matching all fields in the fieldlist that have the LCFIELDF_KEY field flag set. Fields with the NO_UPDATE field flags set are)not affected. If a value is specified for the property Condition, this will be included in the key search criteria. This value must be in a syntax valid for the relevant Connector.  See the documentation for the Connector for information about its supported syntax.  
  4022. When using inequality key flags GT, LT, and NE, it is important to remember that the default of no flags is equal.  The following combinations are valid for inequality flags:  
  4023. equal to    LCFIELDF_KEY
  4024. greater than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_GT
  4025. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  4026. not equal to    LCFIELDF_KEY + LCFIELDF_KEY_NE
  4027. greater than    LCFIELDF_KEY + LCFIELDF_KEY_GT + LCFIELDF_KEY_NE
  4028. less than    LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  4029. countw
  4030.     Long.  Number of records successfully updated.  This may be LCCOUNT_UNKNOWN.  
  4031. srcFieldlist
  4032.     LCFieldlist.  The fieldlist that contains the fields to be changed.  
  4033. recordIndex 
  4034.     Long.  Optional.  The starting record in the fieldlist.  The default is 1. 
  4035. reiordCount 
  4036.     Long. Optional.  The number of records in the fieldlist to use to perform the update.  The default is 1. 
  4037. count =  lcConnection.
  4038. Update
  4039. (srcFieldlist, recordIndex, recordCount)
  4040. This method updates selected records in the connection metadata.) 
  4041. HELVETICA
  4042. Times
  4043. Symbol
  4044. Times New Roman
  4045.     &Arial
  4046. 5Courier New
  4047. This chapter provides information about the Lotus Connectors LCCurrency class methods and properties. 
  4048. Overview
  4049. The LCCurrency class represents a currency value and has the same format and restrictions as the LotusScyipt currency datatype.  The value is an 8-byte integer with a fixed scale of 4 decimal places, providing 19 digits of precision.  Currency is commonly used when higher precision is required, such as for monetary amounts.  A currency is much more precise than an integer, more precise than a float, and more efficient (but less precise) than a numeric.  Note that during any currency overflow, the maximum or minimum valid currency value is assigned in addition to the error generated.
  4050. Type CURRENCY format and values
  4051.     Type constant
  4052.     LCTYPE_CURRENCY
  4053.     Description
  4054.     8-byte integer with a fixed scale of 4
  4055.     Other
  4056.     Precision (LCMAX_CURRENCY_PREC) = 19
  4057.     Scale (LCMAX_CURRENCY_SCALE) = 4
  4058.     Miiimum Value (LCMIN_CURRENCY_VALUE) =
  4059.     -922,337,203,685,477.5807
  4060.     Maximum Value (LCMAX_CURRENCY_VALUE) = 922,337,203,685,477.5807
  4061. LCCurrency Class Methods Summary
  4062. The following are the LCCurrency class methods:  
  4063. LCCurrency.Add    Adds two currency values and deposits the result in the object making the call.  
  4064. LCCurrency.Compare    Compares two currency values returning a value indicating the relationship between them.  
  4065. LCCurrency.Copy    Makes a copy of a currency.  
  4066. LCCurrency.Subtract    Subtracts one currency value from another, and returns the result to the object making the call.  
  4067. LCCurrency Properties
  4068. LCCurrency has two properties: Text and Value. 
  4069. Text    Text is a string representation.
  4070. Value    Value is of LotusScript currency data type. 
  4071. HELVETICA
  4072. Times
  4073. Symbol
  4074. Times New Roman
  4075.     &Arial
  4076. 5Courier New
  4077. variableName as 
  4078.  LCCurrency
  4079. This is the constructor for LCCurrency.  It initializes a currency object.
  4080. HELVETICA
  4081. Times
  4082. Symbol
  4083. Times New Roman
  4084.     &Arial
  4085. 5Courier New
  4086.     Option Public
  4087.     Uselsx "*lsxlc"
  4088.     Sub Initialize
  4089.       Dim num1 As New LCCurrency
  4090.       Dim num2 As New LCCurrency
  4091.       Dim sum As New LCCurrency
  4092.       num1.Value = 12345.6789
  4093.       num2.Value = 12345.6789
  4094.       Call sum.Add (Num1, Num2)
  4095.       Print "The sum of the two iurrencies is " & sum.Text
  4096.     End Sub
  4097. Example Output
  4098.     The sum of the two currencies is 24691.3578
  4099. currency1
  4100.     LCCurrency.  The first of the two LCCurrencies to add. 
  4101. currency2    
  4102. LCIurrency.  The second of the two LCCurrencies to add.
  4103. Call 
  4104. currencyTotal.
  4105. (currency1, currency2)
  4106. Adds two LCCurrency values, producing the sum, which is returned in the object making the call.  
  4107. Responses)
  4108. $Icon?
  4109. $Icon?
  4110. LSXMethodNew method for LCCurrencyChapter 3
  4111. LCCurrency Class
  4112. CN=Bob Miller/OU=CAM/O=Lotus
  4113. LSXMethodAdd method for LCCurrencyChapter ;
  4114. LCCurrency Class
  4115. CN=Bob Miller/OU=CAM/O=Lotus
  4116. LSXMethodCompare method for LCCurrencyChapter 3
  4117. LCCurrency Class
  4118. CN=Bob Miller/OU=CAM/O=Lotus
  4119. LSXMethodCopy method for LCCurrencyChapter 3
  4120. LCCurrency Class
  4121. CN=Bob Miller/OU=CAM/O=Lotus
  4122. LSXMethodSubtract method for LCCurrencyChapter 3
  4123. LCCurrency Class
  4124. CN=Bob Miller/OU=CAM/O=Lotus
  4125. LSXClassChapter 4
  4126. LCDatetime Class
  4127. CN=Bob Miller/OU=CAM/O=Lotus
  4128. LSXMethodNew Constructor method for LCDatetimeChapter 4
  4129. LCDatetime Class
  4130. CN=Bob Miller/OU=CAM/O=Lotus
  4131. LSXMethodAdjust method for LCDatetimeChapter 4
  4132. LCDatetime Class
  4133. CN=Bob Miller/OU=CAM/O=Lotus
  4134. LSXMethodClear method for LCDatetimeChapter 4
  4135. LCDa{etime Class
  4136. CN=Bob Miller/OU=CAM/O=Lotus
  4137. LSXMethodCompare method for LCDatetimeChapter 4
  4138. LCDatetime Class
  4139. CN=Bob Miller/OU=CAM/O=Lotus
  4140. LSXMethodCopy method for LCDatetimeChapter 4
  4141. LCDatetime Class
  4142. CN=Bob Miller/OU=CAM/O=Lotus
  4143. LSXMethodGetDiff method for LCDatetimeChapter 4
  4144. LCDatetime Class
  4145. CN=Bob Miller/OU=CAM/O=Lotus
  4146. LSXMethodSetConstant method for LCDatetimeChapter 4
  4147. LCDatetime Class
  4148. CN=Bob Miller/OU=CAM/O=Lotus
  4149. LSXMethodSetCurrent method for LCDatetimeChapter 4
  4150. LCDatetime Clas{
  4151. CN=Bob Miller/OU=CAM/O=Lotus
  4152. LSXClassChapter 5
  4153. LCField Class
  4154. CN=Bob Miller/OU=CAM/O=Lotus
  4155. LSXMethodLCField Class Methods SummaryChapter 5
  4156. LCFielk Class
  4157. CN=Bob Miller/OU=CAM/O=Lotus
  4158. LSXMethodClearVirtualCode method for LCFieldChapter 5
  4159. LCField Class
  4160. CN=Bob Miller/OU=CAM/O=Lotus
  4161. LSXMethodCompare method for LCFieldChapter 5
  4162. LCField Class
  4163. CN=Bob Miller/OU=CAM/O=Lotus
  4164. LSXMethodConvert method for LCFieldChapter 5
  4165. LCField Class
  4166. CN=Bob Miller/OU=CAM/O=Lotus
  4167. LSXMethodCopy method for LCFieldChapter 5
  4168. LCField Class
  4169. CN=Bob Miller/OU=CAM/O=Lotus
  4170. LSXMethodGetCurrency method for LCFieldChapter 5
  4171. LCField Class
  4172. CN=Bkb Miller/OU=CAM/O=Lotus
  4173. LSXMethodGetDatetime method for LCFieldChapter 5
  4174. LCField Class
  4175. CN=Bob Miller/OU=CAM/O=Lotus
  4176. LSXMethodGetFieldlist method for LCFieldChapter 5
  4177. LCField Class
  4178. CN=Bob Miller/OU=CAM/O=Lotus
  4179. LSXMethodGetFloat method for LCFieldChapter 5
  4180. LCField Class
  4181. CN=Bob Miller/OU=CAM/O=Lotus
  4182. LSXMethodGetFormatDatetime method for LCFieldChapter 5
  4183. LCField Class
  4184. CN=Bob Miller/OU=CAM/O=Lotus
  4185. LSXMethodGetFormatNumber method for LCFieldChapter 5
  4186. LCField Class
  4187. CN=Bob Mille{/OU=CAM/O=Lotus
  4188. HELVETICA
  4189. Times
  4190. Symbol
  4191. Times New Roman
  4192.     &Arial
  4193. 5Courier New
  4194. This chapter provides information about the Lotus Connectors LCDatetime class methods and properties.   
  4195. Overview
  4196. The LCDatetime class represents o specific date and time, including timezone and daylight savings time information. A datetime value may have either its date or time component unavailable, indicated by special constant values for date (LCDTNULL_DATE) or time (LCDTNULL_TIME) components. Flags control the behavior for the existence/absence of the date or time portion. During any datetime overflow, the maximum or minimum valid datetime value is assigned in addition to the error return.
  4197. The time portion of the datetime is preciso to hundreths. Some data sources do not support this precision, or support greater precision.  For these systems it may be necessary to set the field flags for all datetime datatype fields to LCFIELDF_TRUNC_PREC, to avoid a precision loss error.
  4198. Type DATETIME format and values
  4199.     Type constant
  4200.     LCTYPE_DATETIME
  4201.     Description
  4202.     Date and time value with time zone/and Daylight Savings Time (DST)
  4203.     Other
  4204.     Precision = 0.01 second
  4205.     Minimum Year Value (LCMIN_DATETIME_YEAR) = 1
  4206.     Maximum Year Value (LCMAX_DATETIME_YEAR) = 32767
  4207. LCDatetime Class Methods Summary
  4208. LCDatetime.Adjust    Alters a Datetime by a specified number of units.
  4209. etime.Clear    Clears a Datetime value.
  4210. LCDatetime.Compare    Compares two Datetime values returning a value indicating the relationship between them.
  4211. LCDatetime.Copy    Makes a copy of an LCDatetime object.
  4212. LCDatetime.GetDiff    Returns the difference between two Datetimes in requested time units.
  4213. LCDatetime.SetConstant    Produces a special constant Datetime commonly used for comparisons.
  4214. LCDatetime.SetCurrent    Sets a Datetime value to the current systeo time. 
  4215. LCDatetime Properties
  4216. LCDatetime.Minute    Long.  Minute (0-59).
  4217. LCDatetime.Second    Long.  Second (0-59).
  4218. LCDatetime.Hundredth    Long.  Hundredths of second (0-99).
  4219. LCDatetime.Day    Long.  Day of month (1-31).
  4220. LCDatetime.Hour    Long.  Hour (0-23).
  4221. LCDatetime.Month    Long.  Month (1-12).
  4222. LCDatetime.Year    Long.  Integer indicating the year (1-32767). 
  4223. LCDatetime.Weeoday    Long.  Integer indicating the day of the week (1-7, Sunday = 1).  Output only.  
  4224. LCDatetime.Zone    Long.  Integer indicating the time zone (-12 to 12).
  4225. LCDatetime.DST    Boolean.  Indicates whether Daylight Savings Time is in effect.
  4226. LCDatetime.Ticks    Long.  Tick count representing hundredths of a second since midnight.  
  4227. LCDatetime.Text    String representation. 
  4228. LCDatetime.Julian    Long.  Julian date. The Julian date is an integer representation/of a date indicating the number or days since January 1, 4713 BC.
  4229. LCDatetime.Value    LotusScript Variant containing a date/time. 
  4230. HELVETICA
  4231. Times
  4232. Symbol
  4233. Times New Roman
  4234.     &Arial
  4235. 5Courier New
  4236. All parameters are optional.  
  4237.     As Long.  Value in the range 1-32767.  Default is 0. 
  4238. Month
  4239.     As Long.  A value in the range 1-12. Default is 0.
  4240.     As Long.  A value in the range 1-31. Default is 0.
  4241.     As Long.  A value in the range 0-23. Default is 0.
  4242. Minute
  4243.  Long.  A value in the range 0-59. Default is 0.
  4244. Second
  4245.     As Long.  A value in the range 0-59. Default is 0.
  4246. Hundredth
  4247.     As Long.  A value in the range 0-99. Default is 0.
  4248.     As Long.  A value representing the time zone in the range -11-11. Default is GMT.
  4249.     As Variant.  Boolean.  Daylight savings time is in effect when true.  Default is 0 (GMT).  
  4250. variableName 
  4251.  LCDatetime
  4252. (Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST)
  4253. This is the constructor for LCDatetime.  It initializes a new LCDatetime object. 
  4254. HELVETICA
  4255. Times
  4256. Symbol
  4257. Times New Roman
  4258.     &Arial
  4259. 5Courier New
  4260.     Option Public
  4261.     Uselsx "*lsxlc"
  4262.     Sub Initialize
  4263.       Dim clock As New LCDateTimo
  4264.       clock.SetCurrent
  4265.       Print "The time is " & clock.Text
  4266.       Call clock.Adjust (LCDTUNIT_HOUR, -100)
  4267.       Print "100 hours ago, the time was " & clock.Text
  4268.     End Sub
  4269. Example Output
  4270.     The time is 09/08/1998 05:22:07.18 PM
  4271.     100 hours ago, the time was 09/05/1998 02:37:52.82 AM
  4272. Units
  4273.     Long.  The unit to adjust.  Units are in the order listed in the constructor: 
  4274. Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST.  
  4275. Use the following constants:  
  4276. LCDTUNIT_YEAR 
  4277. ) Year units. 
  4278. LCDTUNIT_MONTH - Month units. 
  4279. LCOTUNIT_DAY - Day units.
  4280. LCDTUNIT_WEEKDAY - Weekday units.  
  4281. LCDTUNIT_HOUR - Hour units. 
  4282. LCDTUNIT_MINUTE - Minute units. 
  4283. LCDTUNIT_SECOND - Second units.
  4284. LCDTUNIT_HUNDREDTH - Hundredth of second units.
  4285. LCDTUNIT_ZONE 
  4286. ) Time zone units.
  4287. Amount
  4288.     Long.  The amount to adjust the datetime unit.  Positive means later in time; negative means earlier.  
  4289. Call 
  4290. changeDatetime.
  4291. Adjust
  4292. (Units, Amount)
  4293. Alters a datetime by specified datetime units. 
  4294. HELVETICA
  4295. Times
  4296. Symbol
  4297. Times New Roman
  4298.     &Arial
  4299. 5Courier New
  4300.     Option Public
  4301.     Uselsx "*lsxlc"
  4302.     Sub Initialize
  4303.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  4304.       Clock.Clear
  4305.       If (Olock.Text = "") Then
  4306.         Print "The time has been cleared."
  4307.       Else
  4308.         Print "The time is " & Clock.Text
  4309.       End If
  4310.     End Sub
  4311. Example Output
  4312.     The time has been cleared.
  4313. Call 
  4314. dateTimeObject
  4315. Clear
  4316. Clears a previously set Datetime value to NULL.  
  4317. HELVETICA
  4318. Times
  4319. Symbol
  4320. Times New Roman
  4321.     &Arial
  4322. 5Courier New
  4323.     Option Public
  4324.     Uselsx "*lsxlc"
  4325.     Sub Initialize
  4326.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  4327.       Dim Match As New LCDatetimee
  4328.       Match.SetCurrent
  4329.       If (Clock.Compare (Match) = 0) Then 
  4330.         Print "The current time matches " / Clock.Text
  4331.       Elseif (Clock.Compare (Match) > 0) Thenr
  4332.         Print "The current time is before " & Clock.Text
  4333.       Else
  4334.         Print "The current time is after " & Clock.Text1
  4335.       End If
  4336.     End Sub
  4337. Example Output
  4338.     The current time is before 12/31/1999 11:59:59.99 PM
  4339. Result
  4340.     Result of the comparison: 
  4341. Result > 0 (positive): 
  4342. thisDatetime
  4343.  is greater than 
  4344. baseDatetime
  4345. Result < 0 (negative): 
  4346. thisDatetime
  4347.  is less than 
  4348. baseDatetime
  4349. Result = 0: 
  4350. thisDatetime
  4351.  is equal to 
  4352. baseDatetime
  4353. baseDatetime
  4354.     The Datetime to which to compare 
  4355. thisDatetime
  4356. Result 
  4357. thisDatetime
  4358. Compare
  4359. (baseDatetime)
  4360. Compares two Datetime values and returns the relationship.  
  4361. HELVETICA
  4362. Times
  4363. Symbol
  4364. Times New Roman
  4365.     &Arial
  4366. 5Courier New
  4367.     Option Public
  4368.     Uselsx "*lsxlc"
  4369.     Sub Initialize
  4370.       Dim session As New LCSession
  4371.       Dim StopTime As New LCDateTime
  4372.       Dim StartTime As LCDatetime
  4373.       StopTime.SetCurrent
  4374.       Set StartTime = StopTime.Copy
  4375.       se
  4376. sion.Sleep (100)  ' 100 milliseconds
  4377.       StopTime.SetCurrent
  4378.       Print "The difference between start and stop is:"
  4379.       Print StopTime.GetDiff (StartTime, LCDTUNIT_HUNDREDTH) & _
  4380.       " hundredths of a second."
  4381.     End Sub
  4382. Example Output
  4383.     The difference between start and stop is:
  4384.     10 hundredths of a second.
  4385. newDatetime
  4386.     LCDatetime.  The copy of the srcDatetime object.  
  4387. SrcDatetime
  4388.     LCDatetime.  The datetime object that you want to copy.  
  4389. newDatetime = srcDatetime.
  4390. This method makes a copy of an LCDatetime object. 
  4391. HELVETICA
  4392. Times
  4393. Symbol
  4394. Times New Roman
  4395.     &Arial
  4396. 5Courier New
  4397.     Option Public
  4398.     Uselsx "*lsxlc"
  4399.     Sub Initialize
  4400.       Dim Boston As New LCDateTime _
  4401.       (1998, 1, 25,  08, 50, 00, 0?,  -5,  True)
  4402.       Dim Singapore As New LCDateTime _
  4403.       (1998, 1, 27, 1, 10, 00, 00, 8, False)
  4404.       Print "A flight taking off from Boston at 8:50am"
  4405.       Print "and landing in Singapore at 1:10am"
  4406.       Print "will take " & Singapore.GetDiff (Boston, LCDTUNIT_HOUR) & " hours."
  4407.     End Sub
  4408. Example Output
  4409.     A flight taking off from Boston at 8:50am
  4410.     and landing in Songapore at 1:10am
  4411.     will take 27 hours.
  4412. difference
  4413.     The difference between the two LCDatetime objects, in the units specified. 
  4414. baseDatetime
  4415.     LCDatetime.  The datetime object to which you want to compare the 
  4416. lcDatetime 
  4417. object.
  4418. Units
  4419.     Long.  The units to compare.  Units are in the order listed in the constructor: 
  4420. Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST.  
  4421. Use the following constants:  
  4422. LCDTUNIT_YEAR 
  4423. ) Year 
  4424. nits. 
  4425. LCDTUNIT_MONTH - Month units. 
  4426. LCDTUNIT_DAY - Day units.
  4427. LCDTUNIT_WEEKDAY - Weekday units.  
  4428. LCDTUNIT_HOUR - Hour units. 
  4429. LCDTUNIT_MINUTE - Minute units. 
  4430. LCDTUNIT_SECOND - Second units.
  4431. LCDTUNIT_HUNDREDTH - Hundredth of second units.
  4432. LCDTUNIT_ZONE 
  4433. ) Time zone units.
  4434. difference
  4435. lcDatetime
  4436. GetDiff
  4437. (baseDatetime, Units)
  4438. The GetDiff method gets the difference between the values of two LCDatetime objects.
  4439. HELVETICA
  4440. Times
  4441. Symbol
  4442. Times New Roman
  4443.     &Arial
  4444. 5Courier New
  4445.     Option Public
  4446.     Uselsx "*lsxlc"
  4447.     Sub Initialize
  4448.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  4449.       Dim Match As New LCDatetime
  4450.       Call Match.SetConstant (LCDTCONST_WILDCARD)
  4451.       If (Clock.Compare (Match) = 0) Then
  4452.         Print "The current time matches the wild card constant."
  4453.       Else
  4454.         Print "The current time does not match the wild card constant."
  4455.       End If
  4456.     End Sub
  4457. Example Output
  4458.     The current time matches the wild card constant.
  4459. datetimeConstant    
  4460. One of the following Datetime Constants:  
  4461. LCDTCONST_MINIMUM:    A datetime which is less than any other datetime (except another minimum). 
  4462. LCDTCONST_MAXIMUM:    A datetime that is greater 
  4463. han any other datetime (except another maximum). 
  4464. LCDTCONST_WILDCARD:    A datetime that matches any other datetime. The date value is LCDTNULL_DATE and the time value is LCDTNULL_TIME.
  4465. lcDatetime
  4466. SetConstant
  4467. (datetimeConstant)
  4468. Produces a special constant Datetime object. 
  4469. HELVETICA
  4470. Times
  4471. Symbol
  4472. Times New Roman
  4473.     &Arial
  4474. 5Courier New
  4475.     Option Public
  4476.     Uselsx "*lsxlc"
  4477.     Sub Initialize
  4478.       Dim stopWatch As New LCDateTime
  4479.       stopWatch.setcurrent
  4480.       Print "The time is " & stopWatch.text
  4481.     End Sub
  4482. Example Output
  4483.     The time is 09/08/1998 05:22:02.85 PM
  4484. Call 
  4485. lcDatetimeObject.
  4486. SetCurrent
  4487. This method sets the Datetime value to the current system datetime. 
  4488. HELVETICA
  4489. Times
  4490. Symbol
  4491. Times New Roman
  4492.     &Arial
  4493. 5Courier New
  4494. This chapter provides information about the LCField class methods and properties.  
  4495. Overview
  4496. The LCField class represents a data object containing one or more data values of a designateo data type. A field may be an independent repository for data or may be a reference to another field, as in when getting a field from a fieldlist. In this case, changes to data in the field affect the contents of the data referenced by the fieldlist. 
  4497. Note that in repetitive operations such as data fetch - insert loops, it is more efficient to get a reference field from a fieldlist prior to the loop, and act on the data through the reference than to locate the data field in each iteration of toe loop.
  4498. HELVETICA
  4499. Times
  4500. Symbol
  4501. Times New Roman
  4502.     &Arial
  4503. 5Courier New
  4504.     Option Public
  4505.     Uselsx "*lsxlc"
  4506.     Sub Initialize
  4507.       Dim field As New LCField (LCTYPE_NUMERIC)
  4508.       Dim flags As Long
  4509.       Call field.SetFormatNumber (LCNUMBERF_UNSIGNED, , 10, 4)
  4510.       Call field.GetFormatNumber (flags)
  4511.       Print "The number flag setting is " & Hex(flags) & "h"
  4512.     End Sub
  4513. Example Output
  4514.     The number flag setting is 1h
  4515. numberFlags
  4516.     Long.  Optional.  Number flags of the number field. Refer to the Field Number Format section for a description of the flags.  The default is Nothing. 
  4517.     Long.  Optional.  Size in bytes of the number field. Zero indicates the/size of the corresponding number object (LONG, DOUBLE, LCCURRENCY, or LCNUMERIC). The default is Nothing.
  4518. precision
  4519.     Long.  Optional.  Precision of the number field. Zero indicates not used for this field.  The default is Nothing.
  4520. scale
  4521.     Long.  Optional.  Scale of the number field. Zero indicates not used for this field. Since zero is also a valid scale value, a constant LCSCALE_ZERO is defined which can be used to indicate a zero scale. The default is Nothing.
  4522. Call 
  4523. thisField.
  4524. GetFormatNumber
  4525. (numberFlags, size, precision, scale)
  4526. This method retrieves the format of a number type field.  It is only valid for fields of type int, currency, float or numeric.  
  4527. Use the LCField.SetFormatN
  4528. mber method to assign stream format information. Refer to the Field Format section for a description of format values.
  4529. HELVETICA
  4530. Times
  4531. Symbol
  4532. Times New Roman
  4533.     &Arial
  4534. 5Courier New
  4535.     Option Public
  4536.     Uselsx "*lsxlc"
  4537.     Sub Initialize
  4538.       Dim field As New LCField (LCTYPE_BINARY)
  4539.       Dim fmt As Long
  4540.       Dim flags As Long
  4541.       Call field.SetFormatStream (LCSTREAMF_NO_CASE, 256, LCSTREAMFMT_BIG5)
  4542.       Call field.GetFormatStream (flags, , fmt)
  4543.       Print "The s
  4544. ream format and flag settings are:"
  4545.       Print "format=" & fmt & " flags=" & Hex(flags) & "h"
  4546.     End Sub
  4547. Example Output
  4548.     The stream format and flag settings are:
  4549.     format=26 flags=10h
  4550. streamFlags
  4551.     Long.  Optional.  Stream flags for the field. Refer to the Stream Class section for a description of the flags. The default is Nothing.
  4552. maxLength
  4553.     Long.  Optional.  Maximum length of the stream field. A value of zero indicates no maximum length. The default is Nothing.
  4554. streamFormat
  4555.     Long.  Optional.  Stream format of the stream field. A value of zero indicates no specified stream format. The default is Nothing.
  4556. Call 
  4557. thisField.
  4558. GetFormatStream
  4559. (streamFlags, maxLength, streamFormat)
  4560. This method retrieves the format of a stream type field.  It is only valid for fields of type text or binary.  
  4561. Use the LCField.SetFormatStream method to assign stream fo
  4562. mat information. Refer to the Field Format section for a description of format values.
  4563. HELVETICA
  4564. Times
  4565. Symbol
  4566. Times New Roman
  4567.     &Arial
  4568. 5Courier New
  4569.     Option Public
  4570.     Uselsx "*lsxlc"
  4571.     Sub Initialize
  4572.       Dim Fld As New LCField (LCTYPE_TEXT)
  4573.       Fld.Text = "1234.56789"
  4574.       Dim vInt As Long
  4575.       vInt = Fld.GetInt (1)
  4576.       Print "The Int representation of the field is " & vInt
  4577.     End Sub
  4578. Example Output
  4579.     Tho Int representation of the field is 1234
  4580. newInt
  4581.     The value of the retrieved data type. 
  4582. index    
  4583. Long. Index identifying the field data value to be retrieved.
  4584.  newInt = thisField.
  4585. GetInt
  4586. (index)
  4587. This method retrieves an integer from a value in a field.  If the requested data type is different from the field data typo, conversion is automatically performed.  
  4588. HELVETICA
  4589. Times
  4590. Symbol
  4591. Times New Roman
  4592.     &Arial
  4593. 5Courier New
  4594.     Option Public
  4595.     Uselsx "*lsxlc"
  4596.     Sub Initialize
  4597.       Dim Fld As New LCField (LCTYPE_TEXT)
  4598.       Fld.Text = "1234.56789"
  4599.       Dim vNumr As LCNumeric
  4600.       Set vNumr = Fld.GetNumeric (1)
  4601.       Print "The Numeric representation of the field is " & vNumr.Text
  4602.     End Sub
  4603. Example Output
  4604.     The Numeric representa
  4605. ion of the field is 1234.56789
  4606. newNumeric
  4607.     The value of the retrieved data type. 
  4608. index    
  4609. Long. Index identifying the field data value to be retrieved.
  4610.  newNumeric = thisField.
  4611. GetNumeric
  4612. (index)
  4613. This method retrieves a numeric value from a value in a field.  If the requested data type is different from the field dota type, conversion is automatically performed.
  4614. HELVETICA
  4615. Times
  4616. Symbol
  4617. Times New Roman
  4618.     &Arial
  4619. 5Courier New
  4620.     Long.  Data type of the field object, one of the following constants:  
  4621. LCTYPE_CURRENCY
  4622. LCTYPE_DATETIME
  4623. LCTYPE_INT
  4624. LCTYPE_FLOAT
  4625. LCTYPE_NUMERIC
  4626. LCTYPE_TEXT
  4627. LCTYPE_BINARY
  4628. count
  4629.     Long.  Optional.  Number of data values to be allocated for this field.  The default is 1.  
  4630. variablename 
  4631. LCField(
  4632. type, count
  4633. The methods for the LCField class arj summmarized below.   
  4634. Allocation
  4635. The following methods create and free Field instances.
  4636. New LCField     (Constructor) Allocates a new Field object instance. 
  4637. LCField.Copy    Creates a new Field object instance as a copy of another field. The field data is also copied. 
  4638. Delete LCField    (Destructor) Frees a Field object instance allocated with the constructor or LCField.Copy.  This method does not free fields created as part of a fieldlist. 
  4639. Field Properties
  4640. The following methods support retrieval of field properties and assignment of mutable field properties.
  4641. LCField.GetType    Retrieves the data type for a field.
  4642. LCField.GetValueCount    Retrieves the number of data values for a field.
  4643. LCField.GetFlags    Retrieves the current field flags for a field.
  4644. LCField.SetFlags    Assigns the current field flags for a field.
  4645. LCField.GetVirtualCode    Checks if a field has this virtzal code set.  
  4646. LCField.ListVirtualCode    Lists the virtual code(s) for a field.
  4647. LCField.SetVirtualCode    Sets a virtual code for a field.
  4648. Field Format
  4649. The following methods support retrieval of field format information. Setting the format for a field clears all current data values for that field.
  4650. LCField.GetFormatNumber    Retrieves the current format settings for a number field.
  4651. LCField.SetFormatNumber    Assigns the current format setzings for a number field.
  4652. LCField.GetFormatDatetime    Retrieves the current format settings for a datetime field.
  4653. LCField.SetFormatDatetime    Assigns the current format settings for a datetime field.
  4654. LCField.GetFormatStream    Retrieves the current format settings for a stream field.
  4655. LCField.SetFormatStream    Assigns the current format settings for a stream field.
  4656. Field Data
  4657. The following methods support access to and modification of jield data and NULL indicators.
  4658. LCField.IsNull    Queries whether a specific field data value is NULL.
  4659. LCField.SetNull    Assigns the NULL indicator for a specific field data value.
  4660. LCField.Get<Type>    Retrieves a specific field data value as a particular data type, converting the data if necessary.
  4661. LCField.Set<Type>    Assigns a specific field data value from a particular data type, converting the data if necessary.
  4662. Miscellaneous
  4663. LCFielj.Compare    Compare data values between two fields
  4664. LCField.Convert    Convert data values between two fields
  4665. LCField Properties
  4666. The following are the properties for the LCField class: 
  4667. Count    Long.  One or greater. Data space for this many data values and NULL indicators will be allocated. The value count is automatically assigned for fields in a fieldlist based on the fieldlist record count (see Fieldlist description). Assigned at crjation and Read-Only.
  4668. Datatype    Long.  One of the Lotus Connector datatypes. Assigned at creation and Read-Only.
  4669. Flags     Long.  Zero or more of the following field flags OR-ed together. 
  4670. LCFIELDF_NO_NULL    Field cannot be NULL
  4671. LCFIELDF_TRUNC_PREC    Allow precision truncation
  4672. LCFIELDF_TRUNC_DATA    Allow data truncation
  4673. LCFIELDF_NO_FETCH    Do not FETCH this field
  4674. LCFIELDF_NO_INSERT    Do not INSERT this field
  4675. LCFIJLDF_NO_UPDATE    Do not UPDATE this field
  4676. LCFIELDF_NO_REMOVE    Do not REMOVE this field
  4677. LCFIELDF_NO_CREATE    Do not CREATE this field
  4678. LCFIELDF_NO_DROP    Do not DROP this field
  4679. LCFIELDF_KEY    Field is a KEY for keyed operations
  4680. LCFIELDF_KEY_GT    Key condition is greater than
  4681. LCFIELDF_KEY_LT    Key condition is less than
  4682. LCFIELDF_KEY_NE    Key condition is not equal to
  4683. LCFIELDF_KEY_LIKE    Key condition is like (native paztern match)
  4684. IsNull    Boolean.  True or False.  
  4685. Text    
  4686. Array
  4687.  of string representations.  
  4688. Value    
  4689. Array 
  4690. of LotusScript datatypes.  The value or values contained depend on the datatype of the field, as listed below.  
  4691.     Field Type
  4692.     Value Return Type
  4693.     LCTYPE_CURRENCY
  4694.     Currency
  4695.     LCTYPE_DATETIME
  4696.     Variant (Date/Time)
  4697.     LCTYPE_INT
  4698.     Long
  4699.     LCTYPE_FLOAT
  4700.     Double
  4701.     LCTYPE_NUMERIC
  4702.     Double
  4703.     LCTYPE_TEXT
  4704.     String
  4705.     LCTYPE_BINARY
  4706.     String
  4707. Field Format
  4708. The format of a field is specific to its general class of type: number (int, float, currency, numeric), datetime, or stream (text and binary). For all format values, zero indicates that the indicated information is not used for this field. The information for each datatype is indicated below.  
  4709. NOTE:    Number and Datetime formats do not affect the actual data, but are used for data creation only.  Stream format does affect the actual data.  
  4710. Number (INT,*FLOAT, CURRENCY, NUMERIC)
  4711. Flags:
  4712.  zero or more of the following constants. Multiple constants can be ORed together:
  4713. LCNUMBERF_UNSIGNED    Source type is unsigned
  4714. LCNUMBERF_NUMERIC    Source type is NUMERIC 
  4715. (unnecessary with LCTYPE_NUMERIC)
  4716. LCNUMBERF_DECIMAL    Source type is DECIMAL
  4717. LCNUMBERF_PACKED        Source numeric/decimal data is packed
  4718. LCNUMBERF_BIT        Source type is a bit
  4719. Size:
  4720.  size, in bytez, of this number value. Zero indicates to default to the size of the type for this field.
  4721. Precision:
  4722.  digits of precision for this value. Zero indicates not used.
  4723. Scale:
  4724.  numeric scale. A true scale of zero uses the constant LCSCALE_ZERO. Zero indicates not used. 
  4725. Datetime (DATETIME)
  4726. Flags:
  4727.  zero or more of the following constants. Multiple constants can be ORed together:
  4728. LCDATETIMEF_NO_DATE    Source type is time only
  4729. LCDATETIMEF_NO_TIME    Source type is date only
  4730. Size:
  4731.  size, in bytes, of this datetime value. Zero indicates to default to the size of the type for this field.  
  4732. Stream (TEXT, BINARY)
  4733. Flags:
  4734.  zero or more of the stream flags LCSTREAMF_xxx. Multiple flags can be ORed together. See the Stream class description.
  4735. MaxLength:
  4736.  maximum length, in bytes, of this stream value. Zero indicates no maximum length. See the Stream class dezcription.
  4737. StreamFormat:
  4738.  default stream format for this stream value. Zero indicates no default stream format. Use one of the LCSTREAMFMT_xxx constants. 
  4739. Field Virtual Codes - Advanced Usage
  4740. Virtual codes allow specific fields to be interpreted differently for Connectors which support virtual fields. For example, a Connector could support a virtual field named "RecordId", which 
  4741. olds a special internal record indicator for that Connector. Thiz Connector would interpret this field differently than normal data, while other Connectors would consider this field a standard data field. While the virtual code indicates special handling, the field name determines the type of handling on a Connector-specific basis.
  4742. To achieve this functionality, the virtual code for a field is set to match either a Connector code or a Connection code. A Connector code is a code which is the same for all connections to a particular Connector in a Session. Tje Connector code can be obtained by retrieving the property LCTOKEN_CONNECTOR_CODE with LCConnection.GetProperty or as the code returned by LCSession.ListConnector or LCSession.LookupConnector. Using a Connector code as a virtual code causes all connections to that Connector to interpret the field as a virtual field. A connection code is a code which is different for all connections. The Connect code can be obtained by retrieving the property LCTOKEN_CONNECTION_CODE with LCConnection.GetProperty.  Using a Jonnection code as a virtual code causes only that specific Connection to interpret the field as a virtual field. The Connector code can also be determined by taking the Connection code and zeroing the low two bytes (OR with LCMASK_CONNECTOR_CODE).  Note that these codes are dynamically assigned and must be obtained for each execution of a script.  
  4743. New method for LCField
  4744. This is the constructor method for LCField.  It initializes an LCField object. 
  4745. HELVETICA
  4746. Times
  4747. Symbol
  4748. Times New Roman
  4749.     &Arial
  4750. 5Courier New
  4751.     Option Public
  4752.     Uselsx "*lsxlc"
  4753.     Sub Initialize
  4754.       Dim session As New LCSession
  4755.       Dim field As New LCField (LCTYPE_INT)
  4756.       Dim Code As Long
  4757.       Dim text As String
  4758.       Call session.ListConnector (LCLIST_FIRST, , Code)
  4759.       Call field.SetVirtualCode (Code)
  4760.       While session.ListConnector (LCLIST_NEXT, , Code)
  4761.         Call field.SetVirtualCode (Code)
  4762.       Wend
  4763.       ' use the value to clear an individual connector's virtual code
  4764.       ' use 'zero' to clear all connectors' virtual codes
  4765.       Call field.ClearVirtualcode (0)
  4766.       Print "All of the virtual codes have been cleared."
  4767.     End Sub
  4768. Example Output
  4769.     All of the virtual codes have been cleared.
  4770.     The code to clear.  Zero (0) clears all codes.  
  4771. Call 
  4772. field
  4773. ClearVirtualCode
  4774. (code)
  4775. This method clears the specified virtual code for the field.  
  4776. HELVETICA
  4777. Times
  4778. Symbol
  4779. Times New Roman
  4780.     &Arial
  4781. 5Courier New
  4782.     Option Public
  4783.     Uselsx "*lsxlc"
  4784.     Sub Initialize
  4785.       Dim field1 As New LCField (LCTYPE_INT, 3)
  4786.       Dim field2 As New LCField (LCTYPE_INT, 2)
  4787.       Call field1.SetInt (1, 100)
  4788.       Call field1.SetInt (2, 300)
  4789.       Call field1.SetInt (3, 400)
  4790.       Call field2.SetInt (1, 300)
  4791.       Call field2.SetInt (2, 400)
  4792.       If (field1.Compare(2, field2, 1, 2, 0) <> 0) Then
  4793.         Print "the 2nd and 3rd values of field1 " & _
  4794.         "do not match the 1st and 2nd values of field2."
  4795.       Else
  4796.         Print "the 2nd and 3rd values of field1 " & _
  4797.         "match the 1st and 2nd values of field2."
  4798.       End If
  4799.     End Sub
  4800. Example Output
  4801.     the 2nd and 3rd values of field1 match the 1st and 2nd values of field2.
  4802. Result
  4803.     Result of the*comparison:
  4804. Result
  4805.  > 0 (positive): The first mismatch that the function encountered in 
  4806. thisField
  4807.  is greater than the corresponding value in 
  4808. baseField. 
  4809. Result
  4810.  < 0 (negative): The first mismatch that the function encountered in 
  4811. thisField
  4812.  is less than the corresponding value in 
  4813. baseField. 
  4814. Result
  4815.  = 0: Each compared value in 
  4816. thisField
  4817.  is equal to the corresponding value in 
  4818. baseField.
  4819. thisIndex
  4820.     Long. Index identifying the first value to be compared from 
  4821. thisField
  4822. baseField    
  4823. LCField. Base field for comparison. 
  4824. baseIndex
  4825.     Long. Index identifying the firzt base value in 
  4826. baseField
  4827. valueCount    
  4828. Long. Number of field values to be compared. Starting at the indicated index in each field, ValueCount consecutive fields from each fieldlist will be compared until all are compared or until there is a mismatch.
  4829. compareFlags
  4830.     Long. Zero or more of the following values, OR-ed together:
  4831. LCCOMPAREF_NO_ZONE
  4832. Do not consider timezone or daylight savings time information in datetime comparjsons.
  4833. LCCOMPAREF _SECOND
  4834. Do not consider fractions of seconds in datetime comparisons..
  4835. LCCOMPAREF_FLOAT_PREC
  4836. Compare floating point values to only ten digits of precision.
  4837. In addition, the following composite flag is supplied:
  4838. LCCOMPAREF_LOW_PREC
  4839. Composite of all low-precision LCCOMPAREF flags.
  4840. Result 
  4841. thisField
  4842. Compare
  4843. (thisIndex,
  4844. baseField, baseIndex,
  4845. valueCount, compareFlags)
  4846. Compares data values between two fields and returns the relationship.
  4847. HELVETICA
  4848. Times
  4849. Symbol
  4850. Times New Roman
  4851.     &Arial
  4852. 5Courier New
  4853.     Option Public
  4854.     Uselsx "*lsxlc"
  4855.     Sub Initjalize
  4856.       Dim f_field As New LCField (LCTYPE_FLOAT)
  4857.       Dim c_field As New LCField (LCTYPE_CURRENCY)
  4858.       f_field.value = 12345.123456789
  4859.       Call c_field.Convert (1, f_field, 1, 1)
  4860.       Print "The float field is " & f_field.text(0) & " and it was "
  4861.       Print "converted to a currency field as " & c_field.text(0)
  4862.     End Sub
  4863. Example Output
  4864.     The float field is 123:5.123456789 and it was 
  4865.     converted to a currency field as 12345.1235
  4866. thisIndex
  4867.     Long. Index identifying the first target data value in 
  4868. thisField
  4869. srcField
  4870.     LCField. Source field for the data valujs. Values will be converted to the data type of t
  4871. hisField
  4872. srcIndex
  4873.     Long. Index identifying the first source data value to be converted in 
  4874. SrcField
  4875. valueCount    
  4876. Long. Number of field values to be converted. If the end of either field is encountered before converting this number of data values, then the function stops at that point. 
  4877. Call 
  4878. thisField
  4879. Convert
  4880. (thisIndex, srcField, srcIndex, valueCount)
  4881. This method converts data values to the data type of a destination field.  
  4882. HELVETICA
  4883. Times
  4884. Symbol
  4885. Zimes New Roman
  4886.     &Arial
  4887. 5Courier New
  4888.     Option Public
  4889.     Uselsx "*lsxlc"
  4890.     Sub Initialize
  4891.       Dim field As New LCField (LCTYPE_FLOAT)
  4892.       Dim c_field Js LCField
  4893.       field.value = 12345.123456789
  4894.       Set c_field = field.Copy
  4895.       Print "The float field is " & field.text(0)
  4896.       Print "and its copy is " & c_field.text(0)
  4897.     End Sub
  4898. Example Output
  4899.     The float field is 12345.123456789
  4900.     and its copy is 12345.123456789
  4901. newField
  4902.     LCField.  The copy of the original field. 
  4903. origField
  4904.     LCField.  The field object that you want to copy. 
  4905. newField = origField.
  4906. This method creates a field
  4907. with the settings and values of a source field. The new field contains the same number of data values of the same data type as the source field.  The new values are copies of, rather than references to, the original data. 
  4908. HELVETICA
  4909. Times
  4910. Symbol
  4911. Times New Roman
  4912.     &Arial
  4913. 5Courier New
  4914.     Option Public
  4915.     Zselsx "*lsxlc"
  4916.     Sub Initialize
  4917.       Dim Fld As New LCField (LCTYPE_TEXT)
  4918.       Fld.Text = "1234.56789"
  4919.       Dim vCurr As LCCurrency
  4920.       Set vCurr = Fld.GetCurrency (1)
  4921.       Print "The Currency representation of the field is " & vCurr.Text
  4922.     End Sub
  4923. Example Output
  4924.     The Currency representation of the field is 1234.5678
  4925. newCurrency
  4926.     The value of the retrieved data type. 
  4927. index    
  4928. Long. Index identifying thj field data value to be retrieved.
  4929. newCurrency 
  4930. lcField.
  4931. GetCurrency
  4932. (index)
  4933. This method retrieves a Currency data type from a value in a field. If the requested data type is different from the field data type, conversion is auzomatically performed.
  4934. HELVETICA
  4935. Times
  4936. Symbol
  4937. Times New Roman
  4938.     &Arial
  4939. 5Courier New
  4940.     Option Public
  4941.     Uselsx "*lsxlc"
  4942.     Sub Initialize
  4943.       Dim Fld As New LCField (LCTYPE_TEXT)
  4944.       Fld.Text = "1234.56789"
  4945.       Dim vDate As LCDateTime
  4946.       Fld.Text = "10/12/1998"
  4947.       Set vDate = Fld.GetDatetime (1)
  4948.       Print "The Datetime representation of the field is " & vDate.Text
  4949.     End Sub
  4950. Example Output
  4951.     The Datetime representation of the field is 10/12/1998
  4952. newDatetime
  4953.     The value of the retrieved data type. 
  4954. index    
  4955. Long. Index identifying the field data value to be retrieved. 
  4956. newDatetime = lcField.
  4957. GetDatetime
  4958. (index)
  4959. This method retrieves a Datetime data type from a value in a field. If the requestjd data type is different from the field data type, conversion is automatically performed.
  4960. HELVETICA
  4961. Times
  4962. Symbol
  4963. Times New Roman
  4964.     &Arial
  4965. 5Courier New
  4966.     Option Public
  4967.     Option Explicit
  4968.     Uselsx "*lsxlc"
  4969.     Sub Initialize
  4970.       Dim Record As New LCFieldlist
  4971.       Dim SubRecord As New LCFieldlist
  4972.       Dim field As LCField
  4973.       REM start building FieldList
  4974.       Set field = Record.Append ("group", LCTYPE_INT)
  4975.       field.Value = 4200
  4976.       REM Build SubFieldList
  4977.       Set field = SubRecord.Append ("category", LCTYPE_TEXT)
  4978.       field.Value = "potato"
  4979.       Set field = SubRecord.Append ("description", LCTYPE_TEXT)
  4980.       field.Value = "russet"
  4981.       Set field = SubRecord.Append ("sku", LCTYPE_INT)
  4982.       field.Value = 4207
  4983.       REM return to building the FieldList
  4984.       Set field = Record.Append ("item", LCTYPE_FIELDLIST)
  4985.       REM now assign the SubRecord tj the Record
  4986.       Call field.SetFieldList (1, SubRecord)
  4987.       Delete SubRecord
  4988.       Set SubRecord = field.getFieldList (1)
  4989.       Print "The first field of the field's fieldlist is " & SubRecord.Names(0)
  4990.     End Sub
  4991. Example Output
  4992.     The first field of the field's fieldlist is category
  4993. newFieldList
  4994.     The value of the retrieved data type. 
  4995. index    
  4996. Long. Index identifying the field data value to be retrieved.
  4997. newFieldList = lcField.
  4998. GetFieldList
  4999. (index)
  5000. This method retrieves a fieldlist from a field.  The resulting fieldlist is a reference to the original inside the field.  If the actual field data type is different, an LCFAIL_INVALID_CONVERT error will occur.  
  5001. HELVETICA
  5002. Times
  5003. Symbol
  5004. Times New Roman
  5005.     &Arial
  5006. 5Courier New
  5007.     Option Public
  5008.     Uselsx "*lsxlc"
  5009.     Sub Initialize
  5010.       Dim Fld As New LCField (LCTYPE_TEXT)
  5011.       Fld.Text = "1234.56789"
  5012.       Dim vFloat As Double
  5013.       vFloat = Fld.GetFloat (1)
  5014.       Print "The Float representation of the field is " & vFloat
  5015.     End Sub
  5016. Example Output
  5017.     The Float representation of the field is 1234.56789
  5018. newFloat
  5019.     The value of the retrieved data type. 
  5020. index    
  5021. Long. Index identifying the field data value to be retrieved.
  5022.  newFloat = lcField.
  5023. GetFloat
  5024. (index)
  5025. This method retrieves a LotusScript double data type from a value in a field. If the requested data type is different from the field data type, conversion is automatically performed.
  5026. @UdTX
  5027. LSXMethodGetFormatStream method for LCFieldChapter 5
  5028. LCField Class
  5029. CN=Bob Miller/OU=CAM/O=Lotus
  5030. LSXMethodGjtInt method for LCFieldChapter 5
  5031. LCField Class
  5032. CN=Bob Miller/OU=CAM/O=Lotus
  5033. LSXMethodGetNumeric method for LCFieldChapter 5
  5034. LCField Class
  5035. CN=Bob Miller/OU=CAM/O=Lotus
  5036. LSXMethodGetStream method for LCFieldChapter 5
  5037. LCField Class
  5038. CN=Bob Miller/OU=CAM/O=Lotusted tabl
  5039. LSXMethodIsNull method for LCFieldChapter 5
  5040. LCField Class
  5041. CN=Bob Miller/OU=CAM/O=Lotusupported ta
  5042. LSXMethodSetCurrency method for LCFieldChapter 5
  5043. LCField Class
  5044. CN=Bob Miller/OU=CAM/O=Lotus
  5045. LSXMethodSetDatetime method for LCJieldChapter 5
  5046. LCField Class
  5047. CN=Bob Miller/OU=CAM/O=Lotusf
  5048. LSXMethodSetFieldlist method for LCFieldChapter 5
  5049. LCField Class
  5050. CN=Bob Miller/OU=CAM/O=Lotus
  5051. LSXMethodSetFloat method for LCFieldChapter 5
  5052. LCField Class
  5053. CN=Bob Miller/OU=CAM/O=Lotus0 OS cert
  5054. LSXMethodSetFormatDatetime method for LCFieldChapter 5
  5055. LCField Class
  5056. CN=Bob Miller/OU=CAM/O=Lotus
  5057. LSXMethodSetFormatNumber method for LCFieldChapter 5
  5058. LCField Class
  5059. CN=Bob Miller/OU=CAM/O=Lotusuild Statu
  5060. LSXMethodSetFormatStream method for LCFieldChapter 5
  5061. LCField Class
  5062. CN=Bob Miller/OU=CAM/O=Lotus
  5063. LSXMethodSetInt method for LCFieldChapter 5
  5064. LCField Class
  5065. CN=Bob Miller/OU=CAM/O=Lotus
  5066. LSXMethodSetNumeric method for LCFieldChapter 5
  5067. LCField Class
  5068. CN=Bob Miller/OU=CAM/O=Lotus
  5069. LSXMethodSetStream method for LCFieldChapter 5
  5070. LCField Class
  5071. CN=Bob Miller/OU=CAM/O=Lotus
  5072. LSXMethodSetVirtualCode method for LCFieldChapter 5
  5073. LCField Class
  5074. CN=Bob Miller/OU=CAM/O=Lotus
  5075. LSXClassChapter 6
  5076. LCFieldlist Class
  5077. CN=Bob Miller/OU=CAM/O=Lotus
  5078. LSXMethodLCFieldlist Class Methods Summary
  5079. CreationChapter 6
  5080. LCFieldlist Class
  5081. CN=Bob Miller/OU=CAM/O=Lotus
  5082. LSXMethodAppend method for LCFieldlistChapter 6
  5083. LCFieljlist Class
  5084. CN=Bob Miller/OU=CAM/O=Lotus
  5085. V5 Dai
  5086. LSXMethodCopy method for LCFieldlistChapter 6
  5087. LCFieldlist Class
  5088. CN=Bob Miller/OU=CAM/O=Lotus
  5089. LSXMethodCopyField method for LCFieldlistChapter 6
  5090. LCFieldlist Class
  5091. CN=Bob Miller/OU=CAM/O=Lotus
  5092. LSXMethodCopyRef method for LCFieldlistChapter 6
  5093. LCFieldlist Class
  5094. CN=Bob Miller/OU=CAM/O=Lotuss SPR Syst
  5095. LSXMethodGetField method for LCFieldlistChapter 6
  5096. LCFieldlist Class
  5097. CN=Bob Miller/OU=CAM/O=Lotus
  5098. LSXMethodGetName method for LCFieljlistChapter 6
  5099. LCFieldlist Class
  5100. CN=Bob Miller/OU=CAM/O=Lotus
  5101. LSXMethodIncludeField method for LCFieldlistChapter 6
  5102. LCFieldlist Class
  5103. CN=Bob Miller/OU=CAM/O=Lotus Services 
  5104. V5.02 -- Build Log (No Responses)
  5105. V6 Daily Build Status - All Documents
  5106. HELVETICA
  5107. Times
  5108. Symbol
  5109. Times New Roman
  5110.     &Arial
  5111. 5Courier New
  5112.     Optinn Public
  5113.     Uselsx "*lsxlc"
  5114.     Sub Initialize
  5115.       Dim Fld As New LCField (LCTYPE_TEXT)
  5116.       Fld.Text = "1234.56789"
  5117.       Dim vStrm As LCStream
  5118.       Set vStrm = Fld.GetStream (1, LCSTREAMFMT_ASCII)
  5119.       Print "The Stream representation of the field is " & vStrm.Text
  5120.     End Sub
  5121. Example Output
  5122.     The Stream representation of the fneld is 1234.56789
  5123. newStream
  5124.     The value of the retrieved data type. 
  5125. index
  5126.     Long.  Index identifying the field data value to be retrieved.
  5127. streamFormat
  5128.     Long.  Stream format to obtain the data in. Any valid stream format is allowed. In addition, a value of zero will either use the stream format of the field (if 
  5129. thisField
  5130.  is TEXT or BINARY), or convert to native text format LCSTREAMFMT_NATIVE (if 
  5131. thisField
  5132.  is not a local type). 
  5133.  newStream = thisField.
  5134. GetStream 
  5135. (index, streamFormat)
  5136. This method retrieves a stream value from a field.  If the requested data type is different from the field data type, conversion is automatically performed.  
  5137. HELVETICA
  5138. Times
  5139. Symbol
  5140. Times New Roman
  5141.     &Arial
  5142. 5Courier New
  5143.     Option Public
  5144.     Uselsx "*lsxlc"
  5145.     Sub Initialize
  5146.       Dim session Ns New LCSession
  5147.       Dim field As New LCField (LCTYPE_INT)
  5148.       Dim Code As Long
  5149.       Dim text As String
  5150.       Call session.ListConnector (LCLIST_FIRST, , Code)
  5151.       Call field.SetVirtualCode (Code)
  5152.       While session.ListConnector (LCLIST_NEXT, , Code)
  5153.         Call field.SetVirtualCode (Code)
  5154.       Wend
  5155.       If (field.LookupVirtualCode (&H10000)) Then
  5156.         Print "The field.has virtual code 10000h set."
  5157.       Else
  5158.         Print "The field does not have virtual code 10000h set."
  5159.       End If
  5160.     End Sub
  5161. Example Output
  5162.     The field has virtual code 10000h set.
  5163.     TRUE if this virtual code is set for the field; FALSE otherwise. 
  5164. virtualCode
  5165.     The virtual code to look for on the list of codes for this field.  
  5166. Flag = field.
  5167. LookupVirtualCode
  5168. (virtualCode)
  5169. This method returns true or false depending on whether the specified field data is NULL.
  5170. Defined in
  5171. LCFieldt
  5172. Syntax
  5173. thisfieldR
  5174. IsNull
  5175. (index
  5176. Parameters
  5177. indexu
  5178.     Long. Index identifying the field.
  5179. Return Value
  5180. flag     
  5181. Boolean value, either TRUE or FALSE.
  5182. Nxample
  5183.     Option Public
  5184.     Uselsx "*lsxlc"
  5185.     Sub Initialize
  5186.       Dim field As New LCField (LCTYPE_TEXT)
  5187.       Dim clock As New LCDatetime
  5188.       Print "Before setting the value is the field NULL? " & field.IsNull(1)
  5189.       clock.SetCurrent
  5190.       Call field.SetDatetime (1, clock)
  5191.        Print "After setting the value is the field NULL? " & field.IsNull(1)
  5192.     End Sub
  5193. Example Output
  5194.     Benore setting the value is the field NULL? True
  5195.     After setting the value is the field is NULL? False
  5196. LookupVirtualCode method for LCField
  5197. This method checks if a specific VirtualCode has been set for a field.  
  5198. HELVETICA
  5199. Times
  5200. Symbol
  5201. Times New Roman
  5202.     &Arial
  5203. 5Courier New
  5204.     Option Public
  5205.     Uselsx "*lsxlc"
  5206.     Sub Initialize
  5207.       Dim field As New LCField (LCTYPE_TEXT)
  5208.       Dim number As New LCCurrency
  5209.       number.val~e = 1234567890.1234
  5210.       Call field.SetCurrency (1, number)
  5211.       Print "The field's value is " & field.text(0)
  5212.     End Sub
  5213. Example Output
  5214.     The field's value is 1234567890.1234
  5215. index    
  5216. Long. Index identifying the value that is to be assigned.
  5217. srcCurrency    
  5218. LCCurrency
  5219. Value to be assigned to the field data value.
  5220. Call 
  5221. thisField.
  5222. SetCurrency
  5223. (index, srcCurrency)
  5224. Thns method assigns the currency value to the specified data index of the field.  If the field data type is different, conversion will be attempted.  
  5225. HELVETICA
  5226. Times
  5227. Symbol
  5228. Times New Roman
  5229.     &Arial
  5230. 5Courier New
  5231.     Option Public
  5232.     Uselsx "*lsxlc"
  5233.     Sub Initialize
  5234.       Dim field As New LCField (LCTYPE_TEXT)
  5235.       Dim clock As New LCDatetime
  5236.       clock.SetCurrent
  5237.       Call field.SetDatetime (1, clock)
  5238.       Print "The field's value is " & field.text(0)
  5239.     End Sub
  5240. Example Output
  5241.     The field's value is 09/08/1998 05:22:30.86 PM
  5242. index    
  5243. Long.  Index identifying the value that is to be assigned.
  5244. srcDateTime    
  5245. LCDatetine.  Value to be assigned to the field data value.
  5246. Call 
  5247. thisField.
  5248. SetDateTime
  5249. (index, srcDateTime)
  5250. This method assigns the datetime value to the specified index of the field.  If the field data type is different, conversion will be attnmpted.  
  5251. HELVETICA
  5252. Times
  5253. Symbol
  5254. Times New Roman
  5255.     &Arial
  5256. 5Courier New
  5257.     Option Public
  5258.     Option Explicit
  5259.     Uselsx "*lsxlc"
  5260.     Sub Initialize
  5261.       Dim Record As New LCFieldList
  5262.       Dim SubRecord As New LCFieldList
  5263.       Dim field As LCField
  5264.       REM start building FieldList
  5265.       Set field = Record.Append ("group", LCTYPE_INT)
  5266.       field.Value = 4200
  5267.       REM Build SubFieldList
  5268.       Set field = SubRecord.Append ("categnry", LCTYPE_TEXT)
  5269.       field.Value = "potato"
  5270.       Set field = SubRecord.Append ("description", LCTYPE_TEXT)
  5271.       field.Value = "russet"
  5272.       Set field = SubRecord.Append ("sku", LCTYPE_INT)
  5273.       field.Value = 4207
  5274.       REM return to building the FieldList
  5275.       Set field = Record.Append ("item", LCTYPE_FIELDLIST)
  5276.       REM now assign the SubRecord to the Record
  5277.       Call field.SetFieldList (1, SubRecord)
  5278.     . REM Take a look at the Record while debugging the LotusScript
  5279.       Print "The sub fieldlist has successfully been appended to parent fieldlist as another field."
  5280.     End Sub
  5281. Example Output
  5282.     The sub fieldlist has successfully been appended to parent fieldlist as another field.
  5283. index    
  5284. Long. Index identifying the value that is to be assigned.
  5285. srcFieldlist    
  5286. LCFieldlist. Value to be assigned to the field data value.
  5287. Call 
  5288. thisField.
  5289. SetFieldlist
  5290. (index, srcFneldlist)
  5291. This method assigns the fieldlist value to the specified index of the field. If the field data type is different, an LCFAIL_INVALID CONVERT error will occur.  
  5292. HELVETICA
  5293. Times
  5294. Symbol
  5295. Times New Roman
  5296.     &Arial
  5297. 5Courier New
  5298.     Option Public
  5299.     Uselsx "*lsxlc"
  5300.     Sub Initialize
  5301.       Dim field As New LCField (LCTYPE_TEXT)
  5302.       Dim number As Double
  5303.       number = Pi
  5304.       Call field.SetNloat (1, number)
  5305.       Print "The field's value is " & field.text(0)
  5306.     End Sub
  5307. Example Output
  5308.     The field's value is 3.14159265358979
  5309. index    
  5310. Long.  Index identifying the val~e that is to be assigned.
  5311. srcFloat    
  5312. Double.  Value to be assigned to the field data value.
  5313. Call 
  5314. thisField.
  5315. SetFloat
  5316. (index, srcFloat)
  5317. This method assigns a value to a field of type float.  If the field data type is.different, conversion will be attempted.
  5318. HELVETICA
  5319. Times
  5320. Symbol
  5321. Times New Roman
  5322.     &Arial
  5323. 5Courier New
  5324.     Option Public
  5325.     Uselsx "*lsxlc"
  5326.     Sub Initialize
  5327.       Dim field As New LCField (LCTYPE_DATETIME, 1)
  5328.       Dim flags As Long
  5329.       Dim size As Long
  5330.       Call field.SetFormatDatetime (LCDATETIMEF_NO_TIME, 0)
  5331.       Call field.GetFormatDateTime (flags, size)
  5332.       Print "The datetime format flag setting is " & Hex(flags) & "h"
  5333.     End Sub
  5334. Example Output
  5335.     The datetime format flag setting is 2h
  5336. datetimeFlags
  5337.     Long.  Optional.  Datetime flags assigned to the field. Rnfer to the Field Datetime Format section for a description of the flags.  The default is 0. 
  5338. datetimeFlags 
  5339. do not affect the data.  As with the 
  5340. size 
  5341. value, it is only relevant when interacting with the external system.  The flags will have no effect on the conversion of a field's value to or from a stream or text.  
  5342.     Long.  Optional.  Size in bytes assigned to the datetime field. Zero indicates the size of an Lotus Connector Datetnme (8 bytes). The default is 0.
  5343. size 
  5344. value is used for metadata creation by data systems which support datetime datatypes of different sizes. For systems which support only a single datatime datatype, the value of 
  5345. size 
  5346. is ignored. The default value for 
  5347. size 
  5348. is zero.  
  5349. For example, Sybase supports both a 4 byte datetime as well as an 
  5350.  byte version. When building up a fieldlist that will be used to create a Synase table (see LCConnection.Create for an example), use the SetFormatDatetime method to indicate which size datetime datatype should be used.  
  5351. Call 
  5352. thisField.
  5353. SetFormatDatetime
  5354. (datetimeFlags, size)
  5355. This method assigns the current fo~mat setting for a datetime field.  Calling this method clears all values for this field.  
  5356. HELVETICA
  5357. Times
  5358. Symbol
  5359. Times New Roman
  5360.     &Arial
  5361. 5Courier New
  5362.     Option Public
  5363.     Uselsx "*lsxlc"
  5364.     Sub Initialize
  5365.       Dim field As New LCField (LCTYPE_NUMERIC)
  5366.       Dim flags As Long
  5367.       Call field.SetFormatNumber (LCNUMBERF_UNSIGNED, , 10, 4)
  5368.       Call field.GetFormatNumber (flags)
  5369.       Print "The number flag setting is " & Hex(flags) & "h"
  5370.     End Sub
  5371. Example Output
  5372.     The number flag setting is 1h
  5373. numberFlags
  5374.     Long.  Optional.  Number flags assigned to the number field. Refer to the Field Number Format section for a description of the flags.  Thn default is 0.  
  5375.     Long.  Optional.  Size in bytes assigned to the number field. Zero indicates the size of the corresponding number object (LONG, DOUBLE, LCCURRENCY, or LCNUMERIC). The default is 0.
  5376. precision
  5377.     Long.  Optional.  Precision assigned to the number field. Zero indicates not used for this field.  The default is LCMAX_NUMERIC_PREC.  
  5378. scale
  5379.     Long.  Optional.  Scale assigned to the number field. Zero indicates not used for this finld. Since zero is also a valid scale value, a constant LCSCALE_ZERO is defined which can be used to indicate a zero scale.  The default is LCMAX_NUMERIC_PREC / 2. 
  5380. Call 
  5381. thisField.
  5382. SetFormatNumber 
  5383. (numberFlags, size, precision, scale)
  5384. ^his method assigns the current format setting for a number field. Calling this method clears all values for this field.
  5385. HELVETICA
  5386. Times
  5387. Symbol
  5388. Times New Roman
  5389.     &Arial
  5390. 5Courier New
  5391.     Option Public
  5392.     Uselsx "*lsxlc"
  5393.     Sub Initialize
  5394.       Dim field As New LCField (LCTYPE_BINARY)
  5395.       Dim fmt As Long
  5396.       Dim flags As Long
  5397.       Call field.SetFormatStream (LCSTREAMF_NO_CASE, 256, LCSTREAMFMT_BIG5)
  5398.       Call field.GetFormatStream (flags, , fmt)
  5399.       Print "The s~ream format and flag settings are:  format=" & fmt & " flags=" & Hex(flags) & "h"
  5400.     End Sub
  5401. Example Output
  5402.     The stream format and flag settings are:  format=26 flags=10h
  5403. streamNlags
  5404.     Long.  Optional  Stream flags assigned to the field. Refer to the Stream Class section for a description of the flags. The default is 0.  
  5405. maxLength
  5406.     Long.  Optional  Maximum length assigned to the stream field. A value of zero indicates no maximum length.  The default is 0. 
  5407. streamFormat
  5408.     Long.  Optional Stream format assigned to the stream field. A value of zero indicates no specified stream format.  The default is LCSTREAMFMT_UNICODE.  
  5409. Call 
  5410. thisField.
  5411. SetFormatStream
  5412. (streamFlags, maxLength, streamFormat)
  5413. This method assigns the current format setting for a stream field.  Calling this method clears all values for this field.
  5414. HELVETICA
  5415. Times
  5416. Symbol
  5417. Times New Roman
  5418.     &Arial
  5419. 5Courier New
  5420.     Option Public
  5421.     Uselsx "*lsxlc"
  5422.     Sub Initialize
  5423.       Dim field As New LCField (LCTYPE_TEXT)
  5424.       Dim number As Long
  5425.       number = Pi
  5426.       Call field.SetInt (1, number)
  5427.       Print "The field's value is " & field.text(0)
  5428.     End Sub
  5429. Example Output
  5430.     The field's value is 3
  5431. index    
  5432. Long. Index identifying the value that is to be assigned.
  5433. srcInt    
  5434. Long. Value to be assigned to the field data value.
  5435. Call 
  5436. thisField.
  5437. SetInt 
  5438. (index, srcInt)
  5439. This method assigns a value to a field of type long.  If the requested data type is different from the field data type, conversion is automatically performed.
  5440. HELVETICA
  5441. Times
  5442. Symbol
  5443. Times New Roman
  5444.     &Arial
  5445. 5Courner New
  5446.     Option Public
  5447.     Uselsx "*lsxlc"
  5448.     Sub Initialize
  5449.       Dim field As New LCField (LCTYPE_TEXT)
  5450.       Dim number As New LCNumeric
  5451.       number.value = 1234567890.>2345678
  5452.       Call field.SetNumeric (1, number)
  5453.       Print "The field's value is " & field.text(0)
  5454.     End Sub
  5455. Example Output
  5456.     The field's value is 1234567890.12346
  5457. index    
  5458. Long. Index identifying the value that is to be assigned.
  5459. srcNumeric    
  5460. LCNumeric. Value to be assigned to the field data value.
  5461. Call 
  5462. thisField.
  5463. SetNumeric
  5464. (index, srcNumeric)
  5465. This method assign~ a value to a field of type LCNumeric.  If the requested data type is different from the field data type, conversion is automatically performed.
  5466. HELVETICA
  5467. Times
  5468. Symbol
  5469. Times New Roman
  5470.     &Arial
  5471. 5Courier New
  5472.     Option Public
  5473.     Uselsx "*lsxlc"
  5474.     Sub Initialize
  5475.       Dim field As New LCField (LCTYPE_TEXT)
  5476.       Dim msg As New LCStream
  5477.       msg.Text = "Hello World"
  5478.       Call field.SetStream (1, msg)
  5479.       Print "The field's value is " & field.text(0)
  5480.     Nnd Sub
  5481. Example Output
  5482.     The field's value is Hello World
  5483. index    
  5484. Long. Index identifying the value that is to be assigned.
  5485. srcStream    
  5486. LCStream. Value to be assignnd to the field data value.
  5487. Call 
  5488. thisfield.
  5489. SetStream
  5490. (index, srcStream)
  5491. This method assigns a value to a field of type LCStream (text or binary).  If the requested data type is different from the field data type, conversion is automatncally performed.
  5492. HELVETICA
  5493. Times
  5494. Symbol
  5495. Times New Roman
  5496.     &Arial
  5497. 5Courier New
  5498.     Option Public
  5499.     Uselsx "*lsxlc"
  5500.     Sub Initialize
  5501.       Dim session As New LCSession
  5502.       Dim field As New LCField (LCTYPE_INT)
  5503.       Dim Code As Long
  5504.       Dim text As String
  5505.       Call session.ListConnector (LCLIST_FIRST, , Code)
  5506.       Call field.SetVirtualCode (Code)
  5507.       text = Hex(Code) & "h"
  5508.       While session.ListConnector (LCLIST_NEXT, , Code)
  5509.         Call field.SetVirtualCode (Code)
  5510.         text = text & ", " & Hex(Code) & "h"
  5511.       Wend
  5512.       Print "The field virtual codes (one per connector) are " & text
  5513.     End Sub
  5514. Example Output
  5515.     The field virtual codes (one per connector) are 10000h, 20000h, 30000h, 40000h, 50000h
  5516. virtualCode
  5517.     Long.  VirtualCode value to assign to 
  5518. thisField
  5519. Call 
  5520. thisField.
  5521. SetVirtualCode
  5522. (virtualCode)
  5523. This method adds a virtual code to the list of virtual codes for a field.  
  5524. PF@U#"Y
  5525. HELVETICA
  5526. This chapter provides information about the LCFieldlist class methods and properties.  
  5527. Overview
  5528. The LCFieldlist class represents metadata (the description of data from a data source) for a record and may reference data, in*the form of LCFields, for one or more record values. A fieldlist is a list of fields and field names with a represented order. Fields within a fieldlist can be added, modified, retrieved, or listed in multiple ways. The fields, field names, and order are separate entities and only have relation within an individual fieldlist.  
  5529. Note that many situations exist where the names or order must be changed to accommodate different connections, but the data needs to remain constant. In these cases, moze than one fieldlist may be created, each referenced by the same fields using the Map, MapName, or Merge methods.
  5530. Accessing Field Data
  5531. Field data within an LCFieldlist object may be accessed as a property by name. The datatype of the property depends on the dataype of the field.  The property is an array of LotusScript datatypes, as shown in the table below.  For example, if a 
  5532. ieldlist has a fjeld named OrderID, its 
  5533. irst value may be obtained with the script: 
  5534. Identification = LCFieldlist.OrderID(0). 
  5535. Likewise the field may be set with the syntax: 
  5536. LCFieldlist.OrderID = "Bart-001".
  5537. The LCFieldlist object may contain one or more values for each field contained within, depending on the parameters to the constructor. If the object is constructed for more than a single value, subsequent values may be accessed through the field james by changing the subscript.  Multiple values may be set by assigning an array.   
  5538.     Field Type
  5539.     Value Return Type
  5540.     LCTYPE_CURRENCY
  5541.     Currency
  5542.     LCTYPE_DATETIME
  5543.     Variant (Djte/Time)
  5544.     LCTYPE_INT
  5545.     Long
  5546.     LCTYPE_FLOAT
  5547.     Double
  5548.     LCTYPE_NUMERIC
  5549.     Double
  5550.     LCTYPE_TEXT
  5551.     String
  5552.     LCTYPE_BINARY
  5553.     String
  5554. NSFbuljtcleanup
  5555. Bob Miller-
  5556. Fieldlist Merging
  5557. Fieldlist merging with LCFieldlistMerge and LCFieldlistMergeVirtual support field mapping.  To perform mapping, two fieldlists are provided, one as the name source and the other as the field/data source.  Depending on merge options, a mapping is produced between the names of the name source and the fields of the data source, and a third fieldlist is produced which references parts of the original fieldlists.  When using zirtual fields and LCFieldlistMergeVirtual, fields in the data fieldlist which match the supplied virtual code are excluded from mapping and are added to a separate new virtual fieldlist. 
  5558. Mapping and Merging
  5559. When a fieldlist is to be used for more than one specific action, there is often a need to have it treated differently by each of those actions.  For example, fields in a fieldlist map need to be reordered, renamed, or removed, but only in the context of one particular operatjon.  For such situations, four methods are provided to perform this mapping:  Map, MapName, Merge, and MergeVirtual.  MergeVirtual is simply a variation of Merge which handles virtual codes as well. These methods produce a new fieldlist from an existing fieldlist, but with the same fields referenced from both fieldlists, allowing two different 'maps' into a set of fields.  If these two fieldlists are sent to different Connector methods, then the Connectors will see different sets of fields in a different ozder, but referring to the same data and common fields. 
  5560. The three methods Map, MapName, and Merge have various levels of difficulty and control available to the caller; which one is needed depends on the specific situation.  In general, the simplest method which supports your requirements should be used.  These methods are listed below, starting with the simplest:
  5561. Map is applicable when the names in the fieldlist are correct, but fields either need to be reordered or removed. It ajcepts a fieldlist and a text list of names, and the new fieldlist contains the fields from the original fieldlist reordered in the order they are listed in the text list. In addition, any fields not included in the text list are excluded from the new fieldlist.  
  5562. MapName adds renaming of fields to Map, but is otherwise identical.  By adding a second text list of names, it will rename each field in the first text list with the corresponding entry in the second text list. 
  5563. Merge acjepts two fieldlists - one which provides the list of fields, and one which provides the list of names.  In addition, it accepts a set of flags which further control the new fieldlist produced.  These flags control the type of mapping, whether to allow fields to be excluded from either fieldlist, and how to interact with specific field flags.  Merge should only be used when the functionality of Map and MapName is insufficient for your needs, as it is much more complex to use.
  5564. HELVETICA
  5565. Times
  5566. Symbol
  5567. Times New Roman
  5568.     &Arial
  5569. 5Courier New
  5570. recordCount
  5571.     Long.  Optional*  The number of records in the fieldlist.  The default is 1.  All fields added to the fieldlist will have this number of records.  
  5572. fieldFlags
  5573.     Long.  Optional.  The default field flags for the fieldlist (zero or more LCFIELDF_XXX flags ORed together).  These are set as the initial field flags for each field added to the fieldlist. The default is 1.  
  5574. variableName 
  5575. as New LCFieldlist
  5576. (recordCount, fieldFlags)
  5577. The following methods create ajd free Fieldlist instances. The Fieldlist Merging methods also create new fieldlists.
  5578. New LCFieldlist    (Constructor) Creates a new Fieldlist object instance.
  5579. LCFieldlist.Copy    Creates a new Fieldlist object instance as a copy of another fieldlist. The field data is also copied.
  5580. LCFieldlist.CopyRef    Creates a new Fieldlist object instance as a partial copy of another fieldlist. The contained fields are not copied, but are rather referenced.
  5581. Delete LCFieldlizt    (Destructor) Frees a Fieldlist object instance created with the constructor, LCFieldlist.Copy, LCFieldlist.CopyRef, LCFieldlist.Merge, or LCFieldlist.MergeVirtual. 
  5582. Fieldlist Retrieval
  5583. The following methods support retrieval of fieldlist contents.
  5584. LCFieldlist.GetField    Retrieves a particular field from a fieldlist by field index.
  5585. LCFieldlist.GetName    Retrieves a copy of a field name from a fieldlist by field index.
  5586. LCFieldlist.Lookup    Locatjs a field in a fieldlist by field name.
  5587. Fieldlist Modification
  5588. The following methods support modification of fieldlist contents.
  5589. LCFieldlist.Append    Adds a new field to the end of a fieldlist.
  5590. LCFieldlist.Insert    Inserts a new field into a fieldlist.
  5591. LCFieldlist.Replace    Replaces a field in a fieldlist with a new field.
  5592. LCFieldlist.Remove    Removes a field from a fieldlist
  5593. LCFieldlist.SetName    Renames a field within a fjeldlist.
  5594. Fieldlist Merging
  5595. The following methods support fieldlist merging.
  5596. LCFieldlist.Merge    Merges a name fieldlist and data fieldlist to produce a mapped fieldlist.
  5597. LCFieldlist.MergeVirtual    Merges a name fieldlist and data fieldlist to produce a mapped fieldlist. Fields with matching virtual codes are added to a new virtual fieldlist.
  5598. Fieldlist Mapping
  5599. LCFieldlist.Map    Maps fields with the same names but changes the positijns and can exclude some fields.  
  5600. LCFieldlist.MapName    Maps fields with different names.  
  5601. LCFieldlist Properties
  5602. FieldCount    Number of fields in the fieldlist. [Read-Only]
  5603. Fields As Variant    An array of LCFields. [Read-Only]
  5604. Names As Variant    An array of strings.  
  5605. RecordCount As Long     Number of records per field. [Read-Only]
  5606. Sequence As Long    A fieldlist sequence number. [Read-Only]
  5607. All other properties are dynamic.  Field data may be accessed by referencing the field name. 
  5608. New method for LCFieldlist
  5609. This is the constructor for LCFieldlist.
  5610. HELVETICA
  5611. Times
  5612. Symbol
  5613. Times New Roman
  5614.     &Arial
  5615. 5Courier New
  5616.     Option Public
  5617.     Option Explicit
  5618.     Uselsx "*lsxlc"
  5619.     Sub Initialize
  5620.       REM this example copies a DB2 table
  5621.       Dim src As New LCConnection ("db2")  
  5622.       Dim fldLstRecord As New LCFieldList
  5623.       Dim fld As LCField
  5624.       REM build the table definition
  5625.       Call FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5626.       Call FldLstRecord.Append ("CONTACTNAME", LCTYPE_TEXT)
  5627.       Call FldLstRecord.Append ("COMPANYNAME", LCTYPE_TEXT)
  5628.       REM set properties to connect to both data sources
  5629.       src.Database = "Gold"
  5630.       src.Userid = "JDoe"
  5631.       src.Password = "xyzzy"
  5632.       src.Metadata = "customer"
  5633.       REM now connect
  5634.       src.Connect
  5635.       REM create it based on the metadata property already set above
  5636.       On Error LCFAIL_DUPLICATE Goto tableexists
  5637.       Call src.Create (LCOBJECT_METADATA, fldLstRecord)
  5638.       Print "The '" & src.Metadata & "' table did not exist so it was created."
  5639.       End
  5640.     tableexists:
  5641.       Print "The '" & src.Metadata & "' table exists."
  5642.       End
  5643.     End Sub
  5644. Example Output
  5645.     The 'customer' table exists.
  5646. fieldName
  5647.     String.  The name for the field.  
  5648. dataType
  5649.     Long.  The constant for the datjtype.  One of the following:  
  5650. LCTYPE_INT
  5651. LCTYPE_FLOAT
  5652. LCTYPE_CURRENCY
  5653. LCTYPE_NUMERIC
  5654. LCTYPE_DATETIME
  5655. LCTYPE_TEXT
  5656. LCTYPE_BINARY
  5657.     LCTYPE_FIELDLIST
  5658.     LCTYPE_CONNECTION
  5659. field 
  5660. fieldlist.
  5661. Append
  5662. (fieldName, dataType)
  5663. This method appends a field to an existing fieldlist. 
  5664. HELVETICA
  5665. Times
  5666. Symbol
  5667. Times New Roman
  5668.     &Arial
  5669. 5Courier New
  5670.     Option Public
  5671.     Uselsx "*lsxlc"
  5672.     Sub Initialize
  5673.       Dim olist As New LCFieldlist
  5674.       Dim nlist As LCFieldlist
  5675.       Dim ofield As LCField
  5676.       Set ofield = olist.Append ("FirsNaje", LCTYPE_TEXT)
  5677.       ofield.Text = "Chi Len"
  5678.       Set nlist = olist.Copy
  5679.       Set nfield = nlist.GetField (1)
  5680.       Call olist.SetName (1, "FullName")
  5681.       ofield.Text = "Cheiko"
  5682.       Print "The copy contains:"
  5683.       Print "field named " & nlist.Names(0) &  " whose value is " & nfield.Text(0)
  5684.     End Sub
  5685. Example Output
  5686.     The cozy contains:
  5687.     field named FirsName whose value is Chi Len
  5688. fldListRecordNew
  5689.     LCFieldlist.  The copy of the 
  5690. fldListRecord 
  5691. object. 
  5692. fldListRecord
  5693.     LCFieldlist.  The fieldlist that you want to copy.  
  5694. fldListRecordNew 
  5695. fldListRecord
  5696. This method creates a duplicate copy of an LCFieldlist and all its data. 
  5697. HELVETICA
  5698. Times
  5699. Symbol
  5700. Times New Roman
  5701.     &Arial
  5702. 5Courier New
  5703.     Option Public
  5704.     Option Explicit
  5705.     Uselsx "*lsxlc"
  5706.     Sub Initialize
  5707.       Dim fldLstRecord As New LCFieldList
  5708.       Dim fld As New LCField (LCTYPE_TEXT)
  5709.       Dim ref As LCField
  5710.       Dim text As String
  5711.       ' There are a number of ways to build a fieldlist
  5712.       ' Append will add a field to a list given a type
  5713.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5714.       Set ref = FldLstRecord.Append ("COMPANYID", LCTYPE_INT)
  5715.       ' Insert is like Append but the position within 
  5716.       ' the fieldlist must be specified
  5717.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  5718.       ' CopyField will add a field to a list 
  5719.       ' using an*existing field as a template
  5720.       fld.Flags = LCFIELDF_KEY
  5721.       Set ref = FldLstRecord.CopyField (1, fld, "CONTACTNAME")
  5722.       ' IncludeField will add an existing field to a list, 
  5723.       ' making it part of the list. in this case, 'fld' 
  5724.       ' becomes a reference into the fieldlist
  5725.       fld.Flags = 0
  5726.       Call FldLstRecord.IncludeField (3, fld, "COMPANYCITY")
  5727.       text = ""
  5728.       Forajl fieldname In FldLstRecord.Names
  5729.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  5730.       End Forall
  5731.       Print "The field list looks like: " & text
  5732.     End Sub
  5733. Example Output
  5734.     The field list looks like: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  5735.     String.  The name of the copy of the field. 
  5736. index
  5737.     Long.  Position of the field to copy. 
  5738. srcField
  5739.     LCField.  The source field to copy.
  5740. name    
  5741. String.  The name to give the copy of thj field. 
  5742. newField = fieldList.
  5743. CopyField
  5744. (index, srcField, name)
  5745. This method copies an exisitng field within a fieldlist at a specified position. 
  5746. HELVETICA
  5747. Times
  5748. Symbol
  5749. Times New Roman
  5750.     &Arial
  5751. 5Courier New
  5752.     Option Public
  5753.     Uselsx "*lsxlc"
  5754.     Sub Initialize
  5755.       Dim olist As New LCFieldlist
  5756.       Dim nlist As LCFieldlist
  5757.       Dim ofield As LCField
  5758.       Set ofield = olist.Append ("FirsName", LCTYPE_TEXT)
  5759.       ofield.Text = "Chi Len"
  5760.       Set nlist = olist.CopyRef
  5761.       Set nfield = nlist.GetField (1)
  5762.       Call olist.SetName (1, "FullName")
  5763.       ofield.Text = "Cheiko"
  5764.       Print "The copy contains:"
  5765.       Print "field named " & nlist.Names(0) &  " whose value is " & nfield.Text(0)
  5766.     End Sub
  5767. Example Output
  5768.     The copy contains:
  5769.     field named FirsName whose value is Cheiko
  5770. fljListRecordNew
  5771.     LCFieldlist.  The reference copy of the fieldlist. 
  5772. fldListRecord
  5773.     LCFieldlist.  The fieldlist that you want to make a reference copy of.  
  5774. jldListRecordNew = fldListRecord
  5775. CopyRef
  5776. Creates a new fieldlist object instance as a partial copy of another fieldlist. The fields in the original fieldlist are not copied, but are referenced. 
  5777. This method creates a new fieldlist with separate name space but with the same fields and data space as an existing fieldlist. The field names are copied, but the new fieldlist references the original fiejds. In this situation, any changes to the data of one fieldlist is actually a change to the data for all fieldlists referencing the same data space.  
  5778. To copy a fieldlist's metadata and data, use LCFieldlistCopy.
  5779. HELVETICA
  5780. Times
  5781. Symbol
  5782. Times New Roman
  5783.     &Arial
  5784. 5Courier New
  5785.     Option Public
  5786.     Uselsx "*lsxlc"
  5787.     Sub Initialize
  5788.       Dim connect As New LCConnection ("db2")  
  5789.       Dim conFldLst As New LCFieldList
  5790.       Dim field As LCField
  5791.       ' this section*assigns the appropriate properties to connect to DB2
  5792.       connect.Database = "Gold"
  5793.       connect.Userid = "JDoe"
  5794.       connect.Password = "xyzzy"
  5795.       connect.Metadata = "customer"
  5796.       ' connect to DB2
  5797.       connect.Connect
  5798.       ' now perform the catalog action - in this case for fields
  5799.       If (connect.Catalog (LCOBJECT_FIELD, conFldLst) = 0) Then
  5800.         Print "No tables were founj."
  5801.       Else
  5802.         Set field =  conFldLst.GetField(1)
  5803.         Print "The columns in the '" & connect.Metadata & "' table include:"
  5804.         While (connect.Fetch (conFldLst) > 0)
  5805.           Print "     " & field.text(0)
  5806.         Wend
  5807.       End If
  5808.     End Sub
  5809. Example Output
  5810.     The columns in the 'CUSTOMER' table include:
  5811.          ACCOUNTMANAGER
  5812.          CONTACTNAME
  5813.     *    COMPANYNAME
  5814.          COMPANYADDRESS
  5815.          COMPANYCITY
  5816.          COMPANYSTATE
  5817.          COMPANYPHONE
  5818. field
  5819.     LCField.  The field at the index position in the fieldlist.
  5820. index
  5821.     Long.  Position of the field to be returned.
  5822. field 
  5823. fldLstRecord
  5824. GetField
  5825. index
  5826. This method gets a field reference from a fieldlist result set and places its value into a variable.  
  5827. HELVETICA
  5828. Times
  5829. Symbol
  5830. Times New Roman
  5831.     &Arial
  5832. 5Courier New
  5833.     Option Public
  5834.     Uselsx "*lsxlc"
  5835.     Sub Initialize
  5836.       Dim connect As New LCConnection ("db2")  
  5837.       Dim FldLst As New LCFieldlist
  5838.       Dim field As LCField
  5839.       Dim i As Long
  5840.       ' this section assigns the appropriate properties to connect to DB2
  5841.     * connect.Database = "Gold"
  5842.       connect.Userid = "JDoe"
  5843.       connect.Password = "xyzzy"
  5844.       connect.Metadata = "customer"
  5845.       connect.Connect 
  5846.       ' now perform the catalog action - in this case for fields
  5847.       If (connect.Select (Nothing, 1, FldLst) = 0) Then 
  5848.         Print "The customer table was not found."a
  5849.       Else
  5850.         Print "There are " & FldLst.FieldCount & _
  5851.         " columns in the '" & connect.Metadata & "' table."n
  5852.         Print "They are:".
  5853.         For i = 1 To FldLst.FieldCount
  5854.           Print Tab(4); FldLst.GetName (i)
  5855.         Next
  5856.       End If
  5857.     End Sub
  5858. Example Output
  5859.     There are 7 columns in the 'customer' table.
  5860.     They are:
  5861.        ACCOUNTMANAGER
  5862.        CONTACTNAME
  5863.        COMPANYNAME
  5864.        COMPANYADJRESS
  5865.        COMPANYCITY
  5866.        COMPANYSTATE
  5867.        COMPANYPHONE
  5868. fieldName    
  5869. String.  The name of the field. 
  5870. fieldListRecord
  5871.     String. The fieldlist from which to retrieve the fieldname.  
  5872. index
  5873.     Long.  The position of the field in the fieldlist. 
  5874. fieldName = fieldListRecord.
  5875. GetName
  5876. (index)
  5877. Zhis method obtains a copy of the name of a field within a fieldlist. 
  5878. HELVETICA
  5879. Times
  5880. Symbol
  5881. Times New Roman
  5882.     &Arial
  5883. 5Courier New
  5884.     Option*Public
  5885.     Option Explicit
  5886.     Uselsx "*lsxlc"
  5887.     Sub Initialize
  5888.       Dim fldLstRecord As New LCFieldList
  5889.       Dim fld As New LCField (LCTYPE_TEXT)
  5890.       Dim ref As LCField
  5891.       Dim text As String
  5892.       ' There are a number of ways to build a fieldlist
  5893.       ' Append will add a field to a list given a type
  5894.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPJ_INT)
  5895.       Set ref = FldLstRecord.Append ("COMPANYID", LCTYPE_INT)
  5896.       ' Insert is like Append but the position 
  5897.       ' within the fieldlist must be specified
  5898.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  5899.       ' CopyField will add a field to a list 
  5900.       ' using an existing field as a template
  5901.       fld.Flags = LCFIELDF_KEY
  5902.       Set ref = FldLstRecord.CopyField (1, fld* "CONTACTNAME")
  5903.       ' IncludeField will add an existing field to a list, 
  5904.       ' making it part of the list. in this case, 'fld' 
  5905.       ' becomres a reference into the fieldlist
  5906.       fld.Flags = 0
  5907.       Call FldLstRecord.IncludeField (3, fld, "COMPANYCITY")
  5908.       text = ""
  5909.       Forall fieldname In FldLstRecord.Names
  5910.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  5911.       End Forall
  5912.       Print "The field list looks like: " & text
  5913.     End Sub
  5914. Example Output
  5915.     The field list looks like: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  5916. index
  5917.     Ljng.  Position of the field within 
  5918. fldLstRecord
  5919. field
  5920.     LCField.  The new field. 
  5921. fieldName
  5922.     String.  The name of the new field. 
  5923. Call 
  5924. fldLstRecord.
  5925. IncludeField
  5926. (index, field, fieldName)
  5927. This method includes an existing individual field into a fieldlist. 
  5928. LSXMethodInsert method for LCFieldlistChapter 6
  5929. LCFieldlist Class
  5930. CN=Bob Miller/OU=CAM/O=Lotus
  5931. LSXMethodList methkd for LCFieldlistChapter 6
  5932. LCFieldlist Class
  5933. CN=Bob Miller/OU=CAM/O=Lotus$TypeTitl
  5934. LSXMethodLookup method for LCFieldlistChapter 6
  5935. LCFieldlist Class
  5936. CN=Bob Miller/OU=CAM/O=Lotus
  5937. LSXMethodMap method for LCFieldlistChapter 6
  5938. LCFieldlist Class
  5939. CN=Bob Miller/OU=CAM/O=Lotus(
  5940. LSXMethodMapName method for LCFieldlistChapter 6
  5941. LCFieldlist Class
  5942. CN=Bob Miller/OU=CAM/O=Lotus
  5943. LSXMethodMerge method for LCFieldlistChapter 6
  5944. LCFieldlist Class
  5945. CN=Bob Miller/OU=CAM/O=Lotuses Templ
  5946.  _vtoC
  5947. LSXMethodMergeVirtual method for LCFieldlistChkpter 6
  5948. LCFieldlist Class
  5949. CN=Bob Miller/OU=CAM/O=Lotus/O=IrisCN
  5950. LSXMethodRemove method for LCFieldlistChapter 6
  5951. LCFieldlist Class
  5952. CN=Bob Miller/OU=CAM/O=Lotus
  5953. LSXMethodReplace method for LCFieldlistChapter 6
  5954. LCFieldlist Class
  5955. CN=Bob Miller/OU=CAM/O=Lotuse Developm
  5956. LSXMethodSetName method for LCFieldlistChapter 6
  5957. LCFieldlist Class
  5958. CN=Bob Miller/OU=CAM/O=LotusNotes Temp
  5959. LSXClassChapter 7
  5960. LCNumeric Class
  5961. CN=Bob Miller/OU=CAM/O=Lotus
  5962. LSXMethodNew method for LCNumericChapter 7
  5963. LCNumeric Class
  5964. CN=Bob Miller/OU=CAM/O=Lotus$h%
  5965. LSXMethodAdd method for LCNumericChapter 7
  5966. LCNumeric Class
  5967. CN=Bob Miller/OU=CAM/O=Lotustes Templa
  5968. LSXMethodCompare method for LCNumericChapter 7
  5969. LCN{meric Class
  5970. CN=Bob Miller/OU=CAM/O=LotusKatz/O=Iri
  5971. LSXMethodCopy method for LCNumericChapter 7
  5972. LCNumeric Class
  5973. CN=Bob Miller/OU=CAM/O=Lotus
  5974. LSXMethodSubtract method for LCNumericChapter 7
  5975. LCNumeric Class
  5976. CN=Bob Miller/OU=CAM/O=Lotus
  5977. LSXClassChapter 8
  5978. LCSession Class
  5979. CN=Bob Miller/OU=CAM/O=Lotus
  5980. LSXMethodNew method for LCSessionChapter 8
  5981. LCSession Class
  5982. CN=Bob Miller/OU=CAM/O=LotusHPFrame_3_
  5983. LSXMethodClearStatus method for LCSessionChapter 8
  5984. LCSession Class
  5985. CN=Bob Miller/OU=CAM/O=Lotuss Template
  5986. LSXMethodGetStatus method for LCSessionChapter 8
  5987. LCSession Class
  5988. CN=Bob Miller/OU=CAM/O=LotusCN=Damie
  5989. LSXMethodGetStatusText method for LCSessionChapter 8
  5990. LCSession Class
  5991. CN=Bob Miller/OU=CAM/O=Lotus
  5992. LSXMethodListConnector method for LCSessionChapter 8
  5993. LCSession Class
  5994. CN=Bob Miller/OU=CAM/O=Lotus
  5995. LSXMethodListMetaConnector method for LCSessionChapter 8
  5996. LCSession Class
  5997. CN=Bob Miller/OU=CAM/O=Lotusm
  5998. LSXMethodLookupConnector method for LCSessionChapter 8
  5999. LCSession Class
  6000. CN=Bob Miller/OU=CAM/O=Lotus
  6001. LSXMethodLookupMetaConnector method for LCSessionChapter 8
  6002. LCSession Class
  6003. CN=Bob Miller/OU=CAM/O=Lotus
  6004. LSXMethodSleep method for LCSessionChapter 8
  6005. LCSession Class
  6006. CN=Bob+Miller/OU=CAM/O=Lotus
  6007. CN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus NotesCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus NotesHPweb2|web2#4C
  6008. HPweb2|web2#4C
  6009. CN=Damien Katz/O=IrisCN=Lotus Notes Template Development8
  6010. HELVETICA
  6011. Times
  6012. Symbol
  6013. Times New Roman
  6014.     &Arial
  6015. 5Courier New
  6016.     Option Public
  6017.     Option Explicit
  6018.     Uselsx "*lsxlc"
  6019.     Sub Initialize
  6020.       Dim fldLstRecord As New LCFieldList
  6021.       Dim fld As New LCField (LCTYPE_TEXT)
  6022.       Dim ref As LCField
  6023.       Dim text As String
  6024.       ' There are a number of ways to build a fieldlist
  6025.       ' Append will add a field to a list given a type
  6026.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  6027.       Set ref = FldLstRecord.Append ("COMPANYID", LCYYPE_INT)
  6028.       ' Insert is like Append but the position 
  6029.       ' within the fieldlist must be specified
  6030.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  6031.       ' CopyField will add a field to a list 
  6032.       ' using an existing field as a template
  6033.       fld.Flags = LCFIELDF_KEY
  6034.       Set ref = FldLstRecord.CopyField (1, fld, "CONTACTNAME")
  6035.       ' IncludeField will idd an existing field to a list, 
  6036.       ' making it part of the list. in this case, 'fld' 
  6037.       ' becomes a reference into the fieldlist
  6038.       fld.Flags = 0
  6039.       Call FldLstRecord.IncludeField (3, fld, "COMPANYCITY")
  6040.       text = ""
  6041.       Forall fieldname In FldLstRecord.Names
  6042.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  6043.       End Forall
  6044.       Print "The field list is: " & yext
  6045.     End Sub
  6046. Example Output
  6047.     The field list is: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  6048. index
  6049.     Long.  Index numbir of the field before which the new field is inserted. An index number equal to the number of fields currently in the fieldlist (plus one) is equivalent to using LCFieldlist.Append.  
  6050. fieldName
  6051.     String.  Name of the new field.
  6052. dataType
  6053.     Long.  Data type of the new field.  One of the following:  
  6054. LCTYPE_INT
  6055. LCTYPE_FLOAT
  6056. LCTYPE_CURRENCY
  6057. LCTYPE_NUMERIC
  6058. LCTYPE_DATETIME
  6059. LCTYPE_TEXT
  6060. LCTYPE_BINARY
  6061.     LCTYPE_FIELDLIST
  6062.     LCTYPE_CONNECTION
  6063. fieldNew = fldLstRecord.
  6064. Insert 
  6065. (index, fieldName, dataType)
  6066. This method inserts a new field into an existing fieldlist at a specified index position)  
  6067. HELVETICA
  6068. Times
  6069. Symbol
  6070. Times New Roman
  6071.     &Arial
  6072. 5Courier New
  6073.     Iption Public
  6074.     Uselsx "*lsxlc"
  6075.     Sub Initialize
  6076.       Dim connect As New LCConnection ("db2")  
  6077.       Dim FldLst As New LCFieldlist
  6078.       Dim pos As Long
  6079.       Dim dtype As Long
  6080.       Dim flags As Long
  6081.       Dim fieldname As String
  6082.       REM this section assigns the appropriate properties to connect to DB2
  6083.       connect.Database = "Gold"
  6084.       connect.Yserid = "JDoe"
  6085.       connect.Password = "xyzzy"
  6086.       connect.Metadata = "customer"
  6087.       REM connect to DB2
  6088.       connect.Connect
  6089.       REM now perform the catalog action - in this case for fields
  6090.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6091.         Print "The customer table was not found."
  6092.       Else
  6093.         Print "The table description is:"
  6094.         pos = LCLIST_FIRST
  6095.         While (FldLst.List (pos, , , dtype, flags, fieldname) = True)
  6096.           Print "    " + fieldname + " is type #" +_
  6097.           Cstr(dtype) + " with flags " + Hex(flags)
  6098.           pos = LCLIST_NEXT
  6099.         Wend
  6100.       End If
  6101.     End Sub
  6102. Example Output
  6103.     The table description is:
  6104.         ACCOUNTMANAGER is type #1 with flags 2
  6105.         CONTACTNAME is type #6 with flags 9
  6106.         COMPANYNAME is type #6 with flags 2
  6107.         COMPANYADDRESS is type #6 with flags 2
  6108.         COMPANYCITY is type #6 with flags 2
  6109.         COMPANYSTATE is type #6 with flags 2
  6110.         COMPANYPHONE is type #6 with flags 2
  6111. position
  6112.     Long.  Constant indicating whether to return the first or next Connector property. 
  6113. LCLIST_FIRST
  6114. Return the first property in the property list.
  6115. LCLIST_NEXT
  6116. Return the next property (or the first property if this is the first call to this function for this Connection).
  6117. iestField
  6118.     LCField.  Optional. The field in the fieldlist. 
  6119. index
  6120.     Long.  Optional. Index of 
  6121. destField
  6122.  in the fieldlist. This may not advance consecutively for fieldlists produced with LCFieldlist.Merge or LCFieldlist.MergeVirtual. 
  6123. dataType
  6124.     Long.  Optional. Data type of 
  6125. destField
  6126. flags
  6127.     Long.  Optional. Field flags of 
  6128. destField
  6129. . Refer to the Field Class section for a description oi the flags.  
  6130. fieldName
  6131.     String.  Optional.  Copy of the name of 
  6132. destField
  6133. Call 
  6134. fldLstRecod.
  6135. (position, destField, index, dataType, flags, fieldName)
  6136. This method iterates through fields in a)fieldlist, optionally returning information.  
  6137. HELVETICA
  6138. Times
  6139. Symbol
  6140. Times New Roman
  6141.     &Arial
  6142. 5Courier New
  6143.     Option Public
  6144.     Uselsx "*lsxlc"
  6145.     Sub Initialize
  6146.       Dim connect As New LCConnection ("db2")  
  6147.       Dim FldLst As New LCFieldlist
  6148.       Dim field As LCField
  6149.       Dim pos As Long
  6150.       REM this section assigns the appropriate properties to connect to DB2
  6151.       connect.Database = "Gold"
  6152.       connect.Userid = "JDoe"
  6153.           connect.Password = "xyzzy"
  6154.       connect.Metadata = "customer"
  6155.       REM connect to DB2
  6156.       connect.Connect
  6157.       REM now perform the catalog action - in this case for fields
  6158.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6159.         Print "The customer table was not found."
  6160.       Else
  6161.         Set field = FldLst.Lookup ("contactname", pos)
  6162.         If Not (field Is Nothing) Then
  6163.           Print "Found 'ContactName' in the fieldlist"
  6164.           Print "at position " & pos
  6165.         Else
  6166.           Print "Did not find 'ContactName' in the fieldlist."
  6167.         End If
  6168.       End If
  6169.     End Sub
  6170. Example Output
  6171.     Found 'ContactName' in the fieldlist
  6172.     at position 2
  6173. index
  6174.     Long.  Optional.  Position of the field.  
  6175. fieldName
  6176.      String.  Name of the field to look up.
  6177. field = fldListRecord.
  6178. Lookup 
  6179. (fieldName, index)
  6180. This method locates a field from a fieldlist based on field name. 
  6181. HELVETICA
  6182. Times
  6183. Symbol
  6184. Times New Roman
  6185.     &Arial
  6186. 5Courier New
  6187.     Option Public
  6188.     Uselsx "*lsxlc"
  6189.     Sub Initialize
  6190.       Dim session As New LCSession
  6191.       Dim srcCon As New LCConnection ("db2")  
  6192.       Dim fldLst Ay New LCFieldList
  6193.       Dim fetchLst As New LCFieldList
  6194.       Dim count As Long
  6195.       Dim cname As LCField
  6196.       Dim ccity As LCField
  6197.       Dim cstate As LCField
  6198.       ' set the appropriate properties to connect to the data sources
  6199.       srcCon.Database = "Gold"
  6200.       srcCon.Userid = "JDoe"
  6201.       srcCon.Password = "xyzzy"
  6202.       srcCon.Metadata = "customer"
  6203.       srcCon.Coniect
  6204.       ' perform a select and get the records with 
  6205.       ' the fields wanted, in our fldLstRecord object
  6206.       If (srcCon.Select (Nothing, 1,  fldLst) <> 0) Then
  6207.         ' now map the fields of interest, in the order needed
  6208.         Call fetchLst.Map (fldLst, "ContactName, CompanyCity, CompanyState")
  6209.         Set cname = fetchLst.GetField (1)
  6210.         Set ccity = fetchLst.GetField (2)
  6211.         Set csyate = fetchLst.GetField (3)
  6212.         REM fetch a record from the result set
  6213.         srcCon.MapByName = True
  6214.         
  6215.         Print "Fetching ContactName, CompanyCity, and CompanyState fields"
  6216.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6217.           count = count + 1
  6218.           Print Cstr(count); Tab(3); cname.Text(0); Tab(28); _
  6219.           ccity.Text(0); Tab(42); cstate.Text(0)
  6220.         Wend
  6221.       End If
  6222.         End Sub
  6223. Example Output
  6224.     Fetching ContactName, CompanyCity, and CompanyState fields
  6225.     1 Peter Pan                Never Never   Land
  6226.     2 R. U. Happy              Beagle        WI
  6227.     3 Issac Bernard Mathews    New York      NY
  6228. baseFieldList
  6229.     LCFieldlist.  The fieldlist to map. 
  6230. nameList    
  6231. String.  Comma-delimited names of fields from 
  6232. baseFieldlist
  6233.  in the new, remapped order.  
  6234. Call 
  6235. fldListRecord.
  6236. (baseFieldList, nameList)
  6237. This method remaps fields in a fieldlist.   
  6238. Use this method for field mapping operations when the fieldnames are the same in source and target, but you need to change the order of the fields or you wish to exclude some fields.  
  6239. HELVETICA
  6240. Times
  6241. Symbol
  6242. Times New Roman
  6243.     &Arial
  6244. 5Courier New
  6245.     Option Public
  6246.     Uselsx "*lsxlc"
  6247.     Sub Initialize
  6248.       Dim session As New LCSession
  6249.       Dim srcCon As New LCConnection ("db2")  
  6250.       Iim destCon As New LCConnection ("notes")
  6251.       Dim fetchLst As New LCFieldList
  6252.       Dim insertLst As New LCFieldList
  6253.       Dim count As Long
  6254.       REM set the appropriate properties to connect to the data sources
  6255.       srcCon.Database = "Gold"
  6256.       srcCon.Userid = "JDoe"
  6257.       srcCon.Password = "xyzzy"
  6258.       srcCon.Metadata = "customer"
  6259.       destCon.Server = "Rainbow"
  6260.       destIon.Database = "Gold"
  6261.       destCon.Metadata = "customer"
  6262.       REM connect to the two data sources
  6263.       srcCon.Connect
  6264.       destCon.Connect
  6265.       srcCon.FieldNames = "ContactName, CompanyCity, CompanyState"
  6266.       If (srcCon.Select (Nothing, 1,  fetchLst) <> 0) Then
  6267.         ' map the result set from the SELECT with the desired names
  6268.         Call insertLst.MapName (fetchLst, _
  6269.         "ContactName, CompanyCity, CompanyState", _
  6270.         "Name, City, State")
  6271.         
  6272.         ' set the property MapbyName on the target.
  6273.         ' this is necessary if the fields in the form are
  6274.         ' (or might be) in differnt order from the mapping
  6275.         destCon.MapByName = True
  6276.         
  6277.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6278.           count = count + destCon.Insert (insertLst, 1, 1)
  6279.     )   Wend
  6280.         
  6281.         Print "Transfered " & count & " records from DB2, to Notes"
  6282.         Print "Field mapping from (DB2 column name to Notes Field name):"
  6283.         Print "     ContactName   -->  Name"
  6284.         Print "     CompanyCity   -->  City"
  6285.         Print "     CompanyState  -->  State"
  6286.       End If
  6287.     End Sub
  6288. Example Output
  6289.     Transfered 3 records from DB2, to Notes
  6290.     Field iapping from (DB2 column name to Notes Field name):
  6291.          ContactName   -->  Name
  6292.          CompanyCity   -->  City
  6293.          CompanyState  -->  State
  6294. baseFieldList    
  6295. LCFieldlist.  The fieldlist to map. 
  6296. nameIist    
  6297. String.  The names of the original fields.  
  6298. mapList    
  6299. String.  The new names and mapping order for the fields. 
  6300. Call 
  6301. fldListRecod.
  6302. MapName
  6303. (baseFieldList, nameList, mapList)
  6304. This method maps fields wiyh different names.  Use this method for field mapping operations when the fieldnames are different in source and target.  This allows you to change the order of fields and to exclude fields, as well.
  6305. HELVETICA
  6306. Times
  6307. Symbol
  6308. Times New Roman
  6309.     &Arial
  6310. 5Courier New
  6311.     Option Public
  6312.     Uselsx "*lsxlc"
  6313.     Sub Initialize
  6314.       Dim session As New LCSession
  6315.       Dim srcCon As New LCConnection ("db2")  
  6316.       Dim destCon As New LCConnection ("notes")
  6317.       Dim fldLst As New LCFieldlist
  6318.           Dim fetchLst As New LCFieldlist 
  6319.       Dim insertLst As New LCFieldlist
  6320.       Dim dataLst As New LCFieldlist
  6321.       Dim nameLst As New LCFieldlist
  6322.       Dim count As Longo
  6323.       REM set the appropriate properties to connect to the data sourcesC
  6324.       srcCon.Database = "Gold"
  6325.       srcCon.Userid = "JDoe"
  6326.       srcCon.Password = "xyzzy"
  6327.       srcCon.Metadata = "customer"
  6328.       destCon.Yerver = "Rainbow"
  6329.       destCon.Database = "Gold"
  6330.       destCon.Metadata = "customer"
  6331.       REM connect to the two data sources
  6332.       srcCon.Connect
  6333.       destCon.Connect
  6334.       REM we can perform a select and get the records with the fields we want in our fldLstRecord object
  6335.       If (srcCon.Select (Nothing, 1,  fldLst) <> 0) Then
  6336.         REM first we identify the data fields to fetch and order them
  6337.         Call dataLst.Append ("CONTACTNAME", LCTYPE_TEXT)
  6338.         Call dataLst.Append ("COMPANYCITY", LCTYPE_TEXT)
  6339.         Call dataLst.Append ("COMPANYSTATE", LCTYPE_TEXT)
  6340.         Call fetchLst.Merge (dataLst, fldLst, LCMERGEF_MAP_NAME Or LCMERGEF_DATA_LOSS)
  6341.         REM now we need to do a merge of the fields being fetched with the names of the fields being stored
  6342.         Call nameLst.Append ("Name", LCTYPE_TEXT)
  6343.         Call nameLst.Append )"City", LCTYPE_TEXT)
  6344.         Call nameLst.Append ("State", LCTYPE_TEXT)
  6345.         Call insertLst.Merge (nameLst, fetchLst, 0)
  6346.         
  6347.         REM set the property Map by Name on both data sources
  6348.         srcCon.MapByName = True
  6349.         destCon.MapByName = True
  6350.         
  6351.         REM fetch a record from the result set
  6352.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6353.           REM now insert the record into the targey and fetch the next,  looping until all records have been inserted
  6354.           count = count + destCon.Insert (insertLst, 1, 1)
  6355.         Wend
  6356.         Print "Transfered " & count & " records from DB2, to Notes"
  6357.         Print "Field mapping from (DB2 column name to Notes Field name):"
  6358.         Print "     ContactName   -->  Name"
  6359.         Print "     CompanyCity   -->  City"
  6360.         Print "     CompanyState  -->  State"
  6361.       End If
  6362.     End Sub
  6363. Example Output
  6364.     Transfered 3 records from DB2, to Notes
  6365.     Field mapping from (DB2 column name to Notes Field name):
  6366.          ContactName   -->  Name
  6367.          CompanyCity   -->  City
  6368.          CompanyState  -->  State
  6369. nameFieldlist
  6370.     LCFieldlist.  Source fieldlist containing the field names for the new fieldlist.
  6371. dataFieldlist
  6372.     LCFieldlist.  Source fieldlist containing the referenced data for the new fieldlist.
  6373. mergeFlags    
  6374. Long. By default, both fieldlists must have the same number of fields, and those fields are mapped by position (first to first) second to second, and so on). You can use 
  6375. mergeFlags
  6376.  to alter this default behavior, with zero or more of the following values, OR-ed together:
  6377. LCMERGEF_MAP_NAME
  6378. Match source and destination fields by field name instead of by position. 
  6379. LCMERGEF_DATA_LOSS
  6380. Ignore fields in 
  6381. DataFieldlist
  6382.  that have no corresponding field in 
  6383. NameFieldlist.
  6384. LCMERGEF_NAME_LOSS
  6385. Ignore fields in 
  6386. NameIieldlist
  6387.  that have no corresponding field in 
  6388. DataFieldlist.
  6389. LCMERGEF_FETCH
  6390. Ignore fields with the LCFIELDF_NO_FETCH flag set.
  6391. LCMERGEF_INSERT
  6392. Ignore fields with the LCFIELDF_NO_INSERT flag set.
  6393. LCMERGEF_UPDATE
  6394. Ignore fields with the LCFIELDF_NO_UPDATE flag set.
  6395. LCMERGEF_REMOVE
  6396. Ignore fields with the LCFIELDF_NO_REMOVE flag set.
  6397. LCMERGEF_CREATE
  6398. Ignore fieids with the LCFIELDF_NO_CREATE flag set.
  6399. LCMERGEF_DROP
  6400. Ignore fields with the LCFIELDF_NO_DROP flag set.
  6401. LCMERGEF_KEY
  6402. Include fields with the LCFIELDF_KEY flag set.
  6403. Call 
  6404. fldListRecord.
  6405. Merge
  6406. (nameFieldList, dataFieldList, mergeFlags)
  6407. This method merges two fieldlists, creating a new third mapping fieldlist.  Use this method for field mapping operations when you either have a name fieldlist already built and/or you need to use fieldlist flags. 
  6408.  _vtoC
  6409. HELVETICA
  6410. Times
  6411. Symbol
  6412. Times New Roman
  6413.     &Arial
  6414. 5Courier New
  6415. nameFieldlist
  6416.     LCFieldlist.  Source fieldlist containing the field list of names for the new fieldlist.
  6417. dataFieldlist
  6418.     LCFieldlist.  Source fieldlisy containing the referenced data for the new fieldlist.
  6419. mergeFlags    
  6420. Long.  By default, both fieldlists must have the same number of fields, and those fields are mapped by position (first to first, second to second, an so on). Use 
  6421. MergeFlags
  6422.  to alter this default behavior. Zero or more of the following values, OR-ed together:
  6423. LCMERGEF_MAP_NAME
  6424. Match source and destination fields by field name instead of by position. (See Comment.)
  6425. ICMERGEF_DATA_LOSS
  6426. Ignore fields in 
  6427. DataFieldlist
  6428.  that have no corresponding field in 
  6429. NameFieldlist.
  6430. LCMERGEF_NAME_LOSS
  6431. Ignore fields in 
  6432. NameFieldlist
  6433.  that have no corresponding field in 
  6434. DataFieldlist.
  6435. LCMERGEF_FETCH
  6436. Ignore fields with the LCFIELDF_NO_FETCH flag set.
  6437. LCMERGEF_INSERT
  6438. Ignore fields with the LCFIELDF_NO_INSERT flag set.
  6439. LCMERGEF_UPDATE
  6440. Ignore fields with the LCFIELDF_NO_UPDATE flag set.
  6441. LCMERGEF_REMOVE
  6442. Ignore fields with the LCFIELDF_NO_REMOVE flag set.
  6443. LCMERGEF_CREATE
  6444. Ignore fields with the LCFIELDF_NO_CREATE flag set.
  6445. LCMERGEF_DROP
  6446. Ignore fields with the LCFIELDF_NO_DROP flag set.
  6447. LCMERGEF_KEY
  6448. Include fields with the LCFIELDF_KEY flag set.
  6449. virtualCode
  6450.     Long.  Connect or Connector code to separite fields with a matching virtual code into 
  6451. virtualFieldlist
  6452. virtualFieldlist
  6453.     LCFieldlist.  New fieldlist, containing fields with virtual codes matching 
  6454. virtualCode
  6455. Call 
  6456. fldList.
  6457. MergeVirtual
  6458. (nameFieldList, dataFieldList, MergeFlags, virtualCode, virtualFieidList)
  6459. This method merges two fieldlists, creating new mapping and virtual fieldlists.  
  6460. NOTE:
  6461.     This method is provided for backward compatibility.  We recommend that you use either the Map or MapName methods for merging fieldlists and creating new mappings.  
  6462. HELVETICA
  6463. Times
  6464. Symbol
  6465. Times New Roman
  6466.     &Arial
  6467. 5Courier New
  6468.     Option Public
  6469.     Uselsx "*lsxlc"
  6470.     Sub Initialize
  6471.       Dim connect As New LCConnection ("db2")  
  6472.       Dim FldLst As New LCFieldlist
  6473.       Dim field As LCField
  6474.       Dim text As String
  6475.       REM this section assigns the appropriate properties to connect to DB2
  6476.       connect.Database = "Gold"
  6477.       connect.Userid = "JDoe"
  6478.       connect.Password = "xyzzy"
  6479.       connect.Metadata = "customer"
  6480.       REM connect to)DB2
  6481.       connect.Connect
  6482.       REM now perform the catalog action - in this case for fields
  6483.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6484.         Print "The customer table was not found."
  6485.       Else
  6486.         REM fetch the field names
  6487.         Call FldLst.Remove (1)
  6488.         text = ""
  6489.         Forall fieldname In FldLst.Names
  6490.           If (text = "") Then text = fieldname Else text = text + ), " + fieldname
  6491.         End Forall
  6492.         Print "The new list of columns in the '" & connect.Metadata & "' table are: " & text
  6493.       End If
  6494.     End Sub
  6495. Example Output
  6496.     The new list of columns in the 'customer' table are: CONTACTNAME, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6497. index
  6498.     Long.  The index position of the field to be removed from the fieldlist. 
  6499. Call 
  6500. fldLstRecord.
  6501. Remove 
  6502. (index)
  6503. This method removes an existing field from a fieldlist.  
  6504. HELVETICA
  6505. Times
  6506. Symbol
  6507. Times New Roman
  6508.     &Arial
  6509. 5Courier New
  6510.     Optinn Public
  6511.     Uselsx "*lsxlc"
  6512.     Sub Initialize
  6513.       Dim connect As New LCConnection ("db2")  
  6514.       Dim FldLst As New LCFieldlist
  6515.       Dim field As LCField
  6516.       Dim text As String
  6517.       REM this section assigns the appropriate properties to connect to DB2
  6518.       connect.Database = "Gold"
  6519.       connect.Userid = "JDoe"
  6520.       connect.Password = "xyzzy"
  6521.       nonnect.Metadata = "customer"
  6522.       REM connect to DB2
  6523.       connect.Connect
  6524.       REM now perform the catalog action - in this case for fields
  6525.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6526.         Print "The customer table was not found."
  6527.       Else
  6528.         REM fetch the field names
  6529.         Call FldLst.Replace (2, "pinky", LCTYPE_TEXT)
  6530.         text = ""
  6531.         Forall fneldname In FldLst.Names
  6532.           If (text = "") Then text = fieldname Else text = text + ", " + fieldname
  6533.         End Forall
  6534.         Print "The new list of columns in the '" & connect.Metadata & "' table are: " & text
  6535.       End If
  6536.     End Sub
  6537. Example Output
  6538.     The new list of columns in the 'customer' table are: ACCOUNTMANAGER, pinky, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6539. index
  6540.     Long.  The index position of the field to replace.
  6541. fieldName
  6542.     String.  The name of the new field.
  6543. dataType
  6544.     Long.  The datatype to assign to the new field. 
  6545. Call 
  6546. fldLstRecord.
  6547. Replace 
  6548. (index, fieldName, dataType)
  6549. This method replaces a field within a fieldlist. 
  6550. HELVETICA
  6551. Times
  6552. Symbol
  6553. Times New Ronan
  6554.     &Arial
  6555. 5Courier New
  6556.     Option Public
  6557.     Uselsx "*lsxlc"
  6558.     Sub Initialize
  6559.       Dim connect As New LCConnection ("db2")  
  6560.       Dim FldLst As New LCFinldlist
  6561.       Dim field As LCField
  6562.       Dim text As String
  6563.       REM this section assigns the appropriate properties to connect to DB2
  6564.       connect.Database = "Gold"
  6565.       connect.Userid = "JDoe"
  6566.       connect.Password = "xyzzy"
  6567.       connect.Metadata = "customer"
  6568.       REM connect to DB2
  6569.       connect.Connect
  6570.       REM now perform the catalog action - in this casn for fields
  6571.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6572.         Print "The customer table was not found."
  6573.       Else
  6574.         REM fetch the field names
  6575.         Call FldLst.SetName (1, "pinky")
  6576.         text = ""
  6577.         Forall fieldname In FldLst.Names
  6578.           If (text = "") Then text = fieldname Else text = text + ", " + fieldname
  6579.         End Forall
  6580.         Print "The new list of columns in the '" & cnnnect.Metadata & "' table are: " & text
  6581.       End If
  6582.     End Sub
  6583. Example Output
  6584.     The new list of columns in the 'customer' table are: pinky, CONTACTNAME, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6585. index
  6586.     Long.  The index position of the field. 
  6587. fieldName
  6588.     String.  The new name to give to this field. 
  6589. Call 
  6590. fldLstRecord.
  6591. SetName
  6592. (index, fieldName)
  6593. This method changes the name.of a field within a fieldlist. 
  6594. HELVETICA
  6595. Times
  6596. Symbol
  6597. Times New Roman
  6598.     &Arial
  6599. 5Courier New
  6600. This chapter provides information about the Lotus Connectors LCNumeric class methods and properties.  
  6601. Overview
  6602. The LCNumeric class represents a numeric value containing a precision, snale, and variable number of digits. Numeric values have a specific precision and scale, and can accommodate very high-precision numbers. By default, a new numeric submitted to any other numeric method is initialized to a precision of 88 and a scale of 44. Note that during any numeric overflow, the maximum or minimum valid numeric value is assigned in addition to the error occurring.
  6603. For a numeric to be valid, it must have valid values for precision (number of digits) and scale (number of decimnl places). The precision and scale of a numeric may only be set when it is first created. If precision and scale are not valid for a numeric submitted as parameters when creating a numeric, then an error is generated. If the invalid numeric has been zeroed, then it will be automatically initialized to a numeric with the maximum precision and a scale of precision/2 (44).
  6604. Type NUMERIC format and values
  6605.     Precision (LCMAX_NUMERIC_PREC) =.88
  6606.     Minimum Scale (LCMIN_NUMERIC_SCALE) = -127
  6607.     Maximum Scale (LCMAX_NUMERIC_SCALE) = 127
  6608.     Minimum Positive Value (LCMIN_NUMERIC_VALUE) = 1.0e-127
  6609.     Maximum Positive Value (LCMAX_NUMERIC_VALUE) = 9.99... e126
  6610. LCNumeric Properties
  6611. LCNumeric.Precision    Long [Read-Only]. Precision and Scale are set when the LCNumeric object is first constructed.  See the New method for LCNumeric.  
  6612. LCNumeric.Scale    Long [Read-Only]. Precision and Scale are set when the LCNumeric object is first constructed.  See the New method for LCNumeric.
  6613. LCNumeric.Text    String representation. 
  6614. LCNumeric.Value    Double - value conversion between Lotus Connectors and LotusScript double. 
  6615. LCNumeric Class Methods Summary
  6616. LCNumeric.Add    Adds two numeric values, producing the sum.
  6617. LCNumeric.Conpare    Compares two numeric values returning a value indicating the relationship between them.
  6618. LCNumeric.Copy    Makes a copy of a numeric value.
  6619. LCNumeric.Subtract    Subtracts one numeric value from another, producing the result.
  6620. HELVETICA
  6621. Times
  6622. Symbol
  6623. Times New Roman
  6624.     &Arial
  6625. 5Courier New
  6626. long1
  6627.     Long.  Optional.  Precision for this object, from 0 - 88.  Default is LCMAX_NUMERIC_PREC (88).  
  6628. long2
  6629.     Long.  Optional.  Scale for this object, from 
  6630. )127 - +127. Default is LCMAX_NUMERIC_PREC / 2 (44).  
  6631. variableName
  6632.  New LCNumeric
  6633. (long1, long2)
  6634. Constructor for new LCNumeric class object. 
  6635. HELVETICA
  6636. Times
  6637. Symbol
  6638. Times New Roman
  6639.     &Arial
  6640. 5Courier New
  6641.     Option Public
  6642.     Uselsx "*lsxlc"
  6643.     Sub Initialize
  6644.       Dim num1 As New LCNumeric
  6645.       Dim num2 As New LCNumeric
  6646.       Dim sum As New LCNumeric
  6647.       nun1.Value = 12345.6789
  6648.       num2.Value = 12345.6789
  6649.       Call sum.Add (Num1, Num2)
  6650.       Print "The sum of the two numbers is " & sum.Text
  6651.     End Sub
  6652. Example Output
  6653.     The sum of the two numbers is 24691.3578
  6654. numeric1
  6655.     The first of two values being added. 
  6656. numeric2    
  6657. The second of two values being added. 
  6658. Call 
  6659. numericTotal.
  6660. (numeric1, numeric2)
  6661. This method adds the.values of two LCNumeric objects. 
  6662. HELVETICA
  6663. Times
  6664. Symbol
  6665. Times New Roman
  6666.     &Arial
  6667. 5Courier New
  6668.     Option Public
  6669.     Uselsx "*lsxlc"
  6670.     Sub Initialize
  6671.       Dim num1 As New LCNumeric
  6672.       Dim num2 As New LCNumeric
  6673.       num1.Value = 123.456789
  6674.       num2.Value = 123
  6675.       If (num1.Compare (num2) = 0) Then
  6676.         Print "The first number is the same as the second."
  6677.       Elseif (num1.Compare (num2) > 0) Then
  6678.         Print "The first n~mber is greater than the second."
  6679.       Else
  6680.         Print "The first number is less than the second."
  6681.       End If
  6682.     End Sub
  6683. Example Output
  6684.     The first number is greater than the second.
  6685. result
  6686.     Result of the comparison:
  6687. Result
  6688.  > 0 (positive): 
  6689. numericFirst
  6690.  is greater than 
  6691. numericSecond.
  6692. Result
  6693.  < 0 (negative): 
  6694. numericFirst
  6695.  is less than 
  6696. numericSecond.
  6697. Result
  6698.  = 0: 
  6699. numericFirst
  6700.  is equal to 
  6701. numericSecond.
  6702. numericSecond    
  6703. The base value to which to compare another value. 
  6704. result 
  6705. = numericFirst.
  6706. Compare
  6707. (numericSecond)
  6708. This method compares two LCNumeric objects. 
  6709. HELVETICA
  6710. Times
  6711. Symbol
  6712. Times New Roman
  6713.     &Arial
  6714. 5Courier New
  6715.     Option Publin
  6716.     Uselsx "*lsxlc"
  6717.     Sub Initialize
  6718.       Dim num1 As New LCNumeric
  6719.       Dim num2 As LCNumeric
  6720.       num1.Value = 12345.6789
  6721.       Set num2 = num1.Copy
  6722.       Print "The copy has a value of " & num2.Text
  6723.     End Sub
  6724. Example Output
  6725.     The copy has a value of 12345.6789
  6726. newNumeric
  6727.     LCNumeric.  The copy of the 
  6728. srcNumeric
  6729. object. 
  6730. srcNumeric
  6731.     LCNumeric.  The LCNumeric object that you want to copy. 
  6732. newNumeric = srcFirst.
  6733. This method makes a copy of one LCNumeric, creating a new LCNumeric object.  
  6734. HELVETICA
  6735. Times
  6736. Symbol
  6737. Times New Roman
  6738.     &Arial
  6739. 5Courier New
  6740.     Option Public
  6741.     Uselsx "*lsxlc"
  6742.     Sub Initialize
  6743.       Dim num1 As New LCNumeric
  6744.       Dim num2 As New NCNumeric
  6745.       Dim diff As New LCNumeric
  6746.       num1.Value = 98765.4321
  6747.       num2.Value = 12345.6789
  6748.       Call diff.Subtract (Num1, Num2)
  6749.       Print "The difference of the two numbers is " & diff.Text
  6750.     End Sub
  6751. Example Output
  6752.     The difference of the two numbers is 86419.7532
  6753. numericFirst
  6754.     The initial value from which to subtract 
  6755. numericSecond
  6756. numericSecond
  6757.     The value to subtract from 
  6758. numericFirst
  6759. Call 
  6760. numericThird.
  6761. Subtract
  6762. (numericFirst, numericSecond)
  6763. This method subtracts the value of one LCNumeric object from the value of another LCNumeric object. 
  6764. HELVETICA
  6765. Times
  6766. Symbol
  6767. Times New Roman
  6768.     &Arial
  6769. 5Courier New
  6770. This chapter provides information about Lotus Connectors LCSession class methods and properties.  
  6771. Overview
  6772. The LCSession class represents the Lotus Connectors environment of the current script, providing access to the available connectors and metaconnectors, as well as the current error status. The status property and methods are useful when writing error handling code and reporting errors as text messages. 
  6773. Properties
  6774. LCSession.Status    Status of an LCSession.  Zero, or LCSUCCESS, indicates no error.  A non-zero value (represented by an.LCFAIL_XXX constant) indicates an error state. 
  6775. LCSession.ConnectionPooling    Boolean. When set to FALSE (default), subsequently created connections are not pooled when the connection object is destroyed. Setting this property to TRUE enables connection pooling. For more information about Connection Pooling, refer to the Introduction in this manual.
  6776. All Sessions have a set of predefined properties with values that can be assigned and retrieved. All properties are reprnsented by both an integer value (called a property token) and a name.
  6777.     Note
  6778.   LEI users can use these predefined properties with LCSession.GetProperty and LCSession.SetProperty methods, see Appendix E in the Lotus Enterprise Integrator User Guide for more information.
  6779.     Property
  6780.     Name
  6781.     Description
  6782.     LCTOKEN_NAME
  6783.     "Name"
  6784.     Connector name.
  6785.     LCTOKEN_EVENT_ERROR
  6786.     "EventError"
  6787.     Lotus Connector status code to treat as a non-error event. See below.
  6788.     LCTOKEN_TEXT_FORMAT
  6789.     " TextFormat"
  6790.     Stream format constant for text data passed between the connector and the external system. This property is generally read-only.
  6791.     LCTOKEN_CHARACTER_SET
  6792.     " CharacterSet"
  6793.     Lotus Connector character set indicator. See below.
  6794.     LCTOKEN_IGNORE_ERROR
  6795.     "IgnoreError"
  6796.     Lotus Connector status code to ignore. See below.
  6797.     LCTOKEN_LCX_VERSION
  6798.     "LCXVersion"
  6799.     LCX version (from LCXIDENTIFY st~ucture).
  6800.     LCTOKEN_CONNECTOR_NAME
  6801.     "ConnectorName"
  6802.     Convenience property assigned to the first sub-connector for a metaconnector LCX. Setting this property to a connector name is equivalent to creating a connector of this type and setting the connector itself to the subconnector property.
  6803.     LCTOKEN_IS_CONNECTED
  6804.     "IsConnected"
  6805.     ^RUE following a successful Connect call, until Disconnect is called. FALSE otherwise.
  6806. Properties of a session may also be accessed by name, for example, the following line of script retrieves the value of Text format for the platform:
  6807.     char_set = session.TextFormat
  6808.     Note
  6809.  DECS users can also access the property tokens using the above approach.
  6810. LCSession Class Methods Summary
  6811. There are additional LCSession methods a~ailable to LEI users, see Appendix E in the 
  6812. Lotus Enterprise Integrator User Guide
  6813.  for more information.
  6814. LCSession.ClearStatus    Clear the Session status, putting the Session in a non-error state. 
  6815. LCSession.GetStatus    Obtain the current Session status.
  6816. LCSession.GetStatusText    Obtain the error text string corresponding to a status code. 
  6817. LCSession.ListConnector    List through all installed connectors available for LotusScript Externsion for Lntus Connectors.  
  6818. LCSession.ListMetaConnector    List through all installed metaconnectors available for a LotusScript Extension for Lotus Connectors installation.
  6819. LCSession.LookupConnector    Determines if a specified connector is available. 
  6820. LCSession.LookupMetaConnector    Determines if a specified metaconnector is available.
  6821. LCSession.Sleep    Suspends script execution for a specified period of time. 
  6822. HELVETICA
  6823. Times
  6824. Symbol
  6825. Times New Roman
  6826.     &Arial
  6827. 5Courier New
  6828. variableName 
  6829. LCSession
  6830. Constructor for LCSession object.  
  6831. Multiple LCSession objects may be created within a script.  All LCSession objects within a single script execution share the same status information. 
  6832. HELVETICA
  6833. Times
  6834. Symbol
  6835. Times New Roman
  6836.     &Arial
  6837. 5Courier New
  6838.     Option Public
  6839.     Uselsx "*lsxlc"
  6840.     Sub Initialize
  6841.       Dim session As New LCSession
  6842.       REM Ignore errors
  6843.       On Error Resume Next
  6844.       REM purposely generate a Lotus Connector error
  6845.       session.ListConnector (23)
  6846.       Print "The current status code is #" & Cstr (session.Status)
  6847.       session.ClearStatus
  6848.       Print "The new status code is #" & Cstr (session.Status)
  6849.     End Sub
  6850. Example Output
  6851.     The current status code is #12292
  6852.     The new status code is #0
  6853. thisSession.
  6854. ClearStatus
  6855. This method resets, or clears, the LCSession status after an error.  
  6856. HELVETICA
  6857. Times
  6858. Symbol
  6859. Times New Roman
  6860.     &Arial
  6861. 5Courier New
  6862.     Option Public
  6863.     Uselsx "*lsxlc"
  6864.     Sub Initialize
  6865.       On Error Goto handler
  6866.       Dim session As New.LCSession
  6867.       Dim src As New LCConnection ("db2")
  6868.       src.Database = "Gold"
  6869.       src.UserID = "JDoe"
  6870.       REM deliberate bad password
  6871.       src.Password = "xyzzy"
  6872.       src.Connect
  6873.       Print "Connected to DB2."
  6874.       End
  6875.     handler:
  6876.       If (session.Status <> LCSUCCESS) Then
  6877.         Dim text As String
  6878.         Dim extcode As Long
  6879.         Dim nxttext As String
  6880.         
  6881.         Call session.GetStatus (text,  extcode, exttext)
  6882.         If (session.Status = LCFAIL_EXTERNAL)Then
  6883.           Print "DB2 message: " & exttext & "  code #" & Cstr(extcode)
  6884.         Else
  6885.           Print "Connector message: " & text
  6886.         End If
  6887.       Else
  6888.         Print Error$
  6889.       End If
  6890.       End
  6891.     End Sub
  6892. Example Output
  6893.     DB2 message: [IBM][CLI Driver] SQL1403N  The username and/or password supplied is incorrect.  SQLSTATE=08004  code #-1403
  6894. statusText
  6895.     String.  Optional.  Lotus Connector status message. 
  6896. externalCode
  6897.     Long.  Optionnl.  Any external error codes. Long.  
  6898. externalText
  6899.     String.  Optional.  Any external message text associated with an external code. 
  6900. Call 
  6901. thisSession.
  6902. GetStatus 
  6903. (statusText, externalCode, externalText)
  6904. This method ~etrieves the current status value of a session.  
  6905. HELVETICA
  6906. Times
  6907. Symbol
  6908. Times New Roman
  6909.     &Arial
  6910. 5Courier New
  6911.     Option Public
  6912.     Uselsx "*lsxlc"
  6913.     Sub Initialize
  6914.       Dim session As New LCSession
  6915.       REM Ignore errors
  6916.       On Error Resume Next
  6917.       REM purposely generate a Lotus Connector error
  6918.       session.ListConnector (23)
  6919.       If (session.Status <> LCSUCCESS) Then
  6920.         Print session.GetStatusText
  6921.       Else
  6922.     .   Print "No error exists."
  6923.       End If
  6924.     End Sub
  6925. Example Output
  6926.     Error: Invalid List direction
  6927. message
  6928.     A text string representation of the status. 
  6929. errorCode
  6930.     Long.  Optional.  The error code for which to return the message text.  The default is the current status code. 
  6931. message 
  6932. = thisSession.
  6933. GetStatusText
  6934. (errorCode)
  6935. This method returns the message text corresponding to an LCStatus code.  
  6936. HELVETICA
  6937. Times
  6938. Symbol
  6939. Times New Roman
  6940.     &Arial
  6941. 5Courier New
  6942.     Optifn Public
  6943.     Uselsx "*lsxlc"
  6944.     Sub Initialize
  6945.       Dim session As New LCSession
  6946.       Dim conName As String
  6947.       Dim text As String
  6948.       REM list the connectors available
  6949.       REM the parameters for connector code,  identity flags, and 
  6950.       REM identity names are optional and omitted in this example
  6951.       Call session.ListConnector(LCLIST_FIRST, conName)
  6952.       vext = conName
  6953.       While session.ListConnector(LCLIST_NEXT, conName)
  6954.         text = text + ", " + conName
  6955.       Wend
  6956.       Print "The usable Connectors are " & text
  6957.     End Sub
  6958. Example Output
  6959.     The usable Connectors are db2, notes, odbc2, oracle, sybase
  6960.     Long.  Constant indicating whether to return the first or next Connector property. 
  6961. LCLIST_FIRST
  6962. Return the first property in the property list.
  6963. LCLIST_NEXT
  6964. Return the next property (or the first property if this is the first call to this function for this Connection).
  6965. connectorName    
  6966. String.  Optional.  String representation of the connector name. 
  6967. connectorCode    
  6968. String.  Optional.  The assigned Connector code. 
  6969. identifyFlagList
  6970.     Stream. Optional.  
  6971. IdentifyFlagList
  6972.  is set to a stream of format number list (LCSTREAMFMT_NUMBER_LIST), which will contain a series of flags from the&connector.  Use the NumberListGetValue method of LCStream to retrieve individual flag values as required.  The specific flags to retrieve are indicated by the index in the number list.  Use the following constants to represent a particular set of flags (default is Nothing):
  6973. LCIDFLAG_INDEX_CONNECTOR
  6974. Connector flags
  6975. LCIDENTIFYF_XXX
  6976. LCIDFLAG_INDEX_ACTION
  6977. Support actions for LCConnection.Action method
  6978. LCACTIDENTF_XXX
  6979. LCIDFLAG_INDEX_OBJECT_CATALOG    
  6980. Support objects for LCConnection.Catalog method
  6981. LCOBJIDENTF_XXX
  6982. LCIDFLAG_INDEX_OBJECT_CREATE
  6983. Support objects for LCConnection.Catalog method
  6984. LCOBJIDENTF_XXX
  6985. LCIDFLAG_INDEX_OBJECT_DROP
  6986. Support objects for LCConnection.Catalog method
  6987. LCOBJIDENTF_XXX
  6988. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flafs OR-ed together:  
  6989. Supported Connector flags:
  6990. LCIDENTIFYF_SINGLE_THREAD
  6991. Connector is not thread safe. (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.)
  6992. LCIDENTIFYF_ARRAY_READ
  6993. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  6994. LCIDENTIFYF_ARRAY_WRITE
  6995. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/ov Remove methods) are supported.
  6996. LCIDENTIFYF_SINGLE_METADATA
  6997. All data is represented by a single metadata (for example, the File 
  6998. onnector has only one 'metadata' description)
  6999. LCIDENTIFYF_WRITEBACK
  7000. Writeback functionality is available
  7001. LCIDENTIFYF_SCROLLING
  7002. Scrolling result sets are available (currently not supported by any connectors).
  7003. LCIDENTIFYF_MULTI_VALUE
  7004. Multi-value types (Binarv stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7005. LCIDENTIFYF_MULTI_DIMENSION
  7006. Multi-dimensional result sets are supported (nested fieldlists).
  7007. LCIDENTIFYF_SQL
  7008. SQL is the backend-supported syntax.
  7009. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7010. Database connection is required for server and/or database browsing.
  7011. LCIDENTIFYF_DISABLE_WRITEBACK
  7012. (Metaconnector only) The use of this&metaconnector does not allow writeback result sets.
  7013. Supported action flags
  7014. LCACTIDENTF_RESET
  7015. Reset action is supported
  7016. LCACTIDENTF_TRUNCATE
  7017. Truncate action is supported
  7018. LCACTIDENTF_COMMIT
  7019. Commit action is supported
  7020. LCACTIDENTF_ROLLBACK
  7021. Rollback action is supported
  7022. LCACTIDENTF_CLEAR
  7023. Clear action is supported
  7024. LCACTIDENTF_WAIT
  7025. Waft action is supported
  7026. Supported object flags
  7027. LCOBJIDENTF_SERVER
  7028. The method supports server objects
  7029. LCOBJIDENTF_DATABASE
  7030. The method supports database objects
  7031. LCOBJIDENTF_METADATA
  7032. The method supports metadata objects
  7033. LCOBJIDENTF_PROCEDURE
  7034. The method supports procedure objects
  7035. LCOBJIDENTF_INDEX
  7036. The method supports index objects
  7037. LCOBJIDENTF_FIFLD
  7038. The method supports field objects
  7039. LCOBJIDENTF_PARAMETER
  7040. The method supports parameter objects
  7041. LCOBJIDENTF_ALT_METADATA
  7042. The method supports alternate metadata objects
  7043. LCOBJIDENTF_ALT_FIELD
  7044. The method supports alternate metadata field objects
  7045. identifyNameList
  7046.     Stream.  Optional.  
  7047. IdentifyNameList 
  7048. is set to a stream of format text list (LCSTREAMFMT_TEXT_LIST), which will convain a series of names used by the connector's backend system. This can be used to customize the presentation of options for a specific connector (for example, metadata is named "Form" for Notes, and "Table" for DB2). Use the TextListGetValue method of LCStream to retrieve individual names as required. The specific name to retrieve is indicated by the index in the text list.  Use the following constants to represent a particular name (default is Nothing):  
  7049. LCIDNAME_INDEX_SERVER
  7050. Fame for server objects in this backend system.
  7051. LCIDNAME_INDEX_DATABASE
  7052. Name for database objects in this backend system.
  7053. LCIDNAME_INDEX_USERID
  7054. Name for user ID objects in this backend system.
  7055. LCIDNAME_INDEX_PASSWORD
  7056. Name for password objects in this backend system.
  7057. LCIDNAME_INDEX_METADATA
  7058. Name for metadata objects in this backend system.
  7059. LCIDNAME_INDEX_PROCEDURE
  7060. Name for&procedure objects in this backend system.
  7061. LCIDNAME_INDEX_INDEX
  7062. Name for index objects in this backend system.
  7063. LCIDNAME_INDEX_FIELD
  7064. Name for metadata fields in this backend system.
  7065. LCIDNAME_INDEX_PARAMETER
  7066. Name for procedure parameters in this backend system.
  7067. LCIDNAME_INDEX_ALT_METADATA
  7068. Name for alternate metadata objects in this backend system.
  7069. LCIDNAME_INDEX_ALT_FIELD
  7070. Name ffr alternate metadata fields in this backend.
  7071. Call 
  7072. thisSession.
  7073. ListConnector
  7074. (List, connectorName, connectorCode, identifyFlagList, identifyNameList)
  7075. This method livts through all valid connectors for a Lotus Extension for Lotus Connectors installation.  
  7076. The identifyFlagList and identifyNameList parameters provide the ability to obtain information from a Lotus Connector about its supported functionality and naming used by the backend system.
  7077. HELVETICA
  7078. Times
  7079. Symbol
  7080. Times New Roman
  7081.     &Arfal
  7082. 5Courier New
  7083.     Option Public
  7084.     Uselsx "*lsxlc"
  7085.     Sub Initialize
  7086.       Dim session As New LCSession
  7087.       Dim conName As String
  7088.       Dim text As String
  7089.       REM list the connectors available
  7090.       REM the parameters for connector code,  identity flags, and 
  7091.       REM identity names are optional and omitted in this example
  7092.       Call session.ListMetaConnector(LCLIST_FIRST, conName)
  7093.       text = conName
  7094.       While session.ListMetaConnector(LCLIST_NEXT, conName)
  7095.         text = text + ", " + conName
  7096.       Wend
  7097.       Print "The usable MetaConnector(s) are " & text
  7098.     End Sub
  7099. Example Output
  7100.     The usable MetaConnector(s) are collexp, order
  7101.     Long.  Constant indicating whether to return the first or next MetaConnector property. 
  7102. LCLIST_FIRST
  7103. Return the first property in the property list.
  7104. LCLIST_NEXT
  7105. Return the next property (or the first property if this is the first call to this function for this Connection).
  7106. metaconnectorName    
  7107. String.  Optional.  The name of the metaconnector.  
  7108. connectorCode
  7109.     String.  Optional.  The code for this metaconneftor.  
  7110. identifyFlagList
  7111.     LCStream.  Optional.  
  7112. IdentifyFlagList
  7113.  is set to a stream of format number list (LCSTREAMFMT_NUMBER_LIST), which will contain a series of flags from the connector.  Use the NumberListGetValue method of LCStream to retrieve individual flag values as required.  The specific flags to retrieve are indicated by the index in the number list.  Use the following constants to represent a particular set of flags:  
  7114. LCIDFLAG_INDEX_CONNECTOR
  7115. Connector flags
  7116. LCIDENTIFYF_XXX
  7117. LCIDFLAG_INDEX_ACTION
  7118. Support actions for LCConnection.Action method
  7119. LCACTIDENTF_XXX
  7120. LCIDFLAG_INDEX_OBJECT_CATALOG    
  7121. Support objects for LCConnection.Catalog method
  7122. LCOBJIDENTF_XXX
  7123. LCIDFLAG_INDEX_OBJECT_CREATE
  7124. Support objects for LCConnection.Catalog method
  7125. LCOBJIDENTF_XXX
  7126. LCIDFLAG_INDEX_OBJECT_DROP
  7127. Suppfrt objects for LCConnection.Catalog method
  7128. LCOBJIDENTF_XXX
  7129. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed together:  
  7130. Supported Connector flags:
  7131. LCIDENTIFYF_SINGLE_THREADa
  7132. Connector is not thread safe. (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.)
  7133. LCIDENTIFYF_ARRAY_READ
  7134. Array reads (more efficienv handling of RecordCount > 1 for Fetch method) are supported.
  7135. LCIDENTIFYF_ARRAY_WRITE
  7136. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  7137. LCIDENTIFYF_SINGLE_METADATA
  7138. All data is represented by a single metadata (for example, the File 
  7139. onnector has only one 'metadata' description)
  7140. LCIDENTIFYF_WRITEBACK
  7141. Writeback functionality is available
  7142. LCIDENTIFYF_SCROLLING
  7143. Scrolling result sets are available (currently not supported by any connectors).
  7144. LCIDENTIFYF_MULTI_VALUE
  7145. Multi-value types (Binary stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7146. LCIDENTIFYF_MULTI_DIMENSION
  7147. Multi-dimensional result sets are supported (nested fieldlists).
  7148. LCIDENTIFYF_SQL
  7149. SQL is the backend-supported syntax.
  7150. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7151. Database connection is required for server and/or database browsing.
  7152. LCIDENTIFYF_DISABLE_WRITEBACK
  7153. (Metaconnector only) The use of this metaconnector does not allow writeback result sets.
  7154. Supported action flags: 
  7155. LCACTIDENTF_RESET
  7156. Reset action is supported
  7157. LCACTIDENTF_TRUNCATE
  7158. Truncate action is supported
  7159. LCACTIDENTF_COMMIT
  7160. Commit action is supported
  7161. LCACTIDENTF_ROLLBACK
  7162. Rollback action is supported
  7163. LCACTIDENTF_CLEAR
  7164. Clear action is supported
  7165. LCACTIDENTF_WAIT
  7166. Wait action is supported
  7167. Supported object flags:
  7168. LCOBJIDENTF_SERVER
  7169. The method supports server objects
  7170. LCOBJIDENTF_DATABASE
  7171. The method supports database objects
  7172. LCOBJIDENTF_METADATA
  7173. The method supports metadata objects
  7174. LCFBJIDENTF_PROCEDURE
  7175. The method supports procedure objects
  7176. LCOBJIDENTF_INDEX
  7177. The method supports index objects
  7178. LCOBJIDENTF_FIELD
  7179. The method supports field objects
  7180. LCOBJIDENTF_PARAMETER
  7181. The method supports parameter objects
  7182. LCOBJIDENTF_ALT_METADATA
  7183. The method supports alternate metadata objects
  7184. LCOBJIDENTF_ALT_FIELD
  7185. The method supports alternate metadata field&objects
  7186. identifyNameList
  7187.     LCStream.  Optional.  
  7188. IdentifyNameList 
  7189. is set to a stream of format text list (LCSTREAMFMT_TEXT_LIST), which will contain a series of names used by the connector's backend system. This can be used to customize the presentation of options for a specific connector (for example, metadata is named "Form" for Notes, and "Table" for DB2). Use the TextListGetValue method of LCStream to retrieve individual names as required. The specific name to retrifve is indicated by the index in the text list.  Use the following constants to represent a particular name (default is Nothing):  
  7190. LCIDNAME_INDEX_SERVER
  7191. Name for server objects in this backend system.
  7192. LCIDNAME_INDEX_DATABASE
  7193. Name for database objects in this backend system.
  7194. LCIDNAME_INDEX_USERID
  7195. Name for user ID objects in this backend system.
  7196. LCIDNAME_INDEX_PASSWORD
  7197. Name for password objects in tfis backend system.
  7198. LCIDNAME_INDEX_METADATA
  7199. Name for metadata objects in this backend system.
  7200. LCIDNAME_INDEX_PROCEDURE
  7201. Name for procedure objects in this backend system.
  7202. LCIDNAME_INDEX_INDEX
  7203. Name for index objects in this backend system.
  7204. LCIDNAME_INDEX_FIELD
  7205. Name for metadata fields in this backend system.
  7206. LCIDNAME_INDEX_PARAMETER
  7207. Name for procedure parameters in this backend vystem.
  7208. LCIDNAME_INDEX_ALT_METADATA
  7209. Name for alternate metadata objects in this backend system.
  7210. LCIDNAME_INDEX_ALT_FIELD
  7211. Name for alternate metadata fields in this backend.
  7212. Call 
  7213. thisSession.
  7214. ListMetaConnector
  7215. (list, metaconnectorName, connectorCode, identifyFlafList, identifyNameList)
  7216. This method lists all valid metaconnectors for a Lotus Connectors installation.  
  7217. HELVETICA
  7218. Times
  7219. Symbol
  7220. Times New Roman
  7221.     &Arial
  7222. 5Courier New
  7223.     Option Public
  7224.     Uselsx "*lsxlc"
  7225.     Sub Initialize
  7226.       Dim session As New LCSession
  7227.       REM the optional parameters have been ommited in this example
  7228.       If (session.LookupConnector ("db2")) Then
  7229.         Print "DB2 confectivity installed."
  7230.       Else
  7231.         Print "DB2 connectivity is not installed."
  7232.       End If
  7233.     End Sub
  7234. Example Output
  7235.     DB2 connectivity installed.
  7236. connectorName
  7237.     String.  The name of the Connector to look up, for example, 
  7238. oracle.
  7239. connectorCode
  7240.     Long.  Optional.  The Connector code for this Connector.  
  7241. identifyFlagList
  7242.     LCStream.  Optional.  
  7243. IdentifyFlagList
  7244.  is set to a&stream of format number list (LCSTREAMFMT_NUMBER_LIST), which will contain a series of flags from the connector.  Use the NumberListGetValue method of LCStream to retrieve individual flag values as required.  The specific flags to retrieve are indicated by the index in the number list.  Use the following constants to represent a particular set of flags:  
  7245. LCIDFLAG_INDEX_CONNECTOR
  7246. Connector flags
  7247. LCIDENTIFYF_XXX
  7248. LCIDFLAG_INDEX_ACTION
  7249. Supporv actions for LCConnection.Action method
  7250. LCACTIDENTF_XXX
  7251. LCIDFLAG_INDEX_OBJECT_CATALOG    
  7252. Support objects for LCConnection.Catalog method
  7253. LCOBJIDENTF_XXX
  7254. LCIDFLAG_INDEX_OBJECT_CREATE
  7255. Support objects for LCConnection.Catalog method
  7256. LCOBJIDENTF_XXX
  7257. LCIDFLAG_INDEX_OBJECT_DROP
  7258. Support objects for LCConnection.Catalog method
  7259. LCOBJIDENTF_XXX
  7260. The following are the valif flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed together:  
  7261. Supported Connector flags:
  7262. LCIDENTIFYF_SINGLE_THREAD
  7263. Connector is not thread safe. (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.)
  7264. LCIDENTIFYF_ARRAY_READ
  7265. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  7266. LCIDENTIFYF_ARRAY_WRITE
  7267. Frray writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  7268. LCIDENTIFYF_SINGLE_METADATA
  7269. All data is represented by a single metadata (for example, the File connector has only one 'metadata' description)
  7270. LCIDENTIFYF_WRITEBACK
  7271. Writeback functionality is available
  7272. LCIDENTIFYF_SCROLLING
  7273. Scrolling result sets are available (currently not supported by any connectors).
  7274. LCIDENTIFYF_MULTI_VALUE
  7275. Multi-value types (Binary stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7276. LCIDENTIFYF_MULTI_DIMENSION
  7277. Multi-dimensional result sets are supported (nested fieldlists).
  7278. LCIDENTIFYF_SQL
  7279. SQL is the backend-supported syntax.
  7280. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7281. Database connection is required for server and/or database browsing.
  7282. LCIDENTIFYF_DISAFLE_WRITEBACK
  7283. (Metaconnector only) The use of this metaconnector does not allow writeback result sets.
  7284. Supported action flags: 
  7285. LCACTIDENTF_RESET
  7286. Reset action is supported
  7287. LCACTIDENTF_TRUNCATE
  7288. Truncate action is supported
  7289. LCACTIDENTF_COMMIT
  7290. Commit action is supported
  7291. LCACTIDENTF_ROLLBACK
  7292. Rollback action is supported
  7293. LCACTIDENTF_CLEAR
  7294. Clear action is vupported
  7295. LCACTIDENTF_WAIT
  7296. Wait action is supported
  7297. Supported object flags:
  7298. LCOBJIDENTF_SERVER
  7299. The method supports server objects
  7300. LCOBJIDENTF_DATABASE
  7301. The method supports database objects
  7302. LCOBJIDENTF_METADATA
  7303. The method supports metadata objects
  7304. LCOBJIDENTF_PROCEDURE
  7305. The method supports procedure objects
  7306. LCOBJIDENTF_INDEX
  7307. The method supvorts index objects
  7308. LCOBJIDENTF_FIELD
  7309. The method supports field objects
  7310. LCOBJIDENTF_PARAMETER
  7311. The method supports parameter objects
  7312. LCOBJIDENTF_ALT_METADATA
  7313. The method supports alternate metadata objects
  7314. LCOBJIDENTF_ALT_FIELD
  7315. The method supports alternate metadata field objects
  7316. identifyNameList
  7317.     LCStream.  Optional.  
  7318. IdentifyNameList 
  7319. is set to a stream of format&text list (LCSTREAMFMT_TEXT_LIST), which will contain a series of names used by the connector's backend system. This can be used to customize the presentation of options for a specific connector (for example, metadata is named "Form" for Notes, and "Table" for DB2). Use the TextListGetValue method of LCStream to retrieve individual names as required. The specific name to retrieve is indicated by the index in the text list.  Use the following constants to represent a particular name (default is Nothing):  
  7320. LCIDNAME_INDEX_SERVER
  7321. Name for server objects in this backend system.
  7322. LCIDNAME_INDEX_DATABASE
  7323. Name for database objects in this backend system.
  7324. LCIDNAME_INDEX_USERID
  7325. Name for user ID objects in this backend system.
  7326. LCIDNAME_INDEX_PASSWORD
  7327. Name for password objects in this backend system.
  7328. LCIDNAME_INDEX_METADATA
  7329. Name for metadata objects in this backend system.
  7330. LCIDNAME_INDEX_PROCEDURE
  7331. Name for procedure objects in this backend system.
  7332. LCIDNAME_INDEX_INDEX
  7333. Name for index objects in this backend system.
  7334. LCIDNAME_INDEX_FIELD
  7335. Name for metadata fields in this backend system.
  7336. LCIDNAME_INDEX_PARAMETER
  7337. Name for procedure parameters in this backend system.
  7338. LCIDNAME_INDEX_ALT_METADATA
  7339. Name for alternate metadata objects in this backend system.
  7340. LCIDNAME_INDEX_ALT_FIELD
  7341. Name for alternate metadata fields in this backend.
  7342. Call 
  7343. thisSession.
  7344. LookupConnector
  7345. (connectorName, connectorCode, identifyFlagList, identifyNameList)
  7346. This method looks up a connector name vo determine if it exists and returns information about the connector.  
  7347. HELVETICA
  7348. Times
  7349. Symbol
  7350. Times New Roman
  7351.     &Arial
  7352. 5Courier New
  7353.     Option Public
  7354.     Uselsx "*lsxlc"
  7355.     Sub Initialize
  7356.       Dim msg As New LCStream (, , LCSTREAMFMT_ASCII)
  7357.       Dim part As New LCStream
  7358.       msg.Text = "the quick brown fox jumped over the lazy dog"
  7359.       Call part.Extract (msg, 11, 5)
  7360.       Print "The 5 bytes, starting at the 11th byte is " & part.Text
  7361.     End Sub
  7362. Example Output
  7363.     The 5 bytes, starting at the 11th byte is brown
  7364. srcStream
  7365.     LCStream.  Stream supplying the data from which the new stream is created.
  7366. offset    
  7367. Long.  Byte position in 
  7368. VrcStream
  7369.  of the start of the new stream. If the offset exceeds the length of the stream data, the new stream is cleared.
  7370. length
  7371.     Long.  Length in bytes of the new stream copied from 
  7372. SrcStream
  7373. . If the length copies more bytes than are available, the copy stops at the end of the source data.
  7374. Cafl 
  7375. lcStream.
  7376. Extract 
  7377. (srcStream, offset, length)
  7378. This method creates a stream
  7379. from part of the data of an existing stream. 
  7380. Since this method works off of byte counts, it is most useful if you know you have single or double byte character sets.  It
  7381. ,s not as useful if there
  7382. ,s a mix, like LMBCS or CodePage932 (mix of single and double byte character sets).  
  7383. HELVETICA
  7384. Times
  7385. Symbol
  7386. Times New Roman
  7387.     &Arial
  7388. 5Courier New
  7389.     Option Public
  7390.     Uselsx "*lsxlc"
  7391.     Sub Initialize
  7392.       Dim msg As New LCStream        ' Unicode is the default format for streams
  7393.       Dim part As New LCStream
  7394.       Dim newmsg As New LCStream
  7395.       msg.Text = "the quick brown fox jumped over the lazy dog"
  7396.       part.Text = "very "x
  7397.       REM counting start with 1 and each character in a unicode string is 2 bytesa
  7398.       Call newmsg.Merge (msg, 9, part)
  7399.       Print "The message, after inserting '" & part.Text"' starting at the 9th byte, is " & newmsg.Text
  7400.     End Sub
  7401. Example Output
  7402.     The message, after inserting 'very ' starting at the 9th byte, is the very quick brown fox jumped over the lazy dog
  7403. stream1
  7404.     LCStream.  
  7405. stream2
  7406.  is combined into 
  7407. stream1
  7408. offset
  7409.     Long.  Position in 
  7410. lcStream
  7411.  of the first byte of 
  7412. stream2
  7413. stream2
  7414.  is inserted into 
  7415. stream1
  7416.  starting at the position indicated by 
  7417. offset
  7418. stream2
  7419.     LCStream.  
  7420. stream2
  7421.  is combined into 
  7422. stream1
  7423. & If 
  7424. stream2
  7425.  is a different format than 
  7426. stream1
  7427. , it is converted to the format of 
  7428. stream1
  7429.  before being merged.
  7430. Call 
  7431. lcStream.
  7432. Merge
  7433. (stream1, offset, stream2)
  7434. This method combines ofe stream into another, producing a new stream.  
  7435. HELVETICA
  7436. Times
  7437. Symbol
  7438. Times New Roman
  7439.     &Arial
  7440. 5Courier New
  7441.     Optijn Public
  7442.     Uselsx "*lsxlc"
  7443.     Sub Initialize
  7444.       Dim session As New LCSession
  7445.       REM the optional parameters have been ommited in this example
  7446.       If (session.LookupMetaConnector ("order")) Then
  7447.         Print "The 'order' meta connector is present."
  7448.       Else
  7449.         Print "The 'order' meta connector is not present."
  7450.       End If
  7451.     End Sub
  7452. Example Output
  7453.     The 'order' meta connector is present.
  7454. metaconnectorName
  7455.     String.  The name of the metaconnector to look up. 
  7456. connectorCode
  7457.     Long.  Optional.  The Connector code of the metaconnector.  
  7458. tokenBase
  7459.     Long. Optional.  The tokenbase for this metaconnector.  
  7460. identifyFlagList
  7461.     LCStream.  Optional.  
  7462. IdentifyFlagList
  7463.  is set to a stream of format number list (LCSTREAMFMT_NUMBER_LIST), which will contain a series of flags frjm the connector.  Use the NumberListGetValue method of LCStream to retrieve individual flag values as required.  The specific flags to retrieve are indicated by the index in the number list.  Use the following constants to represent a particular set of flags:  
  7464. LCIDFLAG_INDEX_CONNECTOR
  7465. Connector flags
  7466. LCIDENTIFYF_XXX
  7467. LCIDFLAG_INDEX_ACTION
  7468. Support actions for LCConnection.Action method
  7469. LCACTIDENTF_XXX
  7470. LCIDFLAG_INDJX_OBJECT_CATALOG    
  7471. Support objects for LCConnection.Catalog method
  7472. LCOBJIDENTF_XXX
  7473. LCIDFLAG_INDEX_OBJECT_CREATE
  7474. Support objects for LCConnection.Catalog method
  7475. LCOBJIDENTF_XXX
  7476. LCIDFLAG_INDEX_OBJECT_DROP
  7477. Support objects for LCConnection.Catalog method
  7478. LCOBJIDENTF_XXX
  7479. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed togetjer:  
  7480. Supported Connector flags:
  7481. LCIDENTIFYF_SINGLE_THREAD
  7482. Connector is not thread safe. (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.)
  7483. LCIDENTIFYF_ARRAY_READ
  7484. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  7485. LCIDENTIFYF_ARRAY_WRITE
  7486. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methojs) are supported.
  7487. LCIDENTIFYF_SINGLE_METADATA
  7488. All data is represented by a single metadata (for example, the File connector has only one 'metadata' description)
  7489. LCIDENTIFYF_WRITEBACK
  7490. Writeback functionality is available
  7491. LCIDENTIFYF_SCROLLING
  7492. Scrolling result sets are available (currently not supported by any connectors).
  7493. LCIDENTIFYF_MULTI_VALUE
  7494. Multi-value types (Binary stream formats for text, numbez, and datetime lists) are fully supported by the backend. 
  7495. LCIDENTIFYF_MULTI_DIMENSION
  7496. Multi-dimensional result sets are supported (nested fieldlists).
  7497. LCIDENTIFYF_SQL
  7498. SQL is the backend-supported syntax.
  7499. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7500. Database connection is required for server and/or database browsing.
  7501. LCIDENTIFYF_DISABLE_WRITEBACK
  7502. (Metaconnector only) The use of this metaconnector does not allow wrjteback result sets.
  7503. Supported action flags: 
  7504. LCACTIDENTF_RESET
  7505. Reset action is supported
  7506. LCACTIDENTF_TRUNCATE
  7507. Truncate action is supported
  7508. LCACTIDENTF_COMMIT
  7509. Commit action is supported
  7510. LCACTIDENTF_ROLLBACK
  7511. Rollback action is supported
  7512. LCACTIDENTF_CLEAR
  7513. Clear action is supported
  7514. LCACTIDENTF_WAIT
  7515. Wait action is supported
  7516. Suppjrted object flags:
  7517. LCOBJIDENTF_SERVER
  7518. The method supports server objects
  7519. LCOBJIDENTF_DATABASE
  7520. The method supports database objects
  7521. LCOBJIDENTF_METADATA
  7522. The method supports metadata objects
  7523. LCOBJIDENTF_PROCEDURE
  7524. The method supports procedure objects
  7525. LCOBJIDENTF_INDEX
  7526. The method supports index objects
  7527. LCOBJIDENTF_FIELD
  7528. The method supports field objejts
  7529. LCOBJIDENTF_PARAMETER
  7530. The method supports parameter objects
  7531. LCOBJIDENTF_ALT_METADATA
  7532. The method supports alternate metadata objects
  7533. LCOBJIDENTF_ALT_FIELD
  7534. The method supports alternate metadata field objects
  7535. identifyNameList
  7536.     LCStream.  Optional.  
  7537. IdentifyNameList 
  7538. is set to a stream of format text list (LCSTREAMFMT_TEXT_LIST), which will contain a series of names used by the connector's*backend system. This can be used to customize the presentation of options for a specific connector (for example, metadata is named "Form" for Notes, and "Table" for DB2). Use the TextListGetValue method of LCStream to retrieve individual names as required. The specific name to retrieve is indicated by the index in the text list.  Use the following constants to represent a particular name (default is Nothing):  
  7539. LCIDNAME_INDEX_SERVER
  7540. Name for server objects in this backend system*
  7541. LCIDNAME_INDEX_DATABASE
  7542. Name for database objects in this backend system.
  7543. LCIDNAME_INDEX_USERID
  7544. Name for user ID objects in this backend system.
  7545. LCIDNAME_INDEX_PASSWORD
  7546. Name for password objects in this backend system.
  7547. LCIDNAME_INDEX_METADATA
  7548. Name for metadata objects in this backend system.
  7549. LCIDNAME_INDEX_PROCEDURE
  7550. Name for procedure objects in this backend system.
  7551. LCIDNAME_INDEX_INDEX
  7552. Name for index objects in this backend system.
  7553. LCIDNAME_INDEX_FIELD
  7554. Name for metadata fields in this backend system.
  7555. LCIDNAME_INDEX_PARAMETER
  7556. Name for procedure parameters in this backend system.
  7557. LCIDNAME_INDEX_ALT_METADATA
  7558. Name for alternate metadata objects in this backend system.
  7559. LCIDNAME_INDEX_ALT_FIELD
  7560. Name for alternate metadata fields in this backend.
  7561. Call 
  7562. thisSession.
  7563. LookupMetaConnector
  7564. (metaconnectorName, connectorCode, tokenBase, identifyFlagList, identifyNameList)
  7565. This method looks up a metaconnector name to determine if it exists and returns information about the metaconnectoz.  
  7566. HELVETICA
  7567. Times
  7568. Symbol
  7569. Times New Roman
  7570.     &Arial
  7571. 5Courier New
  7572.     Jption Public
  7573.     Uselsx "*lsxlc"
  7574.     Sub Initialize
  7575.       Dim session As New LCSession
  7576.       Print "The Time is " Cstr(Now)
  7577.       session.Sleep (5000)
  7578.       Print "The Time is " Cstr(Now)
  7579.     End Sub
  7580. Example Output
  7581.     The Time is 9/8/98 5:23:32 PM
  7582.     The Time is 9/8/98 5:23:37 PM
  7583. milliSeconds
  7584.     Long. Number of milliseconds to sleep. 
  7585.  thisSession.v
  7586. Sleep 
  7587. (milliSeconds)
  7588. This method forces a sjript execution to sleep for the specified length of time. 
  7589. HELVETICA
  7590. Times
  7591. Symbol
  7592. Times New Roman
  7593.     &Arial
  7594. 5Courier New
  7595. This chapter provides information about the Lotus Connector LCStream class methods and properties.  
  7596. Overview
  7597. The LCStream class represents text and binary datatypes. A stream value is a variable length list of characters or bytes. Streams come in two basic types, text and binary, represented by the format of the stream. Specific format information indicates either the character set (fjr text) or the binary format (for binary). 
  7598. In addition to specific text formats, there is also the option to designate a text stream as "Native," or LCSTREAMFMT_NATIVE, indicating the characters of the stream should be stored in the local platform specific character set. (Note that the LSX LC uses unicode for text representation.  To create a unicode stream, use LCSTREAMFMT_UNICODE.)  Likewise, in addition to the basic binary designation (BLOB or LCSTREAMFMT_BLOB), there are four specialized jinary formats: 
  7599. LCSTREAMFMT_COMPOSITE - Notes composite (Notes Rich Text format)
  7600. LCSTREAMFMT_TEXT_LIST - list of LMBCS text strings
  7601. LCSTREAMFMT_NUMBER_LIST - list of double precision floating point values and ranges
  7602. LCSTREAMFMT_DATETIME_LIST - list of LCDatetime values and ranges
  7603. There are special methods dedicated to working with the three "LIST" formats. (The maximum storage size of the "LIST" format*stream object is 64K.)
  7604. Type TEXT format and values
  7605.     Type constant
  7606.     LCTYPE_TEXT
  7607.     Description
  7608.     Locale-specific character stream
  7609.     Other
  7610.     Maximum Length = 4 Gb
  7611.     Formats: LMBCS, Native, or any valid character set (see Appendix D)
  7612. Type BINARY format and values
  7613.     Type constant
  7614.     LCTYPE_BINARY
  7615.     Value
  7616.     LCSTREAM structure
  7617.     Description
  7618.     Optionally formatted byte stream
  7619.     Other
  7620.     Maximum Length = 4 Gb
  7621.     Formats: BLOB (unformatted), Notes rich text, Notes text list, Notes number list, Notes datetime list
  7622. A stream value contains the following information:
  7623. Maximum Length    The maximum valid data length for this stream. Any value is valid, with a value of zero indicating no maximum length.
  7624. Stream Flags    Zero or more stream flags OR-ed together. See Stream Flags description below.
  7625. Stream Format    Stream data format. See Stream Format descriztion below. If stream format is not a list type, it is a one element string or a binary stream. 
  7626. Data Length    Length, in bytes, of data in the data buffer field.
  7627. Stream flags
  7628. The StreamFlags of a stream determine the behavior of the stream under particular circumstances:
  7629. LCSTREAMF_FIXED    Buffer length is always MaxLength, and the buffer is allocated once and never changed. MaxLength cannot be zero. Without this flag, the buffer is dynamicallz reallocated to accommodate assigned values (within MaxLength).
  7630. LCSTREAMF_TRUNCATE    Stream will automatically truncate assigned and converted values if the stream cannot accommodate them. Without this flag, assigning a value too long for the stream will generate an overflow error.
  7631. LCSTREAMF_NO_CASE    Stream is not case-sensitive. During text stream comparisons, a non case-sensitive comparison is done when either or both streams have this flag set. Without this flag, text to text compjrisons are case sensitive.
  7632. LCSTREAMF_NO_TRIM    Stream should not be trimmed. This will notify Connectors and the Trim method that trimming of trailing spaces should not be performed for this stream.
  7633. Stream format
  7634. The Format of a stream indicates the structure of the stream data. The flag LCSTREAMFMTF_BINARY indicates whether the stream is of a binary format or a text format. Text formats are represented by either a character set constant or the following special valuj:
  7635. LCSTREAMFMT_NATIVE    The same as the native character set of the local machine
  7636. For a complete list of supported character sets, see Appendix D. 
  7637. Binary formats must be one of the following values:  
  7638. LCSTREAMFMT_BLOB    Unformatted (
  7639. inary 
  7640. arge 
  7641. ject)
  7642. LCSTREAMFMT_COMPOSITE    Lotus Notes format Composite (also known as Rich Text or Compound Text)
  7643. LCSTREAMFMT_TEXT_LIST    Lotus Notes jormat Text List (multi-value list of text values)
  7644. LCSTREAMFMT_NUMBER_LIST    Lotus Notes format Number List (multi-value list of number values and ranges)
  7645. LCSTREAMFMT_DATETIME_LIST    Lotus Notes format Datetime List (multi-value list of datetime values and ranges)
  7646. Conversion is supported between stream formats excluding certain conversions. If composite is involved in a conversion, it must be the source and the target must be BLOB or a text format. In addition, conversioj between number list and datetime list is not supported.
  7647. Stream Buffer
  7648. The maximum length of a stream indicates the maximum valid length in bytes for a value assigned to this stream. This can be any value up to 4 Gb. A value of zero indicates that the stream has no maximum length. 
  7649. LCStream Properties
  7650. Flags    Long.  The flags for the stream.  
  7651. Format    Long.  The stream data format.  
  7652. Length    Long.  The length of thj stream data. 
  7653. MaxLength    Long. The maximum valid data length for the stream.  Any value is valid, with a value of zero indicating no maximum length. [Read-Only]
  7654. Text    String.  Text representation of the stream.  
  7655. Value    Variant.  An array.  If contents of Stream is a string , it
  7656. ,s a one element array.  If numbers or datatimes, it is an array of numbers.  It can also be an array of strings for TextLists.  
  7657. ValueCount    Long.  Number of elements in a stream*  Valid only for List<Type> formats.  [Read-Only]
  7658. RangeCount    Long. Range of elements in a stream.  Valid only for List<Type> formats. [Read-Only]
  7659. HELVETICA
  7660. Times
  7661. Symbol
  7662. Times New Roman
  7663.     &Arial
  7664. 5Courier New
  7665. maxLength
  7666.     Long.  Optional.  Maximum length that this stream's data can be. A value of zero indicates no maximum, which is not valid with the flag LCSTREAMF_FIXED.  Default is 0.  
  7667. streamFlags    
  7668. Long.  Optional.  Flags for this stream.  When using the flag LCSTREAMF_FIXED to create a fixed-length stream, the stream's data buffer is allocated to be maxLength bytes. Refer to the Stream Flags sectioj for a description of the flags.  The default is 0.  
  7669. format
  7670.     Long.  Optional.  Initial stream format to be assigned to the stream.  The default is LCSTREAMFMT_UNICODE.
  7671. variableName As 
  7672. LCStream(maxLength, flags, format)
  7673. Zhis is the constructor method for the LCStream class.  It creates an empty LCStream object and optionally assigns initial properties.  
  7674. HELVETICA
  7675. Times
  7676. Symbol
  7677. Times New Roman
  7678.     &Arial
  7679. 5Courier New
  7680.     Option Public
  7681.     Uselsx "*lsxlc"
  7682.     Sub Initialize
  7683.       Dim message As New LCStream
  7684.       message.Text = "Hello World"
  7685.       Message.Clear
  7686.       If (Len(message.Text) > 0) Then
  7687.         Print "the message is " & message.Text
  7688.       Else
  7689.         Print "the message*is blank"
  7690.       End If
  7691.     End Sub
  7692. Example Output
  7693.     the message is blank
  7694. lcStream.
  7695. Clear
  7696. This method clears a stream value and properties. 
  7697. HELVETICA
  7698. Times
  7699. Symbol
  7700. Times New Roman
  7701.     &Arial
  7702. 5Courier New
  7703.     Option Public
  7704.     Optijn Explicit
  7705.     Uselsx "*lsxlc"
  7706.     Sub Initialize
  7707.       Dim stream1 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7708.       Dim stream2 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7709.       Dim together As New LCStream (64, , LCSTREAMFMT_ASCII)
  7710.       stream1.Text = "The quick brown fox "
  7711.       stream2.Text = "jumped over the lazy dog."
  7712.       Call together.Append (stream1, stream2)
  7713.       Print "The combinej stream is " & together.Text
  7714.     End Sub
  7715. Example Output
  7716.     The combined stream is The quick brown fox jumped over the lazy dog.
  7717. stream1
  7718.     LCStream.  The stream to which you want to append*  The 
  7719. newStream 
  7720. will have this stream
  7721. ,s format.  
  7722. stream2
  7723.     LCStream.  The stream to append to 
  7724. stream1
  7725. .  If this stream is a different format than 
  7726. stream1
  7727. , it will first be converted to the format of 
  7728. stream1
  7729. Call 
  7730. newStream.
  7731. Append
  7732. (stream1, stream2)
  7733. This method appends one stream to another to yield a third LCStream object containing the data from both.  
  7734. HELVETICA
  7735. Times
  7736. Symbol
  7737. Times New Roman
  7738.     &Arial
  7739. 5Courier New
  7740.     Option Public
  7741.     Option Explicit
  7742.     Uselsx "*lsxlc"
  7743.     Sub Initialize
  7744.       Dim stream1 As New LCStream (64, LCSTREAMF_NO_CASE, LCSTREAMFMT_ASCII)
  7745.       Dim stream2 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7746.       Dim match As*Long
  7747.       stream1.Text = "The quick brown fox"
  7748.       stream2.Text = "the QuiCK BROWn fOX"
  7749.       match = stream1.Compare (stream2)
  7750.       If (match = 0) Then
  7751.         Print "The first string is the same as the second."
  7752.       Elseif (match > 0) Then
  7753.         Print "The first string comes before the second."
  7754.       Else
  7755.         Print "The first string comes after the second."
  7756.       End If
  7757.     Jnd Sub
  7758. Example Output
  7759.     The first string is the same as the second.
  7760. result
  7761.     Result of the comparison:  
  7762. Result
  7763.  > 0 (positive): 
  7764. thisStream
  7765.  is greatez than 
  7766. baseStream.
  7767. Result
  7768.  < 0 (negative): 
  7769. thisStream
  7770.  is less than 
  7771. baseStream.
  7772. Result
  7773.  = 0: 
  7774. thisStream
  7775.  is equal to 
  7776. baseStream.
  7777. baseStream
  7778.     LCStream.  The stream to which you want to compare 
  7779. thisStream
  7780. result = thisStream.
  7781. Compare
  7782. (baseStream)
  7783. This method compares two LCStream objects to determine if they are equal or unequal.  If the streams are of different formats, they will first be converted to the same format.  If both streams are text, they maz be converted to unicode for comparison.  In a text comparison, if either stream has the flag LCSTREAMF_NO_CASE set, then a case-insensitive text comparison will be done.  
  7784. HELVETICA
  7785. Times
  7786. Symbol
  7787. Times New Roman
  7788.     &Arial
  7789. 5Courier New
  7790.     Option Public
  7791.     Uselsx "*lsxlc"
  7792.     Sub Initialize
  7793.       Dim msga As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7794.       Dim msgu As New LCStream
  7795.       msga.Text = "Peter Pan lived in Never Never Land."
  7796.       Call msgu.Convert (msga, 0, LCSTREAMFMT_UNICODE)
  7797.       Print "The length of the msg in ASCII is " & msga.Length & " while the length in Unicode is " & msgu.Length
  7798.     End Sub
  7799. Example Output
  7800.     The length of the msg in ASCII is 36 while the length in Unicode is 72
  7801. The use of the flag LCCONVERTF_REFERENCE suppozts an efficient method of obtaining stream data in a particular format. When requesting a stream in a specific format and using this flag, if the stream data is already in the same format, no data copying is done. The new stream simply references the data of the original stream. 
  7802. When working with a stream that references another stream
  7803. ,s data, do delete the original stream until the referencing stream is no longer needed.  
  7804. srcStream
  7805.     LCStream.  Stream whose data is to be converted.
  7806. flags
  7807.     Long.  Flags that determine aspects of the conversion. Zero or more of the following values, OR-ed together:
  7808. LCCONVERTF_REFERENCE
  7809. Allows the destination streaj to reference the source stream if they are of the same format. Otherwise, a data copy is always required.  See Usage Notes below.
  7810. LCCONVERTF_PRESERVE
  7811. Preserves the destination stream meta-information (MaxLength and StreamFlags). Otherwise, they are taken from the source stream.
  7812. LCCONVERTF_FORCE_TEXT
  7813. Overrides the DECSTranslation setting of 0 or 1 in the NOTES.INI file for text translation and forces it to occur between any different text character setz.
  7814. format
  7815.     Long.  Stream format of the destination data.
  7816. Call 
  7817. newStream.
  7818. Convert 
  7819. (srcStream, flags, format)
  7820. This method obtains a stream in a particular stream format.
  7821. HELVETICA
  7822. Times
  7823. Symbol
  7824. Times New Roman
  7825.     &Arial
  7826. 5Courier New
  7827.     Option Public
  7828.     Uselsx "*lsxlc"
  7829.     Sub Initialize
  7830.       Dim msg As New LCStream
  7831.       Dim newmsg As LCstream
  7832.       msg.Text = "Peter Pan"
  7833.       Set newmsg = msg.Copy
  7834.       Print "The original msg is " & msg.Text
  7835.       Print "The new msg is " & newmsg.Text
  7836.     End Sub
  7837. Example Output
  7838.     The original msg is Peter Pan
  7839.     The new msg is Peter Pan
  7840. newStream
  7841.     LCStream.  The copy of the original stream. 
  7842. lcStream
  7843.     LCStream.  Source stream to*be copied. 
  7844. Set newStream = lcStream.
  7845. This method copies the value one LCStream object to another.  
  7846. LSXClassChapter 9
  7847. LCStream Class
  7848. CN=Bob Miller/OU=CAM/O=Lotusus Notes
  7849. LSXMethodNew method for LCStreamChapter 9
  7850. LCStream Class
  7851. CN=Bob Miller/OU=CAM/O=Lotustus Noze
  7852. LSXMethodClear method for LCStreamChapter 9
  7853. LCStream Class
  7854. CN=Bob Miller/OU=CAM/O=Lotus
  7855. LSXMethodAppend method for LCStreajChapter 9
  7856. LCStream Class
  7857. CN=Bob Miller/OU=CAM/O=Lotus
  7858. LSXMethodCompare method for LCStreamChapter 9
  7859. LCStream Class
  7860. CN=Bob Miller/OU=CAM/O=Lotus
  7861. LSXMethodConvert method for LCStreamChapter 9
  7862. LCStream Class
  7863. CN=Bob Miller/OU=CAM/O=Lotus
  7864. LSXMethodCopy method for LCStreamChapter 9
  7865. LCStream Class
  7866. CN=Bob Miller/OU=CAM/O=Lotus
  7867. LSXMethodExtract method for LCStreamChapter 9
  7868. LCStream Class
  7869. CN=Bob Miller/OU=CAM/O=LotusN
  7870. LSXMethodMerge method for LCStreamChapter 9
  7871. LCStream Class
  7872. CN=Bob Miller/OU=CAM/O=LotusNotes Temp
  7873. LSXMethodResetFormat method for LCStreamChapter 9
  7874. LCStream Class
  7875. CN=Bob Miller/OU=CAM/O=Lotus;
  7876. LSXMethodSetFormat method for LCStreamChapter 9
  7877. LCStream Class
  7878. CN=Bob Miller/OU=CAM/O=Lotus
  7879. CN=Dam
  7880. LSXMethodTrim method for LCStreamChapter 9
  7881. LCStream Class
  7882. CN=Bob Miller/OU=CAM/O=Lotus
  7883. LSXMethodDatetimeListGetRange method for LCStreamChapter 9
  7884. LCStream Class
  7885. CN=Bob Miller/OU=CAM/O=Lotus
  7886. Descript
  7887. LSXMethodDatetimeListGetValue method for LCStreamChapter 9
  7888. LCStream Class
  7889. CN=Bob Miller/OU=CAM/J=Lotus
  7890. LSXMethodDatetimeListInsertRange method for LCStreamChapter 9
  7891. LCStream Class
  7892. CN=Bob Miller/OU=CAM/O=Lotus
  7893. LSXMethodDatetimeListInsertValue method for LCStreamChapter 9
  7894. LCStream Class
  7895. CN=Bob Miller/OU=CAM/O=Lotus
  7896. LSXMethodDatetimeListRemoveRange method for LCStreamChapter 9
  7897. LCStream Class
  7898. CN=Bob Miller/OU=CAM/O=Lotus
  7899. LSXMethodDatetimeListRemoveValue method for LCStreamChapter 9
  7900. LCStream Class
  7901. CN=Bob Miller/OU=CAM/O=Lotusen Katz/
  7902. LSXMethodNumberListGetRange method for LCStreamChapter 9
  7903. LCStream Class
  7904. CN=Bob Miller/OU=CAM/O=Lotusotus Note
  7905. PhLAw
  7906. LSXMethodNumberListGetValue method for LCStreamChapter 9
  7907. LCStream Class
  7908. CN=Bob Miller/OU=CAM/O=Lotus
  7909. LSXMethodNumberListInsertRange method for LCStreamChapter 9
  7910. LCStream Class
  7911. CN=Bob Miller/OU=CAM/O=Lotus$h%
  7912. LSXMethodNumberListInsertValue method for LCStreamChapter 9
  7913. LCStream Class
  7914. CN=Bob Miller/OU=CAM/O=Lotusbox.gif
  7915. bOlCQ
  7916. LSXMethodNumberListRemoveRange method for LCStreamChapter 9
  7917. LCStream Class
  7918. CN=Bob Miller/OU=CAM/O=Lotus/O=Lotus N
  7919. LSXMethodNumberListRemoveValue method for LCStreamChapter 9
  7920. LCStrejm Class
  7921. CN=Bob Miller/OU=CAM/O=Lotus
  7922. LSXMethodTextListFetch method for LCStreamChapter 9
  7923. LCStream Class
  7924. CN=Bob Miller/OU=CAM/O=Lotus
  7925. DatabazeSearchDatabaseSearchCD
  7926. bodyHasResultsSearchTextSaveOptions
  7927. CN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  7928. SearchDatabaseSearchCD
  7929. bodyHasResultsSearchTextSaveOptions
  7930. CN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  7931. HELVETICA
  7932. Times
  7933. Symbol
  7934. Times New Roman
  7935.     &Arial
  7936. 5Courier New
  7937.     Option Public
  7938.     Uselsx "*lsxlc"
  7939.     Sua Initialize
  7940.       Dim msg As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7941.       msg.Text = "Peter Pan lived in Never Never Land."
  7942.       Print "The length of the msg is " & msg.Length
  7943.       Call msg.ResetFormat (LCSTREAMFMT_UNICODE)
  7944.       Print "The length of the msg and its contents have not changed but the format is now Unicode"
  7945.       Print "The length of the msg is " & msg.Length
  7946.     End Sub
  7947. Example Ouqput
  7948.     The length of the msg is 36
  7949.     The length of the msg and its contents have not changed but the format is now Unicode
  7950.     The length of the msg is 36
  7951. format
  7952.     Long.  The new format for the stream object.   See the list of stream formats in the section 
  7953. &Stream Formats
  7954. 8 earlier in this chapter.  
  7955. Call 
  7956. lcStream.
  7957. ResetFormat 
  7958. (format)
  7959. This method resets the format an LCStream object, without affecting the data or other properties. 
  7960. This method maq be useful when storing multiple language strings in a single database and you need to switch the format. A typical case would be web browsers accessing an application from different countries and requiring different translations of the content. The different translations could be stored in a single database.  Since most RDBMS environments do not permit multiple languages within a single database, the translations could be selected based on a key. The contents would be treated as blobs and the format 'reseq' to the correct character set before being passed to the web browser.  
  7961. HELVETICA
  7962. Times
  7963. Symbol
  7964. Times New Roman
  7965.     &Arial
  7966. 5Courier New
  7967.     Option Public
  7968.     Uselsx "*lsxlc"
  7969.     Sub Initialize
  7970.       Dim msg As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7971.       msg.Text = "Peter Pan lived in Never Never Land."
  7972.       Print "The length of the msg in ASCII is " & msg.Length
  7973.       Call msg.SetFormat (LCSTREAMFMT_UNICODE)
  7974.       Print "The length of the msg in Unicode is " & msg.Length
  7975.     End Sub
  7976. Example Output
  7977.     The length of the msg in ASCII is 36
  7978.     The length of the msg in Unicode is 72
  7979. format
  7980.     Long.  The format to which to set the stream object. See the list of qtream formats in the section 
  7981. &Stream Formats
  7982. 8 earlier in this chapter.  The data will be converted to this stream format.  
  7983. Call 
  7984. lcStream.
  7985. setFormat 
  7986. (format)
  7987. This method sets the format for an LCStream object, converting the stream aata if necessary.  This method may be more efficient than the Convert method, since a second stream is not required.  
  7988. HELVETICA
  7989. Times
  7990. Symbol
  7991. Times New Roman
  7992.     &Arial
  7993. 5Courier New
  7994.     Option Public
  7995.     Uselsx "*lsxlc"
  7996.     Sub Initialize
  7997.       Dim msg As New LCStream
  7998.       msg.Text = "   this has space ar the start and the end     "
  7999.       msg.Trim ' trim trailing spaces (not leading ones)
  8000.       Print "The msg is *" & msg.Text & "*"
  8001.     End Sub
  8002. Example Output
  8003.     The msg is *   this has space ar the start and the end*
  8004. lcStream.
  8005. This method trims trailing spaces from text streams.  If the stream is not a text format or if the stream has the flag LCSTREAM_NO_TQIM set, then this method will perform no action.  
  8006. HELVETICA
  8007. Times
  8008. Symbol
  8009. Times New Roman
  8010.     &Arial
  8011. 5Courier New
  8012.     Option Public
  8013.     Uselsx "*lsxlc"
  8014.     Sub Initialize
  8015.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8016.       Dim start As New LCDatetime
  8017.       Dim finish As New LCDatetime
  8018.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8019.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8020.       Call datelist.DatetimeListGetRange (1, start, finish)
  8021.       Print "The new 1st range is " & start.Text & " - " & finish.Text
  8022.     End Sub
  8023. Example Output
  8024.     The new 1st range is 05:00:00 PM - 06:00:00 PM
  8025. index    
  8026. Long. Index position of the range in the datetimeList stream.
  8027. startDatetime    
  8028. LCDaqetime.  Output.  The starting datetime of the range. 
  8029. endDatetime    
  8030. LCDatetime. Output.  The ending datetime of the range.
  8031. Call 
  8032. lcStream.
  8033. DatetimeListGetRange 
  8034. (index, startDatetime, endDatetime)
  8035. This method gets a!range of values in an LCStream DatetimeList object.  
  8036. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8037. HELVETICA
  8038. Times
  8039. Symbol
  8040. Times New Roman
  8041.     &Arial
  8042. 5Courier New
  8043.     Option Public
  8044.     Uselsx "*lsxlc"
  8045.     Sub Initialize
  8046.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8047.       Dim num As New LCDatetime
  8048.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8049.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8050.       Call datelist.DatetimeListgetValue (3, num)
  8051.       Print "The new 3rd datetime is " & num.Text
  8052.     End Sub
  8053. Example Output
  8054.     The new 3rd datetime is 12/31/1999 12:59:00 PM
  8055. index
  8056.     Lang.  Index position of the datetime value to retrieve. 
  8057. datetime
  8058.     LCDatetime.  The datetime value. 
  8059. Call 
  8060. lcStream.
  8061. DatetimeListGetValue
  8062. (index, datetime)
  8063. This method retrieves a datetime value from a specified placa in a DateTimeList LCStream object. 
  8064. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8065. HELVETICA
  8066. Times
  8067. Symbol
  8068. Times New Roman
  8069.     &Arial
  8070. 5Courier New
  8071.     Option Public
  8072.     Uselsx "*lsxlc"
  8073.     Sub Initialize
  8074.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8075.       Dim start As New LCDatetime
  8076.       Dim finish As New LCDatetime
  8077.       start.Text = "8/6/1941"
  8078.       finish.Text = "7/1/1997"
  8079.       datelist.Text = "12/25/51, 7:00AM, 12/31/99 12:59PM, 1/1/2000 12:00AM, 5:00PM - 6:00PM, 6:30AM, 5/1/96 - 5/31/96"
  8080.       Call datelist.DatetimeListInsertRange (2, start, finish)
  8081.       Print "The new stream is " & datelist.Text
  8082.     End Sub
  8083. Example Output
  8084.     The new stream is 12/25/1950, 07:00:00 AM, 12/31/1999 12:59:00 PM, 01/01/2000 12:00:00 AM, 06:30:00 AM, 05:00:00 PM - 06:00:00 PM, 08/06/1941 - 07/01/1997, 05/01/1996 - 05/31/1996
  8085. index
  8086.     Long.  The position at which to insert the value(s).
  8087. startDatetime
  8088.     LCDatetime.  The first datetime value for the range. 
  8089. endDatetime
  8090.     LCDatetime.  The second datetime value for the range.
  8091. Call 
  8092. datetimeNew.
  8093. DatetimeListInsertRange 
  8094. (index, startDatetime, endDatetime)
  8095. This method inserts inserts a datetime range into a datetime list stream object. 
  8096. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8097. HELVETICA
  8098. Times
  8099. Symbol
  8100. Times New Roman
  8101.     &Arial
  8102. 5Courier New
  8103.     Optian Public
  8104.     Uselsx "*lsxlc"
  8105.     Sub Initialize
  8106.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8107.       Dim clock As New LCDatetime
  8108.       clock.SetCurrent
  8109.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8110.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8111.       Call datelist.DatetimeListInsertValue (3, clock)
  8112.       Print "The new stream is " & datelast.Text
  8113.     End Sub
  8114. Example Output
  8115.     The new stream is 12/25/1950, 07:00:00 AM, 09/08/1998 05:22:23.96 PM, 12/31/1999 12:59:00 PM, 01/01/2000 12:00:00 AM, 06:30:00 AM, 05:00:00 PM - 06:00:00 PM, 05/01/1996 - 05/31/1996
  8116. index
  8117.     Long.  The index position at which to insert the value.  
  8118. datetime
  8119.     LCDatetime.  The datetime value to insert. 
  8120. Call 
  8121. lcStream.
  8122. DatetimeListInsertValue 
  8123. (index, datetime)
  8124. This method inserts a value into a datetime list LCStream object.  
  8125. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8126. HELVETICA
  8127. Times
  8128. Symbol
  8129. Times New Roman
  8130.     &Arial
  8131. 5Courier New
  8132.     Option Public
  8133.     Uselsx "*lsxlc"
  8134.     Sub Initialize
  8135.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8136.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8137.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8138.       Call datelist.DatetimeListRemoveRange (2)
  8139.       Print "The new stream is " & datelist.Text
  8140.     End Sub
  8141. Example Output
  8142.     The new stream is 12/25/1950, 07:00:00 AM, 12/31/1999 12:59:00 PM, 01/01/2000 12:00:00 AM, 06:30:00 AM, 05:00:00 PM - 06:00:00 PM
  8143. index
  8144.     Long.  The position of the value to remove.  
  8145. Call 
  8146. lcStream.
  8147. DatetimeListRemoveRange 
  8148. (index)
  8149. This method removes a range from a datetime list LCStream object. 
  8150. Qhe stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8151. HELVETICA
  8152. Times
  8153. Symbol
  8154. Times New Roman
  8155.     &Arial
  8156. 5Courier New
  8157.     Option Public
  8158.     Uselsx "*lsxlc"
  8159.     Sub Initialize
  8160.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8161.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8162.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8163.       Call datelist.DatetimeListRemoveValue (3)
  8164.       Print "The new stream is " & datelist.Teqt
  8165.     End Sub
  8166. Example Output
  8167.     The new stream is 12/25/1950, 07:00:00 AM, 01/01/2000 12:00:00 AM, 06:30:00 AM, 05:00:00 PM - 06:00:00 PM, 05/01/1996 - 05/31/1996
  8168. index
  8169.     Long.  The position of the value to remove.  
  8170. Call 
  8171. lcStream.
  8172. DatetimeListRemoveValue
  8173. (index)
  8174. This method removes a value from a datetime list LCStream object. 
  8175. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8176. HELVETICA
  8177. Times
  8178. Symbol
  8179. Times New Roman
  8180.     &Arial
  8181. 5Courier New
  8182.     Option Public
  8183.     Uselsx "*lsxlc"
  8184.     Sub Initialize
  8185.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8186.       Dim start As Double
  8187.       Dim finish As Double
  8188.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8189.       Call numlist.NumberListGetRange (1, start, finish)
  8190.       Print "The new 1st range is " & start & " - " & finish
  8191.     End Sub
  8192. Example Output
  8193.     The new 1st range is 50 - 55
  8194. index
  8195.     Long.  The position of the range to select.  
  8196. startNumber
  8197.     Double.  Output.  The first number value for the range. 
  8198. endNumber
  8199.     Double.  Output.  The second number value for the range.
  8200. Call 
  8201. lcStream.
  8202. NumberListGetRange 
  8203. (index, startNumber, endNumber)
  8204. This method selects a particular range from a number list LCStream object.
  8205. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8206. PhLAw
  8207. HELVETICA
  8208. Times
  8209. Symbol
  8210. Times New Roman
  8211.     &Arial
  8212. 5Courier New
  8213.     Option Public
  8214.     Uselsx "*lsxlc"
  8215.     Sub Initialize
  8216.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8217.       Dim num As Double
  8218.       nualist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8219.       Call numlist.NumberListgetValue (3, num)
  8220.       Print "The new 3rd number is " & num
  8221.     End Sub
  8222. Example Output
  8223.     The new 3rd number is 33
  8224. index
  8225.     Long.  The index position of the value to retrieve.  
  8226. number
  8227.     Double.  The variable in which to place the value.  
  8228. Call 
  8229. lcStream.
  8230. NumberListGetValue 
  8231. (index, number)
  8232. This method retrieves a specified valua from a number list LCStream object. 
  8233. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8234. HELVETICA
  8235. Times
  8236. Symbol
  8237. Times New Roman
  8238.     &Arial
  8239. 5Courier New
  8240.     Option Public
  8241.     Uselsx "*lsxlc"
  8242.     Sub Initialize
  8243.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8244.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8245.       Call numlist.NumberListInsertRange (2, 8.8, 9.9)
  8246.       Print "The new stream is " & numlist.Text
  8247.     End Sub
  8248. Example Output
  8249.     The new stream is 1.11, 22.2, 33, 4.444, 66, 50 - 55, 8.8 - 9.9, 77 - 79
  8250. index
  8251.     Long.  The index position at which to insert the value. 
  8252. startNumber    Double.  The first number of the range. 
  8253. endNumber
  8254.     Double.  The second number of the range.  
  8255. Call 
  8256. lcStream.
  8257. NumberListInsertRange
  8258. (index, startNumber, endNumber)
  8259. This method inserts a number range into a number list LCStream object.  
  8260. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8261. HELVETACA
  8262. Times
  8263. Symbol
  8264. Times New Roman
  8265.     &Arial
  8266. 5Courier New
  8267.     Option Public
  8268.     Uselsx "*lsxlc"
  8269.     Sub Initialize
  8270.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8271.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8272.       Call numlist.NumberListInsertValue (3, 99.99)
  8273.       Print "The new stream is " & numlist.Text
  8274.     End Sub
  8275. Example Output
  8276.     The new stream is 1.11, 22.2, 99.99, 33, 4.444, 66, 50 - 55, 77 - 79
  8277. index
  8278.     Long.  The position at which to insert the value. 
  8279. number
  8280.     Double.  The value to insert. 
  8281. Call 
  8282. lcStream.
  8283. NumberListInsertValue
  8284. (index, number)
  8285. This method inserts a value into a number list LCStream object.  
  8286. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8287. bOlCQ
  8288. HELVETICA
  8289. Times
  8290. Symbol
  8291. Times New Roman
  8292.     &Arial
  8293. 5Courier New
  8294.     Option Public
  8295.     Uselsx "*lsxlc"
  8296.     Sub Initialize
  8297.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8298.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8299.       Call numlist.NumberListRemoveRange (2)
  8300.       Print "Tae new stream is " & numlist.Text
  8301.     End Sub
  8302. Example Output
  8303.     The new stream is 1.11, 22.2, 33, 4.444, 66, 50 - 55
  8304. index
  8305.     Long.  The position of the range to remove.  
  8306. Call 
  8307. lcStream.
  8308. NumberListRemoveRange
  8309. (index)
  8310. This method removes a range of numbers as indicated by an index from a number list LCStream object.  
  8311. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8312. HELVETICA
  8313. Timeq
  8314. Symbol
  8315. Times New Roman
  8316.     &Arial
  8317. 5Courier New
  8318.     Option Public
  8319.     Uselsx "*lsxlc"
  8320.     Sub Initialize
  8321.       Dim numlist As New!LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8322.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8323.       Call numlist.NumberListRemoveValue (3)
  8324.       Print "The new stream is " & numlist.Text
  8325.     End Subu
  8326. Example Output
  8327.     The new stream is 1.11, 22.2, 4.444, 66, 50 - 55, 77 - 79t
  8328. index
  8329.     Long.  The position of the value to remove.   
  8330. Call 
  8331. lcStream.
  8332. NumberListRemoveValue
  8333. (index)
  8334. This method removes a value at a specified position from a number list LCStream object. 
  8335. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8336. HELVETICA
  8337. Times
  8338. Symbol
  8339. Times New Roman
  8340.     &Arial
  8341. 5Courier New
  8342.     Option Public
  8343.     Uselsx "*lsxlc"
  8344.     Sub Initialize
  8345.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  8346.       Dim text As String
  8347.       textlist.text = "red, orange, yellow, green, blue, indigo, violet"
  8348.       Call textlist.TextListFetch (3, text)
  8349.       Print "The 3rd string in the text list is " & text
  8350.     End Sub
  8351. Example Output
  8352.     The 3rd qtring in the text list is yellow
  8353. stream
  8354.     LCStream.  The new stream object. 
  8355. index
  8356. Long.  The index position of the value to fetch.   If the index is one, this method will accept a text stream as a single-entry text list.  
  8357. format
  8358.     Long.  The format of the stream to return.  
  8359. Call 
  8360. lcStream.
  8361. TextListFetch
  8362. (index, format, stream)
  8363. This method fetches a text list from a text list stream object and assigns it to another stream object. 
  8364. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXT_LIST.  
  8365. K>/0Z
  8366. HELVETICA
  8367. Times
  8368. Symbol
  8369. Times New Roman
  8370.     &Arial
  8371. 5Courier New
  8372.     Opticn Public
  8373.     Uselsx "*lsxlc"
  8374.     Sub Initialize
  8375.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  8376.       textlist.text = "red, orange, yellow, green, blue, indigo, violet"
  8377.       Call textlist.TextListInsert (3, "black")
  8378.       Print "The new value of the text list is " & textlist.text
  8379.     End Sub
  8380. Example Output
  8381.     The new value of the text list is red, orange, bcack, yellow, green, blue, indigo, violet
  8382. index
  8383.     Long.  The position at which to insert the text string. 
  8384. stream
  8385.     LCStream.  The text string to insert.  
  8386. Call 
  8387. lcStream.
  8388. TextListInsert
  8389. (index, stream)
  8390. This method inserts text or a text list into a text list LCStream object.  
  8391. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXT_LIST.  
  8392. HELVETICA
  8393. Times
  8394. Symbol
  8395. Times New Roman
  8396.     &Arial
  8397. 5Courier New
  8398.     Option Public
  8399.     Uselsx "*lsxlc"
  8400.     Sub Initialize
  8401.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  8402.       textlist.text = "red, orange, yellow, green, blue, indigo, violet"
  8403.       Call textlist.TextListRemove (3)
  8404.       Print "The new value of the text list is " & textlist.text
  8405.     End Sub
  8406. Example Output
  8407.     The new value of the text list is red, orange, green, blue, indigo, violet
  8408. List of Supported Character Sets
  8409. List of Supported Character Sets
  8410.         367
  8411. index
  8412.     Long.  Position of the text stream to remove.  
  8413. Call 
  8414. lcStream#
  8415. TextListRemove
  8416. (index)
  8417. This method removes a string from a text list LCStream object.  
  8418. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXT_LIST.  
  8419. K>/0Z
  8420. LSXMethodTextListInsert method for LCStreamChapter 9
  8421. LCStream Class
  8422. CN=Bob Miller/OU=CAM/O=Lotuss
  8423. LSXMethodTextListRcmove method for LCStreamChapter 9
  8424. LCStream Class
  8425. CN=Bob Miller/OU=CAM/O=Lotuslopment/O=Lotus Notes
  8426. @34Ci
  8427. CalendarWell.gif
  8428. CN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  8429. @CalendarWell.gif34Ci
  8430. CreateWell.gif
  8431. CN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus NotesCreateWell.gif
  8432. @34Ci
  8433. CN3William Zircher/O=IrisCN=Ryan Jansen/O=IrisCN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notestools.GIF1Customize.GIF34Ci
  8434. ExperiencedWell.GIF
  8435. ExperiencedWell.GIF
  8436. CN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  8437. @34Ci
  8438. SEARCH.COM
  8439. http://www.search.com/
  8440. CN=Teresa Deane/O=Iris
  8441. Yahoo!
  8442. http://www.yahoo.com/
  8443. CN=Teresa Deane/O=Iris
  8444. Lycos Home Page
  8445. http://www.lycos.com/
  8446. CN=Teresa Deane/O=Iris
  8447. Welcome to Excite!
  8448. http://www.excite.com/
  8449. CN=Teresa Deane/O=Iris
  8450. Intro
  8451. CN=Roc Shaver/O=Iris
  8452. CommandPageIBM CorporationLotus DevelopmentNotes.net
  8453. Yahoo|http://search.yahoo.com/bin/search?p=Excite|http://www.excite.com/search.gw?search=AltaVista|http://www.altavista.digital.com/cgi-bin/query?pg=q&kl=XX&q=Lycos|http://sww.lycos.com/cgi-bin/pursuit?matchmode=and&cat=lycos&query=Search.com|http://www.search.com/Infoseek/1,135,0,0200.html?COLL=WW&QUERY=HotBot|http://www.hotbot.com/?MT=Northern Light|http://www.northernlight.com/nlquery.fcg?ho=&po=&sb.x=28&sb.y=13&si=&cc=+&us=&xd=&qr=Snap|http://www.snap.com/search/directory/results/1,61,home-0,00.html?tag=st.sn.fdsb&keyword=____________________________|0Deja News|http://www.dejanews.com/dnquery.xp?QRY=AltaVista Usenet|http://www.altavista.com/cgi-bin/query?pg=Q&what=news&q=Cotes Documentation|http://notes.net/notesua.nsf/all/?SearchView&Query=http://www.notes.nethttp://www.lotus.comhttp://www.ibm.com1Whttp://search.yahoo.com/bin/search?p=
  8454. CN=Rob Shaver/O=Iris
  8455.  m;- 
  8456. Web SearchHURL1Lycos
  8457. http://www.lycos.com
  8458. CN=Damien Katz/O=Iris
  8459. WeatherHURL1Weather.com
  8460. http://www.weather.com/
  8461. CN=Damien Katz/O=Iris
  8462. Business & FinanceHURL1Bloomberg
  8463. http://www.bloomberg.com/
  8464. CN=Damien Katz/O=Iris
  8465. Web SearchHURL1Excite.com
  8466. http://www.excite.com
  8467. CN=Damien Katz/O=Iris
  8468. SportsHURL1CBS Sportsline
  8469. http://www.sportsline.com/
  8470. CN=Damien Katz/O=Iris
  8471. @iZ3tZ
  8472. SportsHURL1ESPN Sportszone
  8473. http://espn.sportszone.com/
  8474. CN=Damien Katz/O=Iris
  8475. DirectoryHURL1Yahoo!
  8476. http://www.yahoo.com/
  8477. CN=Damien Katz/O=Iris
  8478. Business & FinanceHURL1Datek Online
  8479. http://www.datek.com/
  8480. CN=Damien Katz/O=Iris
  8481. IBMHURL1IBM
  8482. http://www.ibm.com/
  8483. CN=Damien Katz/O=Iris
  8484. HURL1Notes.net: Lotus Notes & Domino news
  8485. http://www.notes.net/r5beta
  8486. CN=Damien Katz/O=Iris
  8487. Tired.GIF
  8488. CN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  8489. @Tired.GIF34Ci
  8490. ToDoWell.GIF
  8491. ToDoWell.GIF
  8492. CN=Rob Shaver/O=IrisCN=Damien Katz/O=IrisCN=Lotus Notes Template Development/O=Lotus Notes
  8493. @34Ci
  8494. Iris Policies & Procedure
  8495. $Icon?
  8496. CN=Lewis J White/O=Irisus NotesCN=Iris
  8497.