home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 1999 April / APC443.iso / features / grpware / notes / 50lbwic.exe / DATA1.CAB / DECSDocumentation / lsxlc.nsf (.txt) < prev   
Encoding:
Lotus Notes Storage Facility  |  1999-01-29  |  922.5 KB  |  8,944 lines

  1. LSX for Domino Connectors Manual
  2. NotesPump
  3. PH#XH#`
  4. #(H#0
  5. hH#pH#xH#
  6. @H#HH#PH#XH#`H#hH#pH
  7. H# H#(H#0H#8H#@H#HH#PH#XH#`H#hH#pH#t
  8. AFE(PD
  9.  .Cx1
  10. 12/08/98 03:27:03 PM David Mahar/CAM/Lotus deleted Edward Knowlton/CAM/Lotus
  11. 12/08/98 03:26:59 PM David Mahar/CAM/Lotus added [-Default-]
  12. 12/08/98 03:26:52 PM David Mahar/CAM/Lotus updated [LocalDomainServers]
  13. 12/08/98 03:26:47 PM David Mahar/CAM/Lotus added [LocalDomainServers]
  14. 12/08/98 03:26:42 PM David Mahar/CAM/Lotus added LocalDomainServers
  15. 12/08/98 03:26:32 PM David Mahar/CAM/Lotus updated [OtherDomainServers]
  16. 12/08/98 03:26:28 PM David Mahar/CAM/Lotus added [OtherDomainServers]
  17. 12/08/98 03:26:21 PM David Mahar/CAM/Lotus updated -Default-
  18. 12/08/98 03:26:09 PM David Mahar/CAM/Lotus updated OtherDomainServers
  19. 12/08/98 03:26:04 PM David Mahar/CAM/Lotus added OtherDomainServers
  20. 11/25/98 12:43:08 PM Edward Knowlton/CAM/Lotus updated Edward Knowlton/CAM/Lotus
  21. 11/25/98 12:43:08 PM Edward Knowlton/CAM/Lotus added Edward Knowlton/CAM/Lotus
  22. -Default-
  23. OtherDomainServers
  24. [OtherDomainServers]
  25. LocalDomainServers
  26. [LocalDomainServers]
  27. [-Default-]
  28. 4LP)8%yj
  29. JiU@P    
  30. QWpe=
  31. 9eH8    
  32. w|yJV
  33. 4LP)8%yj
  34. JiU@P    
  35. @    #Wj
  36. v.qp3
  37. ;RQ~]
  38. d}NSWg
  39. =~kxWg
  40. zzW7Xg
  41. QVDXg
  42. 3o/*_Xg
  43. <    Fa-
  44. hkc)Cg
  45. ^=!Wg
  46. )WV.$Wg
  47. D:6ps
  48. \=\Wg
  49. }!fWg
  50. 3z    Xg
  51. |*-K4Xg
  52. )e9hXg
  53. ScO'~v
  54. .>>Z@&Yg
  55. CN=Lotus Notes Template Development/O=Lotus Notes
  56. comment
  57. all documents
  58. lsxclass
  59. lsxsection
  60. lsx guide
  61. lsx methods
  62. lsxmethod
  63. CN=Edward Knowlton/OU=CAM/O=LotusCN=David Mahar/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  64. Kmplate De
  65. ;RQ~]
  66. $Modified
  67.     1S2S3S
  68. $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$LANGUAGE
  69. $Flags
  70.     0SL1S4S5S3724
  71. $TITLE
  72. CN=David Mahar/OU=CAM/O=Lotus
  73. ??>>=
  74. 111?>>
  75. 1111>>
  76. 1111?>
  77. 1111?>
  78. 1111?>
  79. 111?>>
  80. CN=Scott-Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=LotusLSX for Domino Connectors Manual
  81. NotesPump
  82. CN=Edward Knowlton/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  83. CN=Scott Prager/MU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  84. Comment
  85. BodySubjectDateComposedFrom
  86. CN=Scott Prager/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  87. LSXClassC
  88. DocumentNumberDescriptionClass
  89. CN=Edward Knowlton/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  90. LSXSectionC
  91. SectionDocumentNumberChapterNumberContents
  92. CN=Edward Knowlton/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  93. LSX Guide
  94. LSXClass
  95. ChapterNumber
  96.     1S3S4S6S8S
  97. LSXClass
  98. LSX Classes
  99. Chapter
  100. Chapter
  101. Chapter
  102. Chapter
  103. AppendixF
  104. Chapter
  105. Chapter
  106.     3S4S6S8S9S11S14S17S18S21S24S25S27S30S33S34S37S40S
  107. LSXSection
  108. Section
  109. Chapter
  110. Section
  111. Class
  112.     3S4S6S7S9S10S12S14S17S18S21S
  113. $14$17DocumentNumberSubject$16$Conflict$REF
  114. LSXSection
  115. LSXClass
  116. Comment
  117.     L1S2S3S4S5S6S7S8S9]10S11S19
  118. $14$17DocumentNumber$16
  119.  $14b
  120. LSXClass
  121. ChapterNumber
  122.     1S3S4S6S8S
  123. $17Section
  124. LSXClass
  125. LSX Classes
  126. Chapter
  127. Chapter
  128. Chapter
  129. Chapter
  130. AppendixF
  131. Chapter
  132. Chapter
  133.     3S4S6S8S9S11S14S17S18S21S24S25S27S30S33S34S37S40SDocumentNumberSubject$16Topic
  134. LSXSection
  135. Section
  136. Chapter
  137. Section
  138. Class
  139.     3S4S6S7S9S10S12S14S17S18S21S
  140. 538Arial
  141. CN=Edward Knowlton/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  142. LSX Methods&
  143. Class
  144.     1S4S
  145. LSXClass
  146.     3S4S6S8S9S11S14S16S17S19S21S
  147. LSXClass
  148. Class Description
  149.     3S4S6S8S9S11S14S16S17S19S21S25S27S
  150. $10Subject$9$7$Conflict$REF
  151. LSXClass
  152. LSXMethod
  153. Comment
  154.     L1S2S3S4S5S6S7S8S9S10S11S1"
  155. $10$9$7
  156.  $10Class(
  157. Class
  158.     1S4S
  159. Subject$9
  160. LSXClass
  161.     3S4S6S8S9S11S14S16S17S19S21S
  162. $7Method
  163. LSXClass
  164. Class Description
  165.     3S4S6S8S9S11S14S16S17S19S21S25S27S
  166. 538Arial
  167. CN=Scott Prager/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  168. ^=!Wg
  169. Character SetsLSXSectionOverview
  170. MN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  171. &Arial
  172. 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. 
  173. O=Lotus Notes
  174. O=Lotus Notes
  175. PURSAFO
  176. |.:#U
  177. O=Lotus Notes
  178. CN=Lotus Notes Template Development/O=Lotus Notes
  179. PURSAFO
  180. $ACLDigest
  181. Times New Roman
  182. About LSX for Domino Connectors Online Manual
  183. $$U$$
  184. $IU$I
  185.  @  @@ @` @
  186. @@ @@@@@`@@
  187. `@ `@@`@``@
  188. copyright
  189. LSX for Domino Connectors
  190.  Online Manual
  191. Lotus Development Corporation, an IBM subsidiary
  192. Copyright
  193. Under the copyright laws, neither the documentation nor the software may be copied, photocopied, reproduced, translated, or reduced to any electroni` medium or machine-readable form, in whole or part, without the prior written consent of Lotus Development Corporation.
  194.  Copyright 1998     Lotus Development Corporation
  195.     55 Cambridge Parkway
  196.     Cambridge, MA 02142
  197. All rights reserved. Printed in the United States.
  198. Trademarks
  199. Lotus and Lotus Notes are registered trademarks, and LotusScript and Lotus NotesView are trademarks of Lotus Development Corporation.
  200. AIX, AS/400, DB2, DPROPR, OS/400, IBM, MVS, and OS/2 are registered trademarks, and DB2/2 and RS/6000 are trademarks of International Business Machines Corporation.
  201. Oracle and SQL*Net are registered trademarks, and Oracle7 and PL/SQL are trademarks of Oracle Corporation.
  202. SYBASE and Transact-SQL are registered trademarks and SQL Server and Open Client are trademarks of Sybase, Inc.
  203. ZMerge is a trademark of Granite Software, Inc.
  204. EDA/SQL and FOCUS are registered trademarks of Information Builders, Inc.
  205. Informix is a registered trademark of Informix Software, Inc.
  206. Novell and NetWare are registered trademarks of Novell, Inc.
  207. INTERSOLV is a registered trademark, and DataDirect is a trademark of INTERSOLV, Inc.
  208. Visigenic is a trademark of Visigenic Software, Inc.
  209. Microsoft and Windows are registered trademarks, and Microsoft Windows NT and ODBC are trademarks of Microsoft Corporation.
  210. Intel is a registered trademark of Intel Corporation.
  211. UNIX is a registered trademark of UNIX Systems Laboratories, Inc.
  212. Hewl`tt-Packard and HP are registered trademarks, and HP-UX is a trademark of Hewlett-Packard Company.
  213. Sun, Solaris, and SunOS are registered trademarks or trademarks of Sun Microsystems.
  214. All SPARC trademarks are trademarks or registered trademarks of SPARC International, Inc.
  215. Alpha, DEC, and Digital are registered trademarks of Digital Equipment Corporation.
  216. Apple and Macintosh are registered trademarkp and System 7 is a trademark of Apple Computer Inc.
  217. All other trademarks are property of their respective owners.
  218. Disclaimer
  219. The information in this database is subject to change and does not represent a commitment on the part of Lotus Development Corporation.
  220. O=Lotus Notes
  221. O=Lotus Notes
  222. PURSAFO
  223. |.:#U
  224. O=Lotus Notes
  225. CN=Lotus Notes Template Development/O=Lotus Notes
  226. PURSAFO
  227. $Info
  228. $Body
  229. Using LSX for LC Online Manual
  230.  @  @@ @` @
  231. @@ @@@@@`@@
  232. `@ `@@`@``@
  233. copyright
  234. LSX for Lotus Connectors
  235.  Online Manual
  236. This database is the online documentation for the LSX for Lotus Connectors.
  237. Full-Text @ndex
  238. 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.
  239. Changing the Information in the Database
  240. To add a comment to the database...
  241. 1) In a view, highlight the item you want to add a comment to.
  242. 2) Pull down the Compose menu.
  243. 3) Choose the "Comment" form. 
  244. O=Lotus Notes
  245. O=Lotus Notes
  246. PURSAFO
  247. |.:#U
  248. O=Lotus Notes
  249. CN=Lotus Notes Template Development/O=Lotus Notes
  250. PURSAFO
  251. tn\21
  252. $Info
  253. $Body
  254. Subject
  255. &Arial
  256. Comment
  257. Comment
  258. Author:
  259. FromAuthor of this document
  260.             
  261. Date Composed:  
  262. DateComposedDate this document was composed
  263. Subject:    
  264. Trimmed
  265. Subject
  266. Trimmed
  267. Trimmed
  268. SubjectEnter an optional word or phrase describing your response.
  269. Your Comment                                                                                      
  270. BodyEnter the text of your response.
  271. O=Lotus Notes
  272. O=Lotus Notes
  273. PURSAFO
  274. |.:#U
  275. O=Lotus Notes
  276. CN=Lotus Notes Template Development/O=Lotus Notes
  277. PURSAFO
  278. ]q4t6]P=B
  279. $TITLE
  280. $Info
  281. $WindowTitle
  282. $$ScriptName
  283. D`teComposed
  284. $Body
  285. Object
  286. &Arial
  287. LSXClass
  288. LotusScript Extension for Domino Connectors
  289. TopicType
  290. Glossary
  291.     0S0E
  292. Class
  293. Description
  294. DocumentNumber
  295. O=Lotus Notes
  296. O=Lotus Notes
  297. PURSAFO
  298. |.:#U
  299. O=Lotus Notes
  300. CN=Lotus Notes Template Development/O=Lotus Notes
  301. PURSAFO
  302. ChapterNumber
  303. $TITLE
  304. $Info
  305. $WindowTitle
  306. $$Script_O
  307. $$ScriptName
  308. DocumentNumber
  309. $Body
  310. Section
  311. Chapter
  312. Section
  313.     1S3S4S6S8S
  314. &Arial
  315. LSXSection
  316. LotusScript Extension for Domino Conenctors
  317. TopicType
  318. Glossary
  319.     0S0E
  320. Section
  321. Chapter
  322. Section
  323.     1S3S4S6S8S
  324. Section
  325. Contents
  326. ChapterNumber
  327. DocumentNumber
  328. O=Lotus Notes
  329. O=Lotus Notes
  330. PURSAFO
  331. |.:#U
  332. O=@otus Notes
  333. CN=Lotus Notes Template Development/O=Lotus Notes
  334. PURSAFO
  335. w    eIx
  336. $TITLE
  337. $Info
  338. $WindowTitle
  339. $$Script_O
  340. $$ScriptName
  341. ChapterNumber
  342. DocumentNumber
  343. $Body
  344. O=Lotus Notes
  345. O=Lotus Notes
  346. PURSAFO
  347. |.:#U
  348. O=Lotus Notes
  349. CN=Lotus Notes Template Development/O=Lotus Notes
  350. PURSAFO
  351. $TITLE
  352. $Index
  353. $Formula
  354. $FormulaClass
  355. $ViewFormat
  356. $Comment
  357. O=Lotus Notes
  358. O=Lotus Notes
  359. PURSAFO
  360. |.:#U
  361. O=Lotus Notes
  362. CN=Lotus Notes Template Development/O=Lotus Notes
  363. PURSAFO
  364. wb\u"?
  365. $TITLE
  366. $Index
  367. $Formula
  368. $FormulaClass
  369. $ViewFormat
  370. $Comment
  371. O=Lotus Notes
  372. O=Lotus Notes
  373. PURSAFO
  374. |.:#U
  375. O=Lotus Notes
  376. CN=Lotus Notes Template Development/O=Lotus Notes
  377. PURSAFO
  378. dkw[b;
  379. b:[%)
  380. $TITLE
  381. $Index
  382. $Formula
  383. $FormulaClass
  384. $ViewFormat
  385. $Comment
  386. &Arial
  387. LSXMethod
  388. LotusScript Extension for Domino Connectors
  389. TopicType
  390. Glossary
  391.     0S0E
  392. Description
  393.     Defined In
  394. Class
  395.     1S4S
  396. DippClass
  397.     Syntax
  398. Syntax
  399. Parameters
  400.     1S2S
  401.     Parameters
  402. Parameters
  403. Returns
  404.     1S2S
  405.     Return Value
  406. Returns
  407. Notes
  408.     1S2S
  409.     Usage Notes
  410. @otes
  411. Example
  412.     1S2S
  413.     Example
  414. Example
  415. Class
  416.     1S4S
  417. Class
  418. DocumentNumber
  419. O=Lotus Notes
  420. O=Lotus Notes
  421. PURSAFO
  422. |.:#U
  423. O=Lotus Notes
  424. CN=Lotus Notes Template Development/O=Lotus Notes
  425. PURSAFO
  426. ChapterNumber
  427. $TITLE
  428. $Info
  429. $WindowTitle
  430. $$Script_O
  431. $$ScriptName
  432. DocumentNumber
  433. $Body
  434. &Arial
  435. This chapter provides an introduction to the LotusScript Extension for Domino Connectors and gives information on the organization of this manual.  
  436. 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 C`nnectors, and describes how the classes might be used to implement a typical application. The documentation assumes a working knowledge of LotusScript, the Notes development environment, and the Notes classes.  For more information on any of these subjects, please refer to the 
  437. Notes Programmer's Guide
  438. &Arial
  439. Phis appendix provides information about error messages. 
  440. Each entry each provides the error code in both hexadecimal and decimal format (hexadecimal is first, decimal second), the LCSTATUS constant (usable from any language), the error text for the message, and then a description of the error. 
  441. 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 squar` brackets, and are included only if the contained parameters have values provided.  
  442. &Arial
  443. Times
  444. LotusFrute
  445. Symbol
  446.     5Courier New
  447. Helvetica
  448. 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.  
  449. Example Error Message
  450. rror: Two Fields cannot have the same name within a Form, Connector 'notes', 
  451.     Method -Create [Metadata]-  (0x80000803)
  452. Error Message Components
  453. Error:
  454. & - This prefix is added to any error. It is not included for 
  455. +events
  456. , (informational messages).  
  457. Two Fields cannot have the same name within a Form
  458. 8 - 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.
  459. Connector 
  460. +Notes
  461. 8 - This is the Connector which generated the error message. This element is only included when the error occurs `nside an LCConnection method - it is skipped otherwise.
  462. Method -Create [Metadata]
  463. 8 - 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 object type (Create, Drop, or Catalog) or action type (Action), the object or action type is included in square brackets for more infor`ation.
  464. (0x80000803)
  465. 8 - 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.
  466. &Arial
  467. Times
  468. LopusFrute
  469. Symbol
  470.     5Courier New
  471. Helvetica
  472.     Option Public
  473.     Uselsx "*lsxlc"
  474.     Sub Initialize
  475.       Dim field As New LCField (LCTYPE_TEXP)
  476.       Dim number As Long
  477.       number = Pi
  478.       Call field.SetInt (1, number)
  479.       Print "The field's value is " & field.text(0)
  480.     End Sub
  481. Example Output
  482.     The field's value is 3
  483. index    
  484. Long. Index identifying phe value that is to be assigned.
  485. srcInt    
  486. Long. Value to be assigned to the field data value.
  487. Call 
  488. thisField.
  489. SetInt 
  490. (index, srcInt)
  491. This method assigns a value to a field of type long.  If the requested data type is differenp from the field data type, conversion is automatically performed.
  492. D\    T<|
  493.  _        `
  494. All Documents
  495. Chapter
  496. AppendixF
  497.     1S3S6S9S11S
  498. LSXSection
  499. Chapter
  500. Class
  501.     3S4S6S8S
  502. LSXSection
  503. Section
  504. Chapter
  505. Section
  506. LSXClass
  507. Class
  508.  Description"
  509.     3S4S6S7S9S10S12S14S17S20S21S23S24S27S29S30S32S36S38S
  510. $17$12DocumentNumberSubject$16$Conflict$REF
  511. $17$12DocumentNumber$16
  512.  $17^
  513. Chapter
  514. AppendixF
  515.     1S3S6S9S11S$12\
  516. LSXSection
  517. Chapter
  518. Class
  519.     3S4S6S8S
  520. DocumentNumberSubject$16Title
  521. LSXSection
  522. Section
  523. Chapter
  524. Section
  525. LSXClass
  526. Class
  527.  Description"
  528.     3S4S6S7S9S10S12S14S17S20S21S23S24S27S29S30S32S36S38S
  529. 538Arial
  530. CN=Scott Prager/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  531. CN=Edw
  532. LSXMethodC    
  533. NameDocumentNumberClassExampleNotesReturnsParametersSyntaxDescription
  534. CN=Edward Knowlton/OU=CAM/O=LotusCN=Lotus Notes Template Development/O=Lotus Notes
  535. IntroductionLSXSectionIntroduction
  536. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  537. LSXSectionIntroductionOverview of the LotusScript Extension for Lotus Domino Connectors
  538. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  539. LSXSectionChapter 1
  540. IntroductionLC LSX Usage Notes
  541. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  542.  Notes Te
  543. Error MessagesLSXSectionOverview
  544. CN=Scott Prager/OU=CAM/O=LottsCN=Edward Knowlton/OU=CAM/O=Lotus
  545. apterNumber
  546. LSXSectionAnatomy of an Error MessageAppendix A
  547. Error Messages
  548. CN=Scott Prager/OU=CAM/O=Lotus
  549. LSXSectionGeneral Errors
  550. Format of General ErrorsAppendix A
  551. Error Messages
  552. CN=Scott Prager/OU=CAM/O=Lotus
  553. Appendix B
  554. Connector Property TokensLSXSectionProperty Tokens
  555. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  556. Appendix C
  557. Connector PropertiesLSXSectionConnector Properties
  558. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  559. Appendix C
  560. Connector PropertiesLSXSectdonNotes Connector Properties
  561. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  562. LSXSectionDB2 Connector PropertiesAppendix C
  563. Connector Properties
  564. CN=Scott Prager/OU=CAM/O=Lotus
  565. LSXSectionEDA/SQL Connector PropertiesAppendix C
  566. Connector Properties
  567. CN=Scott Prager/OU=CAM/O=Lotus
  568. LSXSectionFile System Connector PropertiesAppendix C
  569. Connector Properties
  570. CN=Scott Prager/OU=CAM/O=Lotus
  571. Appendix C
  572. Connector PropertiesLSXSectionODBC Connector Properties
  573. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  574. LSXSectionOracle Cdnnector PropertiesAppendix C
  575. Connector Properties
  576. CN=Scott Prager/OU=CAM/O=LotusO=LotusCN=
  577. LSXSectionSybase Connector PropertiesAppendix C
  578. Connector Properties
  579. CN=Scott Prager/OU=CAM/O=Lotusnnectivity
  580. )WV.$Wg
  581. LSXSectionList of Supported Character SetsAppendix D
  582. Character Sets
  583. CN=Scott Prager/OU=CAM/O=Lotus
  584. LSXClassChapter 2
  585. LCConnection Class
  586. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  587. &Arial
  588. RSymbol
  589. 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 LotusScsipt.  
  590. 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 ssecific system.  
  591. 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. 
  592. This release of the LSX LC supports access to the following Connectors:
  593. DB2/UDB
  594. EDA/SQL
  595. File System
  596. Notes
  597. Oracle
  598. Sybase
  599. It is important to note that the LotusScript Extension for Lotus Domino Connectors may be used alone or in conjunction with the Domino Enterprise Connection Services (DECS). Respectively, these two technologies provide programmatic and declarative access to external data for application development.  
  600. Connectivity Software Requirements
  601. 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 
  602. Lotus Connector Connectivity Guide 
  603. for information about software that may be required in order to access any particular data source.  The 
  604. Lotus Connectors Connectivity Guide
  605.  is provided online in NSF format (LCCON.NSF).  
  606. Registration and Loading of the LSX LC
  607. She LSX LC is registered when the Domino Server is installed.  
  608. You must load the LotusScript Extensions for Lotus Connectors using the 
  609. UseLSX 
  610. &*lsxlc
  611. statement in the script.  
  612. Terms and Concepts
  613. Metadata
  614. This is a generic term referring to 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, 
  615. &Connector Properties
  616. 8, for information specific to each Connector metadata.  
  617. Alternate Metadata
  618. 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, 
  619. &Connector Properties
  620. 8, for information#on whether a specific Connector supports alternate metadata.  
  621. Result Set
  622. 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 dcsired, these methods will build a fieldlist representing the metadata as part of generating the result set.
  623. 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 to 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.  
  624. Writeback Result Set
  625. A Writeback sesult 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.  
  626. Token
  627. A token is ac 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.# 
  628. LSX LC Classes
  629. 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 addition to these 7 classes, there is also an LCSession class.  Each of these classes and their primary usage is described below:  
  630. LCSession
  631. The LCSession class provides error information#useful in error handlers.  It also provides for query and lookup of available Lotus Connectors.  
  632. LCConnection
  633. 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.  
  634. LCFieldlist
  635. The LCFieldlist class is the primary class for manipulating data through a connection.  It binds a group of fields together with names acd an implied order. 
  636. Fieldlists are used primarily for a number of connection operations; result sets and selection criteria, as well as reading and writing data. 
  637. When a result set is generated, and an empty fieldlist was initially passed in, the fieldlist is automatically 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 bsilding the fieldlist before the result set is constructed or by using the FieldNames property of the connection.
  638. 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 the 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.  Shese fields are then given values and, using field flags, may be given conditions such as greater-than, not-equal, etc.  
  639. LCField
  640. 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 any of the four advanced datatypes below, as well as long integer and double precision floating point, and, in some advanced usage, fieldlist or connection.  
  641. LCStream
  642. LCStream is a generac 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.
  643. LCNumeric
  644. The LCNumeric class is a container for very high precision numbers.  
  645. LCCurrency
  646. 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 supsort connections with a dedicated currency.)
  647. LCDatetime
  648. 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.
  649. Working with the LSX
  650. 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 scrist 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: 
  651. 1.    accessing the active Note form
  652. 2.    gathering the input data
  653. 3.    create a connection to the external system
  654. 4.    selecting the data based on the input values
  655. 5.    loading the data from the external system
  656. 6.    storing the results in the active Notes forc
  657. 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 information 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". 
  658. NOTE:
  659.     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 process. 
  660. 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 usec to check variables, simplify string comparison, etc.
  661.     Option Public
  662.     Option Explicit
  663.     Uselsx "*lsxlc"
  664. 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 sriggered 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 handler. The creation of the session object is not necessary for normal error handling. 
  665.     Sub Click (Source as Bstton)
  666.         On Error Goto Handler
  667.         Dim session as New LCSession
  668.         session.ClearStatus
  669. 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..
  670.         Dim wksp As New NotesUIWorkspace
  671.         Dim uidoc As NotesUIDocument
  672.         Set uidoc = wksp.CurrentDocument
  673. 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 
  674. jdoe 
  675. with the password 
  676.         Dim src As New LCConnection ("db2")
  677.         src.Database = "Rainbow"
  678.         src.UserID = "jdoe"
  679.         src.Password = "gold"
  680.         src.Connect
  681. 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 not an issue.  The Select method uses a combination of key names, values, and condition flags to indicate the desired contenss 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.  
  682. For our example, the important data are stored in the "Customer" DB2 table, as indicated by the Metadata 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.)  
  683.         Dim keys As New LCFieldList
  684.         Dim field As LCField
  685.         src.Metadata = "Customer"
  686.         Set field = keys.Append ("Name", LCTYPE_TEXT)
  687.         field.Flags =  LCFIELDF_KEY
  688.         field.Text = uidoc.FieldGetText ("Customer")
  689. 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 specified 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.
  690. 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 fields of interest either by creating the fieldlist prior to the selection or by setting the 'FieldNames' property of the connection.
  691.         src.FieldlNames = "Address, City, State, OfficePhone"
  692. 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 error handling or branching.
  693.         Dim fields As New LCFieldList
  694.         If (src.Select (keys, 1, fields) = 0) Tcen End
  695. 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.  This property is an array of values using the closest available LotusScript datatype to match the LSX LC datatypes. 
  696.         If (src.Fetch (fields) > 0) Then
  697.             Call uidoc.FieldSetText ("Address", fields.Address(0))
  698.             Call uidoc.FieldSetText ("City", fields.City(0))
  699.             Call uidoc.FieldSetText ("State", fields.State(0))
  700.             Call uidoc.FieldSetText ("Phone", fields.OfficePhone(0))
  701.         End If
  702. NOTE:
  703.     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. 
  704.     %REM
  705.         Dim address as LCField
  706.         Dim city as LCField
  707.         Dim state as LCField
  708.         Dim phone as LCField
  709.         Set address = fieldlist.Lookup ("Adcress")
  710.         Set city = fieldlist.Lookup ("City")
  711.         Set state = fieldlist.Lookup ("State")
  712.         Set phone = fieldlist.Lookup ("OfficePhone")
  713.         while (src.Fetch (fields) > 0) Then
  714.             Call uidoc.FieldAppendText ("Address", address.Text(0))
  715.             Call uidoc.FieldAppendText ("City", city.Text(0))
  716.             Call uidoc.FieldAppendText ("State", state.Text(0))
  717.             Call uidoc.FieldAppendText ("Phone", phone.Text(0))    Cnd If
  718.     %END REM
  719. 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.
  720.         uidoc.Refresh
  721.         End
  722. An error handler was designated as the first line of this example. Testing for an LSX error first provides additional information in the case of an object creation error. Without the session object and subsequent tcst 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'".
  723.     Handler:
  724.         If (Session.Status <> LCSUCCESS) Then
  725.             Messagebox Session.GetStatusText, 0, "The following Lotus Connector error has occurred"
  726.         Else
  727.             Messagebox Error$, 0, "The following LotusScript error has occurrec"
  728.         End If
  729.         End
  730.     End Sub
  731. 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.
  732. &Arial
  733. RSymbol
  734. Usc of the 
  735. LotusScript Extension for Domino 
  736. Connectors 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.  
  737. LSX LC Data Types
  738. Standard Data types
  739. Standard data types come in three classes: Number (Int, Cloat, 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).
  740. : A four-byte signed integer. Integers are very efficient, but limited in precision and range. An int is any whole number between -2147483647 and 3147483647 (9 digits of precision).
  741. Float
  742. : 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 any practical value (with an exponential range between 10^308 and 10^-308).
  743. Currency
  744. : An eight-byte integer with four decimal places. Currency provides greater precision than ecther 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
  745. Numeric
  746. : A numeric is larger 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 123, allowing it to express a very large number of values with very high precision.
  747. Datetime
  748. : 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 and DST settings, making them usable in international settings.
  749. : 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.
  750. Binary
  751. : 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 data, 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.
  752. Advanced#Data types
  753. Fieldlist
  754. : 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 data value may in turn contain additional nested fieldlists. Fieldlists are only usable by those back end that support such data structures.
  755. Connection
  756. : A connection supports interactioc 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.
  757. Arrays and Indexes
  758. The default for array indexes in LotusScript is 0 based. For example, elements of an array are specified as Elem(0), Elem(1), Elem(2), etc. There is an option in LotusScript, 
  759. &Option Base n
  760. 8, that makes the default lower bound of an unspecified array something other than 0. LSXs co 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.
  761. Many Lotus Connector class methods operate on multi-value data. Class methods include the 'List' methods of LCStream, the 'Get' and '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.
  762.  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.
  763. It is possible to 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 cxample, 5 long integers may be assigned to an LCField as follows:
  764.     Dim numbers(4) as Long  ' numbers(0, numbers(1), ... numbers(4)
  765.     Dim field as new LCField (LCTYPE_INT, 5)
  766.     field.Value = numbers
  767. Working with Multiple Rows of Data
  768. The Fetch, Insert, Update, Remove methods of a connection use a 
  769. RecordCount
  770.  parameter and may operate on more tcan 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. 
  771. A simple example of different configurations for 
  772. RecordIndex
  773.  and 
  774. RecordCount
  775.  might be as follows:  
  776.     Dim Records as New LCFieldlist (3, LCFIELDF_TRUNC_DATA)
  777.     Call connection.Fetch (Recorcs, 1, 3)    ' fetch three records
  778.     Call connection.Insert (Records, 3, 1)    ' insert them in reverse order
  779.     Call connection.Insert (Records, 2, 1)
  780.     Call connection.Insert (Records, 1, 1)
  781. Note that both parameters for New LCFieldlist are optional and default to 1, and LCFIELDF_TRUNC_PREC, respectively.  Likewise, the 
  782. RecordIndex 
  783. RecordCount
  784.  parameters are optional for Fetch, Insert, Update and Remove, and default to 1 and 1.#Lastly, the 
  785. RecordIndex
  786.  and 
  787. RecordCount
  788. , when added to each other (minus 1) must not exceed the size of the created Fieldlist.
  789. Optional Parameters
  790. Some methods have optional parameters.  Note the LotusScript keyword "Nothing" is used for output 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 wcth only the date portion provided is created using
  791.       Dim Calendar as New LCDatetime (1998, 8, 7)
  792. When optional parameters that occur in the middle are omitted, the commas must remain, as in:
  793.     Call session.GetStatus (ErrorText, , DBError)
  794. Performance
  795. Certain techniques can be used to increase LSX LC code performance.  These techniques are described below.  
  796. Connector Caching
  797. Most connectors are optimized for repected 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 are able to avoid certain steps such as field mapping and type checking.  This optimized functionality is available as follows:  
  798. Select: METADATA property and KeyFieldlist are the same.
  799. Fetch: Result set and DestFieldlist are the same.
  800. Insert: METACATA property and SrcFieldlist are the same.
  801. Update and Remove: WRITEBACK and METADATA properties and SrcFieldlist are the same.
  802. Calls to one type of method generally do not affect others, so the following pseudo-code obtains the optimal use of this caching:  
  803.     Connect to Connection CONN
  804.     Set Metadata
  805.     Generate result set, producing Fieldlist FL
  806.     Loop until done:
  807.     Fetch into FL
  808.     Insert from FL
  809.     Exit
  810. If this were changed to fetch the data and then insert into one of 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.
  811. Tight Loops
  812. Another way to optimize LSX LC code is to sroduce 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 loop 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 inscde the loop. This will remove 10,000 property accesses for the fieldlist.  
  813. NOTES.INI Variables
  814. The following entries may be added to the NOTES.INI file to control aspects of the LSX LC:  
  815. DECSTranslation
  816. : 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 rcquired. There are three valid numeric settings:
  817. 0    Do not perform translation between character sets (except unicode). This is valid when all data being accessed is compatible with the Notes LMBCS character set - primarily ASCII printable characters.
  818. 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 cocpatible character sets.
  819. 2    Always translate between any character sets. This is the default.
  820. DECSCenturyBoundary
  821. : 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: 
  822. 0    Since all values are greater than or equal to zero, always use 1300.
  823. 1-100    If the two-digit year is greater than or equal to this value, use 1900; otherwise use 2000.
  824. 101    Since all values are less than 101, always use 2000.
  825. 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.
  826. DECSNativeText
  827. : This allows the local machine's native character set to be overridden. There are various situations when the native character set is used wishin 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 the 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: 
  828. DECSNativeText=IBMCP932
  829. `M01D
  830. &Arial
  831. Times
  832. LotusFrute
  833. Symbol
  834.     5Courier New
  835. Helvetica
  836. Errors are in the following format:  
  837. Hex Value    Decimal Value    Constant    Text
  838. Description
  839. General Errors
  840. &H101    257    LCFAIL_PROGRAM    Lotus Connector program failure - contact Lotus support
  841. An unexpected internal error has occurred. Collect all information regarding events leading up to this error and contact Lotus technical support.
  842. &H102    258    LCFAIL_MEMORY    Unable to allocate memory
  843. 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.
  844. Connector Errors
  845. &H3001    12289    LCFAIL_UNAVAILABLE    Requested functionality is not available
  846. A request for unsupported functionality was made. This can occur when using a Connector which doesn
  847. ,t support a specific operation (for example, a Connector may not support the Create method), or when an LC API method doesn
  848. ,t support a specific request (see the documentation for the method in question).
  849. &H3002    12290    LCFAIL_END_OF_DATA    The last data value has been retrieved
  850. 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
  851. (). It does not indicate a fatal error, and is usually part of a normal flow of operations.
  852. &H3003    12291    LCFAIL_INVALID_INDEX    Cannot locate list element
  853. 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.
  854. &H3004    12292    LCFAIL_INVALID_LIST        Invalid List direction
  855. 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.
  856. &H3005    12293    LCFAIL_INVALID_CONVERT    Invalid conversion
  857. An unsupported data conversion was attempted. Conversion is valid between members of the same data type 
  858. &class
  859. 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.
  860. &H3006    12294    LCFAIL_INVALID_TEXT_LIST    This operation requires a valid text list
  861. 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.
  862. &H3007    12295    LCFAIL_INVALID_NUMBER_LIST    This operation requires a valid number list
  863. 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.
  864. &H3008    12296    LCFAIL_INVALID_DATETIME_LIST    This operation requires a valid datetime list
  865. 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.
  866. &H3009    12297    LCFAIL_ZERO_INDEX        All index values are one-based - an index of zero is not valid
  867. 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.
  868. &H300A    12298    LCFAIL_ZERO_COUNT        This operation requires a non-zero count
  869. 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.
  870. &H300B    12299    LCFAIL_ZERO_OFFSET        All offset values are one-based - an offset of zero is not valid
  871. 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.
  872. &H300C    12300    LCFAIL_ZERO_FORMAT    This operation requires a non-zero Stream Format
  873. 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.
  874. &H300D    12301    LCFAIL_NULL_BUFFER    A NULL buffer was provided when one was required
  875. A method with a required buffer parameter was provided no value where a valid buffer was required. Check the method documentation for more information.
  876. &H300E    12302    LCFAIL_NULL_RESULT    A return parameter is required, but none was provided
  877. A method with a required output parameter was provided no value where a valid parameter was required. Check the method documentation for more information.
  878. &H300F        12303    LCFAIL_FIXED_LENGTH    A fixed-length stream requires a non-zero length
  879. 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
  880. &H3010        12304    LCFAIL_INVALID_FLAGS    The supplied flags are invalid, possibly due to a conflict
  881. 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.
  882. &H3011        12305    LCFAIL_TEXT_TRANSLATE    Text translation failure
  883. 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.
  884. &H3012        12306    LCFAIL_NULL_FIELDNAME    A NULL field name was provided
  885. 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.
  886. &H3013        12307    LCFAIL_INVALID_FIELDLIST    Invalid fieldlist
  887. 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. 
  888. &H3014        12308    LCFAIL_INVALID_CONNECTION    Invalid connection
  889. 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. 
  890. &H3015        12309    LCFAIL_EMPTY_FIELDLIST    This operation cannot be performed on a fieldlist with no fields
  891. 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.
  892. &H3016        12310    LCFAIL_NAME_FIELDLIST    This operation cannot be performed on a name-only fieldlist
  893. 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.
  894. &H3017        12311    LCFAIL_NATIVE_OVERRIDE    Native text format override supplied is not a valid stream format indicator
  895. 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.
  896. &H3018        12312    LCFAIL_RECORD_INDEX    An invalid fieldlist record index was encountered
  897. 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.
  898. &H3019        12313    LCFAIL_RECORD_COUNT    Request to transfer more records than allocated in fieldlist
  899. 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.
  900. &H301A    12314    LCFAIL_LIST_SETUP        Fieldlist iteration requires initial setup
  901. Listing fieldlist in a fieldlist with LCFieldlist.List requires that LCFieldlist.ListSetup be called first to prepare the iteration.
  902. &H301B    12315    LCFAIL_NO_MERGE_DATA    The data fieldlist in a merge cannot be a name-only fieldlist
  903. 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.
  904. &H301C    12316    LCFAIL_NO_RESULTSET    This operation requires an active result set
  905. 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).
  906. &H301D    12317    LCFAIL_NO_WRITEBACK    This operation requires an active writeback result set
  907. 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 
  908. &Writeback
  909. 8 property set, but without a previous call to a method which produces a writeback result set (such as Execute or Select with the 
  910. &Writeback
  911. 8 property set). If the result set is produced without the writeback property set, then writeback operations are not supported against that result set.
  912. &H301E    12318    LCFAIL_WRITEBACK_COUNT    Writeback operation record counts must be one
  913. When requesting a writeback operation against an LCConnection, only the most recently fetched record is affected, so the record count must be one.
  914. &H301F        12319    LCFAIL_TRANSLATE_INIT    Text translation subsystem initialization failure
  915. 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.
  916. &H3020        12320    LCFAIL_TIMEBOMB    This time-limited version has expired [as of DATE]
  917. 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.
  918. &H3021        12321    LCFAIL_SESSION_NOT_INIT    The Lotus Connector Session must be initialized before performing any operation
  919. The Lotus Connector Session class must be initialized before any other LC objects can be created or methods used.
  920. &H3022        12322    LCFAIL_CONNECTOR_VERSION    Incorrect Connector version
  921. 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.
  922. &H3023        12323    LCFAIL_NOT_CONNECTED    This operation requires a connection to a Connector
  923. 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.
  924. &H3024        12324    LCFAIL_CONNECTED    This operation cannot be performed when there is a valid connection to a Connector
  925. 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.
  926. &H3025        12325    LCFAIL_EXTERNAL    <external error text>
  927. 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.
  928. &H3026        12326    LCFAIL_ACTIVE_SUBCONNECTOR    The sub-Connector of a metaconnector can only be set once
  929. Any subconnector property of a metaconnector can only be set once - any attempt to reset it will generate this error.
  930. &H3027        12327    LCFAIL_TRANSLATE_TABLE    No translation tables are available for the character set
  931. 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.
  932. &H3028        12328    LCFAIL_NO_SCROLL        This operation requires an active scrollable result set
  933. 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 
  934. &Scrolling
  935. 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.
  936. &H3029        12329    LCFAIL_BINARY_FORMAT    This operation requires a non-binary Stream Format
  937. 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.
  938. &H302A    12330    LCFAIL_ASYNC_ACTIVE    Asynchronous operation is still active
  939. 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.
  940. Parameterized Connector Errors
  941. &H3101        12545    LCFAIL_INVALID_METADATA        Metadata object [
  942. +METADATA
  943. ,] does not exist
  944. The value provided for the 
  945. &Metadata
  946. 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.
  947. &H3102        12546    LCFAIL_TYPE_MISMATCH    Type mismatch [for field 
  948. +FIELDNAME
  949. ,] [; Connector: TYPE1] [, External: TYPE2]
  950. Data type mismatch. Implicit data conversion is supported only within a datatype 
  951. &class
  952. 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.
  953. &H3103        12547    LCFAIL_DUPLICATE        Duplicate object [
  954. +NAME
  955. 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.
  956. &H3104        12548    LCFAIL_FIELD_COUNT_MISMATCH    Field count mismatch [; Connector: COUNT1, External: COUNT2]
  957. 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.
  958. &H3105        12549    LCFAIL_KEY_COUNT_MISMATCH    Key count mismatch [; Connector: COUNT1, External: COUNT2]
  959. 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.
  960. &H3106        12550    LCFAIL_STAMPFIELD_TYPE    Timestamp field [
  961. +FIELDNAME
  962. ,]must be type Datetime[; Actual: TYPE]
  963. A timestamp field provided for the 
  964. &StampField
  965. 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.
  966. &H3107        12551    LCFAIL_FIELD_TYPE    Type mismatch for field [
  967. +FIELDNAME
  968. ,] used in this context [; Expected: TYPE1 [, Actual: TYPE2]]
  969. 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.
  970. &H3108        12552    LCFAIL_MERGE_FIELD    Field mapping failed due to a missing field [
  971. +FIELDNAME
  972. 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.
  973. &H3109        12553    LCFAIL_MISSING_PROPERTY    No value supplied for required property [
  974. +PROPERTY
  975. 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 
  976. &Index
  977. 8 is required, and if no value was given, this error would be generated).
  978. &H310A    12554    LCFAIL_PROPERTY_CONFLICT    Conflicting values for properties [
  979. +PROPERTY1
  980. , and 
  981. +PROPERTY2
  982. 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.
  983. &H310B    12555    LCFAIL_INVALID_PROPERTY    Invalid property [
  984. +PROPERTY
  985. 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.
  986. &H310C    12556    LCFAIL_PROPERTY_VALUE    Invalid property value [for property 'PROPERTY
  987. 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.
  988. &H310D    12557    LCFAIL_INVALID_CHARSET    The text format provided [
  989. +CHARSET
  990. ,] is not a valid Lotus Connector character set indicator
  991. An attempt to indicate a character set by it
  992. ,s textual representation failed due to an invalid string. Check the documentation for a list of supported character set strings.
  993. &H310E    12558    LCFAIL_READ_ONLY_PROPERTY    Cannot change the value of read-only property [
  994. +PROPERTY
  995. The indicated property is read-only for this Connector and an attempt to set it
  996. ,s value was made. For example, the 
  997. &TextFormat
  998. 8 property of some Connectors cannot be assigned, so will generate this error on any such attempt.
  999. &H310F        12559    LCFAIL_MISSING_CONNECTORLCX    Cannot load Connector LCX Library [
  1000. +CONNECTOR
  1001. 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)
  1002. &H3110        12560    LCFAIL_INVALID_CONNECTORLCX    Invalid Connector LCX Library [
  1003. +CONNECTOR
  1004. 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.
  1005. Field-Specific Parameterized Connector Errors
  1006. &H3201        12801    LCFAIL_OVERFLOW    Data overflow[in field 
  1007. +FIELDNAME']
  1008. 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 
  1009. &abcdefg
  1010. 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.
  1011. &H3202        12802    LCFAIL_PRECISION_LOSS    Data precision loss [in field 
  1012. +FIELDNAME
  1013. 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.
  1014. &H3203        12803    LCFAIL_INVALID_INT    Invalid integer value [in field 
  1015. +FIELDNAME
  1016. 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.
  1017. &H3204        12804    LCFAIL_INVALID_FLOAT    Invalid float value [in field 
  1018. +FIELDNAME
  1019. 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.
  1020. &H3205        12805    LCFAIL_INVALID_CURRENCY    Invalid currency value [in field 
  1021. +FIELDNAME
  1022. 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.
  1023. &H3206        12806    LCFAIL_INVALID_NUMERIC    Invalid numeric value [in field 
  1024. +FIELDNAME
  1025. 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.
  1026. &H3207    12807    LCFAIL_INVALID_DATETIME    Invalid datetime value [in field 
  1027. +FIELDNAME
  1028. 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.
  1029. &H3208        12808    LCFAIL_INVALID_STREAM    Invalid stream value [in field 
  1030. +FIELDNAME
  1031. 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.
  1032. &H3209    12809    LCFAIL_INVALID_FIELD    Invalid field [
  1033. +FIELDNAME
  1034. 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. 
  1035. &H320A    12810    LCFAIL_INVALID_TYPE    Invalid data type[for field 'FIELDNAME']
  1036. 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.
  1037. &H320B    12811    LCFAIL_INVALID_KEY        Invalid key field [
  1038. +FIELDNAME
  1039. 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.
  1040. &H320C    12812    LCFAIL_DUPLICATE_KEY    Duplicate key field [
  1041. +FIELDNAME
  1042. 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
  1043. ,s place.
  1044. &H320D    12813    LCFAIL_INVALID_STAMPFIELD    Invalid timestamp field [
  1045. +FIELDNAME
  1046. 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.
  1047. &H320E    12814    LCFAIL_INVALID_FIELDNAME    Field name [
  1048. +FIELDNAME
  1049. ,] is not valid in this context
  1050. 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.
  1051. &H320F        12815    LCFAIL_VIRTUAL_FIELD    Unsupported virtual field [
  1052. +FIELDNAME
  1053. 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
  1054. ,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.
  1055. &H3210    12816    LCFAIL_VIRTUAL_VALUE    Invalid data value for virtual field [
  1056. +FIELDNAME
  1057. 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
  1058. ,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..
  1059. &H3211        12817    LCFAIL_INVALID_ORDER    Invalid order field [
  1060. +FIELDNAME
  1061. 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.
  1062. &Arial
  1063. This appendix provides information about the property tokens used in the Lotus Connectors LotusScript Extensions.  
  1064. The following flags can be combined with LCX property tokens. 
  1065. The base value for an LCX property is between 1 and 0xFFFF  
  1066. Predefined Tokens
  1067. LCTOKEN_NAME - Library name for the connector used to create this connection.
  1068. 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 used as a virtual field code to indicate special handling by any connection to this connector.
  1069. 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.
  1070. LCTOKEN_EVENT_ERROR - Error code (LCFAIL_XXX constant) to treat as an event. When this error is generated, it is downgraded to an informational event. Set to LCSUCCESS to clear this property.
  1071. 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_IBMCP932.)
  1072. 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.
  1073. LCTOKEN_LCX_VERSION - Version code for the connector LCX library.
  1074. 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.
  1075. LCTOKEN_SERVER - Server string, used for connectivity.
  1076. LCTOKEN_DATABASE - Database string, used for connectivity.
  1077. LCTOKEN_USERID - Userid string, used for connectivity.
  1078. LCTOKEN_PASSWORD - Password string, used for connectivity. This value is write-only, and cannot be retrieved from a connector once assigned.
  1079. LCTOKEN_METADATA - Metadata object name. Used for reading and writing records, as well as creating, dropping, and cataloging metadata and fields.
  1080. LCTOKEN_INDEX - Index string. Used when an index name is required, sich as when creating or dropping an index.
  1081. LCUOKEN_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.
  1082. LCTOKEN_WRITEBACK - Writeback flag - set to TRUE before calling Execute or Select to produce a writeback result set, and before calling Update or Remove to perform a writeback operation against a writeback result set.
  1083. LCTOKEN_FIELDNAMES - Selection field name list, a text list (or comma or semicolon separate list of field names in a text string) endicating 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.
  1084. 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. 
  1085. LCTOKEN_CONDITION - Condition string in a syntax defined by the connector. This clause will be embedded within a selection or modification stauement for Select, keyed Update, or keyed Remove operations.
  1086. 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 MAXSTAMP property. If BASESTAMP is not set, no minimum will be used. The Select method will determine the current time from the backend server, essign that value to the MAXSTAMP property, and use that datetime as the upper boundary for selection.
  1087. LCTOKEN_BASESTAMP - Base timestamp value for timestamp selection - see STAMPFIELD property. 
  1088. LCTOKEN_MAXSTAMP - Maximum timestamp value for timestamp selection - see the STAMPFIELD property.  This property is set by the Connector during Select operations when the STAMPFIELD property is set.
  1089. LCTOKEN_TEXT_FORMAT - See CHARACTER_SET property - this property is the numerie constant assigned to the particular character set. 
  1090. LCTOKEN_PROCEDURE - Procedure name to execute for the Call method.
  1091. LCTOKEN_OWNER - Owner name string to restrict Catalog method calls (excluding server and database catalogs) to only objects owned by this owner.
  1092. LCTOKEN_SCROLLABLE - Whether to produce a scrollable result set. This property is not supported by any connectors at this time.
  1093. Connector Identification Property Tokens
  1094. LCTOKEN_IDFLAG_ACTION - Action flags 
  1095. LCTOKEN_IDFLAG_CONNECTOR - General flags 
  1096. LCTOKEN_IDFLAG_OBJECT_CATALOG - Catalog flags 
  1097. LCTOKEN_IDFLAG_OBJECT_CREATE - Create flags 
  1098. LCTOKEN_IDFLAG_OBJECT_DROP - Drop flags 
  1099. LCTOKEN_IDNAME_SERVER - Name for server objects in this backend system.
  1100. LCTOKEN_IDNAME_DATABASE - Name for database objects in this backend system.
  1101. LCTOKEN_IDNAME_USERID - Name for user ID objects in uhis backend system.
  1102. LCTOKEN_IDNAME_PASSWORD - Name for password objects in this backend system.
  1103. LCTOKEN_IDNAME_METADATA - Name for metadata objects in this backend system.
  1104. LCTOKEN_IDNAME_FIELD - Name for metadata fields in this backend system.
  1105. LCTOKEN_IDNAME_ALT_METADATA - Name for alternate metadata objects in this backend system.
  1106. LCTOKEN_IDNAME_ALT_FIELD - Name for alternate metadata fields in this backend.
  1107. LCTOKEN_IDNAME_PUOCEDURE - Name for procedure objects in this backend system.
  1108. LCTOKEN_IDNAME_INDEX - Name for index objects in this backend system.
  1109. LCTOKEN_IDNAME_PARAMETER - Name for procedure parameters in this backend system.
  1110. &Arial
  1111. The table below describes the items included in the uables of Connector properties. 
  1112. Description
  1113.     Token
  1114.     Property token. A name indicates tee 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.
  1115.     Name
  1116.     The property name. This is the dynamic property added through the LSX LC.
  1117.     Type
  1118.     The data type of the property:  
  1119.     Boolean
  1120.       Considered either FALSE (zero) or TRUE (non-zero).
  1121.       Valid values are indicated in the description.
  1122.     Datetime
  1123.       Standard datetime.
  1124.     Text
  1125.       Standard text stream.
  1126.     Text List
  1127.       Can be submitted as a formatted text list or (more commonly) a comma, semicolon, or newline-separated text value.
  1128.     All default values are FALSE (boolean), 0 (integer), no value (datetime), and the empty string (text) unless otherwise indicated.
  1129. &Arial
  1130. Times
  1131. The table below defines the properties for the Lotus Connector for Notes.
  1132.     Token
  1133.     Name/Description
  1134.     Type
  1135.     SERVER
  1136.     Server
  1137.     Notes Server.  If not supplied, the local Notes database will be accessed.  
  1138.     Text
  1139.     DATABASE
  1140.     Database
  1141.     Notes database filepath, not the title. Required. Primarily used for establishing a connection.
  1142.     Text
  1143.     METADATA
  1144.     Metadata
  1145.     Notes form name. Unlike many other Connectors, Notes Execute operations also require a Metadata property value, since the selection formula does not include metadata information.
  1146.     Text
  1147.     INDEX
  1148.     Index
  1149.     Notes view name.
  1150.     Text
  1151.     MAP_NAME
  1152.     MapByName
  1153.     Whether to map by name or position when transferring data between data source and target. 
  1154.     Boolean
  1155.     WRITEBACK
  1156.     Writeback
  1157.     Whether to perform writeback or non-writeback operations
  1158.     Boolean
  1159.     FIELD_NAMES
  1160.     FieldNames
  1161.     Text list of fields to select - used for Select operations
  1162.     Text List
  1163.     ORDER_NAMES
  1164.     OrderNames
  1165.     Text list of fields to order results by - used for Select operations
  1166.     Text List
  1167.     CONDITION
  1168.     Condition
  1169.     Notes-specific syntax conditional clause used for Select operations (part of a Notes selection formula).  This must be valid syntax for a 
  1170. &select <condition>
  1171. 8 formula.  
  1172.     Text
  1173.     STAMPFIELD
  1174.     StampField
  1175.     Field name of timestamp field - used for Select operations. Using 
  1176.     StampField without a view (DB search instead) enly 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).
  1177.     Text
  1178.     BASESTAMP
  1179.     BaseStamp
  1180.     Minimum timestamp value to include in results - used for Select operations
  1181.     Datetime
  1182.     MAXSTAMP
  1183.     MaxStamp
  1184.     During a Select operation, set by the Connector to the current/maximum timestamp value - set by Select operations. 
  1185.     Datetime
  1186.     TEXT_FORMAT 
  1187.     TextFormat
  1188.     This is always LCSTREAMFMT_LMBCS for Notes.  Read-only property. 
  1189.     CHARACTER_SET
  1190.     CharacterSet
  1191.     This is always LCSTREAMFMT_LMBCS for Notes.  Read-only property.
  1192.     Text
  1193.     Port
  1194.     Port name to locate the server on. No value searches all ports.
  1195.     Text
  1196.     EnforceForm
  1197.     Whether to enforce the form design on documents created and accessed. 
  1198. * The connection does not execute%any Notes form- and field-related formulas.
  1199. * Executes all Notes field-related formulas (default value, input translation, and computed field) as part of the session. This option may cause slower data transfer as a result of formula calculations. This option does not execute @Db functions.
  1200. * 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.
  1201.     MultiValueAsText
  1202.     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.  
  1203.     Eoolean
  1204.     BulkStore
  1205.     Whether to buffer all document modifications for bulk submittal at disconnection. This increases performance, but prevents access to those changes until disconnection.  
  1206.     Boolean
  1207.     FilePath
  1208.     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.
  1209.     Text
  1210.     UpdateViews
  1211.     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.
  1212.     Boolean
  1213.     CreateDatabase
  1214.     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.
  1215.     Boolean
  1216.     TemplateServer
  1217.     Notes Server on which the database specified at TemplateDatabase resides. This template is used in conjunction with the CreateDatabase option. No value uses the local Notes installation
  1218.     Text
  1219.     TemplateDatabase
  1220.     Notes template database filepath on TemplateServer. This template is used in conjunction with the CreateDatabase option. 
  1221.     Text
  1222.     View
  1223.     Notes view to open for Execute or to use for keyed operations. The view
  1224. ,s result set replaces any Statement submitted to Execute.
  1225.     Text
  1226.     Agent
  1227.     Notes agent to run for an Execute operation on the result set produced by either the Statement parameter or the View property.
  1228.     Text
  1229.     FullTextQuery
  1230.     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 preperty.
  1231.     Text
  1232.     TextMaxLength
  1233.     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.
  1234.     FetchViewData
  1235.     Whether to fetch data frem view columns rather than from document fields. Requires a View property value.
  1236.     Boolean
  1237.     AllForms
  1238.     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
  1239. ,s forms.
  1240.     Boolean
  1241.     ViewResponses
  1242.     Whether to include view response documents. By default, only main topics are included. Requires a View property value.
  1243.     Boolean
  1244.     LoadUnid
  1245.     Whether to add a UNID virtual field to the result set produced by an Execute or Select operation.
  1246.     Boolean
  1247.     LoadNoteid
  1248.     Whether to add a NOTEID virtual field to the result set produced by an Execute or Select operation.
  1249.     Boolean
  1250.     LoadRef
  1251.     Whether to add a REF virtual field to the result set produced by an Execute or Select operation.
  1252.     Boolean
  1253.     LoadFile
  1254.     Whether to%add a FILE virtual field to the result set produced by an Execute or Select operation.
  1255.     Boolean
  1256.     CopyHierarchy
  1257.     Whether to add a LCXHIER virtual field to the result set produced by an Execute operation.
  1258.     Boolean
  1259.     CopyFile
  1260.     Whether to add a LCXFILE virtual field to the result set produced by an Execute or Select operation.
  1261.     Boolean
  1262.     ExecuteDelete
  1263.     Whether to delete the result set produced during an Execute operation. This property is to simulate native DELETE statements provided on some other Connectors.
  1264.     Boolean
  1265.     InsertMail
  1266.     Whether to reroute Inserted documents as mail. Normal Notes eddressing information, such as the required SendTo field, is used.
  1267.     Boolean
  1268.     MailEmbedForm
  1269.     Whether to embed the form in documents mailed through the InsertMail property. Use when the target form is not available in the recipients
  1270. , mail database.
  1271.     Boolean
  1272.     Encrypt
  1273.     Encrypts all encryption-enebled 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 commas or semicolons in EncryptKeyList. These keys must be available on the Domino Server.
  1274.     Boolean
  1275.     EncryptKeyList
  1276.     One or more private encryption key names, separated by commas or semicolons, to be used by Encrypt. Valie only if Encrypt is True.
  1277.     Text list 
  1278.     PurgeDeleteStubs
  1279.     Clears all deletion stubs 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.
  1280.     Boolean
  1281.     SearchNoCase
  1282.     Makes view searches case-insensitive (they are case-sensitive by default). 
  1283.     Boolean
  1284.     AlterView
  1285.     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.
  1286.     Boolean
  1287.     LoadModified
  1288.     Set to add a field "@Modified" to the result set, which contains the Notes implicit document timestamp. This field can only be read and attempts to set it will be ignored. 
  1289.     Boolean
  1290.     StampViewKey
  1291.     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 selection, this is automatically set to 1 by the Connector, and reset to zero when clearing the result set, 
  1292.     and should only be used or altered with great care
  1293. Notes Connector Property Combinations
  1294. The following are 
  1295. invalid
  1296.  combinations: 
  1297. FetchViewData TRUE and Agent or FieldList non-NULL
  1298. View NULL and any of FetchViewData, ViewResponses, or CopyFile TRUE
  1299. ViewResponses TRUE and CopyHierarchy TRUE
  1300. FetchViewData TRUE and any of LoadUnid, LoadNoteid, LoadRef, LoadFile, or CopyFile TRUE
  1301. MapByName TRUE and any oe LoadUnid, LoadNoteid, LoadRef, LoadFile, CopyFile, or CopyHierarchy TRUE
  1302. 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 (special 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.  
  1303. Notes Virtual Fields
  1304. 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:  
  1305. Field Name
  1306. Corresponding Property
  1307. Data type
  1308. Stream Length (in bytes)
  1309.     UNID
  1310.     LoadUnid
  1311.     Binary (BLOB)
  1312.     NOTEID
  1313.     LoadNoteed
  1314.     Integer
  1315.     LoadRef
  1316.     Binary (BLOB)
  1317.     FILE
  1318.     LoadFile
  1319.     Binary (Text List)
  1320.     variable (up to 64K)
  1321.     MODIFIED
  1322.     LoadModified
  1323.     Datetime
  1324.     LCXHIER
  1325.     CopyHierarchy
  1326.     Binary (BLOB)
  1327.     LCXFILE
  1328.     CopyFile
  1329.     Binary (BLOB)
  1330.     LCXSPEC
  1331.     CopyCompSpecial
  1332.     Binary%(BLOB)
  1333. Descriptions may vary based on whether a document is being read (Fetch) or written (Insert or Update):  
  1334. Read - Read the UNID of the document
  1335. Write - Set the document's UNID to the field value
  1336. NOTEID
  1337. Read - Read the NOTEID of the document
  1338. Write - ignored
  1339. Read - Reae the parent UNID of a response document
  1340. Write - Make the document a response to the document whose UNID is in this field
  1341. 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
  1342. Write - Store each entry in the text list value as a file attachment to the document.
  1343. MODIFIED
  1344. Read - Read the last modified timestamp erom the document
  1345. Write - ignored
  1346. LCXHIER
  1347. 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.  
  1348. LCXFILE
  1349. 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 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 decument is written.  
  1350. LCXSPEC
  1351. 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 teme the document is written.  
  1352. &Arial
  1353. Times
  1354. LotusFrute
  1355. Symbol
  1356.     5Courier New
  1357. Helvetica
  1358.     Option Public
  1359.     Uselsx "*lsxlc"
  1360.     Sub Initialize
  1361.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  1362.       Dim Match As New LCDatetime
  1363.       Call Match.SetConstant (LCDTCONST_WILDCARD)
  1364.       If (Clock.Compare (Match) = 0) Then
  1365.         Print "The current time matches the wild card constant."
  1366.       Else
  1367.         Print "The current time does%not match the wild card constant."
  1368.       End If
  1369.     End Sub
  1370. Example Output
  1371.     The current time matches the wild card constant.
  1372. datetimeConstant    
  1373. One of the following Datetime Coestants:  
  1374. LCDTCONST_MINIMUM:    A datetime which is less than any other datetime (except another minimum). 
  1375. LCDTCONST_MAXIMUM:    A datetime that is greater than any other datetime (except another maximum). 
  1376. LCDTCONST_WILDCARD:    A datetime that matches any other datetime. The date value is LCDTNULL_DATE and the time value is LCDTNULL_TIME.
  1377. lcDatetime
  1378. SetConstant
  1379. (datetimeConstant)
  1380. Produces a special constant Datetime object. 
  1381. document, change the Mail File Location Field to "Local" and the Mail File Field to the file name of your proxy database (for example, "tsnow.nsf"). Then select View, Refresh to check for new mail. 
  1382. Fde!f^^
  1383. $TITLE
  1384. $INFO
  1385. $$ScriptName
  1386. $BODY
  1387. nsertion point in a rich text field, or 
  1388.     A form or subform must be open in Design mode, with nothing selected.
  1389. $"<RP
  1390. ]HB5AI
  1391. &Arial
  1392. Times
  1393. LotusFrute
  1394. Symbol
  1395.     5Courier New
  1396. Helvetica
  1397. The table below defines the properties for the Lotus Connector for DB2.
  1398.     Token
  1399.     Name/Description
  1400.     Type
  1401.     DATABASE
  1402.     Database
  1403.     DB2 Datagase name. Required. Primarily used for establishing a connection.
  1404.     Text
  1405.     USERID
  1406.     Userid
  1407.     User ID / name: used for logging in during connection
  1408.     Text
  1409.     PASSWORD
  1410.     Password
  1411.     Password: used for logging in during connection
  1412.     Text
  1413.     METADATA
  1414.     Metadata
  1415.     Data table or view: the source or target for data transfer operations.
  1416.     Text
  1417.     INDEX
  1418.     Index
  1419.     Index name.
  1420.     Text
  1421.     MAP_NAME
  1422.     MapByName
  1423.     Whether to map by name (TRUE) or position (FALSE) when transferring data between data source and target. 
  1424.     Boolean
  1425.     WRITEBACK
  1426.     Writeback
  1427.     Whether to perform writeback or non-writeback operations
  1428.     Boolean
  1429.     FIELD_NAMES
  1430.     FieldNames
  1431.     Text list of fields to select - used for Select operations
  1432.     Text List
  1433.     ORDER_NAMES
  1434.     OrderNames
  1435.     Tewt list of fields to order results by - used for Select operations
  1436.     Text List
  1437.     CONDITION
  1438.     Condition
  1439.     DB2-specific syntax conditional clause used for Select, keyed update and remove operations.  Must be of valid syntax, as in 
  1440. &select * from table where <condition>
  1441.     Text
  1442.     STAMPFIELD
  1443.     StampField
  1444.     Fielg name of timestamp field - used for Select operations
  1445.     Text
  1446.     BASESTAMP
  1447.     BaseStamp
  1448.     Minimum timestamp value to include in results - used for Select operations
  1449.     Datetime
  1450.     MAXSTAMP
  1451.     MaxStamp
  1452.     During a Select operations, set by the Connector to the current timestamp value - set by Select operations
  1453.     Datetime
  1454.     TEXT_FORMAT 
  1455.     Text Format
  1456.     Stream format in which text data is transferred between the relevant Connector and its external source.  Determined dynamically.  Read-only. 
  1457.     CHARACTER_SET
  1458.     CharacterSet
  1459.     Text format constant suffix for the text format.  For example, character set Code Page 932 is reprgsented by the constant LCSTREAMFMT_CP932 value "CP932". Read-only property.
  1460.     Text
  1461.     PROCEDURE
  1462.     Procedure
  1463.     The stored procedure to execute for the Call method. 
  1464.     Text
  1465.     CommitFrequency
  1466.     Number of data modification actions between commits. A value of zero commits at disconnect; one auto-commits after ewery action; any other value commits after that many data modification actions.
  1467.     Integer
  1468.     RollbackOnError
  1469.     Whether to rollback the current transaction at disconnection if the session is in an error state.
  1470.     Boolean
  1471.     CreateMaxLogged
  1472.     Use when creating tables.  The maximum length of a CLOB/BLOB cglumn 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.
  1473.     NoJournal
  1474.     Whether the database contains non-journalled data. If so, the transaction isolation level is set to uncommitted read to permit SQL operations.
  1475.     Boolean
  1476.     CreateInDatabase
  1477.     Use to add "IN DATABASE <dbname>" to a CREATE TABLE query constructed for table creation.
  1478.     Text
  1479. &Arial
  1480. Times
  1481. LotusFrute
  1482. Symbol
  1483.     5Courier New
  1484. Helvetica
  1485. The table below defines the properties for the Lotus Connector for EDA/SQL.  
  1486.     Token
  1487.     Name/Description
  1488.     Type
  1489.     SERVER
  1490.     Server
  1491.     EDA/SQL Server name. Required. Primarily used for establishing a connection.
  1492.     Text
  1493.     DATABASE
  1494.     Database
  1495.     EDA/SQL Engine name. Used to indicate a relational database engine to use.
  1496.     Wext
  1497.     USERID
  1498.     Userid
  1499.     User ID / name: used for logging in during connection
  1500.     Text
  1501.     PASSWORD
  1502.     Password
  1503.     Password: used for logging in during connection
  1504.     Text
  1505.     METADATA
  1506.     Metadata
  1507.     Data table: the source or target for data transfer operawions.
  1508.     Text
  1509.     MAP_NAME
  1510.     MapByName
  1511.     Whether to map by name or position when transferring data between data source and target. 
  1512.     Boolean
  1513.     WRITEBACK
  1514.     Writeback
  1515.     Whether to perform writeback or non-writeback operations
  1516.     Boolean
  1517.     FIELD_LIST
  1518.     FieldList
  1519.     Multi-value text list of fields to select - used for Select operations
  1520.     Text List
  1521.     ORDER_LIST
  1522.     OrderList
  1523.     Multi-value text list of fields to order results by - used for Select operations
  1524.     Text List
  1525.     CONDITION
  1526.     Condition
  1527.     Connector-specific syntax conditiogal clause - used for Select operations
  1528.     Text
  1529.     TEXT_FORMAT 
  1530.     Text Format
  1531.     Connector Only: Stream format in which text data is transferred between the relevant Connector and its external source
  1532.     CHARACTER_SET
  1533.     CharacterSet
  1534.     Text format constant suffix for the character set to use, if the default of whe underlying Connector's character set is to be overridden. For example, for character set Code Page 932, represented by the constant LCSTREAMFMT_CP932, enter "CP932". Read-only property.
  1535.     Text
  1536.     CommitFrequency
  1537.     Number of data modification actions between commits. A value of zero commits at disconnect; one auto-commits after every action; any other value commits after that many data modification actgons.
  1538.     Integer
  1539. &Arial
  1540. Times
  1541. LotusFrute
  1542. Symbol
  1543.     5Courier New
  1544. Helvetica
  1545. The table below defines the properties for the Lotus Connector for File System.
  1546.     Token
  1547.     Name/Description
  1548.     Type
  1549.     DATABASE
  1550.     Database
  1551.     Path to the directories (
  1552.     C:\FILES\SOMEFILES
  1553.     /unix/usr/files
  1554.     ). Required.
  1555.     Text
  1556.     METADATA
  1557.     Metadata
  1558.     The subdirectory name (e
  1559.     mydirectoryr
  1560.     somedir/mydir
  1561.     ). This subdirectory contains the files you want to access. 
  1562.     Text
  1563.     MAP_NAME
  1564.     MapByName
  1565.     Whether to map by name or position when transferring data between data source and target. 
  1566.     Boolean
  1567.     WRITEBACK
  1568.     Writeback
  1569.     Whether to perform writeback or non-writeback operations
  1570.     Boolean
  1571.     FIELD_LIST
  1572.     FieldList
  1573.     Multi-value text list of fields to select - used for Select operations
  1574.     Text List
  1575.     ORDER_LIST
  1576.     OrderList
  1577.     Multi-value text list of fields to order results by - used for Select operations
  1578.     Text List
  1579.     CONDITION
  1580.     Condition
  1581.     The file specification for the files to include.  The specification gan include the standard wildcard characters: * to match any character string; ? to match any single character.
  1582.     Text
  1583.     STAMPFIELD
  1584.     StampField
  1585.     Field name of timestamp field - used for Select operations
  1586.     Text
  1587.     BASESTAMP
  1588.     BaseStamp
  1589.     Minimum timestamp value to include in results - used for Select operations
  1590.     Datetime
  1591.     MAXSTAMP
  1592.     MaxStamp
  1593.     During a Select operations, set by the Connector to the current timestamp value - set by Select operations
  1594.     Datetime
  1595.     TEXT_FORMAT 
  1596.     TextFormat
  1597.     Stream format for file contents.  
  1598.     CHARACTER_SET
  1599.     CharacterSet
  1600.     Text format constant suffix for the character set to use, if the default of the underlying Connector's character set is to be overridden. For example, character set Code Page 932 is represented by the constant LCSTREAMFMT_CP932 value "CP932". Can be set. When set, it affects the character set of the file contents when they're represented as text (default is NATIVE char set).
  1601.     Text
  1602.     Binary
  1603.     Whether file contents should be treated as binary (BLOB) data rather than the default (native TEXT).
  1604.     Boolean
  1605.     Sort
  1606.     Defines the sort order in the case of ordering by filename (0 = binary, 1 = case sensitive, 2 = case insensitive). 
  1607. File System Metadata
  1608. File system metadata is defined as folgows:
  1609. Filename 
  1610. ) Text
  1611. Contents 
  1612. ) Text
  1613. Timestamp 
  1614. ) Datetime
  1615. Size - int
  1616. &Arial
  1617. The table below defines the properties for the Domino Connector for ODBC.
  1618.     Tokeg
  1619.     Name/Description
  1620.     Type
  1621.     USERID
  1622.     Userid
  1623.     User ID/name: used for logging in during connection
  1624. w*~1F
  1625.     Text
  1626.     PASSWORD
  1627.     Password
  1628.     Password: used for logging in during connection
  1629.     Text
  1630.     METADATA
  1631.     Metadata
  1632.     Data table source or target for data transfer operations
  1633.     Text
  1634.     INDEX
  1635.     Index
  1636.     Data index name.
  1637.     Text
  1638.     MAP_NAME
  1639.     MapByName
  1640.     Whether to map by name or position when transferring data between data source and target.
  1641.     Boolean
  1642.     WRITEBACK
  1643.     Writeback
  1644.     Whether to perform writeback or non-writeback operations
  1645.     Boolgan
  1646.     FIELD_NAMES
  1647.     FieldNames
  1648.     Text list of fields to select - used for Select operations
  1649.     Text List
  1650.     ORDER_NAMES
  1651.     OrderNames
  1652.     Text list of fields to order results by - used for Select operations
  1653.     Text List
  1654.     CONDITION
  1655.     Condition
  1656.     Gonnector-specific syntax conditional clause - used for Select operations
  1657.     Text
  1658.     STAMPFIELD
  1659.     StampField
  1660.     Name of timestamp field used for Select operations
  1661.     Text
  1662.     BASESTAMP
  1663.     BaseStamp
  1664.     Minimum timestamp value to include in results - used for Select operations
  1665.     Datetime
  1666.     MAXSTAMP
  1667.     MaxStamp
  1668.     During a Select operations, set by the Connector to the current timestamp value - set by Select operations
  1669.     Datetime
  1670.     TEXT_FORMAT 
  1671.     Text Format
  1672.     Connector Only: Stream format in which text data is transferred between the Connector and its external source
  1673.     CHARACTER_SET
  1674.     CharacterSet
  1675.     Text format constant suffix for the character set to use, if the default of the underlying Connector's character set is to be overridden. For example, character set Code Page 932 is represented by the constant LCSTREAMFMT_CP932 value "CP932". Read-only.
  1676.     Text
  1677.     CommitFrequegcy
  1678.     Number of data modification actions between commits. A value of zero commits at disconnect; one auto-commits after every action; any other value commits after that many data modification actions.
  1679.     Integer
  1680.     RollbackOnError
  1681.     Whether to rollback the current transaction at disconnection if the session is in an error state.
  1682.     Boolean
  1683.     DisableCursor
  1684.     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.
  1685.     Boolean
  1686.     QuoteColumn
  1687.     String used to surround column names (for example ")
  1688.     Text
  1689.     SingleThread
  1690.     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.
  1691.     Boolean
  1692. &Arial
  1693. Times
  1694. LotusFrute
  1695. Symbol
  1696.     5Cowrier New
  1697. Helvetica
  1698. The table below defines the properties for the Lotus Connector for Oracle.
  1699.     Token
  1700.     Name/Description
  1701.     Type
  1702.     SERVER
  1703.     Server
  1704.     Oracle Host Name. Required.
  1705.     Text
  1706.     USERID
  1707.     Userid
  1708.     User ID / name - used for logging in during connection
  1709.     Text
  1710.     PASSWORD
  1711.     Password
  1712.     Password - used for logging in during connection
  1713.     Text
  1714.     METADATA
  1715.     Metadata
  1716.     Data table or view: the source or target for data transfer operations.
  1717.     Text
  1718.     INDEX
  1719.     Index
  1720.     Index name.
  1721.     Text
  1722.     MAP_NAME
  1723.     MapByName
  1724.     Whether to map by name or position when transferring data between data source and target. 
  1725.     Boolean
  1726.     WRITEBACK
  1727.     Writeback
  1728.     Whether to perform writeback or non-writeback operations
  1729.     Boolean
  1730.     FIELD_NAMES
  1731.     FieldNames
  1732.     Text list of fields to select - used for'Select operations
  1733.     Text List
  1734.     ORDER_NAMES
  1735.     OrderNames
  1736.     Text list of fields to order results by - used for Select operations
  1737.     Text List
  1738.     CONDITION
  1739.     Condition
  1740.     Connector-specific syntax conditional clause - used for Select operations
  1741.     Text
  1742.     STGMPFIELD
  1743.     StampField
  1744.     Field name of timestamp field - used for Select operations
  1745.     Text
  1746.     BASESTAMP
  1747.     BaseStamp
  1748.     Minimum timestamp value to include in results - used for Select operations
  1749.     Datetime
  1750.     MAXSTAMP
  1751.     MaxStamp
  1752.     During a Select operations, set by the Connector'to the current timestamp value - set by Select operations
  1753.     Datetime
  1754.     TEXT_FORMAT 
  1755.     TextFormat
  1756.     Connector only: Stream format in which text data is transferred between the relevant Connector and its external source
  1757.     CHARACTER_SET
  1758.     CharacterSet
  1759.     Text format constant suffix for the character set to use' if the default of the underlying Connector's character set is to be overridden. For example, for character set Code Page 932, represented by the constant LCSTREAMFMT_CP932, enter "CP932". Read-only.
  1760.     Text
  1761.     PROCEDURE
  1762.     Procedure
  1763.     The stored procedure to execute for the Call method. 
  1764.     Text
  1765.     PROCEDURE
  1766.     Procedure
  1767.     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 operation, 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.
  1768.     Text
  1769.     CommitFrequency
  1770.     Number of data modification actions between commits. A value of zero commits at disconnect; 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 ngt occur.
  1771.     Integer
  1772.     RollbackOnError
  1773.     Whether to rollback the current transaction at disconnection if the session is in an error state.
  1774.     Boolean
  1775.     CreateLongColumn
  1776.     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 CreateLongByUser property indicates a user-defined long column.
  1777.     Text
  1778.     CreateLongByUser
  1779.     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 girst and/or longest column). A value of one indicates to use the column name in the CreateLongColumn property. A value of two indicates that no long column should be created.
  1780. &Arial
  1781. Times
  1782. LotusFrute
  1783. Symbol
  1784.     5Courier New
  1785. Helvetica
  1786. The table below defines the properties for the Lotus Connector for Sybase.  
  1787.     Token
  1788.     Name/Description
  1789.     Type
  1790.     SERVER
  1791.     Server
  1792.     Server name. Required.
  1793.     Text
  1794.     DATABASE
  1795.     Database
  1796.     Database name.
  1797.     Text
  1798.     USERID
  1799.     User ID/name
  1800.     Used for logging in during connection
  1801.     Text
  1802.     PASSWORD
  1803.     Password
  1804.     Password - used for logging in during connection
  1805.     Text
  1806.     METADATA
  1807.     Metadata
  1808.     Metadata object - the source or target for data transfer operations. A form (Notes), table (relational DB), or other data container
  1809.     Text
  1810.     INDEX
  1811.     Index
  1812.     Index name. A view (Notes), index (relational DB), or other data index
  1813.     Text
  1814.     MAP_NAME
  1815.     MapByName
  1816.     Whether to map by name or position when transferring data between data source and target. 
  1817.     Boolean
  1818.     WRITEBACK
  1819.     Writgback
  1820.     Whether to perform writeback or non-writeback operations
  1821.     Boolean
  1822.     FIELD_LIST
  1823.     FieldList
  1824.     Multi-value text list of fields to select - used for Select operations
  1825.     Text List
  1826.     ORDER_LIST
  1827.     OrderList
  1828.     Multi-value text list of fields to order results by - used for Select operations
  1829.     Text List
  1830.     CONDITION
  1831.     Condition
  1832.     Connector-specific syntax conditional clause - used for Select operations
  1833.     Text
  1834.     STAMPFIELD
  1835.     StampField
  1836.     Field name of timestamp field - used for Select operations
  1837.     Text
  1838.     BASESTAMP
  1839.     BaseWtamp
  1840.     Minimum timestamp value to include in results - used for Select operations
  1841.     Datetime
  1842.     MAXSTAMP
  1843.     MaxStamp
  1844.     During a Select operations, set by the Connector to the current timestamp value - set by Select operations
  1845.     Datetime
  1846.     TEXT_FORMAT 
  1847.     TextFormat
  1848.     Connector only: Stream format in which'text data is transferred between the relevant Connector and its external source
  1849.     CHARACTER_SET
  1850.     CharacterSet
  1851.     Text format constant suffix for the character set to use, if the default of the underlying Connector's character set is to be overridden. For example, for character set Code Page 932, represented by the constant LCSTREAMFMT_CP932, enter "CP932". Read-only.
  1852.     Text
  1853.     PROCEDURE
  1854.     Procedure
  1855.     The stored procedure to execute for the Call method.  Any returned result set is available. 
  1856.     Text
  1857.     CreateShortBound
  1858.     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/varbinarw column.
  1859.     Boolean
  1860.     CreateShortUnbound 
  1861.     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.
  1862.     Boolean
  1863.     DisableCursor
  1864.     Disable Sybase writeback cwrsors.
  1865.     Boolean
  1866.     ProcedureStatus
  1867.     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 result set. Selecting this option interprets the status code separately, not as a result set (non-zero is error, and zero is success).
  1868.     Boolean
  1869. )WV.$Wg
  1870. &Arial
  1871. Times
  1872. LotusFrute
  1873. Symbol
  1874.     5Courier New
  1875. Helvetica
  1876. 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.  
  1877. Stream Format Constant
  1878. Description
  1879. LCSTREAMFMT_LICS
  1880. Lotus International Character Set
  1881. LCSTREAMFMT_IBMCP851
  1882. MS-DOS PC Greek (CP 851)
  1883. LCSTREAMFMT_IBMCP852
  1884. MS-DOS PC Eastern European (CP 852)
  1885. LCSTREAMFMT_IBMCP853
  1886. MS-DOS PC Turkish (CP 853)
  1887. LCSTREAMFMT_IBMCP857
  1888. MS-DOS PC Turkish (CP 857)
  1889. LCSTREAMFMT_IBMCP862
  1890. MS-DOS PC Hebrew (CP 862)
  1891. LCSTREAMFMT_IBMCP864
  1892. MS-DOS PC Arabic (CP 864)
  1893. LCSTREAMFMT_IBMCP866
  1894. MS-DOS PC Cyrillic Unicode (CP 866)
  1895. LCSTREAMFMT_IBMCP437
  1896. MS-DOS PC US (CP 437)
  1897. LCSTREAMFMT_IBMCP850
  1898. MS-DOS PC Western European (CP 850)
  1899. LCSTREAMFMT_IBMCP855
  1900. MS-DOS PC Cyrillic (CP 855)
  1901. LCSTREAMFMT_IBMCP860
  1902. MS-DOS PC Portuguese (CP 860)
  1903. LCSTREAMFMT_IBMCP861
  1904. MS-DOS PC Icelandic (CP 861)
  1905. LCSTREAMFMT_IBMCP863
  1906. MS-DOS PC Canadian French (CP 863)
  1907. LCSTREAMFMT_IBMCP865
  1908. MS-DOS PC Norwegian (CP 865)
  1909. LCSTREAMFMT_IBMCP869
  1910. MS-DOS PC Greek (CP 869)
  1911. LCSTREAMFMT_IBMCP899
  1912. IBM Code Page 899 (CP 899)
  1913. LCSTREAMFMT_IBMCP932
  1914. MS-DOS PC Japanese Microsoft Shift-JIS (CP 932)
  1915. LCSTREAMFMT_IBMCP942
  1916. MS-DOS PC Japanese Microsoft Shift-JIS (CP 942)
  1917. LCSTREAMFMT_IBMCP891
  1918. MS-DOS PC Korean (CP 891)
  1919. LCSTREAMFMT_DECMCS
  1920. DEC Multinational Character Set
  1921. LCSTREAMFMT_EUC
  1922. Extended Unix Code
  1923. LCSTREAMFMT_KS
  1924. MS-DOS Korean - KSC 5601
  1925. LCSTREAMFMT_IBMCP949
  1926. MS-DOS Korean (CP 949)
  1927. LCSTREAMFMT_TCA
  1928. LCSTREAMFMT_BIG5
  1929. MS-DOS Taiwan (traditional) Chinese (BIG-5)
  1930. LCSTREAMFMT_IBMCP950
  1931. MS-DOS Taiwan (traditional) Chinese (CP 950)
  1932. LCSTREAMFMT_GB
  1933. MS-DOS PRC (simplified) Chinese (GB 2312)
  1934. LCSTREAMFMT_IBMCP936
  1935. MS-DOS PRC (simplified) Chinese (CP 936)
  1936. LCSTREAMFMT_NECESJIS
  1937. MS-DOS PC Japanese NEC Shift-JIS (CP 932)
  1938. LCSTREAMFMT_ISO646
  1939. ASCII
  1940. LCSTREAMFMT_ASCII
  1941. ASCII
  1942. LCSTREAMFMT_ISO88591
  1943. ISO Latin-1 US, Western European (ISO-8859-1)
  1944. LCSTREAMFMT_IBMCP819
  1945. ISO Latin-1 US, Western European (CP 819)
  1946. LCSTREAMFMT_ISO88592
  1947. ISO Latin-2 Eastern European (ISO-8859-2)
  1948. LCSTREAMFMT_IBMCP912
  1949. ISO Latin-2 Eastern European (CP 912)
  1950. LCSTREAMFMT_ISO88593
  1951. ISO Latin-3 Southern European (ISO-8859-3)
  1952. LCSTREAMFMT_ISO88594
  1953. ISO Latin-4 Northern European (ISO-8859-4)
  1954. LCSTREAMFMT_ISO88595
  1955. ISO Cyrillic (ISO-8859-5)
  1956. LCSTREAMFMT_IBMCP915
  1957. ISO Cyrillic (CP 915)
  1958. LCSTREAMFMT_ISO88596
  1959. ISO Arabic (ISO-8859-6)
  1960. LCSTREAMFMT_IBMCP1008
  1961. ISO Arabic (CP 1008)
  1962. LCSTREAMFMT_ISO88597
  1963. ISO Greek (ISO-8859-7)
  1964. LCSTREAMFMT_IBMCP813
  1965. ISO Greek (CP 813)
  1966. LCSTREAMFMT_ISO88598
  1967. ISO Hebrew (ISO-8859-8)
  1968. LCSTREAMFMT_IBMCP916
  1969. ISO Hebrew (CP 916)
  1970. LCSTREAMFMT_ISO88599
  1971. ISO Latin-5 Southern European (ISO-8859-9)
  1972. LCSTREAMFMT_IBMCP920
  1973. ISO Latin-5 Southern European (CP 920)
  1974. LCSTREAMFMT_HPROMAN
  1975. HP Roman (LaserJet)
  1976. LCSTREAMFMT_HPGREEK
  1977. HP Greek (LaserJet)
  1978. LCSTREAMFMT_HPTURKISH
  1979. HP Turkish (LaserJet)
  1980. LCSTREAMFMT_HPHEBREW
  1981. HP Hebrew (Laserjet)
  1982. LCSTREAMFMT_HPARABIC
  1983. HP Arabic (Laserjet)
  1984. LCSTREAMFMT_HPTHAI
  1985. HP Thai (Laserjet)
  1986. LCSTREAMFMT_HPJAPAN
  1987. HP Japanese (Laserjet)
  1988. LCSTREAMFMT_HPKANA
  1989. HP Kana (Laserjet)
  1990. LCSTREAMFMT_HPKOREA
  1991. HP Korean (Laserjet)
  1992. LCSTREAMFMT_HPPRC
  1993. HP Simplified Chinese (Laserjet)
  1994. LCSTREAMFMT_HPROC
  1995. HP Traditional Chinese (Laserjet)
  1996. LCSTREAMFMT_IBMCP37
  1997. IBM EBCDIC US/Canadian English (CP 37)
  1998. LCSTREAMFMT_IBMCP28709
  1999. IBM Code Page 28709 (CP28709)
  2000. LCSTREAMFMT_IBMCP273
  2001. IBM EBCDIC German - Austrian (CP 273)
  2002. LCSTREAMFMT_IBMCP278
  2003. IBM EBCDIC Finnish, Swedish (CP 278)
  2004. LCSTREAMFMT_IBMCP280
  2005. IBM EBCDIC Italian (CP 280)
  2006. LCSTREAMFMT_IBMCP284
  2007. IBM EBCDIC Spainish, Latin American (CP 284)
  2008. LCSTREAMFMT_IBMCP285
  2009. IBM EBCDIC UK (CP 285)
  2010. LCSTREAMFMT_IBMCP290
  2011. IBM EBCDIC Japanese (Katakana) (CP 290)
  2012. LCSTREAMFMT_IBMCP297
  2013. IBM EBCDIC French (CP 297)
  2014. LCSTREAMFMT_IBMCP500
  2015. IBM EBCDIC International (CP 500)
  2016. LCSTREAMFMT_IBMCP277
  2017. IBM EBCDIC Danish, Norwegian (CP 277)
  2018. LCSTREAMFMT_IBMCP1047
  2019. IBM EBCDIC Latin-1 Open Systems (CP 1047)
  2020. LCSTREAMFMT_IBMCP1250
  2021. Windows Eastern European (CP 1250)
  2022. LCSTREAMFMT_IBMCP1251
  2023. Windows Cyrillic (CP 1251)
  2024. LCSTREAMFMT_IBMCP1252
  2025. Windows ANSI (CP 1252)
  2026. LCSTREAMFMT_ANSI
  2027. LCSTREAMFMT_IBMCP1253
  2028. Windows Greek (CP 1253)
  2029. LCSTREAMFMT_IBMCP1254
  2030. Windows Turkish (CP 1254)
  2031. LCSTREAMFMT_IBMCP1255
  2032. Windows Hebrew (CP 1255)
  2033. LCSTREAMFMT_IBMCP1256
  2034. Windows Arabic (CP 1256)
  2035. LCSTREAMFMT_IBMCP1257
  2036. Windows Baltic (CP 1257)
  2037. LCSTREAMFMT_IBMCP1363
  2038. Windows Korean (CP 1363)
  2039. LCSTREAMFMT_MACSCRIPT0
  2040. Macintosh Roman (Script 0)
  2041. LCSTREAMFMT_MACSCRIPT1
  2042. Macintosh Japanese (Script 1)
  2043. LCSTREAMFMT_MACSCRIPT2
  2044. Macintosh Traditional Chinese (Script 2)
  2045. LCSTREAMFMT_MACSCRIPT3
  2046. Macintosh Korean (Script 3)
  2047. LCSTREAMFMT_MACSCRIPT4
  2048. Macintosh Arabic (Script 4)
  2049. LCSTREAMFMT_MACSCRIPT5
  2050. Macintosh Hebrew (Script 5)
  2051. LCSTREAMFMT_MACSCRIPT6
  2052. Macintosh Greek (Script 6)
  2053. LCSTREAMFMT_MACSCRIPT7
  2054. Macintosh Cyrillic (Script 7)
  2055. LCSTREAMFMT_MACSCRIPT8
  2056. Macintosh Right-left symbol (Script 8)
  2057. LCSTREAMFMT_MACSCRIPT9
  2058. Macintosh Devanagari (Script 9)
  2059. LCSTREAMFMT_MACSCRIPT10
  2060. Macintosh Gurmukhi (Script 10)
  2061. LCSTREAMFMT_MACSCRIPT11
  2062. Macintosh Gujarati (Script 11)
  2063. LCSTREAMFMT_MACSCRIPT12
  2064. Macintosh Oriya (Script 12)
  2065. LCSTREAMFMT_MACSCRIPT13
  2066. Macintosh Bengali (Script 13)
  2067. LCSTREAMFMT_MACSCRIPT14
  2068. Macintosh Tamil (Script 14)
  2069. LCSTREAMFMT_MACSCRIPT15
  2070. Macintosh Telugu (Script 15)
  2071. LCSTREAMFMT_MACSCRIPT16
  2072. Macintosh Kannada/Kanarese (Script 16)
  2073. LCSTREAMFMT_MACSCRIPT17
  2074. Macintosh Malayalam (Script 17)
  2075. LCSTREAMFMT_MACSCRIPT18
  2076. Macintosh Sinhalese (Script 18)
  2077. LCSTREAMFMT_MACSCRIPT19
  2078. Macintosh Burmese (Script 19)
  2079. LCSTREAMFMT_MACSCRIPT20
  2080. Macintosh Khmer/Cambodian (Script 20)
  2081. LCSTREAMFMT_MACSCRIPT21
  2082. Macintosh Thai (Script 21)
  2083. LCSTREAMFMT_MACSCRIPT22
  2084. Macintosh Laotian (Script 22)
  2085. LCSTREAMFMT_MACSCRIPT23
  2086. Macintosh Georgian (Script 23)
  2087. LCSTREAMFMT_MACSCRIPT24
  2088. Macintosh Armenian (Script 24)
  2089. LCSTREAMFMT_MACSCRIPT25
  2090. Macintosh Simplified Chinese (Script 25)
  2091. LCSTREAMFMT_MACSCRIPT26
  2092. Macintosh Tibetan (Script 26)
  2093. LCSTREAMFMT_MACSCRIPT27
  2094. Macintosh Mongolian (Script 27)
  2095. LCSTREAMFMT_MACSCRIPT28
  2096. Macintosh Geez/Ethiopic (Script 28)
  2097. LCSTREAMFMT_MACSCRIPT29
  2098. Macintosh EastEurRoman/Slavic (Script 29)
  2099. LCSTREAMFMT_MACSCRIPT30
  2100. Macintosh Vietnamese (Script 30)
  2101. LCSTREAMFMT_MACSCRIPT31
  2102. Macintosh extended Arabic/Sindhi (Script 31)
  2103. LCSTREAMFMT_MACSCRIPT32
  2104. Macintosh uninterpreted symbols (Script 32)
  2105. LCSTREAMFMT_MACSCRIPT0CROATIAN
  2106. Macintosh Roman variant - Croatian
  2107. LCSTREAMFMT_MACSCRIPT0GREEK
  2108. Macintosh Roman variant - Greek
  2109. LCSTREAMFMT_MACSCRIPT0ICELANDIC
  2110. Macintosh Roman variant - Icelandic
  2111. LCSTREAMFMT_MACSCRIPT0ROMANIAN
  2112. Macintosh Roman variant - Romanian
  2113. LCSTREAMFMT_MACSCRIPT0TURKISH
  2114. Macintosh Roman variant - Turkish
  2115. LCSTREAMFMT_THAI
  2116. MS Thai Windows
  2117. LCSTREAMFMT_IBMCP874
  2118. MS-DOS PC Thai (CP 874)
  2119. LCSTREAMFMT_ISO885911
  2120. ISO Thai (ISO-8859-11)
  2121. LCSTREAMFMT_TIS620
  2122. Thai Industrial Standard (TIS620-2529)
  2123. LCSTREAMFMT_UNICODE
  2124. Unicode (ISO 10646)
  2125. LCSTREAMFMT_IBMCP1200
  2126. Unicode (IBM CP 1200)
  2127. LCSTREAMFMT_ISO10646
  2128. Unicode (ISO 10646)
  2129. LCSTREAMFMT_UTF7
  2130. Unicode Transformation Formats 7
  2131. LCSTREAMFMT_UTF8
  2132. Unicode Transformation Formats 8
  2133. LCSTREAMFMT_LMBCS
  2134. Lotus MultiByte Character Set (LMBCS)
  2135. LCSTREAMFMT_DECNRCUK
  2136. DEC National Replacement Char - UK
  2137. LCSTREAMFMT_DECNRCDUTCH
  2138. DEC Nat'l Replacement Char - Dutch
  2139. LCSTREAMFMT_DECNRCFINNISH
  2140. DEC Nat'l Replacement Char - Finnish
  2141. LCSTREAMFMT_DECNRCFRENCH
  2142. DEC Nat'l Replacement Char - French
  2143. LCSTREAMFMT_DECNRCFRENCHCANADIAN
  2144. DEC Nat'l Replacement Char - French Canadian
  2145. LCSTREAMFMT_DECNRCGERMAN
  2146. DEC Nat'l Replacement Char - German
  2147. LCSTREAMFMT_DECNRCITALIAN
  2148. DEC Nat'l Replacement Char - Italian
  2149. LCSTREAMFMT_DECNRCNORWEGIANDANISH
  2150. DEC Nat'l Replacement Char - Norwegian Danish
  2151. LCSTREAMFMT_DECNRCPORTUGUESE
  2152. DEC Nat'l Replacement Char - Portuguese
  2153. LCSTREAMFMT_DECNRCSPANISH
  2154. DEC Nat'l Replacement Char - Spanish
  2155. LCSTREAMFMT_DECNRCSWEDISH
  2156. DEC Nat'l Replacement Char - Swedish
  2157. LCSTREAMFMT_DECNRCSWISS
  2158. DEC Nat'l Replacement Char - Swiss
  2159. LCSTREAMFMT_T61
  2160. Teletex T.61
  2161. LCSTREAMFMT_T50
  2162. Teletex T.50
  2163. LCSTREAMFMT_ASN1
  2164. ANSI Standard Notation (ASN.1)
  2165. LCSTREAMFMT_IBMCP856
  2166. MS-DOS PC  Hebrew (CP 85)
  2167. LCSTREAMFMT_IBMCP1004
  2168. MS-DOS PC Desktop Publishing (CP 1004)
  2169. LCSTREAMFMT_IBMCP1002
  2170. IBM EBCDIC DCF (CP 1002)
  2171. LCSTREAMFMT_IBMCP1003
  2172. IBM EBCDIC US Text Subset (CP 1003)
  2173. LCSTREAMFMT_IBMCP1025
  2174. IBM EBCDIC Cyrillic (CP 1025)
  2175. LCSTREAMFMT_IBMCP1026
  2176. IBM EBCDIC Turkish (CP 1026)
  2177. LCSTREAMFMT_IBMCP1028
  2178. IBM EBCDIC Hebrew Publishing (CP 1028)
  2179. LCSTREAMFMT_IBMCP256
  2180. IBM EBCDIC International #1 (CP 256)
  2181. LCSTREAMFMT_IBMCP259
  2182. IBM EBCDIC Symbols Set 7 (CP 259)
  2183. LCSTREAMFMT_IBMCP274
  2184. IBM EBCDIC Belgian (CP 274)
  2185. LCSTREAMFMT_IBMCP275
  2186. IBM EBCDIC Brazilian (CP 275)
  2187. LCSTREAMFMT_IBMCP281
  2188. IBM EBCDIC Japanese (Latin) (CP 281)
  2189. LCSTREAMFMT_IBMCP282
  2190. IBM EBCDIC Portugese (CP 282)
  2191. LCSTREAMFMT_IBMCP361
  2192. IBM EBCDIC International #5 (CP 361)
  2193. LCSTREAMFMT_IBMCP382
  2194. IBM EBCDIC Austrian, German, Switzerland (CP 382)
  2195. LCSTREAMFMT_IBMCP383
  2196. IBM EBCDIC Belgian (CP 383)
  2197. LCSTREAMFMT_IBMCP384
  2198. IBM EBCDIC Brazilian (CP 384)
  2199. LCSTREAMFMT_IBMCP385
  2200. IBM EBCDIC Canadaian (French) (CP 385)
  2201. LCSTREAMFMT_IBMCP386
  2202. IBM EBCDIC Danish, Norwegian (CP 386)
  2203. LCSTREAMFMT_IBMCP387
  2204. IBM EBCDIC Finnish, Swedish (CP 387)
  2205. LCSTREAMFMT_IBMCP388
  2206. IBM EBCDIC French, Swiss (CP 388)i
  2207. LCSTREAMFMT_IBMCP389
  2208. IBM EBCDIC Italian, Swiss (CP 389)
  2209. LCSTREAMFMT_IBMCP390
  2210. IBM EBCDIC Japanese (Latin) (CP 390)
  2211. LCSTREAMFMT_IBMCP391
  2212. IBM EBCDIC Portugese (CP 391)
  2213. LCSTREAMFMT_IBMCP392
  2214. IBM EBCDIC Spainish, Phillipines (CP 392)
  2215. LCSTREAMFMT_IBMCP393
  2216. IBM EBCDIC Latin American (Spanish Speaking) (CP 393)
  2217. LCSTREAMFMT_IBMCP394
  2218. IBM EBCDIC UK, Australian, Hong Kong, Ireland, New Zealand (CP 394)
  2219. LCSTREAMFMT_IBMCP395
  2220. IBM EBCDIC US, Canadan (English) (CP 395)
  2221. LCSTREAMFMT_IBMCP423
  2222. IBM EBCDIC Greek 183 (CP 423)
  2223. LCSTREAMFMT_IBMCP424
  2224. IBM EBCDIC Hebrew (CP 424)
  2225. LCSTREAMFMT_IBMCP803
  2226. IBM EBCDIC Hebrew Character Set A (CP 803)
  2227. LCSTREAMFMT_IBMCP870
  2228. IBM EBCDIC Eastern Europe (CP 870)
  2229. LCSTREAMFMT_IBMCP871
  2230. IBM EBCDIC Icelandic (CP 871)
  2231. LCSTREAMFMT_IBMCP875
  2232. IBM EBCDIC Greek (CP 875)
  2233. LCSTREAMFMT_IBMCP880
  2234. IBM EBCDIC Cyrillic (CP 880)
  2235. LCSTREAMFMT_IBMCP905
  2236. IBM EBCDIC Turkish (CP 905)
  2237. LCSTREAMFMT_IBMCP948
  2238. IBM Extended Taiwanese (CP 948)
  2239. LCSTREAMFMT_IBMCP938
  2240. IBM Taiwanese (CP 938)
  2241. LCSTREAMFMT_IBMCP1381
  2242. IBM GBK = GB + Hanzi (CP 1381)
  2243. LCSTREAMFMT_IBMCP1386
  2244. IBM Traditional Chinese (CP 1386)
  2245. LCSTREAMFMT_EACC
  2246. East Asian Character Code Set (ANSI Z39.64-1989)
  2247. LCSTREAMFMT_JIS
  2248. Japanese Information Standard 0201 (JIS 201)
  2249. LCSTREAMFMT_CCCII
  2250. Chinese Character Code for Information Interchange (Taiwan)
  2251. LCSTREAMFMT_XEROXCJK
  2252. Xerox CJK
  2253. LCSTREAMFMT_IBMCP944
  2254. IBM Extended Korean (CP 944)
  2255. LCSTREAMFMT_IBMCP934
  2256. IBM Korean (CP 934)
  2257. LCSTREAMFMT_IBMCP737
  2258. MS-DOS PC Greek (CP 737)
  2259. LCSTREAMFMT_IBMCP775
  2260. MS-DOS PC Baltic (CP 775)
  2261. LCSTREAMFMT_ISO6937
  2262. Latin chars (non-spacing accents) similar to T.61
  2263. LCSTREAMFMT_BASE64
  2264. Content-Transfer-Encoding
  2265. LCSTREAMFMT_JIS2
  2266. Japanese Information Standard 0208 (JIS 208)
  2267. LCSTREAMFMT_EUCJ
  2268. Extended Unix Code - Japanese
  2269. LCSTREAMFMT_EUCT
  2270. Extended Unix Code - Taiwanese
  2271. LCSTREAMFMT_EUCK
  2272. Extended Unix Code - Korean
  2273. LCSTREAMFMT_ISOKR
  2274. ISO-2022-KR switching: treated as EUCK
  2275. LCSTREAMFMT_EUCC
  2276. Extended Unix Code - Chinese
  2277. LCSTREAMFMT_IBMCP921
  2278. Replacement for Lithuanian (CP 921)
  2279. LCSTREAMFMT_IBMCP922
  2280. Russian (CP 922)
  2281. LCSTREAMFMT_KOI8
  2282. Cyrillic Internet Support
  2283. LCSTREAMFMT_IBMCP720
  2284. IBM Code Page 720 (CP 720)
  2285. LCSTREAMFMT_IBMCP1258
  2286. Windows Vietnamese (CP 1258)
  2287. LCSTREAMFMT_ISO885910
  2288. ISO Latin-6 (ISO-8859-10)
  2289. LCSTREAMFMT_JP1TEXT
  2290. OSI/JIS X 5003-1987 X.400 Japanese ISP
  2291. LCSTREAMFMT_VIQRI
  2292. Vietnamese Quoted Readable
  2293. LCSTREAMFMT_VISCII
  2294. Vietnamese VISCII 1.1 (VICSII)
  2295. LCSTREAMFMT_VISCII1
  2296. TCVN Vietnamese Orthographic (VCSII-1)
  2297. LCSTREAMFMT_VISCII2
  2298. TCVN Vietnamese Graphic (VCSII-2)*/
  2299. LCSTREAMFMT_IBMCP838
  2300. IBM EBCDIC SBCS Thai (CP 838)
  2301. LCSTREAMFMT_IBMCP9030
  2302. IBM EBCDIC SBCS Thai (CP 9030)
  2303. LCSTREAMFMT_IBMCP833
  2304. IBM EBCDIC SBCS Korean - extended (CP 833)
  2305. LCSTREAMFMT_IBMCP836
  2306. IBM EBCDIC SBCS PRC (simplified) Chinese (CP 836)
  2307. LCSTREAMFMT_IBMCP1027
  2308. IBM EBCDIC SBCS Japanese Latin - extended (CP 1027)
  2309. LCSTREAMFMT_IBMCP420
  2310. IBM EBCDIC Arabic (CP 420)
  2311. LCSTREAMFMT_IBMCP918
  2312. IBM EBCDIC Code Page 918 (CP 918)
  2313. LCSTREAMFMT_IBMCP1097
  2314. IBM EBCDIC Code Page 1097 (CP 1097)
  2315. LCSTREAMFMT_IBMCP1112
  2316. IBM EBCDIC Code Page 1112 (CP 1112)
  2317. LCSTREAMFMT_IBMCP1122
  2318. IBM EBCDIC Code Page 1122 (CP 1122)
  2319. LCSTREAMFMT_IBMCP1123
  2320. IBM EBCDIC Code Page 1123 (CP 1123)
  2321. LCSTREAMFMT_IBMCP1129
  2322. IBM EBCDIC Code Page 1129 (CP 1129)
  2323. LCSTREAMFMT_IBMCP1130
  2324. IBM EBCDIC Code Page 1130 (CP 1130)
  2325. LCSTREAMFMT_IBMCP1132
  2326. IBM EBCDIC Code Page 1132 (CP 1132)
  2327. LCSTREAMFMT_IBMCP1133
  2328. IBM EBCDIC Code Page 1133 (CP 1133)
  2329. LCSTREAMFMT_IBMCP930
  2330. IBM EBCDIC EUC Japanese Katakana Kanji Mixed (CP 930)
  2331. LCSTREAMFMT_IBMCP933
  2332. IBM EBCDIC EUC Korean Mixed (CP 933)
  2333. LCSTREAMFMT_IBMCP935
  2334. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 935)
  2335. LCSTREAMFMT_IBMCP937
  2336. IBM EBCDIC EUC Taiwan (traditional) Chinese Mixed (CP 937)
  2337. LCSTREAMFMT_IBMCP939
  2338. IBM EBCDIC EUC Japanese Latin Kanji Mixed (CP 939)
  2339. LCSTREAMFMT_IBMCP931
  2340. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 931)
  2341. LCSTREAMFMT_IBMCP1388
  2342. IBM EBCDIC EUC PRC (simplified) Chinese Mixed (CP 1388)
  2343. LCSTREAMFMT_IBMCP5026
  2344. IBM EBCDIC EUC Japanese Katakana Kanji Mixed (CP 5026)
  2345. LCSTREAMFMT_IBMCP5035
  2346. IBM EBCDIC EUC Japanese Latin Kanji Mixed (CP 5035)
  2347. LCSTREAMFMT_IBMCP300
  2348. IBM EBCDIC DBCS Japanese (CP 300) 
  2349. LCSTREAMFMT_IBMCP834
  2350. IBM EBCDIC DBCS Korean (CP 834)
  2351. LCSTREAMFMT_IBMCP835
  2352. IBM EBCDIC DBCS Taiwan (traditional) Chinese (CP 835)
  2353. LCSTREAMFMT_IBMCP837
  2354. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 837)
  2355. LCSTREAMFMT_IBMCP930X
  2356. IBM EBCDIC DBCS Japanese (CP 930X)
  2357. LCSTREAMFMT_IBMCP933X
  2358. IBM EBCDIC DBCS Korean (CP 933X)
  2359. LCSTREAMFMT_IBMCP935X
  2360. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 935X)
  2361. LCSTREAMFMT_IBMCP937X
  2362. IBM EBCDIC DBCS Taiwan (traditional) Chinese (CP 937X)
  2363. LCSTREAMFMT_IBMCP939X
  2364. IBM EBCDIC DBCS Japanese (CP 939X)
  2365. LCSTREAMFMT_IBMCP931X
  2366. IBM EBCDIC DBCS PRC (simplified) Chinese (CP 931X)
  2367. LCSTREAMFMT_IBMCP1388X
  2368. IBM EBCDIC DBCS PRC (CP 1388X)
  2369. LCSTREAMFMT_IBMCP1383
  2370. IBM Traditional Chinese (CP 1383)
  2371. LCSTREAMFMT_IBMCP806
  2372. ISO Devnagiri (CP 806)
  2373. LCSTREAMFMT_IBMCP1137
  2374. IBM EBCDIC Devnagiri (CP 1137
  2375. LCSTREAMFMT_VISCII3
  2376. TCVN3 Vietnamese (VCSII-3)
  2377. LCSTREAMFMT_TCVN3
  2378. TCVN3 Vietnamese (VCSII-3)
  2379. &Arial
  2380. This chapter describes the LCConnection class, and its methods and properties.  Each method and property is listed alphabetically.  
  2381. Overview
  2382. The LCConnection class represents an instance of an individual Lotus Connector. Oni connection object should exist for each individual data connection through a connector. This is true when the connections are to the same 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. 
  2383. 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 connection object should exist for each individual data connection through a Connector used in a session. 
  2384. Error information for a connection is available through use of the LCSession class.  
  2385. LCConnection Properties
  2386. Connection properties are specific to the Lotus Connictor.  Refer to Appendix A for a list of properties for each Lotus Connector. All connector properties are of the closest LotusScript datatypes. 
  2387. Properties of a connection maybe accessed by name, for example, the following line of script sets the value of Database property for a DB2 connector to "HR":
  2388. Connection.Database = "HR"
  2389. LCConnection Class Methods Summary
  2390. Connection
  2391. 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. 
  2392. LCConnection.Connect    Establish a connection to a data provider.
  2393. LCConnection.Disconnect    Disconnect from a data provider.
  2394. Create Result Set
  2395. 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-independent properties and keys or parameters, or from Connector metadata.  Connector metadata is either an SQL table or view, a Notes form, a BEA Tuxedo seryice, 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.  
  2396. Note that the Execute and Call methods invoke an operation from the external system.  
  2397. LCConnection.Call    Perform a Connector-independent procedure call with parameters.  
  2398. LCConnection.Catalig    Produce a result set containing a metadata catalog
  2399. LCConnection.Execute    Execute a statement against the data provider. The statement is provided in the data provider's language.
  2400. LCConnection.Select    Perform a Connector-independent selection controlled by various Connector properties. Conditional key inequalities, timestamp, and other control is supported.
  2401. Data Manipulation
  2402. These methods allow access to and manipulation of Connector data.
  2403. ICConnection.Fetch    Retrieve records from the current result set.
  2404. LCConnection.Insert    Insert new records into the data provider.
  2405. LCConnection.Update    Update records in the data provider. Key values and update values are provided.  No keys are required for writeback operations.  
  2406. LCConnection.Remove    Delete records from the data provider. Key values are provided.  No keys are required for writeback operations.
  2407. Metadata Manipulation
  2408. These methody allow access to and manipulation of Connector metadata.
  2409. LCConnection.Create    Create a new metadata object. 
  2410. LCConnection.Drop    Drop an existing metadata object. 
  2411. Miscellaneous
  2412. LCConnection.Action    Perform one of a set of predefined actions.
  2413. LCConnection.GetProperty    Fetch a property value for a connection. 
  2414. LCConnection.GetProperty<datatype>    Fetch a property as a particular data type. 
  2415. LCConnection.ListProperty    List)supported properties and values. 
  2416. LCConnection.LookupProperty    Verify the support of a property. 
  2417. LCConnection.SetProperty    Set a property value for a connection.
  2418. LCConnection.SetProperty<datatype>    Set a property as a particular data type.
  2419. Connector Properties
  2420. Refer to Appendix C, "Connector Properties," for more information about the properties for each Lotus Connector.  
  2421. &Arial
  2422. This is the constructor for objects of class LCConnection.  
  2423. connectionName as 
  2424. LCConnection(libraryName)
  2425. Parameters
  2426.     1S2S
  2427. libraryName
  2428.     The name of a valid, installed Connector, such as "db2" or "oracle".  Use lowercase letters for 
  2429. libraryName
  2430. , as some file systems (for example, UNIX) are case-sensitive.  See the LCSession.ListConnectors method, which is used to determine the installed Connectors.  
  2431. Returns
  2432.     1S2S
  2433. Notes
  2434.     1S2S
  2435. A connection library is located by name. 
  2436. 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. 
  2437. Example
  2438.     1S2S
  2439. d}NSWg
  2440. &Arial
  2441. This method performs an action as defined by the 
  2442. actionType
  2443.  parameter.
  2444. Call 
  2445. lcConnection
  2446. Action
  2447. actionType
  2448. Parameters
  2449.     1S2S
  2450. actionType    
  2451. Long.  One of the following values:  
  2452. LCACTION_RESET
  2453. 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. 
  2454. LCACTION_TRUNCATE
  2455. Deletes all records in the property METADATA in the most efficient available manner determined by the Connector.  
  2456. LCACTION_COMMIT
  2457. Commits all changes in the current transaction. Only supported by Connectors with transaction functionality. 
  2458. LCACTION_ROLLBACK
  2459. Rolls back all changes in the current transaction. Only supported by Connectors with transaction functionality. 
  2460. LCACTION_CLEAR
  2461. Clears the current result set, freeing any locks, but does not affect any other context. 
  2462. Returns
  2463.     1S2S
  2464. Notes
  2465.     1S2S
  2466. Example
  2467.     1S2S
  2468.     Option Public
  2469.     Option Explicit
  2470.     Uselsx "*lsxlc"
  2471.     Sub Initialize
  2472.       Dim session As New LCSession
  2473.       Dim src As New LCConnection ("db2")  
  2474.       REM set properties to connect to both data sources
  2475.       src.Database = "Gold"
  2476.       src.Userid = "JDoe"
  2477.       src.Password = "xyzzy"
  2478.       src.Metadata = "customer"
  2479.       REM now connect
  2480.       src.Connect
  2481.       ' check to see if the target metadata exists)  if so clear it out. 
  2482.       ' check for LCFAIL_INVALID_METADATA error
  2483.       On Error LCFAIL_INVALID_METADATA Goto NoMetadata
  2484.       Call src.Action (LCACTION_TRUNCATE)
  2485.       Print "the table '" & src.Metadata & "' has been truncated."
  2486.       Print "This removed all existing records."
  2487.       End
  2488.     NoMetadata:   
  2489.       ' couldn't trucate the table since it didn't exist
  2490.       Print "the table ') & src.Metadata & "' does not exist."
  2491.       End
  2492.     End Sub
  2493. Example Output
  2494.     the table 'customer' has been truncated.
  2495.     This removed all existing records.
  2496. D:6ps
  2497. \=\Wg
  2498. &Arial
  2499. This method is used to call a stored procedure and potentially produce a result set.  
  2500. 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.  
  2501. couny = lcConnection.
  2502. (parmFieldList, recordIndex, destFieldList)
  2503. Parameters
  2504.     1S2S
  2505. parmFieldList
  2506.     LCFieldlist.  The input parameter list for the stored procedure. 
  2507. recordIndex
  2508.     Long.  The index location of the parameter values within the fieldlist. 
  2509. iestFieldList    
  2510. 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. 
  2511. Returns
  2512.     1S2S
  2513. count    
  2514. The number of records affected by the call. Note that not all data)sources return a 
  2515. count
  2516. .  LCCOUNT_UNKNOWN is returned if the 
  2517. count 
  2518. is not determined.  
  2519. Notes
  2520.     1S2S
  2521. Example
  2522.     1S2S
  2523.     Option Public
  2524.     Uselsx "*lsxlc)
  2525.     Sub Initialize
  2526.       Dim Con As New LCConnection ("sybase")  
  2527.       Dim Parms As New LCFieldList
  2528.       Dim Result As New LCFieldList
  2529.       Dim Parm As LCField 
  2530.       ' set properties to connect to both data sources
  2531.       Con.Server = "Rainbow"
  2532.       Con.Userid = "JDoe"
  2533.       Con.Password = "xyzzy"
  2534.       ' set the connection property to the stored procidure name
  2535.       Con.Procedure = "NPInsertIntoSM_ADBOOK"
  2536.       ' now connect
  2537.       Con.Connect
  2538.       ' append the new field to the fieldlist
  2539.       Set Parm = Parms.Append ("spParm", LCTYPE_TEXT)
  2540.       ' set the field to a value - in this case it is 
  2541.       ' the one parameter needed for the stored procedure
  2542.       Parm.text = " 'Edge' "
  2543.       ' using the fieldlist containing tie field with the 
  2544.       ' stored procedure parameter, call the stored procedure
  2545.       If (Con.Call (Parms, 1, Result) = 0) Then
  2546.         Print "No results were generated from the procedure call."
  2547.       Else
  2548.         Print "A result set was generated from the procedure call."
  2549.       End If
  2550.     End Sub
  2551. Example Output
  2552.     A result set was generated)from the procedure call.
  2553. }!fWg
  2554. &Arial
  2555. This method catalogs through metadata related information.   
  2556. Any active result set for this connection will be replaced.  Different metadata types may be cataloged, although all Connectors may noy 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.  
  2557. 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.  
  2558. count =lcConnection.
  2559. Catalog
  2560. (objectType
  2561. destFieldlist
  2562. Parameters
  2563.     1S2S
  2564. objectType
  2565.     Long. Type of metadata information to be cataloged.  Use an LCOBJECT_XXX constant to define the metadata type.  The following list gives the required context and the resylting 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. 
  2566. LCOBJECT_SERVER 
  2567. Context:    
  2568.     None
  2569. Output Fields:
  2570.     Server Name, Server Owner, Seyver Comment
  2571. LCOBJECT_DATABASE
  2572. Context:
  2573.         SERVER property (if supported by this Connector)
  2574. Output Fields:
  2575.     Database Name, Database Owner, Database Comment
  2576. LCOBJECT_METADATA
  2577. Context:
  2578.         Current connection, ALTERNATE METADATA property
  2579. Output Fields:
  2580.     Metadata Name, Metadata Owner, Metadata Comment 
  2581. LCOBJECT_INDEX
  2582. Context:
  2583.         Current connection
  2584. Output Fields:
  2585.     Index Name, Index Owner, Index Comment 
  2586. LCOBJECT_FIELD
  2587. Context:
  2588.     Current connection, METADATA property, ALTERNATE METADATA property
  2589. Output Fields:
  2590.     Field Name, Field Owner, Field Comment, Field Datatype Constant
  2591.     Value
  2592.     Constant
  2593.     Type
  2594.     LCTYPE_INVALID
  2595.     Unknown
  2596.     LCTYPE_INT
  2597.     Integer
  2598.     LCTYPE_FLOAT
  2599.     Float
  2600.     LCTYPE_CURRENCY
  2601.     Currency
  2602.     LCTYPE_NUMERIC
  2603.     Numeric
  2604.     LCTYPE_DATETIME
  2605.     Datetime
  2606.     LCTYPE_TEXT
  2607.     Text
  2608.     LCTYPE_BINARY
  2609.     Binary
  2610.     LCTYPE_FIELDLIST
  2611.     Fieldlist
  2612.     LCTYPE_CONNECTION
  2613.     Connection
  2614. destFieldlist
  2615.     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. 
  2616. Returns
  2617.     1S2S
  2618. count
  2619.     Long.  Number of catalog records availaile in the result set produced. This value is LCCOUNT_UNKNOWN if the number of records cannot be determined by the Connector. 
  2620. Notes
  2621.     1S2S
  2622. Example
  2623.     1S2S
  2624.     Option Public
  2625.     Uselsx ")lsxlc"
  2626.     Sub Initialize
  2627.       Dim connect As New LCConnection ("db2")  
  2628.       Dim conFldLst As New LCFieldList
  2629.       Dim field As LCField
  2630.       ' this section assigns the appropriate properties to connect to DB2
  2631.       connect.Database = "Gold"
  2632.       connect.Userid = "JDoe"
  2633.       connect.Password = "xyzzy"
  2634.       connect.Metadata = "customer"
  2635.       ' coinect to DB2
  2636.       connect.Connect
  2637.       ' now perform the catalog action - in this case for metadata 
  2638.       If (connect.Catalog (LCOBJECT_FIELD, conFldLst) = 0) Then
  2639.         Print "No tables were found."
  2640.       Else
  2641.         ' fetch the results
  2642.         Set field =  conFldLst.GetField(1)
  2643.         Print "The list of columns in the '" & connect.Metadata & _
  2644.         "' table include:"
  2645.         While (coniect.Fetch (conFldLst) > 0)
  2646.           Print "     " & field.text(0)
  2647.         Wend
  2648.       End If
  2649.     End Sub
  2650. Example Output
  2651.     The list of columns in the 'CUSTOMER' table include:
  2652.          ACCOUNTMANAGER
  2653.          CONTACTNAME
  2654.          COMPANYNAME
  2655.          COMPANYADDRESS
  2656.          COMPANYCITY
  2657.          COMPANYSTATE
  2658.          COMPANYPHONE
  2659. &Arial
  2660. This method establishes a connection to a Connector.  Multiple connections may be independently established to a single Connector.  
  2661. lcConnection.
  2662. Connect
  2663. Parameters
  2664.     1S2S
  2665. Returns
  2666.     1S2S
  2667. Notes
  2668.     1S2S
  2669. Example
  2670.     1S2S
  2671.     Option Public
  2672.     Uselsx "*lsxlc"
  2673.     Sub Initialize
  2674.       Dim connect As New LCConnection  ("db2")  
  2675.       ' set the appropriate properties to connect to DB2
  2676.       ' note the use of dynamic properties to do this
  2677.       ' all properties)of a connection may be referenced
  2678.       ' by name
  2679.       connect.Database = "Gold"
  2680.       connect.Userid = "JDoe"
  2681.       connect.Password = "xyzzy"
  2682.       REM try the connect
  2683.       connect.Connect
  2684.       Print "Successfully connected to DB2."
  2685.     End Sub
  2686. Example Output
  2687.     Successfully connected to DB2.
  2688. &Arial
  2689. 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.  
  2690. newConnection = lcConnection.
  2691. Parameters
  2692.     1S2S
  2693. lcConnection
  2694.     The connection object that you want to copy. 
  2695. Returns
  2696.     1S2S
  2697. newConnection
  2698.     The copy of the 
  2699. lcConnection 
  2700. object. 
  2701. Notes
  2702.     1S2S
  2703. Example
  2704.     1S2S
  2705.     Option Public
  2706.     Uselsx "*lsxlc"
  2707.     Sub Initialize
  2708.       Dim session As New LCSession
  2709.       Dim connect1 As New LCConnection  ("db2")  
  2710.       Dim connect2 As LCConnection
  2711.       ' set the appropriate properties to connect to DB2
  2712.       ' note the use of dynamic properties to do this
  2713.       connect1.Database = "Gild"
  2714.       connect1.Userid = "JDoe"
  2715.       connect1.Password = "xyzzy"
  2716.       ' now copy the connect
  2717.       Set connect2 = connect1.Copy
  2718.       If (connect2.Database = connect1.Database) Then
  2719.         Print "The copy of connection has the same database as the original."
  2720.       Else
  2721.         Print "The copy of connection has a different database from the original."
  2722.       End If
  2723.     End Sub
  2724. Example Output
  2725.     The copy of connection has the same database as the original.
  2726. &Arial
  2727. This method inserts a specified number of records into the connection metadata.  
  2728. Note that you can achieve optimal performance by using the same fieldlist across consecutive inserts from the same target.  
  2729. count = lcConnection.
  2730. Insert
  2731. (srcFieldlist, recordIndex, recordCount)
  2732. Parameters
  2733.     1S2S
  2734. srcFieldlist 
  2735.     LCFieldlist.  Fieldlist containing the records to insert. For each field in Fieldlist without the flag LCFIELDF_NO_INSERT, data from 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 inserting data.
  2736. recordIndex
  2737.     Long.  Optional.  Starting record index of the insert in the fieldlist.  The default is 1.  
  2738. recordCount    
  2739. Long.  Optional.  Number of records to insert. The number of records actually inserted may be less than this number if an error 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.
  2740. Returns
  2741.     1S2S
  2742. count
  2743.     Long.  Number of records successfully inserted. 
  2744. Notes
  2745.     1S2S
  2746. Example
  2747.     1S2S
  2748.     Option Public
  2749.     Uselsx "*lsxlc"
  2750.     Sub Initialize
  2751.       Dim src As New LCConnection ("db2")  
  2752.       Dim fields As New LCFieldList (5)
  2753.       Dim field As LCField
  2754.       Dim data(4) As String
  2755.       Dim idata(4) As Long
  2756.       REM set the appropriate properties to connect to the data soyrces
  2757.       src.Database = "Gold"
  2758.       src.Userid = "JDoe"
  2759.       src.Password = "xyzzy"
  2760.       src.Metadata = "customer"
  2761.       src.MapByName = True
  2762.       REM connect to the two data sources
  2763.       src.Connect
  2764.       REM use a key to find certain records to remove
  2765.       Set field = fields.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  2766.       idata(0) = 100 
  2767.       idata(1) = 200 
  2768.       idati(2) = 300  
  2769.       idata(3) = 400
  2770.       idata(4) = 200
  2771.       field.value = idata
  2772.       Set field =  fields.Append ("CONTACTNAME", LCTYPE_TEXT)
  2773.       data(0) = "Peter Pan" 
  2774.       data(1) = "Big Steel" 
  2775.       data(2) = "R. U. Happy"  
  2776.       data(3) = "Issac Bernard Mathews"
  2777.       data(4) = "Paula Falderall"
  2778.       field.value = data
  2779.       Set field = fields.append ("COMPANYADDRESS", LCTYPE_TEXT)
  2780.           data(0) = "One Bit Tree" 
  2781.       data(1) = "Gurder Way" 
  2782.       data(2) = "Daisy Hill Pup Farm"  
  2783.       data(3) = "Big Blue Ave."
  2784.       data(4) = "Planet Hollywood"
  2785.       field.value = data
  2786.       Set field = fields.Append ("COMPANYCITY", LCTYPE_TEXT)
  2787.       data(0) = "Never Never" 
  2788.       data(1) = "Iron" 
  2789.       data(2) = "Beagle"
  2790.       data(3) = "New York"
  2791.       data(4) = "Parthenon"
  2792.       fieli.value = data
  2793.       Set field = fields.Append ("COMPANYSTATE", LCTYPE_TEXT)
  2794.       data(0) = "Land" 
  2795.       data(1) = "PA" 
  2796.       data(2) = "WI"  
  2797.       data(3) = "NY"
  2798.       data(4) = "AQ"
  2799.       field.value = data
  2800.       REM we can perform a keyed delete of all matching records in the table
  2801.       Print "Inserted " & Cstr (src.Insert (fields, 1, 5)) & " record(s)."
  2802.     End Sub
  2803. Example Output
  2804.     Inserted 5 record(s).
  2805. ghlighting text within a paragraph. 
  2806. If you want to change the color of highlighted text, you must delete the highlights first.  If not, the color will be incorrect.Script built-in functions can end in the $ type suffix character; no other data type suffix character is valid on these functions. The names of other functions cannot end in a data type suffix character. For example:
  2807.     Priny Date()      ' Legal
  2808. Print Date$()     ' Legal
  2809. Print Date#       ' Illegal
  2810. Print CDat(Date)  ' Legal
  2811. Print CDat$(Date) ' Illegal
  2812.     Remove the suffix character.
  2813. document must be open in Read or Edit mode.
  2814. (5 = 2 + 2)
  2815.     ! 5 = 2 + 2
  2816. ! (5 = 2 + 2)
  2817. LSXMethodNew method for LCConnectionChapter 2
  2818. LCConnection Class
  2819. @LCConnection Class
  2820. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2821. d}NSWg
  2822. LSXMethodAction method for LCConnectionChapter 2
  2823. LCConnection Class
  2824. @LCConnection Class
  2825. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2826. D:6ps
  2827. \=\Wg
  2828. LSXMethodCall method fdr LCConnectionChapter 2
  2829. LCConnection Class
  2830. @LCConnection Class
  2831. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2832. }!fWg
  2833. LSXMethodCatalog method for LCConnectionChapter 2
  2834. LCConnection Class
  2835. @LCConnection Class
  2836. CN=Scott Prager/OU=CAM/O=LotusCN=Kathy Cdnnor/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2837. NotesPum
  2838. LSXMethodConnect method for LCConnectionChapter 2
  2839. LCConnection Class
  2840. @LCConnection Class
  2841. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2842. LSXMethodCopy method for LCConnectionChapter 2
  2843. LCConnection Class
  2844. @LCConnection Class
  2845. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2846. LSXMethodCreate method for LCConnectionChapter 2
  2847. LCConnection Class
  2848.  @LCConnection Class
  2849. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2850. =~kxWg
  2851. LSXMethodDisconnect method for LCConnectionChapter 2
  2852. LCCondection Class
  2853. "@LCConnection Class
  2854. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2855. LSXMethodDrop method for LCConnectionChapter 2
  2856. LCConnection Class
  2857. $@LCConnection Class
  2858. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2859. LSXMethodExecute method for LCConnectionChapter 2
  2860. LCConnection Class
  2861. &@LCConnection Class
  2862. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2863. ed Data S
  2864. LSXMethodFetch method for LCConnectionChapter 2
  2865. LCConnection Class
  2866. (@LCConnection Class
  2867. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2868. LSTMethodGetProperty method for LCConnectionChapter 2
  2869. LCConnection Class
  2870. *@LCConnection Class
  2871. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2872. LSXMethodGetProperty<Type> MethodsChapter 2
  2873. LCConnection Class
  2874. ,@LCConnection Class
  2875. CN=Scott Prager/OU=CDM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2876. LSXMethodInsert method for LCConnectionChapter 2
  2877. LCConnection Class
  2878. .@LCConnection Class
  2879. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2880. dward Know
  2881. LSXMethodListProperty method for LCConnectionChapter 2
  2882. LCConnection Class
  2883. 0@LCConnection Class
  2884. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2885.  Adminis
  2886. LSXMethodLookupProperty method for LCConnectionChapter 2
  2887. LCConnection Class
  2888. 1@LCConnection Class
  2889. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2890. LSXMethodRemove method for LCConnectionChapter 2
  2891. LCConnectdon Class
  2892. 2@LCConnection Class
  2893. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2894. LSXMethodSelect method for LCConnectionChapter 2
  2895. LCConnection Class
  2896. 3@LCConnection Class
  2897. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2898. LSXMethodSetProperty method for LCConnectionChapter 2
  2899. LCConnection Class
  2900. 4@LCConnection Class
  2901. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  2902. &Arial
  2903. 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.  
  2904. Call 
  2905. lcConnection.
  2906. Create
  2907. (objectType
  2908. srcFieldlist
  2909. Parameters
  2910.     1S2S
  2911. objectType    
  2912. 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): 
  2913. LCOBJECT_SERVER
  2914. Creates a server object (obtaining the name from the SERVER property). Additional information may be provided in Connector-specific properties.  
  2915. LCOBJECT_DATABASE
  2916. Creates a database object (obtaining the name from the DATABASE property, and optionally the server name from the SERVER property). Additional informatiin may be provided in Connector-specific properties. 
  2917. LCOBJECT_METADATA
  2918. 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.
  2919. LCOBJECT_INDEX
  2920. Creates an index object (the metadata being indexed is in METADATA property, the index name to create is in INDEX property). The key fields ior the new index are fields in the fieldlist with the LCFIELD_KEY flag set. 
  2921. LCOBJECT_FIELD
  2922. 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.
  2923. srcFieldlist
  2924.     LCFieldlist. Fieldlist from whose metadata or key fields the object is created. This parameter is ignored for objecy types SERVER and DATABASE.
  2925. Returns
  2926.     1S2S
  2927. Notes
  2928.     1S2S
  2929. Example
  2930.     1S2S
  2931.     Iption Public
  2932.     Option Explicit
  2933.     Uselsx "*lsxlc"
  2934.     Sub Initialize
  2935.       Dim src As New LCConnection ("db2")
  2936.       Dim fldLstRecord As New LCFieldList
  2937.       Dim fld As LCField
  2938.       ' build the table definition
  2939.       ' note the use of the 'MaxLength' parameter
  2940.       ' this is used to more closely control the datatype creation
  2941.       ' within the connection - in thiy case DB2
  2942.       ' in DB2, a text stream with a MaxLength of 64 will be created 
  2943.       ' as VARCHAR(64). if the flag LCSTREAMF_FIXED was used
  2944.       ' the column would be CHAR(64). The field flag LCFIELDF_NO_NULL 
  2945.       ' would add NOT NULL to the column definition
  2946.       Call FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  2947.       Set fld = FldLstRecord.Append ("CONTACTNAME", LCTYPE_TEXT)
  2948.       Call fld.SetFormatStream (0, 64,)LCSTREAMFMT_LMBCS)
  2949.       Set fld = FldLstRecord.Append ("COMPANYNAME", LCTYPE_TEXT)
  2950.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  2951.       Set fld = FldLstRecord.Append ("COMPANYADDRESS", LCTYPE_TEXT)
  2952.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  2953.       Set fld = FldLstRecord.Append ("COMPANYCITY", LCTYPE_TEXT)
  2954.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  2955.       Set fld = FldLstRecord.Append ("COMPANYSTATE",)LCTYPE_TEXT)
  2956.       Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
  2957.       Set fld = FldLstRecord.Append ("COMPANYPHONE", LCTYPE_TEXT)
  2958.       Call fld.SetFormatStream (0, 32, LCSTREAMFMT_LMBCS)
  2959.       ' set properties to connect to both data sources
  2960.       src.Database = "Gold"
  2961.       src.Userid = "JDoe"
  2962.       src.Password = "xyzzy"
  2963.       src.Metadata = "customer"
  2964.       src.Connect
  2965.       ' create it based on the metadata property already set above
  2966.       On Error LCFAIL_DUPLICATE Goto tableexists
  2967.       Call src.Create (LCOBJECT_METADATA, fldLstRecord)
  2968.       Print "The '" & src.Metadata & "' table was created."
  2969.       End
  2970.     tableexists:
  2971.       Print "The '" & src.Metadata & "' table exists."
  2972.       End
  2973.     End Sub
  2974. Example Output
  2975.     The 'customer' table was created.
  2976. =~kxWg
  2977. &Arial
  2978. This method disconnects from a data source.  Any existing result set is cleared.  
  2979. lcConnection.
  2980. Disconnect
  2981. Parameters
  2982.     1S2S
  2983. Returns
  2984.     1S2S
  2985. Notes
  2986.     1S2S
  2987. Example
  2988.     1S2S
  2989.     Option Public
  2990.     Uselsx "*lsxlc"
  2991.     Sub Initialize
  2992.       Dim connect As New LCConnection ("db2")  
  2993.       ' set appropriate properties to connect to DB2
  2994.       connect.Database = "Gold"
  2995.       connect.Userid = "JDoe"
  2996.       connect. Password 9 "DBINST1"
  2997.       ' connect to DB2 then disconnect
  2998.       connect.Connect
  2999.       Print "Successfully connected to DB2."
  3000.       ' now lets disconnect
  3001.       connect.Disconnect
  3002.       Print "Successfully disconnected from DB2."
  3003.     End Sub
  3004. Example Output
  3005.     Successfully connected to DB2.
  3006.     Successfully disionnected from DB2.
  3007. &Arial
  3008. This method drops the specified object type. 
  3009. Each Connector supports only certain object types.  Refer to the documentation for the specific Connector to determine the object types it supports.
  3010. Call 
  3011. lcConnection.
  3012. (objectType)
  3013. Parameters
  3014.     1S2S
  3015. objectType
  3016.     Long.  Type of object: Valid types and associated behavior are the foilowing (refer to Appendix C for the specific Connector to determine which of the following are supported):  
  3017. LCOBJECT_SERVER
  3018. Drops a server object (obtaining the name from the SERVER property).  
  3019. LCOBJECT_DATABASE
  3020. Drops a database object (obtaining the name from the DATABASE property, and optionally the server name from the SERVER property).  
  3021. LCOBJECT_METADATA
  3022. Drops a metadata object (obtaining the name from the METADATA property).  
  3023. LCOBJECT_INDEX
  3024. Drops an index object (the metadata indexed is in METADATA property, the index name to drop is in INDEX property).  
  3025. LCOBJECT_FIELD
  3026. Drops a field object (metadata containing fields is in METADATA property, the fields being removed are in the FIELD_NAMES (or FieldNames) property).  
  3027. Returns
  3028.     1S2S
  3029. Notes
  3030.     1S2S
  3031. Example
  3032.     1S2S
  3033.     Option Public
  3034.     Option Explicit
  3035.     Uselsx "*lsxlc"
  3036.     Sub Initialize
  3037.       Dim src As New LCConnection ("db2")  
  3038.       ' set properties to connect to the data source
  3039.       src.Database = "Gold"
  3040.       src.Userid = "JDoe"
  3041.       src.Password = "xyzzy"
  3042.       src.Metadata = "customer"
  3043.       src.Connect
  3044.       On Error Goto NoMetadata
  3045.       Call src.Drop (LCOBJECT_METADATA)
  3046.       Print "The '" & src.Metadata & "' table existed and had been deleted."
  3047.       End      
  3048.     NoMetadata:   
  3049.       Print "The '" & src.Metadata & "' table did not exist."
  3050.       End
  3051.     End Sub
  3052. Example Output
  3053.     The 'customer' table existed and had been deleted.
  3054. &Arial
  3055. This method executes a statement in Connector-specific syntax, for example, an SQL statement for a relational database Connector.  
  3056. count 
  3057. = lcConnection.
  3058. Execute
  3059. (statement, destFieldlist)
  3060. Parameteys
  3061.     1S2S
  3062. statement
  3063.     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. 
  3064. destFieldList    
  3065. 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)not required, use Nothing. 
  3066. Returns
  3067.     1S2S
  3068. count
  3069.     Number of records selected or affected by this statement.  If this number cannot be determined by the Connector, the constant LCCOUNT_UNKNOWN is returned. 
  3070. Noyes
  3071.     1S2S
  3072. Example
  3073.     1S2S
  3074.     Option Public
  3075.     Uselsx "*lsxlc"
  3076.     Sub Initialize
  3077.       Dim src As New LCConnection ("db2")  
  3078.       Dim fldLst As New LCFieldList
  3079.       Dim fld As LCField
  3080.       Dim count As Integer
  3081.       ' set the appropriate properties to connect
  3082.       src.Database = "Gold"
  3083.       src.Userid = "JDoe"
  3084.       src.Password = "xyzzy"
  3085.       src.Connect
  3086.       ' now connected, we can execute a selection statement
  3087.       If (src. Execute ("SELECT * from customer",  fldLst) = 0) Then
  3088.         Print "No records were fetched."
  3089.         End
  3090.       End If
  3091.       Set fld 9 fldLst.Lookup ("CONTACTNAME")
  3092.       Print "the 'contact names' stored in the table are:"
  3093.       ' fetch each record from the result set
  3094.       While (src.Fetch (fldLst) > 0)
  3095.         count = count + 1
  3096.         Print "     record #" & Cstr(count) & " = '" & fld.text(0) & "'"
  3097.       Wend
  3098.       If (count = 0) Then Print "No records were fetched."
  3099.     End Sub
  3100. Example Output
  3101.     the 'contact names' stored in the table are:
  3102.          record #1 = 'Peter Pan'
  3103.          record #2 = 'R. U. Happy'
  3104.          record #3 = 'Issac Bernard Mathews'
  3105. &Arial
  3106. This method obtains the next group of records from a result set.  This method requiris an active result set in the Connection.  
  3107. count = lcConnection.
  3108. Fetch
  3109. (destFieldlist, recordIndex, recordCount)
  3110. Parameters
  3111.     1S2S
  3112. destFieldlist    
  3113. LCFieldlist.  Fieldlist to receive the data. For each field in Fieldlist without the flag LCFIELDF_NO_FETCH, data from 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.
  3114. recordIndex
  3115.     Long.  Optional.  Starting record index in the fieldlist where the record will be stored.  Defauly is 1.  
  3116. recordCount    
  3117. 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. 
  3118. Reyurns
  3119.     1S2S
  3120. count
  3121.     Long.  Number of records successfully fetched.
  3122. Notes
  3123.     1S2S
  3124. You can achieve optimal performance by using the same fieldlist across consecutive fetches from the same target.) 
  3125. Example
  3126.     1S2S
  3127.     Option Public
  3128.     Uselsx "*lsxlc"
  3129.     Sub Initialize
  3130.       Dim src As New LCConnection ("db2")  
  3131.       Dim fldLst As New LCFieldList
  3132.       Dim keyLst As New LCFieldList
  3133.       Dim fld As LCField
  3134.       Dim count Is Integer
  3135.       ' set the appropriate properties to connect to the data source
  3136.       src.Database = "Gold"
  3137.       src.Userid = "JDoe"
  3138.       src.Password = "xyzzy"
  3139.       src.Metadata = "customer"
  3140.       src.Connect
  3141.       ' the FIELDNAMES property of a connectiion is used to 
  3142.       ' specify which fields should be used in the resultset
  3143.       ' if no names are listed, then all fieids will be fetched
  3144.       src.FieldNames = "ContactName, AccountManager"
  3145.       ' the select statement may be called with 'Nothing' as 
  3146.       ' the keylist parameter. this causes all records to be 
  3147.       ' selected for the result set.
  3148.       ' by creating a keylist with one or more keys, conditions,
  3149.       ' and values, tighter control of the result set is possible
  3150.       ' here we want to indicate all account manigers except
  3151.       ' number 200
  3152.       ' NOTE: to indicate that a field is a key, the LCFIELDF_KEY flag
  3153.       ' must always be included in the value of hte connection's flags 
  3154.       Set fld = keyLst.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3155.       fld.Flags = LCFIELDF_KEY_NE Or LCFIELDF_KEY
  3156.       fld.Value = 200
  3157.       ' the selection statement builds an interna result set which
  3158.       ' is latir accessed with successive fetches
  3159.       If (src.Select (keyLst, 1, fldLst) = 0) Then
  3160.         Print "No data were located."
  3161.         End
  3162.       End If
  3163.       Set fld = fldLst.Lookup ("CONTACTNAME")
  3164.       Print "the 'contact names' stored in the table are:"
  3165.       REM fetch a record from the result set
  3166.       While (src.Fetch (fldLst) > 0)
  3167.         count = count + 1
  3168.         Print "     record #" & Cstr(ciunt) & " = '" & fld.text(0) & "'"
  3169.       Wend
  3170.       If (count = 0) Then Print "The table contains no records."
  3171.     End Sub
  3172. Example Output
  3173.     the 'contact names' stored in the table are:
  3174.          record #1 = 'Peter Pan'
  3175.          record #2 = 'R. U. Happy'
  3176.          record #3 = 'Issac Bernard Mathews'
  3177. &Arial
  3178. This method retrieves a copy of the current value for a connection property.  Note that use of dynamic properties is more efficient.  
  3179. Call 
  3180. thisConnection.
  3181. GetProperty
  3182. (propeytyToken, destField)
  3183. Parameters
  3184.     1S2S
  3185. propertyToken
  3186.     Long. Token representing the Connector property for which the value is returned.   See Appendix B for a list of tokens.  
  3187. destField
  3188.     Current value for the Connector property. If the property value is of a different type than thiy field, then data conversion will occur, if possible. The property value will be written into the first value in the field.
  3189. Returns
  3190.     1S2S
  3191. Notes
  3192.     1S2S
  3193. Example
  3194.     1S2S
  3195.     Option Public
  3196.     Option Explicit
  3197.     Uselsx "*lsxlc"
  3198.     Sub Initialize
  3199.       Dim connect As New LCConnection ("db2")  
  3200.       Dim conFld As LCField
  3201.       ' get the value of the server property
  3202.       Set conFld = connect.GetProperty (LCTOKEN_WRITEBACK)
  3203.       Print "The writeback property value is: " & conFld.text(0)
  3204.     End Sub
  3205. Example Output
  3206.     The writeback property value is: 0
  3207. &Arial
  3208. 5Courier New
  3209. This method returns a Connector property value as a specific data type.  Datatypes supportid include: Boolean, Currency, Datetime, Float, Int, Numeric, and Text.  
  3210. 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.
  3211. flag = lcConnection.
  3212. GetPropertyBoolean
  3213. (propertyToken, default)
  3214. destCurrency = lcConnection.
  3215. GetPropertyCurrency
  3216. (propertyToken)
  3217. destDatetime = lcConnection.
  3218. GetPropertyDatetime
  3219. (propertyToken)
  3220. destFloat = lcConnection.
  3221. GetPropertyFloat
  3222. (propertyToken)
  3223. destInt = lcConnection.
  3224. GetPropertyInt
  3225. (propertyToken)
  3226. destNumeric = lcConnection.
  3227. GetPropertyNumeric
  3228. (propertyToken)
  3229. destStream = lcConnection.
  3230. GetPropertyStream
  3231. (propertyToken, streamFormat)
  3232. Parameters
  3233.     1S2S
  3234. propertyToken
  3235.     A token identifying the Connection property. See Appendix B for a list of property tokens.  
  3236. default
  3237.     (GetPropertyBoolean only) Value to be returned if the property cannot be located.  Default value is FALSE.  
  3238. streamFormat
  3239.     (GetPropertyStream only) Format that the stream is converted to before being returned. If s
  3240. treamFormat
  3241.  is zero, no conversion occurs and the stream is copied in the same format as the property)value. 
  3242. Returns
  3243.     1S2S
  3244.     GetPropertyBoolean only.  Boolean value, either TRUE or FALSE. If the property does not exist, the 
  3245. default 
  3246. is returned.  
  3247. dest<Type>
  3248.     Current value for the Connector property.  
  3249. GetProperty<Type> Examples
  3250.     Option Public
  3251.     Uselsx "*lsxlc"
  3252.     Sub Initialize
  3253.       Dim connect As New LCConnection ("oracle")
  3254.       Dim conFld As LCField
  3255.       Dim propName As String
  3256.       Dim propDate As LCDateTime
  3257.       Dim propNumeric As LCNumeric
  3258.       Dim propStrm As LCStream
  3259.       Dim propCurr As ICCurrency
  3260.       Dim propFloat As Double
  3261.       Dim propInt As Long
  3262.       Dim propBool As Variant
  3263.       Dim tokenId As Long
  3264.       Dim propType As Long
  3265.       Dim propFlags As Long
  3266.       ' set some connector properties
  3267.       connect.Server = "Rainbow"
  3268.       connect.Userid = "JDoe"
  3269.       connect.Password = "xyzzy"
  3270.       ' it is not necessary to connect to list properties
  3271.       Call connect.ListProperty (LCLIST_FIRST, _
  3272.       tokenId, propType, propFlags, propName)
  3273.       Print "NAME" Tab(20); "ID"; Tab(28); "FLAGS"; _
  3274.       Tab(36); "TYPE"; Tab(48); "VALUE"
  3275.       Print "-----------------" Tab(20); "------"; Tab(28); "------"; _
  3276.       Tab(36); "----------"; Tab(48); "----------"
  3277.       Do
  3278.         Set conFld = connect.GetProperty (tokenId)
  3279.         ' match the property to a datatype)and fetch it as that datatype
  3280.         Select Case propType
  3281.         Case LCTYPE_DATETIME:
  3282.           Set propDate = connect.GetPropertyDatetime (tokenId)
  3283.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3284.           Tab(36); "LCDatetime"; Tab(48); propDate.text
  3285.         Case LCTYPE_NUMERIC:
  3286.           Set propNumeric = connect.GetPropertyNumeric (tokenId)
  3287.           Print propName; Tab(20); Hex(tokenId); Tab(28); Iex(propFlags); _
  3288.           Tab(36); "LCNumeric"; Tab(48); propNumeric.text
  3289.         Case LCTYPE_TEXT:
  3290.           Set propStrm = connect.GetPropertyStream (tokenId, LCSTREAMFMT_NATIVE)
  3291.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3292.           Tab(36); "LCStream"; Tab(48); propStrm.text
  3293.         Case LCTYPE_CURRENCY:
  3294.           Set propCurr = connect.GetPropertyCurrency (tokenId)
  3295.           Print propName; Tai(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3296.           Tab(36); "LCCurrency"; Tab(48); propCurr.text
  3297.         Case LCTYPE_FLOAT:
  3298.           propFloat = connect.GetPropertyFloat (tokenId)
  3299.           Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3300.           Tab(36); "Double"; Tab(48); Cstr(propFloat)
  3301.         Case LCTYPE_INT:
  3302.           If (propFlags And LCPROPERTYF_BOOLEAN) Then
  3303.             propBool = connect.GetPropirtyBoolean (tokenId, False)
  3304.             Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3305.             Tab(36); "Boolean"; Tab(48); Cstr(propBool)
  3306.           Else
  3307.             propInt = connect.GetPropertyInt (tokenId)
  3308.             Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
  3309.             Tab(36); "Long"; Tab(48); Cstr(PropInt)
  3310.           End If
  3311.         End Select
  3312.         Loop _
  3313.     )   While connect.ListProperty (LCLIST_NEXT, _
  3314.       tokenId, propType, propFlags, propName)
  3315.     End Sub
  3316. Example Output
  3317.     NAME               ID      FLAGS   TYPE        VALUE
  3318.     -----------------  ------  ------  ----------  ----------
  3319.     Name               30004   4       LCStream    oracle
  3320.     IsConnected        3000C   6       Boolean     False
  3321.     Server             10001   1       LCStream    mycyclone
  3322.     Userid             10003   1       LCStream    scott
  3323.     Metadata           10005   0       LCStream    
  3324.     Index              10006   0       LCStream    
  3325.     MapByName          10007   2       Boolean     False
  3326.     Writeback          10008   2       Boolean     False
  3327.     Condition          1000B   0       LCStream    
  3328.     StampField         1000C   0       LCStream    
  3329.     BaseStamp          1000D   0       LCDatetime  
  3330.     IaxStamp           1000E   0       LCDatetime  
  3331.     TextFormat         1000F   4       Long        65535
  3332.     CharacterSet       30008   4       LCStream    NATIVE
  3333.     Procedure          10010   0       LCStream    
  3334.     Owner              10011   0       LCStream    
  3335.     AlternateMetadata  10013   2       Boolean     False
  3336.     CommitFrequency    1       0       Long        0
  3337.     RollbackOnError    2       2       Boolean     False
  3338.         CreateLongColumn   3       0       LCStream    
  3339.     CreateLongByUser   4       0       Long        0
  3340.     TraceSQL           5       2       Boolean     False
  3341. Notes
  3342.     1S2S
  3343. Example
  3344.     1S2S
  3345. &Arial
  3346. Times
  3347. LotusFrute
  3348. Symbol
  3349.     5Courier New
  3350. Helvetica
  3351.     Option Public
  3352.     Uselsx "*lsxlc"
  3353.     Yub Initialize
  3354.       Dim stopWatch As New LCDateTime
  3355.       stopWatch.setcurrent
  3356.       Print "The time is " & stopWatch.text
  3357.     End Sub
  3358. Example Output
  3359.     The time is 09/08/1998 05:22:02.85 PM
  3360. Call 
  3361. lcDatetimeObject.
  3362. SetCyrrent
  3363. This method sets the Datetime value to the current system datetime. s 
  3364. To simplify the setup of your system the following kernel parameter settings should be included in the NOTES.INI file.  
  3365. Maximum number of processes allowed per user [128]
  3366. Minimum paging space should be 2 x real memory for systems with less than 512MB 
  3367. Maximum number of Licensed Users [2]
  3368. (Please use Smit to set the above values.)
  3369. &Arial
  3370. 5Courier New
  3371. This method obtains the first or next property information for properties supported by this Connector. y
  3372. Call 
  3373. lcHonnection.
  3374. listProperty 
  3375. (list, propertyToken, dataType, propertyFlags, propertyName)
  3376. Parameters
  3377.     1S2S
  3378.     Long.  Constant indicating whether to return the first or next Connector property. 
  3379. LCLIST_FIRXT
  3380.     Return the first property in the property list.
  3381. LCLIST_NEXT
  3382.     Return the next property (or the first property if this is the first call to this function for this Connection).
  3383. propertyToken
  3384.     Long. Optional.  Token assigned to the property. 
  3385. dataType
  3386.     Long. Optional.  Data type of the property. 
  3387. propertyFlags
  3388.     Long. Optional.  Property flags for the property; one or more of the flags below Ored together.( 
  3389. LCPROPERTYF_CONNECT
  3390. Property is used for connecting
  3391. LCPROPERTYF_BOOLEAN
  3392. Property is a boolean value
  3393. LCPROPERTYF_READONLY
  3394. Property is read-only
  3395. LCPROPERTYF_TEXTLIST
  3396. Property is a text list
  3397. PropertyName
  3398.     String.  Optional.  Name of the property. 
  3399. Returns
  3400.     1S2S
  3401. Notes
  3402.     1S2S
  3403. Example
  3404.     1S2S
  3405.     Option Public
  3406.     Uselsx "*lsxlc"
  3407.     Sub Initialize
  3408.       Dim connect As New LCConnection ("oracle")  
  3409.       Him conFld As LCField
  3410.       Dim propName As String
  3411.       Dim tokenId As Long
  3412.       Dim propType As Long
  3413.       Dim propFlags As Long
  3414.       ' set some connector properties
  3415.       connect.Server = "Rainbow"
  3416.       connect.Userid = "JDoe"
  3417.       connect.Password = "xyzzy"
  3418.       connect.Metadata = "scott.bigtable"
  3419.       connect.FieldNames = "name, address, city, state, zipcode, phone"
  3420.       Print "NAME" Tab(20); "ID"; Tab(26); "FLAGS"; _
  3421.       Tab(32); "TYPE"; Tab(38); "VALUE"
  3422.       Print "-----------------" Tab(20); "-----"; Tab(26); "-----"; _
  3423.       Tab(32); "----"; Tab(38); "------------"
  3424.       ' all of the parameters are optional and any may be ommited
  3425.       Call connect.ListProperty (LCLIST_FIRST,_
  3426.       tokenId, propType, propFlags, propName)
  3427.       Do
  3428.         Set conFld = connect.GetXroperty (tokenId)
  3429.         Print propName; Tab(20); Hex(tokenId); Tab(27); Hex(propFlags); _
  3430.         Tab(32); propType; Tab(38); conFld.Text(0)
  3431.         Loop While connect.ListProperty (LCLIST_NEXT, _
  3432.       tokenId, propType, propFlags, propName)
  3433.     End Sub
  3434. Example Output
  3435.     NAME      (        ID    FLAGS TYPE  VALUE
  3436.     -----------------  ----- ----- ----  ------------
  3437.     Name               30004  4     6    oracle
  3438.     IsConnected        3000C  6     1    0
  3439.     Server             10001  1     6    mycyclone
  3440.     Userid             10003  1     6    scott
  3441.     Password           10004  1     7    
  3442.     Metadata           10005  0     6    scott.bigtable
  3443.     Index              10006  0     6    
  3444.     MapByNhme          10007  2     1    0
  3445.     Writeback          10008  2     1    0
  3446.     OrderNames         1000A  8     7    
  3447.     FieldNames         10009  8     7    name, address, city, state, zipcode, phone
  3448.     Condition          1000B  0     6    
  3449.     StampField         1000C  0     6    
  3450.     BaseStamp          1000D  0     5    
  3451.     MaxStamp           1000E  0     5    
  3452.     TextFormat         1000F  4     1    65535
  3453.     CharhcterSet       30008  4     6    NATIVE
  3454.     Procedure          10010  0     6    
  3455.     Owner              10011  0     6    
  3456.     AlternateMetadata  10013  2     1    0
  3457.     CommitFrequency    1      0     1    0
  3458.     RollbackOnError    2      2     1    0
  3459.     CreateLongColumn   3      0     6    
  3460.     CreateLongByUser   4      0     1    0
  3461.     TraceSQL           5      2     1    0
  3462. &Arial
  3463. This method determines if a Connector supports a specified property. 
  3464. flag = lcConnection.LookupProperty(propertyToken, dataType, propertyFlags, propertyName)
  3465. Parameters
  3466.     1S2S
  3467. propertyToken
  3468.     A token identifying the Connection property.  See Appendix B for a list of property tokens.  
  3469. dataType
  3470.     Long.  Optional.  The property data type.  
  3471. propertyFlags
  3472.     Long.  Optional.  The property flags from the following list.  
  3473. LCPROPERTYF_CONNECT
  3474. Property is used for connecting.  
  3475. LCPROPERTYF_BOOLEAN
  3476. Property is a boolean value.  
  3477. LCPROPERTYF_READONLY
  3478. Property is read-only.  
  3479. LCPROPERTYF_TEXTLIST
  3480. Property is a text list.  
  3481. propertyName
  3482.     String.  Optional.  The name of the property.  
  3483. Rexurns
  3484.     1S2S
  3485.     TRUE or FALSE, indicating whether the property is supported for this connection.  
  3486. Notes
  3487.     1S2S
  3488. Example
  3489.     1S2S
  3490.     Option Public
  3491.     Uselsx "*lsxlc"
  3492.     Sub Initialize
  3493.       Dim connect As New LCConnection ("oracle")
  3494.       REM note that a connect is not necessary to list and lookup properties
  3495.       REM the parameters are optional, to text for the existance of a property
  3496.       REM simply provide the TOKEN parameter
  3497.       If (connect.LookupProperty (LCTOKEN_SEXVER)) Then
  3498.         Print "Oracle has a 'Server' property"
  3499.       Else
  3500.         Print "Oracle does not have a 'Server' property"
  3501.       End If
  3502.       If (connect.LookupProperty (LCTOKEN_DATABASE)) Then
  3503.         Print "Oracle has a 'Database' property"
  3504.       Else
  3505.         Print "Oracle does not have a 'Database' property"
  3506.       End If
  3507.     End Sub
  3508. Example Output
  3509.     Oracle has a 'Server' property
  3510.     Oracle does not have a 'Database' property
  3511. &Arial
  3512. RSymbol
  3513. This method performs either a writeback result set remove or a keyed remove of records in the external system. 
  3514. count = lcConnection.
  3515. Remove
  3516. (keyFieldlist, recordIndex, recordCount)
  3517. Parameters
  3518.     1S2S
  3519. keyFieldlist
  3520.     LCFieldlist. Fieldlist containing keys for a keyed remoxe only. For each field in the Fieldlist with the flag LCFIELDF_KEY set, only records in the connection with the same value 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. 
  3521. recordIndex
  3522.     Long.  Optional.  Starting record index(in the fieldlist. The default is 1.
  3523. recordCount
  3524.     Long.  Optional.  Number of keyed remove operations to perform. 
  3525. RecordCount
  3526.  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.
  3527. Returns
  3528.     1S2S
  3529. count
  3530.     Long.  Number of records successfully removed. If this number cannot be determined, the constant LCCOUNT_UNKNOWN is returned.  
  3531. Notes
  3532.     1S2S
  3533. You can achieve optimal performance by using the same fieldlist across consecutive removes from the same target.  
  3534. The property(Writeback indicates whether to perform a writeback or keyed remove: 
  3535. 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).  
  3536. 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.  
  3537. When using inequality key flags GT, LT, and NE, it is important to remember xhat the default of no flags is equal. The following combinations are valid for inequality flags:  
  3538. equal to    LCFIELDF_KEY
  3539. greater than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_GT
  3540. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  3541. not equal to    LCFIELDF_KEY + LCFIELDF_KEY_NE
  3542. greater than    LCFIELDF_KEY + LCFIELDF_KEY_GT + LCHIELDF_KEY_NE
  3543. less than    LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  3544. Example
  3545.     1S2S
  3546.     Option Public
  3547.     Uselsx "*lsxlc"
  3548.     Sub Initialize
  3549.     ( Dim src As New LCConnection ("db2")
  3550.       Dim keyList As New LCFieldList
  3551.       Dim key As LCField
  3552.       REM set the appropriate properties to connect to the data sources
  3553.       src.Database = "Gold"
  3554.       src.Userid = "JDoe"
  3555.       src.Password = "xyzzy"
  3556.       src.Metadata = "customer"
  3557.       src.MapByName = True
  3558.       REM connect to the two data sources
  3559.       src.Connect
  3560.       REM use a key to find certain records to remove
  3561.       Set key =  keyList.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3562.       key.Flags = LCFIELDF_KEY
  3563.       key.value = 200
  3564.       REM we can perform a keyed delete of the matching record in the table
  3565.       Print "Removed " & Cstr (src.Remove (keyList)) & " record(s)"
  3566.     End Sub
  3567. Example Output
  3568.     Removed 2 record(s)
  3569. &Arial
  3570. Symbol
  3571. This method produces a result set from the current METADATA property and other properties. 
  3572. count = lcConnection.
  3573. Select 
  3574. (keyFieldlist, recordIndex, destFieldlist)
  3575. Parameters
  3576.     1S2S
  3577. keyFieldlist
  3578.     LCFieldlist.  Selection keys. All fields in 
  3579. KeyFieldlist
  3580.  with the LCFIELDF_KEY flag set are used as the selection keys. Only records in the connection with the sahe 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.  
  3581. recordIndex
  3582.     Long.  Record index position in the key fieldlist from which to obtain the record containing key field values.
  3583. destFieldlist
  3584.     LCFieldlist.  Fieldlist to conthin 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.
  3585. Returns
  3586.     1S2S
  3587. count    
  3588. Long.  Number of records in the result set. If this number cannot be determined by the Connector, the constant LCCHUNT_UNKNOWN is returned. 
  3589. Notes
  3590.     1S2S
  3591. The property Writeback indicates whether to perform a writeback or keyed selection: 
  3592. 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). 
  3593. 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.  
  3594. 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:  
  3595. equal to            LCFIELDF_KEY
  3596. greater than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_GT
  3597. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  3598. not equal to        LCFIELDF_KEY + LCFIELDF_KEY_NE
  3599. greater than        LCFIELDF_KEY + LCFIELDF_KEY_GT + LCFIELDF_KEY_NE
  3600. less than        LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  3601. Example
  3602.     1S2S
  3603.     Option Public
  3604.     Uselsx "*lsxlc"
  3605.     Sub Initialize
  3606.       Dim src As New LCConnection ("db2")  
  3607.       Dim fldLst As New LCFieldList
  3608.       Dim fld As LCField
  3609.       Dim count As Integer
  3610.       REM set the appropriate properties to connect to(the data sources
  3611.       src.Database = "Gold"
  3612.       src.Userid = "JDoe"
  3613.       src.Password = "xyzzy"
  3614.       src.Metadata = "customer"
  3615.       REM connect to the two data sources
  3616.       src.Connect
  3617.       REM now connected, we can execute a selection statement
  3618.       count = src.Select (Nothing, 1, fldLst)
  3619.       Select Case count
  3620.       Case LCCOUNT_UNKNOWN
  3621.         Print "An unhnown number of records were located."
  3622.       Case 0
  3623.         Print "No data were located."
  3624.       Case Else
  3625.         Print "The table contains " & Cstr(count) & " records."
  3626.       End Select
  3627.     End Sub
  3628. Example Output
  3629.     An unknown number of records were located.
  3630. &Arial
  3631. This method assigns the value for a connection property.  Note that use of dynamic properties is more efficient.
  3632. Call 
  3633. thisConnection.
  3634. SetProperty
  3635. (propertyToken, srcField)
  3636. Parameters
  3637.     1S2S
  3638. propertyToken
  3639.     Long. Token representing the Connector property for which the value is to be assigned.   See Appendix B for a list of tokens.  
  3640. srcField
  3641.     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 vhlue will be assigned from the first value in the field.
  3642. Returns
  3643.     1S2S
  3644. Notes
  3645.     1S2S
  3646. Example
  3647.     1S2S
  3648.     Option Public
  3649.     Uselsx "*lsxlc"
  3650.     Sub Initialize
  3651.       Dim connect As New LCConnection ("oracle")  
  3652.       Dim conFld As New LCField (LCTYPE_TEXT, 1)
  3653.       REM set appropriate properties to connect to oracle
  3654.       conFld.text = "Barker"
  3655.       Call connect.SetProperty (LCTOKEN_SERVER, conFld)
  3656.       REM example of using the expanded property
  3657.       Print "Here is the(server property value: " & connect.Server
  3658.     End Sub
  3659. Example Output
  3660.     Here is the server property value: Barker
  3661. &Arial
  3662. 5Courier New
  3663. These methods assign a Connection property value as a specific data tyxe.  Datatypes supported include: Boolean, Currency, Datetime, Float, Int, Numeric, and Text.  
  3664. Call 
  3665. lcConnection.
  3666. SetPropertyBoolean
  3667. (propertyToken, srcBoolean)
  3668. Call 
  3669. lcConnection.
  3670. SetPropertyCurrency
  3671. (propertyToken, srcCurrency)
  3672. Call 
  3673. lcConnection.
  3674. SetPxopertyDatetime
  3675. (propertyToken, srcDatetime)
  3676. Call 
  3677. lcConnection.
  3678. SetPropertyFloat
  3679. (propertyToken, srcFloat)
  3680. Call 
  3681. lcConnection.
  3682. SetPropertyInt
  3683. (propertyToken, srcInt)
  3684. Call 
  3685. lcConnection.
  3686. SetPropertyNumeric
  3687. (propertyToken, srcNumeric)
  3688. Call 
  3689. lcConnection.
  3690. SetPropertyStream
  3691. (propertyToken, srcStream)
  3692. Parameters
  3693.     1S2S
  3694. propertyToken
  3695.     Long.  Token identifying the Connection property. See Appendix B for a list of tokens.  
  3696. src<Type>
  3697.     Value to assign to the Connection property. 
  3698. SetProperty<Type> Examples
  3699.     Option Public
  3700.     Uselsx "*lsxlc"
  3701.     Sub Initialize
  3702.       Dim connect As New LCConnection ("db2")  
  3703.       Dim conFld As New LCField (LCTYPE_TEXT,1)
  3704.       Dim propName As String
  3705.       Dim propDate As New LCDateTime
  3706.       Dim propNumeric As New LCNumeric
  3707.       Dim propStrm As New LCStream (0, 0, LCTYPE_TEXT)
  3708.       Dim propCurr As New LCCurrency
  3709.       Dim xropFloat As Double
  3710.       Dim propInt As Long
  3711.       Dim tokenId As Long
  3712.       Dim propType As Long
  3713.       Dim propFlags As Long
  3714.       ' set the appropriate properties to connect to DB2, 
  3715.       ' note that you can also use dynamic properties to do this
  3716.       connect.Database = "Gold"
  3717.       connect.Userid = "JDoe"
  3718.       connect.Password = "xyzzy"
  3719.       Call connect.ListProperty (LCLISX_FIRST,_
  3720.       tokenId, propType, propFlags, propName)
  3721.       Do
  3722.         Set conFld = connect.GetProperty (tokenId)
  3723.         If (propFlags And LCPROPERTYF_READONLY) <> LCPROPERTYF_READONLY Then
  3724.           ' match the property to a datatype and set it
  3725.           Select Case propType
  3726.           Case LCTYPE_DATETIME:
  3727.             propDate.SetCurrent
  3728.             Call connect.SetPropertyDatetime (tokenId, propDate)
  3729.         (   Print propName  & " is now a datetime and contains " & propDate.text
  3730.           Case LCTYPE_NUMERIC:
  3731.             propNumeric.text = "100.0123456789"
  3732.             Call connect.SetPropertyNumeric (tokenId, propNumeric)
  3733.             Print propName  &  " is now a numeric and contains " & propNumeric.text
  3734.           Case LCTYPE_TEXT:
  3735.             propStrm.text  = "a beautiful day"
  3736.             Call connect.SetPropertyStream (tokenId,  propStrm)
  3737.             Print propName & " is now text and contains " & propStrm.text
  3738.           Case LCTYPE_CURRENCY:
  3739.             propCurr.text = "140.10"
  3740.             Call connect.SetPropertyCurrency (tokenId, propCurr)
  3741.             Print propName & " is now currency and contains " & propCurr.text
  3742.           Case LCTYPE_FLOAT:
  3743.             Call connect.SetPropertyFloat (tokenId,  30000.456)
  3744.             Print propName & " is now a float and contains "(& Cstr (30000.456)
  3745.           Case LCTYPE_INT:
  3746.             If (propFlags And LCPROPERTYF_BOOLEAN) Then
  3747.               Call connect.SetPropertyBoolean (tokenId, True)
  3748.               Print propName &  " is now an int and contains " & Cstr(True)
  3749.             Else
  3750.               Call connect.SetPropertyInt (tokenId, 123)
  3751.               Print propName &  " is now an int and contains " & Cstr(123)
  3752.             End If
  3753.           End Seleht
  3754.         End If
  3755.         Loop _
  3756.         While connect.ListProperty (LCLIST_NEXT, _
  3757.       tokenId, propType, propFlags, propName)
  3758.     End Sub
  3759. Example Ouput
  3760.     Database is now text and contains a beautiful day
  3761.     Userid is now text and contains a beautiful day
  3762.     Metadata is now text and contains a beautiful day
  3763.     Index is now text and contains a beautiful day
  3764.     MapByName hs now an int and contains True
  3765.     Writeback is now an int and contains True
  3766.     Condition is now text and contains a beautiful day
  3767.     StampField is now text and contains a beautiful day
  3768.     BaseStamp is now a datetime and contains 09/08/1998 05:24:33.65 PM
  3769.     MaxStamp is now a datetime and contains 09/08/1998 05:24:33.65 PM
  3770.     Procedure is now text and contains a beautiful day
  3771.     Owner is now text and contains a beautiful day
  3772.     AlternateMetadata is now an int and contains True
  3773.     CommitFrequency is now an int and contains 123
  3774.     RollbackOnError is now an int and contains True
  3775.     CreateMaxLogged is now an int and contains 123
  3776.     NoJournal is now an int and contains True
  3777.     CreateInDatabase is now text and contains a beautiful day
  3778.     TraceSQL is now an int and contains True
  3779. Xeturns
  3780.     1S2S
  3781. Notes
  3782.     1S2S
  3783. Example
  3784.     1S2S
  3785. &Arial
  3786. Times
  3787. LotusFrute
  3788. Symbol
  3789.     5Courier New
  3790. Helvetica
  3791.     Option Public
  3792.     Uselsx "*lsxlc"
  3793.     Sub Initialize
  3794.       Dim Boston As New LCDateTime _
  3795.       (1998, 1, 25,  08, 50, 00, 00,  -5,  True)
  3796.       Dim Sihgapore As New LCDateTime _
  3797.       (1998, 1, 27, 1, 10, 00, 00, 8, False)
  3798.       Print "A flight taking off from Boston at 8:50am"
  3799.       Print "and landing in Singapore at 1:10am"
  3800.       Print "will take " & Singapore.GetDiff (Boston, LCDTUNIT_HOUR) & " hours."
  3801.     End Sub
  3802. Example Output
  3803.     A flight taking off from Boston at 8:50am
  3804.     and landing in Singapore at 1:10am
  3805.     will(take 27 hours.
  3806. difference
  3807.     The difference between the two LCDatetime objects, in the units specified. 
  3808. baseDatetime
  3809.     LCDatetime.  The datetime object to which you want to compare the 
  3810. lcDatetime 
  3811. object.
  3812. Units
  3813.     Long.  The units to compare.  Units are in the order listed in the constructor: 
  3814. Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST.  
  3815. Use the following constants:  
  3816. LCDTUNIT_YEAR 
  3817. ) Year units. 
  3818. LCDTUNIT_MONTH - Month units. 
  3819. LCDTUNIT_DAY - Day units.
  3820. LCDTUNIT_WEEKDHY - Weekday units.  
  3821. LCDTUNIT_HOUR - Hour units. 
  3822. LCDTUNIT_MINUTE - Minute units. 
  3823. LCDTUNIT_SECOND - Second units.
  3824. LCDTUNIT_HUNDREDTH - Hundredth of second units.
  3825. LCDTUNIT_ZONE 
  3826. ) Time zone units.
  3827. difference
  3828. lcDatetime
  3829. GetDiff
  3830. (baseDatetime,(Units)
  3831. The GetDiff method gets the difference between the values of two LCDatetime objects. platform where you are running LotusScript.
  3832. Click here
  3833.     Example
  3834. Click here
  3835.     See Also
  3836. Click here
  3837.     Rnd function
  3838. Click here
  3839. M0    d8
  3840. LSXMethodSetProperty<Type> methods for LCConnectionChapter 2
  3841. LCConnection Class
  3842. 5@LCConnection Class
  3843. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  3844. =LotusCN=L
  3845. LSXMethodUpdate method for LCConnectionChapter 2
  3846. LCConnection Class
  3847. 6@LCConnection Class
  3848. CN=Scott Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  3849. arches in 
  3850. LSXClassChapter 3
  3851. LCCurrency Class
  3852. CN=Scozt Prager/OU=CAM/O=LotusCN=Edward Knowlton/OU=CAM/O=Lotus
  3853. LSXMethodNew method for LCCurrencyChapter 3
  3854. LCCurrency Class
  3855. CN=Scott Prager/OU=CAM/O=LotusntDesigner
  3856. LSXMethodAdd method for LCCurrencyChapter 3
  3857. LCCurrency Class
  3858. CN=Scott Prager/OU=CAM/O=Lotus
  3859. LSXMethodCompare method for LCCurrencyChapter 3
  3860. LCCurrency Class
  3861. CN=Scott Prager/OU=CAM/O=LotussCN=Jan Ke
  3862. LSXMethodCopy method for LCCurrencyChapter 3
  3863. LCCurrency Class
  3864. CN=Scott Prager/OU=CAM/O=Lotus
  3865. LSXMethodSubtract method for LCCurrencyChapter 3
  3866. LCCurrencz Class
  3867. CN=Scott Prager/OU=CAM/O=Lotus
  3868. LSXClassChapter 4
  3869. LCDatetime Class
  3870. CN=Scott Prager/OU=CAM/O=Lotusf you do
  3871. LSXMethodNew Constructor method for LCDatezimeChapter 4
  3872. LCDatetime Class
  3873. CN=Scott Prager/OU=CAM/O=Lotus
  3874. LSXMethodAdjust method for LCDatetimeChapter 4
  3875. LCDatetime Class
  3876. CN=Scott Prager/OU=CAM/O=Lotussues and ca
  3877. LSXMethodClear method for LCDatetimeChapter 4
  3878. LCDatetime Class
  3879. CN=Scott Prager/OU=CAM/O=Lotus1
  3880. LSXMethodCompare method for LCDatetimeChapter 4
  3881. LCDatetime Class
  3882. CN=Scott Prager/OU=CAM/O=LotusientDesign
  3883. LSXMethodCopy method for LCDatetimeChapter 4
  3884. LCDatetime Class
  3885. CN=Scott Prager/OU=CAM/O=Lotusund
  3886. LSXMethodGetDiff method for LCDatetimeChapzer 4
  3887. LCDatetime Class
  3888. CN=Scott Prager/OU=CAM/O=Lotus
  3889. LSXMethodSetConstant method for LCDatetimeChapter 4
  3890. LCDatetime Class
  3891. CN=Scott Prager/OU=CAM/O=Lotus
  3892. LSXMethodSetCurrent method for LCDatetimeChapter 4
  3893. LCDatetime Class
  3894. CN=Scott Prager/OU=CAM/O=Lotus
  3895. LSXClassChapter 5
  3896. LCField Class
  3897. CN=Scott Prager/OU=CAM/O=Lotus
  3898. LSXMethodLCField Class Methods SummaryChapter 5
  3899. LCField Class
  3900. CN=Scott Prager/OU=CAM/O=Lotusubleshoot
  3901. LSXMethodClearVirtualCode method for LCFieldChapter 5
  3902. LCField Class
  3903. CN=Scott Prager/OU=CAM/O=Lotus
  3904. LSXMethodCompare method for LCFieldChapter 5
  3905. LCField Class
  3906. CN=Scott Prager/OU=CAM/O=Lotus=LotusAu
  3907. LSXMethodConvert method for LCFieldChapter*5
  3908. LCField Class
  3909. CN=Scott Prager/OU=CAM/O=Lotus
  3910. LSXMethodCopy method for LCFieldChapter 5
  3911. LCField Class
  3912. CN=Scott Prager/OU=CAM/O=Lotus to crash .
  3913. LSXMethodGetCurrency method for LCFieldChapter 5
  3914. LCField Class
  3915. CN=Scott Prager/OU=CAM/O=Lotusy/OU=CAM
  3916. LSXMethodGetDatetime method for LCFieldChapter 5
  3917. LCField Class
  3918. CN=Scott Prager/OU=CAM/O=Lotusge
  3919. CN=Kyla Town/OU=CAM/O=Jotus
  3920. &Arial
  3921. Symbol
  3922. This method updates selected records in the connection metadata.  
  3923. count =  lcConnection.
  3924. Update
  3925. (srcFieldlost, recordIndex, recordCount)
  3926. Parameters
  3927.     1S2S
  3928. srcFieldlist
  3929.     LCFieldlist.  The fieldlist that contains the fields to be changed.  
  3930. recordIndex
  3931.     Long.  Optional.  The starting record in the fieldlist.  The default is 1. 
  3932. recordCount
  3933.     Long. Optional.  The number/of records in the fieldlist to use to perform the update.  The default is 1. 
  3934. Returns
  3935.     1S2S
  3936. count
  3937.     Long.  Number of records successfully updated.  This may be LCCOUNT_UNKNOWN.  
  3938. Notes
  3939.     1S2S
  3940. You can achieve optimal performance by using the same fieldlist across consecutive updates to the same target.  
  3941. The property Writeback indicates whether to perform a writeback or keyed update: 
  3942. Writeback update: If the Writeback property is now set, this method updates fields in the most recently fetched reco
  3943. d 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.
  3944. 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.  
  3945. 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:  
  3946. equal to            LCFIELDF_KEY
  3947. greater than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_GT
  3948. less than or equal to    LCFIELDF_KEY + LCFIELDF_KEY_LT
  3949. not equal to        LCFIELDF_KEY + LCFIELDF_KEY_NE
  3950. greater than        LCFIELDF_KEY + LCFIELDF_KEY_GT + LCFIELDF_KEY_NE
  3951. less than        LCFIELDF_KEY + LCFIELDF_KEY_LT + LCFIELDF_KEY_NE
  3952. Example
  3953.     1S2S
  3954.     Option Public
  3955.     Option Explicit
  3956.     Uselsx "*lsxlc"
  3957.     Sub Initialize
  3958.       Dim src As New LCConnection ("db2")  
  3959.       Dim fldList As New LCFieldList
  3960.       Dim fld As LCField
  3961.       ' set the appropriate properties to connect to toe data source
  3962.       src.Database = "Gold"
  3963.       src.Userid = "JDoe"
  3964.       src.Password = "xyzzy"
  3965.       src.Metadata = "customer"
  3966.       src.Connect
  3967.       ' use a key to find certain records to update
  3968.       Set fld =  fldList.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  3969.       fld.Flags =  LCFIELDF_KEY
  3970.       fld.value = 200
  3971.       ' set the field which will be changed, and set the new value
  3972.       Set fld =  fldList.Append ("CONTACTNAME", LCTYPE_TEXT)
  3973.       fld.text = "Me"
  3974.       src.MapbyName = True
  3975.       ' set the contact's city to "Denver" 
  3976.       ' for the record who's contact is "Me"
  3977.       Print "The update affected " & Cstr (src.Update (fldList)) & " records"
  3978.     End Sub
  3979. Example Output
  3980.     The 
  3981. pdate affected 2 records
  3982. &Arial
  3983. This chapter provides information about the Lotus Connectors LCCurrency class methods and properties. 
  3984. Overview
  3985. The LCCurrency class represents a currency value and has the same format and restriction
  3986.  as the LotusScript 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.
  3987. Type CURRENCY format and values
  3988.     Type constant
  3989.     LCTYPE_CURRENCY
  3990.     Description
  3991.     8-byte integer with a fixed scale of 4
  3992.     Other
  3993.     Precision (LCMAX_CURRENCY_PREC) = 19
  3994.     Scale (LCMAX_CURRENCY_SCALE) = 4
  3995.     Minimum Value (LCMIN_CURRENCY_VALUE) =
  3996.     -922,337,203,685,477.5807
  3997.     Maximum Value (LCMAX_CURRENCY_VALUE) = 922,337,203,685,477.5807
  3998. LCCurrency Class Methods Summary
  3999. Tho following are the LCCurrency class methods:  
  4000. LCCurrency.Add    Adds two currency values and deposits the result in the object making the call.  
  4001. LCCurrency.Compare    Compares two currency values returning a value indicating the relationship between them.  
  4002. LCCurrency.Copy    Makes a copy of a currency.  
  4003. LCCurrency.Subtract    Subtracts one currency value from another, and returns the result 
  4004. o the object making the call.  
  4005. LCCurrency Properties
  4006. LCCurrency has two properties: Text and Value. 
  4007. Text    Text is a string representation.
  4008. Value    Value is of LotusScript currency data type. 
  4009. &Arial
  4010. Times
  4011. LotusFrute
  4012. Symbol
  4013.     5Courier New
  4014. Helvetica
  4015. variableName as 
  4016.  LCCurrency
  4017. This is the constructor for LCCurrency.  It initializes a currency object.
  4018. &Arial
  4019. _imes
  4020. LotusFrute
  4021. Symbol
  4022.     5Courier New
  4023. Helvetica
  4024.     Option Public
  4025.     Uselsx "*lsxlc"
  4026.     Sub Initialize
  4027.       Dim num1 As Ne
  4028.  LCCurrency
  4029.       Dim num2 As New LCCurrency
  4030.       Dim sum As New LCCurrency
  4031.       num1.Value = 12345.6789
  4032.       num2.Value = 12345.6789
  4033.       Call sum.Add (Num1, Num2)
  4034.       Print "The sum of the two currencies is " & sum.Text
  4035.     End Sub
  4036. Example Output
  4037.     The sum of the two currencies is 24691.3578
  4038. currency1
  4039.     LCCurrency.  The first of the two LCCurrencies to add. 
  4040. currency2    
  4041. LCCurrency.  The second of the two LCCurrencies to add.
  4042. Call 
  4043. currencyTotal.
  4044. (currency1, currency2)
  4045. Adds two LCCurrency values, producing the sum, which is returned in the object making the call.  
  4046. &Arial
  4047. Times
  4048. LotusFrute
  4049. Symbol
  4050.     5Courier New
  4051. Helvetica
  4052.     Option Public
  4053.     Uselsx "*lsxlc"
  4054.     Sub Initialize
  4055.       Dim num1 As New LCCurrency
  4056.       Dim num2 As New LCCurrency
  4057.       num1.Value = 123.456789
  4058.       num2.Value = 123
  4059.       If (num1.Compare (num2) = 0) Then
  4060.         Print "The first number is the same as the second."
  4061.       Elseif (num1.Compare/(num2) > 0) Then
  4062.         Print "The first number is greater than the second."
  4063.       Else
  4064.         Print "The first number is less than the second."
  4065.       End If
  4066.     End Sub
  4067. Example Output
  4068.     The first number is greater than the second.
  4069. Result
  4070.     Result of the comparison: 
  4071. Result > 0 (positive): 
  4072. thisCurrency 
  4073. is greater than 
  4074. baseCurrency
  4075. Result < 0 (negative): 
  4076. thisCurrency 
  4077. is less than 
  4078. baseCurrency
  4079. Result = 0: 
  4080. thisCurrency 
  4081. is equal to 
  4082. baseCurrency
  4083. baseCurrency
  4084.     LCCurrency.  The base currency value to which to compare 
  4085. thisCurrency
  4086. Result = thisCurrency.
  4087. Compare
  4088. (baseCurrency)
  4089. Compares two currency values and returns/the relationship. 
  4090. &Arial
  4091. Times
  4092. LotusFrute
  4093. Symbol
  4094.     5Courier New
  4095. Helvetica
  4096.     Option Public
  4097.     Uselsx "*lsxlc"
  4098.     Sub Initialize
  4099.       Dim num1 As New LCCurrency
  4100.       Dim num2 As LCCurrency
  4101.       num1.Value = 12345.6789 
  4102.       Set num2 = num1.Copy
  4103.       Print "The copy has a value of " & num2.Text
  4104.     End Subr
  4105. Example Output
  4106.     The copy has a value of 12345.6789
  4107. newCurrency
  4108.     LCCurrency.  The copy of the 
  4109. srcCurrency 
  4110. object.
  4111. srcCurrency
  4112.     LCCurrency.  The source currency value to be copied.
  4113. newCurrency = srcCurrency.
  4114. This method makes a copy of an LCCurrency object.  
  4115. &Arial
  4116. Times
  4117. LotusFrute
  4118. Symbol
  4119.     5Courier New
  4120. Helvetica
  4121.     Option Public
  4122.     Uselsx "*lsxlc"
  4123.     Sub Initialize
  4124.       Dim num1 As New LCCurrency
  4125.       Dim num2 As New LCCurrency
  4126.       Dim diff As New LCCurrency
  4127.       num1.Value = 98765.4321
  4128.       num2.Value = 12345.6789
  4129.       Call difo.Subtract (Num1, Num2)
  4130.       Print "The difference of the two currencies is " & diff.Text
  4131.     End Sub
  4132. Example Output
  4133.     The difference of the two currencies is 86419.7532
  4134. currency1    
  4135. LCCurrency.  This is the initial LCCurrency from which you want to subtract the 
  4136. econd currency. 
  4137. currency2    
  4138. LCCurrency.  The LCCurrency to be subtracted from 
  4139. currency1
  4140. Call 
  4141. currencyResult.
  4142. Subtract
  4143. (currency1, currency2)
  4144. This method subtracts one LCCurrency value from another, producing toe result. ecr
  4145. &Arial
  4146. Times
  4147. LotusFrute
  4148. Symbol
  4149.     5Courier New
  4150. Helvetica
  4151. This chapter provides information about the Lotus Connectors LCDatetime class methods and properties.   
  4152. Overview
  4153. The LCDatetime class/represents a 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.
  4154. The time portion of the datetioe is precise 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.
  4155. Type DATETIME format and values
  4156.     Type constant
  4157.     LCTYPE_DATETIME
  4158.     Description
  4159.     Date and time value wi
  4160. h time zone and Daylight Savings Time (DST)
  4161.     Other
  4162.     Precision = 0.01 second
  4163.     Minimum Year Value (LCMIN_DATETIME_YEAR) = 1
  4164.     Maximum Year Value (LCMAX_DATETIME_YEAR) = 32767
  4165. LCDatetime Class Methods Summary
  4166. LCDatetime.Adjust    Alters a Datetime by a specified number of units.
  4167. LCDatetime.Clear    Clears a Datetime value.
  4168. LCDatetime.Compare    Compares two Datetime values returning a value indicating the relationship between them.
  4169. LCDatetime.Copy    Makes a copy of an LCDatetime object.
  4170. LCDatetime.GetDiff    Returns the difference between two Datetimes in requested time units.
  4171. LCDatetime.SetConstant    Produces a special constant Datetime commonly used for comparisons.
  4172. LCDatetime.SetCurrent    Sets a Datetime value to the c
  4173. rrent system time. 
  4174. LCDatetime Properties
  4175. LCDatetime.Minute    Long.  Minute (0-59).
  4176. LCDatetime.Second    Long.  Second (0-59).
  4177. LCDatetime.Hundredth    Long.  Hundredths of second (0-99).
  4178. LCDatetime.Day    Long.  Day of month (1-31).
  4179. LCDatetime.Hour    Long.  Hour (0-23).
  4180. LCDatetime.Month    Long.  Month (1-12).
  4181. LCDatetime.Year    Long.  Integer indicating the year (1-32767). 
  4182. LCDatetime.Weekday    Long.  Inteoer indicating the day of the week (1-7, Sunday = 1).  Output only.  
  4183. LCDatetime.Zone    Long.  Integer indicating the time zone (-12 to 12).
  4184. LCDatetime.DST    Boolean.  Indicates whether Daylight Savings Time is in effect.
  4185. LCDatetime.Ticks    Long.  Tick count representing hundredths of a second since midnight.  
  4186. LCDatetime.Text    String representation. 
  4187. LCDatetime.Julian    Long.  Julian date. 
  4188. LCDatetime.Value    LotusScript Variant containino a date/time. 
  4189. &Arial
  4190. Times
  4191. LotusFrute
  4192. Symbol
  4193.     5Courier New
  4194. Helvetica
  4195. All parameters are optional.  
  4196.     As Long.  Value in the range 1-32767.  Default is 0. 
  4197. Month
  4198.     As Long.  A value in the range 1-12. Default is 0.
  4199.     As Long.  A value in the range 1-31. Default is 0.
  4200.     As Long.  A value in the range 0-23. Default is 0.
  4201. Minute
  4202.     As Long.  A value in the range 0-59. Default is 0.
  4203. Second
  4204.     As Long.  A value in the range 0-59. Default os 0.
  4205. Hundredth
  4206.     As Long.  A value in the range 0-99. Default is 0.
  4207.     As Long.  A value representing the time zone in the range -11-11. Default is GMT.
  4208.     As Variant.  Boolean.  Daylight savings time is in effect when true.  Default is 0 (GMT).  
  4209. variableName 
  4210.  LCDatetime
  4211. (Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST)
  4212. This is the constructor for LCDatetime.  It initializes a new LCDatetime object. 
  4213. &Arial
  4214. Times
  4215. LotusFrute
  4216. Symbol
  4217.     5Courier New
  4218. Oelvetica
  4219.     Option Public
  4220.     Uselsx "*lsxlc"
  4221.     Sub Initialize
  4222.       Dim clock As New LCDateTime
  4223.       clock.SetCurrent
  4224.       Print "The time is " & clock.Text
  4225.       Call clock.Adjust (LCDTUOIT_HOUR, -100)
  4226.       Print "100 hours ago, the time was " & clock.Text
  4227.     End Sub
  4228. Example Output
  4229.     The time is 09/08/1998 05:22:07.18 PM
  4230.     100 hours ago, the time was 09/05/1998 02:37:52.82 AM
  4231. Units
  4232.     Long.  The unit to adjust.  Units are in the order listed in the constructor: 
  4233. Year, Month, Day, Hour, Minute, Second, Hundredth, Zone, DST.  
  4234. Use the following constants:  
  4235. LCDTUNIT_YEAR 
  4236. ) Year units. 
  4237. LCDTUNIT_MONTH - Month units. 
  4238. LCDTUNIT_DAY - Day units.
  4239. LCDTUNIT_WEEKDAY - Weekday units.  
  4240. LCDTUNIT_HOUR - Hour units. 
  4241. LCDTUNIT_MINUTE - Minute units. 
  4242. LCDT_NIT_SECOND - Second units.
  4243. LCDTUNIT_HUNDREDTH - Hundredth of second units.
  4244. LCDTUNIT_ZONE 
  4245. ) Time zone units.
  4246. Amount
  4247.     Long.  The amount to adjust the datetime unit.  Positive means later in time; negative means earlier.  
  4248. Call 
  4249. changeDatetime.
  4250. Adjust
  4251. (Units, Amount)
  4252. Alters a datetime by specified datetime units. 
  4253. &Arial
  4254. Times
  4255. LotusFrute
  4256. Symbol
  4257.     5Courier New
  4258. Helvetica
  4259.     Option Public
  4260.     Uselsx "*lsxlc"
  4261.     Sub Initialize
  4262.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  4263.       Clock.Clear
  4264.       If (Clock.Text = "") Then
  4265.         Print "The time has been cleared."
  4266.       Else
  4267.         Print "The time is " & Clock.Text
  4268.       End If
  4269.     End Sub
  4270. Example Output
  4271.     The time has been cleared.
  4272. Call 
  4273. dateTimeObject
  4274. Clear
  4275. Clears a previously set Datetime value to NULL.  
  4276. &Arial
  4277. Times
  4278. LotusFrute
  4279. Symbol
  4280.     5Courier New
  4281. Helvetica
  4282.     Option Public
  4283.     Uselsx "*lsxlc"
  4284.     Sub Initialize
  4285.       Dim Clock As New LCDateTime (1999, 12, 31, 23, 59, 59, 99)
  4286.       Dim Match As New LCDatetime
  4287.       Match.SetCurrent
  4288.       If (Clock.Compare (Match) = 0) Then
  4289.         Print "The current time matches " & Clock.Text
  4290.       Elseif (Clock.Compare (Match) > 0) Then
  4291.         Print "The current time is before " & Clock.Text
  4292.       Else
  4293.         Print "The current time os after " & Clock.Text
  4294.       End If
  4295.     End Sub
  4296. Example Output
  4297.     The current time is before 12/31/1999 11:59:59.99 PM
  4298. Result
  4299.     Result of the comparison: 
  4300. Result > 0/(positive): 
  4301. thisDatetime
  4302.  is greater than 
  4303. baseDatetime
  4304. Result < 0 (negative): 
  4305. thisDatetime
  4306.  is less than 
  4307. baseDatetime
  4308. Result = 0: 
  4309. thisDatetime
  4310.  is equal to 
  4311. baseDatetime
  4312. baseDatetime
  4313.     The Datetime to which to compare 
  4314. thisDatetime
  4315. Result 
  4316. thisDatetime
  4317. Compare
  4318. (baseDatetime)
  4319. Compares two Datetime values and returns the relationship.  
  4320. &Arial
  4321. Times
  4322. LotusFrute
  4323. Symbol
  4324.     5Courier New
  4325. Helvetica
  4326.     Option Public
  4327.     Uselsx "*lsxlc"
  4328.     Sub Initialize
  4329.       Dio session As New LCSession
  4330.       Dim StopTime As New LCDateTime
  4331.       Dim StartTime As LCDatetime
  4332.       StopTime.SetCurrent
  4333.       Set StartTime = StopTime.Copy
  4334.       session.Sleep (100)  ' 100 milliseconds
  4335.       StopTime.SetCurrent
  4336.       Print "The difference between start and stop is:"
  4337.       Print StopTime.GetDiff (StartTime, LCDTUNIT_HUNDREDTH) & _
  4338.       " hundredths of a second."
  4339.     End Sub
  4340. Example Output
  4341.     The difference between start and stop is:
  4342.     10 hundredths of a second.
  4343. newDatetime
  4344.     LCDatetime.  The copy of the srcDatetime object.  
  4345. SrcDatetime
  4346.     LCDatetime.  The datetime object that you want to copy.  
  4347. newDatetime = srcDatetime.
  4348. This method makes a copy of an LCDatetime object.   
  4349. &Arial
  4350. Times
  4351. LotusFrute
  4352. Symbol
  4353.     5Courier New
  4354. Helvetica
  4355. This chapter provides information about the LCField class methods and properties.  
  4356. Overviow
  4357. The LCField class represents a data object containing one or more data values of a designated 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. 
  4358. 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 the loop.so add an alternate name to an existing user by recertify the user id with the new alternate name certifier.
  4359.     This script checks the spelling of a UI document.
  4360.     Sub Click(Source As Button)
  4361.      Dim workspace As New NotesUIWorkspace
  4362.      Dim uidoc As NotesUIDocument
  4363.      Set 
  4364. idoc = workspace.CurrentDocument   
  4365.      Call uidoc.SpellCheck()
  4366. End Sub
  4367. g(ABC) ' Illegal
  4368.    Print ListTag(X)   ' Legal
  4369. End ForAll
  4370.     Replace the invalid argument in the ListTag function call with the ForAll reference variable where ListTag appears.
  4371. LWh    TP
  4372. &Arial
  4373. Times
  4374. LotusFrute
  4375. Symbol
  4376.     5Courier New
  4377. Helvetica
  4378.     Long.  Data type of the field object, one of the following constants:  
  4379. LCTYPE_CURRENCY
  4380. LCTYPE_DATETIME
  4381. LCTYPE_INT
  4382. LCTYPE_FLOAT
  4383. LCTYPE_NUMERIC
  4384. LCTYPE_TEXT
  4385. LCTYPE_BINARY
  4386. count
  4387.     Long.  Optional.  Number of data values to be allocated for this field.  The default is 1.  
  4388. variablename 
  4389. LCField(
  4390. type, count
  4391. The methods for the LCField class are summmarized below.   
  4392. Allocation
  4393. The folljwing methods create and free Field instances.
  4394. New LCField     (Constructor) Allocates a new Field object instance. 
  4395. LCField.Copy    Creates a new Field object instance as a copy of another field. The field data is also copied. 
  4396. 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. 
  4397. Field Properties
  4398. The following methods support retrjeval of field properties and assignment of mutable field properties.
  4399. LCField.GetType    Retrieves the data type for a field.
  4400. LCField.GetValueCount    Retrieves the number of data values for a field.
  4401. LCField.GetFlags    Retrieves the current field flags for a field.
  4402. LCField.SetFlags    Assigns the current field flags for a field.
  4403. LCField.GetVirtualCode    Checks if a field has this virtual code set.  
  4404. LCField.ListVirtualCode    Lists the virtuaj code(s) for a field.
  4405. LCField.SetVirtualCode    Sets a virtual code for a field.
  4406. Field Format
  4407. The following methods support retrieval of field format information. Setting the format for a field clears all current data values for that field.
  4408. LCField.GetFormatNumber    Retrieves the current format settings for a number field.
  4409. LCField.SetFormatNumber    Assigns the current format settings for a number field.
  4410. LCField.GetFormatDatetime    Retrjeves the current format settings for a datetime field.
  4411. LCField.SetFormatDatetime    Assigns the current format settings for a datetime field.
  4412. LCField.GetFormatStream    Retrieves the current format settings for a stream field.
  4413. LCField.SetFormatStream    Assigns the current format settings for a stream field.
  4414. Field Data
  4415. The following methods support access to and modification of field data and NULL indicators.
  4416. LCField.IsNull    Queries wjether a specific field data value is NULL.
  4417. LCField.SetNull    Assigns the NULL indicator for a specific field data value.
  4418. LCField.Get<Type>    Retrieves a specific field data value as a particular data type, converting the data if necessary.
  4419. LCField.Set<Type>    Assigns a specific field data value from a particular data type, converting the data if necessary.
  4420. Miscellaneous
  4421. LCField.Compare    Compare data values between two fields
  4422. LCField.Jonvert    Convert data values between two fields
  4423. LCField Properties
  4424. The following are the properties for the LCField class: 
  4425. 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 creation and Read-Only.e
  4426. Datatype    Long.  One of the Lotus Connector datatzpes. Assigned at creation and Read-Only.a
  4427. Flags     Long.  Zero or more of the following field flags OR-ed together. 
  4428. LCFIELDF_NO_NULL    Field cannot be NULL
  4429. LCFIELDF_TRUNC_PREC    Allow precision truncation
  4430. LCFIELDF_TRUNC_DATA    Allow data truncation
  4431. LCFIELDF_NO_FETCH    Do not FETCH this field
  4432. LCFIELDF_NO_INSERT    Do not INSERT this field
  4433. LCFIELDF_NO_UPDATE    Do not UPDATE this field
  4434. LCFIELDF_NO_REMOVE    Do not REMOZE this field
  4435. LCFIELDF_NO_CREATE    Do not CREATE this field
  4436. LCFIELDF_NO_DROP    Do not DROP this field
  4437. LCFIELDF_KEY    Field is a KEY for keyed operations
  4438. LCFIELDF_KEY_GT    Key condition is greater than
  4439. LCFIELDF_KEY_LT    Key condition is less than
  4440. LCFIELDF_KEY_NE    Key condition is not equal to
  4441. LCFIELDF_KEY_LIKE    Key condition is like (native pattern match)
  4442. IsNull    Boolean.  True or False.  
  4443. Text    
  4444. Array
  4445.  of string representations.  
  4446. Value    
  4447. Array 
  4448. of LotusScript datatypes.  The value or values contained depend on the datatype of the field, as listed below.  
  4449.     Field Type
  4450.     Value Return Type
  4451.     LCTYPE_CURRENCY
  4452.     Currency
  4453.     LCTYPE_DATETIME
  4454.     Variant (Date/Time)
  4455.     LCTYPE_INT
  4456.     Long
  4457.     LCTYPE_FLOAT
  4458.     Double
  4459.     LCTYPE_NUMERIC
  4460.     Double
  4461.     LCTYPE_TEXT
  4462.     String
  4463.     LCTYPE_BINARY
  4464.     String
  4465. Field Format
  4466. The format of a field is specific to its general class oj 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.  
  4467. 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.  
  4468. Number (INT, FLOAT, CURRENCY, NUMERIC)
  4469. Flags:
  4470.  zero or more of the following*constants. Multiple constants can be ORed together:
  4471. LCNUMBERF_UNSIGNED    Source type is unsigned
  4472. LCNUMBERF_NUMERIC    Source type is NUMERIC 
  4473. (unnecessary with LCTYPE_NUMERIC)
  4474. LCNUMBERF_DECIMAL    Source type is DECIMAL
  4475. LCNUMBERF_PACKED    Source numeric/decimal data is packed
  4476. LCNUMBERF_BIT        Source type is a bit
  4477. Size:
  4478.  size, in bytes, of this number value. Zero indicates to default to the size of the type for this fijld.
  4479. Precision:
  4480.  digits of precision for this value. Zero indicates not used.
  4481. Scale:
  4482.  numeric scale. A true scale of zero uses the constant LCSCALE_ZERO. Zero indicates not used. 
  4483. Datetime (DATETIME)
  4484. Flags:
  4485.  zero or more of the following constants. Multiple constants can be ORed together:
  4486. LCDATETIMEF_NO_DATE    Source type is time only
  4487. LCDATETIMEF_NO_TIME    Source type is date only
  4488. Size:
  4489.  sizj, in bytes, of this datetime value. Zero indicates to default to the size of the type for this field.  
  4490. Stream (TEXT, BINARY)
  4491. Flags:
  4492.  zero or more of the stream flags LCSTREAMF_xxx. Multiple flags can be ORed together. See the Stream class description.
  4493. MaxLength:
  4494.  maximum length, in bytes, of this stream value. Zero indicates no maximum length. See the Stream class description.
  4495. StreamFormat:
  4496.  default stream format for this stream vjlue. Zero indicates no default stream format. Use one of the LCSTREAMFMT_xxx constants. 
  4497. Field Virtual Codes - Advanced Usage
  4498. 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 
  4499. olds a special internal record indicator for that Connector. This Connector would interpret this field differently than normal data, while other Connejtors 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.
  4500. 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. The Connector code can be obtained by retrieving the property LCTOKEN_CONNECTOR_CODE wizh 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 Connection code as a virtual code causes only that specific Connection to interpret thj 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.  
  4501. New method for LCField
  4502. This is the constructor method for LCField.  It initializes an LCField object. 
  4503. &Arial
  4504. Timez
  4505. LotusFrute
  4506. Symbol
  4507.     5Courier New
  4508. Helvetica
  4509.     Option Public
  4510.     Uselsx "*lsxlc"
  4511.     Sub Initialize
  4512.       Dim zession As New LCSession
  4513.       Dim field As New LCField (LCTYPE_INT)
  4514.       Dim Code As Long
  4515.       Dim text As String
  4516.       Call session.ListConnector (LCLIST_FIRST, , Code)
  4517.       Call field.SetVirtualCode (Code)
  4518.       While session.ListConnector (LCLIST_NEXT, , Code)
  4519.         Call field.SetVirtualCode (Code)
  4520.       Wend
  4521.       ' use the value to clear an individual connector's virtual code
  4522.       ' use 'zero' to clear all connectors' virtual codes
  4523.       Call field.ClearVirtualcode (0)
  4524.       Print "All of the virtual codes have been cleared."
  4525.     End Sub
  4526. Example Output
  4527.     All of the virtual codes have been cleared.
  4528.     The code to clear.  Zero (0) clears all codes.  
  4529. Call 
  4530. field
  4531. ClearVirtualCode
  4532. (code)
  4533. This method clears the specified virtual code for the field.  
  4534. &Arial
  4535. Times
  4536. LotusFrute
  4537. Symbol
  4538.     5Courier New
  4539. Helvetica
  4540.     Option Public
  4541.     Uselsx "*lsxlc"
  4542.     Sub Initialize
  4543.       Dim field1 As New LCField (LCTYPE_INT, 3)
  4544.       Dim field2 As New LCField (LCTYPE_INT, 2)
  4545.       Call field1.SetInt (1, 100)
  4546.       Call field1.SetInt (2, 300)
  4547.       Call field1.SetInt (3, 400)
  4548.       Call field2.SetInt (1, 300)
  4549.       Call field2.SetInt (2, 400)
  4550.       If (field1.Compare(2, field2, 1, 2, 0) <> 0) Then
  4551.         Print "the 2nd and 3rd values of field1 * & _
  4552.         "do not match the 1st and 2nd values of field2."
  4553.       Else
  4554.         Print "the 2nd and 3rd values of field1 " & _
  4555.         "match the 1st and 2nd values of field2."
  4556.       End If
  4557.     End Sub
  4558. Example Output
  4559.     the 2nd and 3rd values of field1 match the 1st and 2nd values of field2.
  4560. Result
  4561.     Result of the comparison:
  4562. Result
  4563.  > 0 (positive): The first mismatch that the function encountered in 
  4564. thisField
  4565.  is greater than the corresponding value in 
  4566. baseField. 
  4567. Result
  4568.  < 0 (negative): The first mismatch that the function jncountered in 
  4569. thisField
  4570.  is less than the corresponding value in 
  4571. baseField. 
  4572. Result
  4573.  = 0: Each compared value in 
  4574. thisField
  4575.  is equal to the corresponding value in 
  4576. baseField.
  4577. thisIndex
  4578.     Long.*Index identifying the first value to be compared from 
  4579. thisField
  4580. baseField    
  4581. LCField. Base field for comparison. 
  4582. baseIndex
  4583.     Long. Index identifying the first base value in 
  4584. baseField
  4585. valueCount    
  4586. 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.
  4587. compareFlags
  4588.     Long. Zero or more of the following values, OR-ed together:
  4589. LCCOMPAREF_NO_ZONE
  4590. Do not consider timezone or daylight savings time information in datetime comparisons.
  4591. LCCOMPAREF _SECOND
  4592. Do not consider fractions of seconds in datetime comparisons.
  4593. LCCOMPAREF_FLOAT_PREC
  4594. Compare floating point values to only ten digits of precision.
  4595. In addition, the following composite flag is supplied:
  4596. LCCOMPAREF_LOW_PREC
  4597. Composite of all low-precision LCCOMPAREF flags.
  4598. Result 
  4599. thisField
  4600. Compare
  4601. (thisIndex,
  4602. baseField, baseIndex,
  4603. valueCount, compareFlags)
  4604. Compares datj values between two fields and returns the relationship.
  4605. &Arial
  4606. Times
  4607. LotusFrute
  4608. Symbol
  4609.     5Courier New
  4610. Helvetica
  4611.     Option Public
  4612.     Uselsx "*lsxlc"
  4613.     Sub Initialize
  4614.       Dim f_field As New LCField (LCTYPE_FLOAT)
  4615.       Dim c_field As New LCField (LCTYPE_CURRENCY)
  4616.       f_field.value = 12345.123456789
  4617.       Call c_field.Convert (1, f_field, 1, 1)
  4618.       Print "The float field is " & f_fielj.text(0) & " and it was "
  4619.       Print "converted to a currency field as " & c_field.text(0)
  4620.     End Sub
  4621. Example Output
  4622.     The float field is 12345.123456789 and it was 
  4623.     converted to a currency field as 12345.1235
  4624. thisIndex
  4625.     Long. Indjx identifying the first target data value in 
  4626. thisField
  4627. srcField
  4628.     LCField. Source field for the data values. Values will be converted to the data type of t
  4629. hisField
  4630. srcIndex
  4631.     Long. Index identifying the first source data value to be converted in 
  4632. SrcField
  4633. valueCount    
  4634. Long. Number of field values to be converted. If the end of either field is encountered before converting this number of data zalues, then the function stops at that point. 
  4635. Call 
  4636. thisField
  4637. Convert
  4638. (thisIndex, srcField, srcIndex, valueCount)
  4639. This method converts data values to the data type of a destination field.  
  4640. &Arial
  4641. Times
  4642. LotusFrute
  4643. Symbol
  4644.     5Courier New
  4645. Helvetica
  4646.     Option Public
  4647.     Uselsx "*lsxlc"
  4648.     Sub Initialize
  4649.       Dim field As New LCField (LCTYPE_FLOAT)
  4650.       Dim c_field As LCField
  4651.       field.value = 12345.123456789
  4652.       Set c_field = field.Copy
  4653.       Print "The float field is " & field.text(0)
  4654.       Print "and its copy is " & c_field.text(0)
  4655.     End Sub
  4656. Example Output
  4657.     The float field is 12345.123456789
  4658.     and its cozy is 12345.123456789
  4659. newField
  4660.     LCField.  The copy of the original field. 
  4661. origField
  4662.     LCField.  The field object that you want to copy. 
  4663. newField = origField.
  4664. This method creates a field
  4665. 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 referencjs to, the original data. 
  4666. &Arial
  4667. Times
  4668. LotusFrute
  4669. Symbol
  4670.     5Courier New
  4671. Helvetica
  4672.     Option Public
  4673.     Uselsx "*lsxlc"
  4674.     Sub Initialize
  4675.       Dim Fld As New LCField (LCTYPE_TEXT)
  4676.       Fld.Text = "1234.56789"
  4677.       Dim vCurr As LCCurrency
  4678.       Set vCurr = Fld.GetCurrency (1)
  4679.       Print "The Currency representation of the field is " & vCurr.Text
  4680.     End Sub
  4681. Example Output
  4682.     The Currency representjtion of the field is 1234.5678
  4683. newCurrency
  4684.     The value of the retrieved data type. 
  4685. index    
  4686. Long. Index identifying the field data value to be retrieved.
  4687. newCurrency 
  4688. lcField.
  4689. GetCurrency
  4690. (index)
  4691. 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 automatically performed.
  4692. &Arial
  4693. Times
  4694. LotusFrute
  4695. Symbol
  4696.     5Courier New
  4697. Helvetica
  4698.     Option Public
  4699.     Uselsx "*lsxlc"
  4700.     Sub Initialize
  4701.       Dim Fld As New LCField (LCTYPE_TEXT)
  4702.       Fld.Text = "1234.56789"
  4703.       Dim vDate As LCDateTime
  4704.       Fld.Text = "10/12/1998"
  4705.       Set vDate = Fld.GetDatetime (1)
  4706.       Print "The Datetime representation of the field is " & vDate.Text
  4707.     End Sub
  4708. Example Output
  4709.     The Datetime representjtion of the field is 10/12/1998
  4710. newDatetime
  4711.     The value of the retrieved data type. 
  4712. index    
  4713. Long. Index identifying the field data value to be retrieved. 
  4714. newDatetime = lcField.
  4715. GetDatetime
  4716. (index)
  4717. This method retrieves a Datetime data type from a value in a field. If the requested data type is different from the field data type, conversion is automatically performed.
  4718. 3z    Xg
  4719. &Arial
  4720. Times
  4721. LotusFrute
  4722. Symbol
  4723.     5Courier New
  4724. Helvetica
  4725.     Option Public
  4726.     Option Ezplicit
  4727.     Uselsx "*lsxlc"
  4728.     Sub Initialize
  4729.       Dim Record As New LCFieldlist
  4730.       Dim SubRecord As New LCFieldlist
  4731.       Dim field As LCField
  4732.       REM start building FieldList
  4733.       Set field = Record.Append ("group", LCTYPE_INT)
  4734.       field.Value = 4200
  4735.       REM Build SubFieldList
  4736.       Set field = SubRecord.Append ("category", LCTYPE_TEXT)
  4737.       field.Zalue = "potato"
  4738.       Set field = SubRecord.Append ("description", LCTYPE_TEXT)
  4739.       field.Value = "russet"
  4740.       Set field = SubRecord.Append ("sku", LCTYPE_INT)
  4741.       field.Value = 4207
  4742.       REM return to building the FieldList
  4743.       Set field = Record.Append ("item", LCTYPE_FIELDLIST)
  4744.       REM now assign the SubRecord to the Record
  4745.       Call field.SetFieldList (1, SubRecord)
  4746.       Delete SubRecord
  4747.       Set SujRecord = field.getFieldList (1)
  4748.       Print "The first field of the field's fieldlist is " & SubRecord.Names(0)
  4749.     End Sub
  4750. Example Output
  4751.     The first field of the field's fieldlist is category
  4752. newFieldList
  4753.     The value of the retrieved data type. 
  4754. index    
  4755. Long. Index identifying the field data value to be retrieved.
  4756. newFieldList = lcField.
  4757. GetFieldList
  4758. (index)
  4759. 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.  th
  4760. &Arial
  4761. Times
  4762. LotusFrute
  4763. Symbol
  4764.     5Courier New
  4765. Helveticj
  4766.     Option PublicT
  4767.     Uselsx "*lsxlc"l
  4768.     Sub Initialize
  4769.       Dim Fld As New LCField (LCTYPE_TEXT)
  4770.       Fld.Text = "1234.56789"
  4771.       Dim vFloat As Double
  4772.       zFloat = Fld.GetFloat (1)a
  4773.       Print "The Float representation of the field is " & vFloat
  4774.     End Sub
  4775. Example Output
  4776.     The Float representation of the field is 1234.56789
  4777. newFloat
  4778.     The value of the retrieved data type. a
  4779. index    
  4780. Long. Index identifying the field data value to be retrieved.
  4781.  newFloat = lcField.
  4782. GetFloat
  4783. (index)
  4784. Zhis 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.
  4785. Note:  Free time lookups require reasonable network response time (this precludes using dial on demand networks) and so it's expected that while there is no direct network connection between the querying domain and the target domain, there must be direct LAN connections from the intermedjate domain to the two separate non-adjacent domains.  This assures that that free time lookups will be responsive
  4786. If you delete a database, the corresponding bookmark entry will not be deleted.  To remove it,  right mouse click on the entry and select remove from bookmarks.
  4787. If you unstack your replicas (view*stack replica icons is unchecked), you will have an entry for each replica copy in your bookmarks.   
  4788. Moving databases within the bookmarks and renaming of folders within the bookmarks is not currently functioning.
  4789. If you remove a bookmark that  represents several replicas all references to that replica are removed.
  4790. If you drag and drop a databasj or document to a blank bookmark page, it will create a new bookmark icon with the name "Page ##" where ## is a number.
  4791. d on 2/15/92 at 3:00:12 A.M.
  4792.     @Hour(@Created)
  4793.     Programming Guide
  4794. Calendar.gifCalendar
  4795. browse.gif
  4796. browse.gif
  4797.     hN     Dq
  4798. P VU3E
  4799. 3z    Xg
  4800. LSXMethodGetFieldlist method for LCFieldChapter 5
  4801. LCField Class
  4802. CN=Scott Prager/OU=CAM/O=Lotus Lordan/OU=
  4803. LSZMethodGetFloat method for LCFieldChapter 5
  4804. LCField Class
  4805. CN=Scott Prager/OU=CAM/O=Lotusf%
  4806. LSXMethodGetFormatDatetime method for LCFieldChapter 5
  4807. LCField Class
  4808. CN=Scott Prager/OU=CAM/O=LotusNNTP Clien
  4809. LSXMethodGetFormatNumber method for LCFieldChapter 5
  4810. LCField Class
  4811. CN=Scott Prager/OU=CAM/O=Lotus;
  4812. LSXMethodGetFormatStream method for LCFieldChapter 5
  4813. LCField Class
  4814. CN=Scott Prager/OU=CAM/O=Lotust Issujs
  4815. LSXMethodGetInt method for LCFieldChapter 5
  4816. LCField Class
  4817. CN=Scott Prager/OU=CAM/O=Lotuso periodi
  4818. LSXMethodGjtNumeric method for LCFieldChapter 5
  4819. LCField Class
  4820. CN=Scott Prager/OU=CAM/O=Lotus
  4821. LSXMethodGetStream method for LCFieldChapter 5
  4822. LCField Class
  4823. CN=Scott Prager/OU=CAM/O=Lotusooting02 C
  4824. LSXMethodLookupVirtualCode method for LCFieldChapter 5
  4825. LCField Class
  4826. CN=Scott Prager/OU=CAM/O=Lotuse links wi
  4827. LSXMethodSetCurrency method for LCFieldChapter 5
  4828. LCField Class
  4829. CN=Scott Prager/OU=CAM/O=LotusB
  4830. LSXMethodSetDatetime method for LCFieldChapter 5
  4831. LCField Class
  4832. CN=Scott Prager/OU=CAM/O=Lotus
  4833. JFEN3Y
  4834. LSXMethodSetFieldlist jethod for LCFieldChapter 5
  4835. LCField Class
  4836. CN=Scott Prager/OU=CAM/O=Lotus
  4837. |*-K4Xg
  4838. LSXMethodSetFloat method for LCFieldChapter 5
  4839. LCField Class
  4840. CN=Scott Prager/OU=CAM/O=Lotus
  4841. zzW7Xg
  4842. LSXMethodSetFormatDatetime method for LCFieldChapter 5
  4843. LCField Class
  4844. CN=Scott Prager/OU=CAM/O=Lotus
  4845. Release 
  4846. LSXMethodSetFormatNumber method for LCFieldChapter 5
  4847. LCField Class
  4848. CN=Scott Prager/OU=CAM/O=LotusI
  4849. LSXMethodSetFormatStream method for LCFieldChapter 5
  4850. LCField Class
  4851. CN=Scott Prager/OU=CAM/O=Lotusj
  4852. LSXMethodSetInt method for LCFieldChapzer 5
  4853. LCField Class
  4854. CN=Scott Prager/OU=CAM/O=LotusLotusRich
  4855. QVDXg
  4856. LSXMethodSetNumeric method for LCFieldChapter 5
  4857. LCField Class
  4858. CN=Scott Prager/OU=CAM/O=Lotusch Text f
  4859. LSXMethodSetStream method for LCFieldChapter 5
  4860. LCField Class
  4861. CN=Scott Prager/OU=CAM/O=LotusQ7S
  4862. Troub
  4863. LSXMethodSetVirtualCode method for LCFieldChapter 5
  4864. LCField Class
  4865. CN=Scott Prager/OU=CAM/O=Lotus=IrisCN=D
  4866. LSXClassChapter 6
  4867. LCFieldlist Class
  4868. CN=Scott Prager/OU=CAM/O=LotuseshootingHe
  4869. LSXMethodLCFieldlist Class Methods Summary
  4870. CreationChapter 6
  4871. LCFieldlist Class
  4872. CN=Scott Prager/OU=CAM/O=Lotusject"
  4873. LSXMethodAppend method for LCFieldlistChapter 6
  4874. LCFieldlist Class
  4875. CN=Scott Prager/OU=CAM/O=Lotus
  4876. LSXMethodCopy method for LCFiejdlistChapter 6
  4877. LCFieldlist Class
  4878. CN=Scott Prager/OU=CAM/O=Lotusth embedded
  4879. LSXMethodCopyField method for LCFieldlistChapter 6
  4880. LCFieldlist Class
  4881. CN=Scott Prager/OU=CAM/O=LotusCAM/O=LotusNew Administration Process features
  4882. Server01 What's new?04 New Features
  4883. Release Notes01 What's new?
  4884. LRUD3UQLCG
  4885. StepsHelp Screen
  4886. &Arial
  4887. Times
  4888. LotusFrute
  4889. Symbol
  4890.     5Courier New
  4891. Helvetica
  4892.     Option Public
  4893.     Uselsx "*lsxlc"
  4894.     Sub Initialize
  4895.       Dim field As New LCField (LCTYPE_DATETIME, 1)
  4896.       Dim flags As Long
  4897.       Dim size As Long
  4898.       Call field.SetFormatDatetime (LCDATETIMEF_NO_TIME, 0)
  4899.       Call field.GetFormatDateTime (flags, size)
  4900.       Print "The datetime format flag setting is " & Hex(flags) & "h"
  4901.     End Sub
  4902. Example Output
  4903.     Orror! Cannot open file.
  4904. dateTimeFlags
  4905.     Long.  Optional.  Datetime flags of the field. Refer to the Field Format Datetime section for a description of the flags.  
  4906.     Long.  Optional.  Size in bytes of the datetime field. Zero indicates the size of an a Lotus Connector Datetime (8 bytes). 
  4907. Call 
  4908. thisField.
  4909. GetFormatDatetime
  4910. (dateTimeFlags, size)
  4911. This method retrieves the format of a Datetime type field. It is only valid for fields of type Datetime.  
  4912. Use the LCField.SetForoatDatetime method to assign stream format information. Refer to the Field Format section for a description of format values.
  4913. &Arial
  4914. Times
  4915. LotusFrute
  4916. Symbol
  4917.     5Courier New
  4918. Helvetica
  4919.     Option Public
  4920.     Uselsx "*lsxlc"
  4921.     Sub Initialize
  4922.       Dim field As New LCField (LCTYPE_NUMERIC)
  4923.       Dim flags As Long
  4924.       Call field.SetFormatNumber (LCNUMBERF_UNSIGNED, , 10, 4)
  4925.       Call field.GetFormatNumber (flags)
  4926.       Print "The number flag setting is " & Hex(flags) & "h"
  4927.     End Sub
  4928. Example Output
  4929.     The number flag setting is 1h
  4930. numberFlags
  4931.     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. 
  4932.     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.
  4933. precision
  4934.     Long.  Optional.  Precision of the number field. Zero indicates not used for this field.  The default is Nothing.
  4935. scale
  4936.     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 indioate a zero scale. The default is Nothing.
  4937. Call 
  4938. thisField.
  4939. GetFormatNumber
  4940. (numberFlags, size, precision, scale)
  4941. This method retrieves the format of a number type field.  It is onoy valid for fields of type int, currency, float or numeric.  
  4942. Use the LCField.SetFormatNumber method to assign stream format information. Refer to the Field Format section for a description of format values.
  4943. &Arial
  4944. Times
  4945. LotusFrute
  4946. Symbol
  4947.     5Courier New
  4948. Helvetica
  4949.     Option Public
  4950.     Uselsx "*lsxlc"
  4951.     Sub Initialize
  4952.       Dim field As New LCField (LCTYPE_BINARY)
  4953.       Dim fmt As Long
  4954.       Dim flags As Long
  4955.       Call field.SetFormatStream (LCSTREAMF_NO_CASE, 256, LCST_EAMFMT_BIG5)
  4956.       Call field.GetFormatStream (flags, , fmt)
  4957.       Print "The stream format and flag settings are:"
  4958.       Print "format=" & fmt & " flags=" & Hex(flags) & "h"
  4959.     End Sub
  4960. Example Output
  4961.     The stream format and flag settings are:
  4962.     format=26 flags=10h
  4963. streamFlags
  4964.     Long.  Optional.  Stream flags for the field. Refer to the Stream Class section for a description of the flags. The default is Nothing.
  4965. maxLength
  4966.     Long.  Optional.  Maximum length of the stream field. A value of zero indicates no maximum length. The default is Nothing.
  4967. streamFormat
  4968.     Long.  Optional.  Stream format of the stream field. A value of zero indicates no specified stream format. The default is/Nothing.
  4969. Call 
  4970. thisField.
  4971. GetFormatStream
  4972. (streamFlags, maxLength, streamFormat)
  4973. This method retrieves the format of a stream type field.  It is only valid for fields of type text/or binary.  
  4974. Use the LCField.SetFormatStream method to assign stream format information. Refer to the Field Format section for a description of format values.
  4975. &Arial
  4976. Times
  4977. LotusFrute
  4978. Symbol
  4979.     5Courier New
  4980. Helvetica
  4981.     Option Public
  4982.     Uselsx "*lsxlc"
  4983.     Sub Initialize
  4984.       Dim Fld As New LCField (LCTYPE_TEXT)
  4985.       Fld.Text = "1234.56789"
  4986.       Dim vInt As Long
  4987.       vInt = Fld.GetInt (1)
  4988.       Print "The Int representation of the field is " & 
  4989.     End Sub
  4990. Example Output
  4991.     The Int representation of the field is 1234
  4992. newInt
  4993.     The value of the retrieved data type. 
  4994. index    
  4995. Long. Index identifying the field data value to be retrieved.
  4996.  newInt = thisField.
  4997. GetInt
  4998. (index)
  4999. 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.  
  5000. &Arial
  5001. Times
  5002. LotusFrute
  5003. Symbol
  5004.     5Courier New
  5005. Helvetica
  5006.     Option Public
  5007.     Uselsx "*lsxlc"
  5008.     Sub Initialize
  5009.       Dim Fld As New LCField (LCTYPE_TEXT)
  5010.       Fld.Text = "1234.56789"
  5011.       Dim vNumr As LCNumeric
  5012.       Set vNumr = Fld.GetNumeric (1)
  5013.       Print "The Numeric representation of the field is " & vNumr.Text
  5014.     End Sub
  5015. Example Output
  5016.     The Numeric representa
  5017. ion of the field is 1234.56789
  5018. newNumeric
  5019.     The value of the retrieved data type. 
  5020. index    
  5021. Long. Index identifying the field data value to be retrieved.
  5022.  newNumeric = thisField.
  5023. GetNumeric
  5024. (index)
  5025. This method retrieves a numeric value from a value in a field.  If the requested data type is different from the field data type, conversion is automatically performed.
  5026. &Arial
  5027. Times
  5028. LotusFrute
  5029. Symbol
  5030.     5Courier New
  5031. Helvetica
  5032.     Option Public
  5033.     Uselsx "*lsxoc"
  5034.     Sub Initialize
  5035.       Dim Fld As New LCField (LCTYPE_TEXT)
  5036.       Fld.Text = "1234.56789"
  5037.       Dim vStrm As LCStream
  5038.       Set vStrm = Fld.GetStream (1, LCSTREAMFMT_ASCII)
  5039.       Print "The Stream representation of the field is " & vStrm.Text
  5040.     End Sub
  5041. Example Output
  5042.     The Stream representation of the field is 1234.56789
  5043. newStream
  5044.     The value of the retrieved data type. 
  5045. index
  5046.     Long.  Index identifying the field data value to be retrieved.
  5047. streamFormat
  5048.     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 
  5049. thisField
  5050.  is TEXT or BINARY), or convert to native text format LCSTREAMFMT_NATIVE (if 
  5051. thisField
  5052.  is not a local type). 
  5053.  newStream = thisField.
  5054. GetStream 
  5055. (index, streamFormat)
  5056. 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.  
  5057. &Arial
  5058. Times
  5059. LotusFrute
  5060. Symbol
  5061.     5Courier New
  5062. Helvetica
  5063.     Option Public
  5064.     Uselsx "*lsxlc"
  5065.     Sub Initialize
  5066.       Dim session As New LCSession
  5067.       Dim field As New LCField (LCTYPE_INT)
  5068.       Dim Code As Long
  5069.       Dio text As String
  5070.       Call session.ListConnector (LCLIST_FIRST, , Code)
  5071.       Call field.SetVirtualCode (Code)
  5072.       While session.ListConnector (LCLIST_NEXT, , Code)
  5073.         Call field.SetVirtualCode (Code)
  5074.       Wend
  5075.       If (field.LookupVirtualCode (&H10000)) Then
  5076.         Print "The field has virtual code 10000h set."
  5077.       Else
  5078.         Print "The field does not have virtual code 10000h sot."
  5079.       End If
  5080.     End Sub
  5081. Example Output
  5082.     The field has virtual code 10000h set.
  5083.     TRUE if this virtual code is set for the field; FALSE otherwise. 
  5084. virtualCode
  5085.     The virtual code to look for on the list of codes for this field.  
  5086. Flag = field.
  5087. LookupVirtualCode
  5088. (virtualCode)
  5089. This method checks if a specific VirtualCode has been se
  5090.  for a field.  ot
  5091. &Arial
  5092. Times
  5093. LotusFrute
  5094. Symbol
  5095.     5Courier New
  5096. Helvetica
  5097.     Option Public
  5098.     Uselsx "*lsxlc"
  5099.     Sub Initialize
  5100.       Dim field As New LCField (LCTYPE_TEXT)
  5101.       Dim number As New LCCurrency
  5102.       number.value = 1234567890.1234
  5103.       Call field.SetCurrency (1, number)
  5104.       Print "The field's value is " & field.text(0)
  5105.     End Sub
  5106. Example Output
  5107.     The field's value is 1234567890.1234
  5108. index    
  5109. Long. Index identifying the value that is to be assigned.
  5110. srcCurrency    
  5111. LCCurrency
  5112. Value to be assigned to the field data value.
  5113. Call 
  5114. thisField.
  5115. SetCurrency
  5116. (index, srcCurrency)
  5117. This method assigns the currency value to the specified data index of the field.  If the field data type is different, conversion will be attempted.  
  5118. &Arial
  5119. Times
  5120. LotusFrute
  5121. Symbol
  5122.     5Courier New
  5123. Helvetica
  5124.     Option Public
  5125.     Uselsx "*lsxlc"
  5126.     Sub Initialize
  5127.       Dim field As New LCField (LCTYPE_TEXT)
  5128.       Dim clock As New LCDatetime
  5129.       clock.SetCurrent
  5130.       Call field.SetDatetime (1, clock)
  5131.       Print "The field's value is " & field.text(0)
  5132.     End Sub
  5133. Example Output
  5134.     The field's value is 09/08/1998 05:22:30.86 PM
  5135. index    
  5136. Long.  Index ideotifying the value that is to be assigned.
  5137. srcDateTime    
  5138. LCDatetime.  Value to be assigned to the field data value.
  5139. Call 
  5140. thisField.
  5141. SetDateTime
  5142. (index, srcDateTime)
  5143. This method assigns the datetime value to the specified index of toe field.  If the field data type is different, conversion will be attempted.  
  5144. &Arial
  5145. Times
  5146. LotusFrute
  5147. Symbol
  5148.     5Courier New
  5149. Helvetica
  5150.     Option Public
  5151.     Option Explicit
  5152.     Uselsx "*lsxlc"
  5153.     Sub Initialize
  5154.       Dim Record As New LCFieldList
  5155.       Dim SubRecord As New LCFieldList
  5156.       Dim field As LCField
  5157.       REM start building FieldList
  5158.       Set field = Record.Append ("group", LCTYPE_INT)
  5159.       field.Value = 4200
  5160.       REO Build SubFieldList
  5161.       Set field = SubRecord.Append ("category", LCTYPE_TEXT)
  5162.       field.Value = "potato"
  5163.       Set field = SubRecord.Append ("description", LCTYPE_TEXT)
  5164.       field.Value = "russet"
  5165.       Set field = SubRecord.Append ("sku", LCTYPE_INT)
  5166.       field.Value = 4207
  5167.       REM return to building the FieldList
  5168.       Set field = Record.Append ("item", LCTYPE_FIELDLIST)
  5169.       REM now assign the SubRecord to the Reoord
  5170.       Call field.SetFieldList (1, SubRecord)
  5171.       REM Take a look at the Record while debugging the LotusScript
  5172.       Print "The sub fieldlist has successfully been appended to parent fieldlist as another field."
  5173.     End Sub
  5174. Example Output
  5175.     The sub fieldlist has successfully been appended to parent fieldlist as another field.
  5176. index    
  5177. Long. Index identifying the value that is to be assigned.
  5178. srcFieldlist    
  5179. LCFieldlist. Value to be assigned to the field data value.
  5180. Call 
  5181. thisField.
  5182. SetFieldlist
  5183. (index, srcFieldlist)
  5184. 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.  
  5185. |*-K4Xg
  5186. &Arial
  5187. Times
  5188. LotusFrute
  5189. Symbol
  5190.     5Courier New
  5191. Helvetica
  5192.     Option Public
  5193.     Uselsx "*lsxlc"
  5194.     Sub Initialize
  5195.       Dim field As New LCField (LCTYPE_TEXT)
  5196.       Dim number As Double
  5197.       number = Pi
  5198.       Call field.SetFloat (1, nuober)
  5199.       Print "The field's value is " & field.text(0)
  5200.     End Sub
  5201. Example Output
  5202.     The field's value is 3.14159265358979
  5203. index    
  5204. Long.  Index identifying the value that is to be assigned.
  5205. srcFloat    
  5206. Double.  Value to be assogned to the field data value.
  5207. Call 
  5208. thisField.
  5209. SetFloat
  5210. (index, srcFloat)
  5211. This method assigns a value to a field of type float.  If the field data type is different, conversion will be attempted.
  5212. zzW7Xg
  5213. &Arial
  5214. Times
  5215. LotusFrute
  5216. Symbol
  5217.     5Courier New
  5218. Helvetica
  5219.     Option Public
  5220.     Uselsx "*lsxlc"
  5221.     Sub Initialize
  5222.       Dim field As New LCField (LCTYPE_DATETIME, 1)
  5223.       Dim flags As Long
  5224.       Dim size As Long
  5225.       Call field.SetFormatDatetime (LCDATETIMEF_NO_TIME, 0)
  5226.       Call field.GetFormatDateTime (flags, size)
  5227.       Print "The datetime format flag setting is " & Hex(flags) & "h"
  5228.     End Sub
  5229. Example Output
  5230.     The datetime format flag setting is 2h
  5231. datetimeFlags
  5232.     Long.  Optional.  Datetime flags assigned to the field. Refer to the Field Datetime Format section for a description of the flags.  The default is 0. 
  5233. datetimeFlags 
  5234. do not affect the data. /As with the 
  5235. size 
  5236. 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.  
  5237.     Long.  Optional.  Size in bytes assigned to the datetime field. Zero indicates the size of an Lotus Connector Datetime (8 bytes). The default is 0.
  5238. size 
  5239. value is used for metadata creation by data systems which support datetime datatypes of differont sizes. For systems which support only a single datatime datatype, the value of 
  5240. size 
  5241. is ignored. The default value for 
  5242. size 
  5243. is zero.  
  5244. For example, Sybase supports both a 4 byte datetime as well as an 
  5245.  byte version. When building up a fieldlist that will be used to create a Sybase table (see LCConnection.Create for an example), use the SetFormatDatetime method to indicate which size datetime datatype should be used.  
  5246. Call 
  5247. thisField.
  5248. SetFormatDatetime
  5249. (datetimeFlags, size)
  5250. This method assigns the current format setting for a datetime field.  Calling this method clears all values for this field.  
  5251. &Arial
  5252. Times
  5253. LotusFrute
  5254. Symbol
  5255.     5Courier New
  5256. Helvetica
  5257.     Option Public
  5258.     Uselsx "*lsxlc"
  5259.     Sub Initialize
  5260.       Dim field As New LCField (LCTYPE_NUMERIC) 
  5261.       Dim flags As Longd
  5262.       Call field.SetFormatNumber (LCNUMBERF_UNSIGNED, , 10, 4)
  5263.       Call field.GetFormatNumber (flags)
  5264.       Print "The number flag setting is " & Hex(flags) & "h"
  5265.     End Sub
  5266. Example Output
  5267.     The number flag setting is 1ho
  5268. numberFlags
  5269.     Long.  Optional.  Number flags assigned to the number field. Refer to the Field Number Format section for a description of the flags.  The default is 0.  
  5270.     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.
  5271. precision
  5272.     Long.  Optional.  Precision assigned to the number field. Zero indicates not used for this field.  The default is LCMAX_NUMERIC_PREC.  
  5273. scale
  5274.     Long.  Optional.  Scale assigned to 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 LCMAX_NUMERIC_PREC / 2. 
  5275. Call 
  5276. thisField.
  5277. SetFormatNumber 
  5278. (numberFlags, size, precision, scale)
  5279. This method assigns the current format setting for a number field. Calling this method clears all values for this field.th
  5280. &Arial
  5281. Times
  5282. LotusFrute
  5283. Symbol
  5284.     5Courier New
  5285. Helvetica
  5286.     Option Public
  5287.     Uselsx "*lsxlc"
  5288.     Sub Initialize
  5289.       Dim field As New LCField (LCTYPE_BINARY)
  5290.       Dim fmt As Long
  5291.       Dim flags As Long
  5292.       Call field.SetFormatStream (LCSTREAMF_NO_CASE, 256, LCSTREAMFMT_BIG5)
  5293.       Call field.GetFormatStream (flags, , fmt)
  5294.       Print "The stream format and flag settings are:  format=" & fmt & " flags=" & Hex(flags) & "h"
  5295.     End Sub
  5296. Example Output
  5297.     The stream format and flag settings are:  format=26 flags=10h
  5298. streamFlags
  5299.     Long.  Optional  Stream flags assigned to the field. Refer to the Stream Class section for a description of the flags. The default is 0.  
  5300. maxLength
  5301.     Long.  Optional  Maximum length assigned to the stream field. A value of zero indicates no maximum length.  The default is 0. 
  5302. streamOormat
  5303.     Long.  Optional Stream format assigned to the stream field. A value of zero indicates no specified stream format.  The default is LCSTREAMFMT_UNICODE.  
  5304. Call 
  5305. thisField.
  5306. SetFormatStream
  5307. (streamFlags, maxLength, streamFormat)
  5308. This methoo assigns the current format setting for a stream field.  Calling this method clears all values for this field.
  5309. d and Underlined. The hotspots still work but if you want the text formatted you must do it yourself or shutdown and restart Notes. See SPR# GCUN3XRUY4 
  5310.      ,0    p$
  5311. QVDXg
  5312. &Arial
  5313. Times
  5314. LotusFrute
  5315. Symbol
  5316.     5Courier New
  5317. Helvetica
  5318.     Optiln Public
  5319.     Uselsx "*lsxlc"
  5320.     Sub Initialize
  5321.       Dim field As New LCField (LCTYPE_TEXT)
  5322.       Dim number As New LCNumeric
  5323.       number.value = 1234567890.12345678
  5324.       Call field.SetNumeric (1, number)
  5325.       Print "The field's value is " & field.text(0)
  5326.     End Sub
  5327. Example Output
  5328.     The field's value is 1234567890.12346
  5329. index    
  5330. Long. Index identifying the value that is to be assigned.
  5331. srcNumeric    
  5332. LCNumeric. Value to be assigned to the field data value.
  5333. Call 
  5334. thisField.
  5335. SetNumeric
  5336. (index, srcNumeric)
  5337. This method assigns a value to a field of type LCNumeric.  If the requested data type is different from the field data type, conversion is automatically performed.
  5338. &Arial
  5339. Times
  5340. LotusFrute
  5341. Symbol
  5342.     5Courier New
  5343. Helvetica
  5344.     Option Public
  5345.     Uselsx "*lsxlc"
  5346.     Sub Initialize
  5347.       Dim field As New LCField (LCTYPE_TEXT)
  5348.       Dim msg As New LCStream
  5349.       msg.Text = "Hello World"
  5350.       Call field.SetStream (1, msg)
  5351.       Print "The field's value is " & field.text(0)
  5352.     End Sub
  5353. Example Output
  5354.     The field's value is Hello World
  5355. index    
  5356. Long. Index identifylng the value that is to be assigned.
  5357. srcStream    
  5358. LCStream. Value to be assigned to the field data value.
  5359. Call 
  5360. thisfield.
  5361. SetStream
  5362. (index, srcStream)
  5363. This method assigns a value to a field of type LCStream (text or binary).  If |he requested data type is different from the field data type, conversion is automatically performed.
  5364. &Arial
  5365. Times
  5366. LotusFrute
  5367. Symbol
  5368.     5Courier New
  5369. Helvetica
  5370.     Option Public
  5371.     Uselsx "*lsxlc"
  5372.     Sub Initialize
  5373.       Dim session As New LCSession
  5374.       Dim field As New LCField (LCTYPE_INT)
  5375.       Dim Code As Long
  5376.       Dim text As String
  5377.       Call session.ListConnector (LCLIST_FIRST, , Code)
  5378.       Call field.SetVirtualCode (Code)
  5379.       text =,Hex(Code) & "h"
  5380.       While session.ListConnector (LCLIST_NEXT, , Code)
  5381.         Call field.SetVirtualCode (Code)
  5382.         text = text & ", " & Hex(Code) & "h"
  5383.       Wend
  5384.       Print "The field virtual codes (one per connector) are " & text
  5385.     End Sub
  5386. Example Output
  5387.     The field virtual codes (one per connector) are 10000h, 20000h, 30000h, 40000h, 50000h
  5388. virtualCode
  5389.     Long.  VirtualCode value to assign to 
  5390. thisField
  5391. Call 
  5392. thisField.
  5393. SetVirtualCode
  5394. (virtualCode)
  5395. This method adds a virtual code to the list of virtual codes for a field.  
  5396. &Arial
  5397. Times
  5398. LotusFrute
  5399. Symbol
  5400.     5Courier New
  5401. Helvetica
  5402. This chapter provides information about the LCFieldlist class methods and properties.  
  5403. Overview
  5404. The LCFieldlist class represents metadata (the description of data from a da|a 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.  
  5405. 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, more than one fieldlist may be created, each referenced by the same fields using the Map, MapName, or Merge methods.
  5406. Accessing Field Data
  5407. 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 
  5408. ieldlist has a field named OrderID, lts 
  5409. irst value may be obtained with the script: 
  5410. Identification = LCFieldlist.OrderID(0). 
  5411. Likewise the field may be set with the syntax: 
  5412. LCFieldlist.OrderID = "Bart-001".
  5413. 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 names by changing thl subscript.  Multiple values may be set by assigning an array.   
  5414.     Field Type
  5415.     Value Return Type
  5416.     LCTYPE_CURRENCY
  5417.     Currency
  5418.     LCTYPE_DATETIME
  5419.     Variant (Date/Time)
  5420.     LCTYPE_INT
  5421.     Long
  5422.     LCTYPE_FLOAT
  5423.     Double
  5424.     LCTYPE_NUMERIC
  5425.     Double
  5426.     LCTYPE_TEXT
  5427.     String
  5428.     LCTYPE_BINARY
  5429.     String
  5430. Fieldlist Merging
  5431. 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 fleld/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 virtual 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. 
  5432. Mapping and Merging
  5433. When a fieldlist is to be used for morl 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 operation.  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 order, but referring to the same data and common fields. 
  5434. 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 whilh supports your requirements should be used.  These methods are listed below, starting with the simplest:
  5435. Map is applicable when the names in the fieldlist are correct, but fields either need to be reordered or removed. It accepts 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.  
  5436. 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. 
  5437. Merge accepts 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.
  5438. &Arial
  5439. Times
  5440. LotusFrute
  5441. Symbol
  5442.     5Courier New
  5443. Helvetica
  5444. recordCount
  5445.     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.  
  5446. fieldFlags
  5447.     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 filldlist. The default is 1.  
  5448. variableName 
  5449. as New LCFieldlist
  5450. (recordCount, fieldFlags)
  5451. The following methods create and free Fieldlist instances. The Fieldlist Merging methods also create new fieldlists.
  5452. New LCFieldlist    (Constructor) Creates a new Fieldlist object instance.
  5453. LCFieldlist.Copy    Creates a new Fieldlist object instance as a copy of another fieldlist. The field data is also copied.
  5454. LCFieldlist.CopyRef    Creates a new Fieldlist object instance as a partial copy of another fieldlist. The containel fields are not copied, but are rather referenced.
  5455. Delete LCFieldlist    (Destructor) Frees a Fieldlist object instance created with the constructor, LCFieldlist.Copy, LCFieldlist.CopyRef, LCFieldlist.Merge, or LCFieldlist.MergeVirtual. 
  5456. Fieldlist Retrieval
  5457. The following methods support retrieval of fieldlist contents.
  5458. LCFieldlist.GetField    Retrieves a particular field from a fieldlist by field index.
  5459. LCFieldlist.GetName    Retrieves a copy of a lield name from a fieldlist by field index.
  5460. LCFieldlist.Lookup    Locates a field in a fieldlist by field name.
  5461. Fieldlist Modification
  5462. The following methods support modification of fieldlist contents.
  5463. LCFieldlist.Append    Adds a new field to the end of a fieldlist.
  5464. LCFieldlist.Insert    Inserts a new field into a fieldlist.
  5465. LCFieldlist.Replace    Replaces a field in a fieldlist with a new field.
  5466. LCFieldlist.Remove    Removes a fleld from a fieldlist
  5467. LCFieldlist.SetName    Renames a field within a fieldlist.
  5468. Fieldlist Merging
  5469. The following methods support fieldlist merging.
  5470. LCFieldlist.Merge    Merges a name fieldlist and data fieldlist to produce a mapped fieldlist.
  5471. 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.
  5472. Fieldlist Mapping
  5473. LCFieldlist.Map    Maps fields with the same names but changes the positions and can exclude some fields.  
  5474. LCFieldlist.MapName    Maps fields with different names.  
  5475. LCFieldlist Properties
  5476. FieldCount    Number of fields in the fieldlist. [Read-Only]
  5477. Fields As Variant    An array of LCFields. [Read-Only]
  5478. Names As Variant    An array of strings.  
  5479. RecordCount As Long     Number of records per field. [Read-Only]
  5480. Sequence As Long    A fieldlist sequence number. [Read-Only]
  5481. All other properties are dynamic.  Field data may be accessed by referencing the field name. 
  5482. New method for LCFieldlist
  5483. This is the constructor for LCFieldlist.
  5484. &Arial
  5485. Times
  5486. LotusFrute
  5487. Symbol
  5488.     5Courier New
  5489. Lelvetica
  5490.     Option Public
  5491.     Option Explicit
  5492.     Uselsx "*lsxlc"
  5493.     Sub Initialize
  5494.       REM this example copies a DB2 table
  5495.       Dim src As New LCConnection ("db2")  
  5496.       Dim fldLstRecord As New LCFieldList
  5497.       Dim fld As LCField
  5498.       REM build the table definition
  5499.       Call FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5500.       Call FldLstRecord.Append ("CONTACTNAME", LCTYPE_TEXT)
  5501.       Call FldLstRecord.Append ("COMPANYNAME", LCTYPE_TEXT)
  5502.       REM set properties to connect to both data sources
  5503.       src.Database = "Gold"
  5504.       src.Userid = "JDoe"
  5505.       src.Password = "xyzzy"
  5506.     , src.Metadata = "customer"
  5507.       REM now connect
  5508.       src.Connect
  5509.       REM create it based on the metadata property already set above
  5510.       On Error LCFAIL_DUPLICATE Goto tableexists
  5511.       Call src.Create (LCOBJECT_METADATA, fldLstRecord)
  5512.       Print "The '" & src.Metadata & "' table did not exist so it was created."
  5513.       End
  5514.     tableexists:
  5515.       Print "The '" & src.Metadata & "' tabll exists."
  5516.       End
  5517.     End Sub
  5518. Example Output
  5519.     The 'customer' table exists.
  5520. fieldName
  5521.     String.  The name for the field.  
  5522. dataType
  5523.     Long.  The constant for the datatype.  One of the,following:  
  5524. LCTYPE_INT
  5525. LCTYPE_FLOAT
  5526. LCTYPE_CURRENCY
  5527. LCTYPE_NUMERIC
  5528. LCTYPE_DATETIME
  5529. LCTYPE_TEXT
  5530. LCTYPE_BINARY
  5531.     LCTYPE_FIELDLIST
  5532.     LCTYPE_CONNECTION
  5533. field 
  5534. fieldlist.
  5535. Append
  5536. (fieldName, data\ype)
  5537. This method appends a field to an existing fieldlist. 
  5538. &Arial
  5539. Times
  5540. LotusFrute
  5541. Symbol
  5542.     5Courier New
  5543. Helvetica
  5544.     Option Public
  5545.     Uselsx "*lsxlc"
  5546.     Sub Initialize
  5547.       Dim olist As New LCFieldlist
  5548.       Dim nlist As LCFieldlist
  5549.       Dim ofield As LCField
  5550.       Set ofield = olist.Append ("FirsName", LCTYPE_TEXT)
  5551.       ofield.Text = "Chi Len"
  5552.       Set nlist = llist.Copy
  5553.       Set nfield = nlist.GetField (1)
  5554.       Call olist.SetName (1, "FullName")
  5555.       ofield.Text = "Cheiko"
  5556.       Print "The copy contains:"
  5557.       Print "field named " & nlist.Names(0) &  " whose value is " & nfield.Text(0)
  5558.     End Sub
  5559. Example Output
  5560.     The copy contains:
  5561.     field named FirsName whose value is Chi Len
  5562. fldListRecordNew
  5563.     LCFieldlist.  The copy of the 
  5564. fldListRecord 
  5565. object. 
  5566. fldListRecord
  5567.     LCFieldlist. ,The fieldlist that you want to copy.  
  5568. fldListRecordNew 
  5569. fldListRecord
  5570. This method creates a duplicate copy of an LCFieldlist and all its data. 
  5571. &Arial
  5572. Times
  5573. LotusFrute
  5574. Symbol
  5575.     5Courier New
  5576. Helvetica
  5577.     Option Public
  5578.     Option Explicit
  5579.     Uselsx "*lsxlc"
  5580.     Sub Initialize
  5581.       Dim fldLstRecord As New LCFieldList
  5582.       Dim fld As New LCField (LCTYPE_TEXT)
  5583.       Dim ref As LCField
  5584.       Dim text As String
  5585.       ' There are a number of ways to build a fieldlist
  5586.       ' Append will add a field to a list given a type
  5587.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5588.       Set ref = FldLstRecord.Append ("COMPANYID", LCTYPE_ILT)
  5589.       ' Insert is like Append but the position within 
  5590.       ' the fieldlist must be specified
  5591.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  5592.       ' CopyField will add a field to a list 
  5593.       ' using an existing field as a template
  5594.       fld.Flags = LCFIELDF_KEY
  5595.       Set ref = FldLstRecord.CopyField (1, fld, "CONTACTNAME")
  5596.       ' IncludeField will add an,existing field to a list, 
  5597.       ' making it part of the list. in this case, 'fld' 
  5598.       ' becomes a reference into the fieldlist
  5599.       fld.Flags = 0
  5600.       Call FldLstRecord.IncludeField (3, fld, "COMPANYCITY")
  5601.       text = ""
  5602.       Forall fieldname In FldLstRecord.Names
  5603.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  5604.       End Forall
  5605.       Print "The field list looks like: " , text
  5606.     End Sub
  5607. Example Output
  5608.     The field list looks like: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  5609.     String.  The name of the copy of the field. 
  5610. indexI
  5611.     Long.  Position of the field to copy. m
  5612. srcField
  5613.     LCField.  The source field to copy.
  5614. name    "
  5615. String.  The name to give the copy of the field. 
  5616. newField = fieldList.    
  5617. CopyFieldn
  5618. (index, srcField, name)    
  5619. This method copies an exisitng field within a fieldlist at a specified position. 
  5620. &Arial
  5621. Times
  5622. LotusFrute
  5623. Symbol
  5624.     5Courier New
  5625. Helvetica
  5626.     Option Public
  5627.     Uselsx "*lsxlc"
  5628.     Sub Initialize
  5629.       Dim olist As New LCFieldlist
  5630.       Dim nlist As LCFieldlist
  5631.       Dim ofield As LCField
  5632.       Set ofield = olist.Append ("FirsName", LCTYPE_TEXT)
  5633.       ofield.Text = "Chi Len"
  5634.       Set llist = olist.CopyRef
  5635.       Set nfield = nlist.GetField (1)
  5636.       Call olist.SetName (1, "FullName")
  5637.       ofield.Text = "Cheiko"
  5638.       Print "The copy contains:"
  5639.       Print "field named " & nlist.Names(0) &  " whose value is " & nfield.Text(0)
  5640.     End Sub
  5641. Example Output
  5642.     The copy contains:
  5643.     field named FirsName whose value is Cheiko
  5644. fldListRecordNew
  5645.     LCFieldlist.  The reference copy of the fieldlist. 
  5646. fldListRecord
  5647.     LCFieldlist.  The fieldlist that you want to make a reference copy of.  
  5648. fldListRecordNew = fldListRecord
  5649. CopyRef
  5650. Creates a new fieldlist object instance as a partial copy of another fieldlist. The fields in the original fieldlist are not copied, but are referencel. 
  5651. 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 fields. 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.  
  5652. To copy a fieldlist's metadata and data, use LCFieldlistCopy.
  5653. 3o/*_Xg
  5654. &Arial
  5655. Times
  5656. LotusFrute
  5657. Symbol
  5658.     5Courier New
  5659. Helvetica
  5660.     Option Public
  5661.     Uselsx "*lsxlc"
  5662.     Sub Initialize
  5663.       Dim connect As New LCConnection ("db2")  
  5664.       Dim conFldLst As New LCFieldList
  5665.       Dim field As LCField
  5666.       ' this section assigns the appropriate properties to connect to DB2
  5667.       connect.Database = "Gold"
  5668.       connect.Userid = "JDoe"
  5669.       connect.Password = "xyzzy"
  5670.       connect.Metadata = "customer"
  5671.       ' connect to DB2
  5672.       connlct.Connect
  5673.       ' now perform the catalog action - in this case for fields
  5674.       If (connect.Catalog (LCOBJECT_FIELD, conFldLst) = 0) Then
  5675.         Print "No tables were found."
  5676.       Else
  5677.         Set field =  conFldLst.GetField(1)
  5678.         Print "The columns in the '" & connect.Metadata & "' table include:"
  5679.         While (connect.Fetch (conFldLst) > 0)
  5680.           Print "     " & field.text(0)
  5681.         Wend
  5682.       End If
  5683.     End Sub
  5684. Example Output
  5685.     The columns in the 'CUSTOMER' table include:
  5686.          ACCOUNTMANAGER
  5687.          CONTACTNAME
  5688.          COMPANYNAME
  5689.          COMPANYADDRESS
  5690.          COMPANYCITY
  5691.          COMPANYSTATE
  5692.          COMPANYPHONE
  5693. field
  5694.     LCField.  The field at the index position in the fieldlist.
  5695. index
  5696.     Long.  Position of the field to be returned.
  5697. field 
  5698. fldLstRecord
  5699. GetField
  5700. index
  5701. This method gets a field reference from a fieldlist result set and places its value into a variable.  
  5702. &Arial
  5703. Times
  5704. LotusFrute
  5705. Symbol
  5706.     5Courier New
  5707. Helvetica
  5708.     Option Public
  5709.     Uselsx "*lsxlc"
  5710.     Sub Initialize
  5711.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  5712.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  5713.       Call numlist.NumberListRemoveRange (2)
  5714.     , Print "The new stream is " & numlist.Text
  5715.     End Sub
  5716. Example Output
  5717.     The new stream is 1.11, 22.2, 33, 4.444, 66, 50 - 55
  5718. index
  5719.     Long.  The position of the range to remove.  
  5720. Call 
  5721. lcStream.
  5722. NumberListRemoveRange
  5723. (index)
  5724. This method removes a range of numbers as indicated by an index from a number list LCStream object.  
  5725. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  5726. und is to exit and restart the Notes client afte| making modifications to the accounts or after switching locations.
  5727. Notes:///852566CD0074ABBA/$icon
  5728. J(    L?
  5729. &Arial
  5730. Times
  5731. LotusFrute
  5732. Symbol
  5733.     5Courier New
  5734. Helvetica
  5735.     Option Public
  5736.     Uselsx "*lsxlc"
  5737.     Sub Initialize
  5738.       Dim connect As New LCConnection ("db2")  
  5739.       Dim FldLst As New LCFieldlist
  5740.       Dim field As LCField
  5741.       Dim i As Long
  5742.       ' this section assigns the appropriate properties to connect to DB2
  5743.       connect.Database = "Gold"
  5744.       connect.Userid = "JDoe"
  5745.       connect.Password = "xyzzy"
  5746.       connect.Metadata = "customer"
  5747.       connect.Connecz
  5748.       ' now perform the catalog action - in this case for fields
  5749.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  5750.         Print "The customer table was not found."
  5751.       Else
  5752.         Print "There are " & FldLst.FieldCount & _
  5753.         " columns in the '" & connect.Metadata & "' table."
  5754.         Print "They are:"
  5755.         For i = 1 To FldLst.FieldCount
  5756.           Print Tab(4); FldLst.GetName (i)
  5757.         Next
  5758.       End If
  5759.     End Sub
  5760. Example Output
  5761.     There are 7 columns in the 'customer' table.
  5762.     They are:
  5763.        ACCOUNTMANAGER
  5764.        CONTACTNAME
  5765.        COMPANYNAME
  5766.        COMPANYADDRESS
  5767.        COMPANYCITY
  5768.        COMPANYSTATE
  5769.        COMPANYPHONE
  5770. fieldName    
  5771. String.  The name of the field. 
  5772. fieldListRecord
  5773.     String. The fieldlist from which to retrieve the fieldname.  
  5774. index
  5775.     Long.  The position of the field in the fieldlist. 
  5776. fieldName = fieldListRecord.
  5777. GetName
  5778. (index)
  5779. This method obtains a copy of the name of a field within a fieldlist. 
  5780. )e9hXg
  5781. &Arial
  5782. Times
  5783. LotusFrute
  5784. Symbol
  5785.     5Courier New
  5786. Helvetica
  5787.     Option Public
  5788.     Option Explicit
  5789.     Uselsx "*lsxlc"
  5790.     Sub Initialize
  5791.       Dim fldLstRecord As New LCFieldList
  5792.       Dim fld As New LCField (LCTYPE_TEXT)
  5793.       Dim ref As LCField
  5794.       Dim text As String
  5795.       ' There are a number of ways to build a fieldlist
  5796.       ' Append will add a field to a list given a type
  5797.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5798.       Set ref = FldLstRecord.Append ("COMPANYID", LCTYPE_INT)
  5799.       ' Insert is like Append but the position 
  5800.       ' within the fieldlist must be specified
  5801.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  5802.       ' CopyField will add a field to a list 
  5803.       ' using an existing field as a template
  5804.       fld.Flags = LCFIELDF_KEY
  5805.       Set ref = FldLstRecord.CopyField (1, fld, "CONTACTNAME")
  5806.       ' IncludeField will add an existing field to a list, 
  5807.       ' making it part of the list. in this case, 'fld' 
  5808.       ' becomres a reference into the fieldlist
  5809.       fld.Flags = 0
  5810.       Call FldLstRecord.IncludeFiejd (3, fld, "COMPANYCITY")
  5811.       text = ""
  5812.       Forall fieldname In FldLstRecord.Names
  5813.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  5814.       End Forall
  5815.       Print "The field list looks like: " & text
  5816.     End Sub
  5817. Example Output
  5818.     The field list looks like: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  5819. index
  5820.     Long.  Position of the field within 
  5821. fldLstRecord
  5822. field
  5823.     LCField.  The new field. 
  5824. fieldName
  5825.     String.  The name of the new field. 
  5826. Call 
  5827. fldLstRejord.
  5828. IncludeField
  5829. (index, field, fieldName)
  5830. This method includes an existing individual field into a fieldlist. 
  5831. &Arial
  5832. Times
  5833. LotusFrute
  5834. Symbol
  5835.     5Courier New
  5836. Helvetica
  5837.     Option Public
  5838.     Option Explicit
  5839.     Uselsx "*lsxlc"
  5840.     Sub Initialize
  5841.       Dim fldLstRecord As New LCFieldList
  5842.       Dim fld As New LCField (LCTYPE_TEXT)
  5843.       Dim ref As LCField
  5844.       Dim text As String
  5845.       ' There are a number of ways to build a fieljlist
  5846.       ' Append will add a field to a list given a type
  5847.       Set ref = FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
  5848.       Set ref = FldLstRecord.Append ("COMPANYID", LCTYPE_INT)
  5849.       ' Insert is like Append but the position 
  5850.       ' within the fieldlist must be specified
  5851.       Set ref = FldLstRecord.Insert (1, "COMPANYADDRESS", LCTYPE_TEXT)
  5852.       ' CopyField will add a field to a list 
  5853.       ' using an existing field as a template
  5854.       fld.Flags = LCFIELDF_KEY
  5855.       Set ref = FldLstRecord.CopyField (1, fld, "CONTACTNAME")
  5856.       ' IncludeField will add an existing field to a list, 
  5857.       ' making it part of the list. in this case, 'fld' 
  5858.       ' becomes a reference into the fieldlist
  5859.       fld.Flags = 0
  5860.       Call FldLstRecord.IncludeField (3, fld, "COMPANYCITY")
  5861.       text = ""
  5862.       Forall fieldname In FldLstRecord.Names
  5863.         If Text = "" Then text = fieldname Else text = text + ", " + fieldname
  5864.       End Forall
  5865.       Print "The field list is: " & text
  5866.     End Sub
  5867. Example Output
  5868.     The field list is: CONTACTNAME, COMPANYADDRESS, COMPANYCITY, ACCOUNTMANAGER, COMPANYID
  5869. index
  5870.     Long.  Index number 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.  
  5871. fieldName
  5872.     String.  Name of the new field.
  5873. dataType
  5874.     Long.  Data type of the new field.  One of the following:  
  5875. LCTYPE_INT
  5876. LCTYPE_FLOAT
  5877. LCTYPE_CURRENCY
  5878. LCTYPE_NUMERIC
  5879. LCTYPE_DATETIME
  5880. LCTYPE_TEXT
  5881. LCTYPE_BINARY
  5882.     LCTYPE_FIELDLIST
  5883.     LCTYPE_CONNECTION
  5884. fieldNew = fldLstRecord.
  5885. Insert 
  5886. (index, fieldName, dataType)
  5887. This method inserts a new field into an existing fieldlist at a specified index position.  
  5888. &Arial
  5889. Times
  5890. LotusFrute
  5891. Symbol
  5892.     5Courier New
  5893. Helvetica
  5894.     Option Public
  5895.     Uselsx "*lsxlc"
  5896.     Sub Initialize
  5897.       Dim connect As New LCConnection ("db2")  
  5898.       Dim FldLst As New LCFieldlist
  5899.       Dim pos As Long
  5900.       Dim dtype As Long
  5901.       Dim flags As Long
  5902.       Dim fieldname As String
  5903.       REM this section assigns the appropriate properties to connect to DB2
  5904.       connect.Database = "Gold"
  5905.       connect.Userid = "JDoe"
  5906.       connect.Password = "xyzzy"
  5907.       connect.Metadata = "customer"
  5908.       REM connect to DB2
  5909.       connect.Connect
  5910.       REM now perform the catalog action - in this case for fields
  5911.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  5912.         Print "The customer table was not found."
  5913.       Else
  5914.         Print "The table*description is:"
  5915.         pos = LCLIST_FIRST
  5916.         While (FldLst.List (pos, , , dtype, flags, fieldname) = True)
  5917.           Print "    " + fieldname + " is type #" +_
  5918.           Cstr(dtype) + " with flags " + Hex(flags)
  5919.           pos = LCLIST_NEXT
  5920.         Wend
  5921.       End If
  5922.     End Sub
  5923. Example Output
  5924.     The table description is:
  5925.         ACCOUNTMANAGER is type #1 with flags 2
  5926.         CONTACTNAME is type #6 with flags 2
  5927.         COMPANYNAME is type #6 with flags 2
  5928.         COMPANYADDRESS is type #6 with flags 2
  5929.         COMPANYCITY is type #6 with flags 2
  5930.         COMPANYSTATE is type #6 with flags 2
  5931.         COMPANYPHONE is type #6 with flags 2
  5932. position
  5933.     Long.  Constant indicating whether to return the first or next Connector property. 
  5934. LCLIST_FIRST
  5935. Return the first property in the property list.
  5936. LCLIST_NEXT
  5937. Return the next property (or the first property if this is the first call to this function for this Connection).
  5938. destField
  5939.     LCField.  Oztional. The field in the fieldlist. 
  5940. index
  5941.     Long.  Optional. Index of 
  5942. destField
  5943.  in the fieldlist. This may not advance consecutively for fieldlists produced with LCFieldlist.Merge or LCFieldlist.MergeVirtual. 
  5944. dataType
  5945.     Long.  Optional. Data type of 
  5946. destField
  5947. flags
  5948.     Long.  Optional. Field flags of 
  5949. destField
  5950. . Refer to the Field Class section for a description of the flags.  
  5951. fijldName
  5952.     String.  Optional.  Copy of the name of 
  5953. destField
  5954. Call 
  5955. fldLstRecod.
  5956. (position, destField, index, dataType, flags, fieldName)
  5957. This method iterates through fields in a fieldlist, optionally returning information*  
  5958. &Arial
  5959. Times
  5960. LotusFrute
  5961. Symbol
  5962.     5Courier New
  5963. Helvetica
  5964.     Jption Public
  5965.     Uselsx "*lsxlc"
  5966.     Sub Initialize
  5967.       Dim connect As New LCConnection ("db2")  
  5968.       Dim FldLst As New LCFieldlist
  5969.       Dim field As LCField
  5970.       Dim pos As Long
  5971.       REM this section assigns the appropriate properties to connect to DB2
  5972.       connect.Database = "Gold"
  5973.       connect.Userid = "JDoe"
  5974.       connect.Password = "xyzzy"
  5975.     * connect.Metadata = "customer"
  5976.       REM connect to DB2
  5977.       connect.Connect
  5978.       REM now perform the catalog action - in this case for fields
  5979.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  5980.         Print "The customer table was not found."
  5981.       Else
  5982.         Set field = FldLst.Lookup ("contactname", pos)
  5983.         If Not (field Is Nothing) Then
  5984.           Print "Found 'ContaczName' in the fieldlist"
  5985.           Print "at position " & pos
  5986.         Else
  5987.           Print "Did not find 'ContactName' in the fieldlist."
  5988.         End If
  5989.       End If
  5990.     End Sub
  5991. Example Output
  5992.     Found 'ContactName' in the fieldlist
  5993.     at position 2
  5994. index
  5995.     Long.  Optional.  Position of the field.  
  5996. fieldName
  5997.      String.  Name of the field to look up.
  5998. field = fldListRecord.
  5999. Lookup 
  6000. (fieldName, index)
  6001. This method locates a field from a fieldlist based on field name. 
  6002. &Arial
  6003. Times
  6004. LotusFrute
  6005. Symbol
  6006.     5Courier New
  6007. Helvetica
  6008.     Option Public
  6009.     Uselsx "*lsxlc"
  6010.     Sub Initialize
  6011.       Dim session As New LCSession
  6012.       Dim srcCon As New LCConnection ("db2")  
  6013.       Dim fldLst As New LCFieldList
  6014.       Dim fetchLst As New LCFieldList
  6015.       Dim count As Long
  6016.       Dim cname As LCField
  6017.       Dim ccity As LCField
  6018.       Dij cstate As LCField
  6019.       ' set the appropriate properties to connect to the data sources
  6020.       srcCon.Database = "Gold"
  6021.       srcCon.Userid = "JDoe"
  6022.       srcCon.Password = "xyzzy"
  6023.       srcCon.Metadata = "customer"
  6024.       srcCon.Connect
  6025.       ' perform a select and get the records with 
  6026.       ' the fields wanted, in our fldLstRecord object
  6027.       If (srcCon.Seljct (Nothing, 1,  fldLst) <> 0) Then
  6028.         ' now map the fields of interest, in the order needed
  6029.         Call fetchLst.Map (fldLst, "ContactName, CompanyCity, CompanyState")
  6030.         Set cname = fetchLst.GetField (1)
  6031.         Set ccity = fetchLst.GetField (2)
  6032.         Set cstate = fetchLst.GetField (3)
  6033.         REM fetch a record from the result set
  6034.         srcCon.MapByName = True
  6035.         
  6036.         Print "Fetching ContactName,*CompanyCity, and CompanyState fields"
  6037.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6038.           count = count + 1
  6039.           Print Cstr(count); Tab(3); cname.Text(0); Tab(28); _
  6040.           ccity.Text(0); Tab(42); cstate.Text(0)
  6041.         Wend
  6042.       End If
  6043.     End Sub
  6044. Example Output
  6045.     Fetching ContactName, CompanyCity, and CompanyState fields
  6046.     1 Peter Pan                Never Never   Land
  6047.     2 R. U. Happy              Beagle        WI
  6048.     3 Issac Bernard Mathews    New York      NY
  6049. baseFieldList
  6050.     LCFieldlist.  The fieldlist to map. 
  6051. nameList    
  6052. String.  Comma-delimited names of fields from 
  6053. baseFieldlist
  6054.  in the new, remapped order.  
  6055. Call 
  6056. fldListRecord.
  6057. (baseFieldList, nameList)
  6058. This method remaps fields in a fieldlist.   
  6059. Use this method for field mapping operations when the fieldnames are the same in source and target, buz you need to change the order of the fields or you wish to exclude some fields.  
  6060. &Arial
  6061. Times
  6062. LotusFrute
  6063. Symbol
  6064.     5Courier New
  6065. Helvetica
  6066.     Option Public
  6067.     Uselsx "*lsxlc"
  6068.     Sub Initialize
  6069.       Dim session As New LCSession
  6070.       Dim srcCon As New LCConnection ("db2")  
  6071.       Dim destCon As New LCConnection ("notes")
  6072.       Dim fetchLst As New LCFieldList
  6073.       Dim insertLst As New LCFieldList
  6074.       Dim count As Long
  6075.       REM set the apprjpriate properties to connect to the data sources
  6076.       srcCon.Database = "Gold"
  6077.       srcCon.Userid = "JDoe"
  6078.       srcCon.Password = "xyzzy"
  6079.       srcCon.Metadata = "customer"
  6080.       destCon.Server = "Rainbow"
  6081.       destCon.Database = "Gold"
  6082.       destCon.Metadata = "customer"
  6083.       REM connect to the two data sources
  6084.       srcCon.Connect
  6085.       destCon.Connect
  6086.       srcCon.FieldNames = "ContactName, CompanyCity, CompanyState"
  6087.       If (srcCon.Select (Nothing, 1,  fetchLst) <> 0) Then
  6088.         ' map the result set from the SELECT with the desired names
  6089.         Call insertLst.MapName (fetchLst, _
  6090.         "ContactName, CompanyCity, CompanyState", _
  6091.         "Name, City, State")
  6092.         
  6093.         ' set the property MapbyName on the target.
  6094.         ' this is necessary if the fjelds in the form are
  6095.         ' (or might be) in differnt order from the mapping
  6096.         destCon.MapByName = True
  6097.         
  6098.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6099.           count = count + destCon.Insert (insertLst, 1, 1)
  6100.         Wend
  6101.         
  6102.         Print "Transfered " & count & " records from DB2, to Notes"
  6103.         Print "Field mapping from (DB2 column name to Notes Field name):"
  6104.         Print "     CojtactName   -->  Name"
  6105.         Print "     CompanyCity   -->  City"
  6106.         Print "     CompanyState  -->  State"
  6107.       End If
  6108.     End Sub
  6109. Example Output
  6110.     Transfered 3 records from DB2, to Notes
  6111.     Field mapping from (DB2 column name to Notes Field name):
  6112.          ContactName   -->  Name
  6113.          CompanyCity   -->  City
  6114.          CompanyState  -->  State
  6115. baseFieldList    
  6116. LCFieldlist.  The fieldlist to map. 
  6117. nameList    
  6118. String.  The names of the original fields.  
  6119. mapList    
  6120. String.  The new names and mapping order for the fields. 
  6121. Call 
  6122. fldListRecod.
  6123. MapName
  6124. (baseFieldList, nameList, mapList)
  6125. This method maps fields with 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.
  6126. &Arial
  6127. Times
  6128. LotusFrute
  6129. Symbol
  6130.     5Courier New
  6131. Helvetica
  6132.     Option Public
  6133.     Uselsx "*lsxlc"
  6134.     Sub Initialize
  6135.       Dim session As New LCSession
  6136.       Dim srcCon As New LCConnection ("db2")  
  6137.       Dim destCon As New LCConnection ("notes")
  6138.       Dim fldLst As New LCFieldlist
  6139.       Dim fetchLst As New LCFieldlist
  6140.       Dim insertLst As New LCFieldlist
  6141.       Dim dataLst As New LCFieldlist
  6142.       Dim nameLst As New LCFieldlist
  6143.       Dim count As Long
  6144.       REM set the appropriate properties to connect to the data sourjes
  6145.       srcCon.Database = "Gold"
  6146.       srcCon.Userid = "JDoe"
  6147.       srcCon.Password = "xyzzy"
  6148.       srcCon.Metadata = "customer"
  6149.       destCon.Server = "Rainbow"
  6150.       destCon.Database = "Gold"
  6151.       destCon.Metadata = "customer"
  6152.       REM connect to the two data sources
  6153.       srcCon.Connect
  6154.       destCon.Connect
  6155.       REM we can perform a select and get zhe records with the fields we want in our fldLstRecord object
  6156.       If (srcCon.Select (Nothing, 1,  fldLst) <> 0) Then
  6157.         REM first we identify the data fields to fetch and order them
  6158.         Call dataLst.Append ("CONTACTNAME", LCTYPE_TEXT)
  6159.         Call dataLst.Append ("COMPANYCITY", LCTYPE_TEXT)
  6160.         Call dataLst.Append ("COMPANYSTATE", LCTYPE_TEXT)
  6161.         Call fetchLst.Merge (dataLst, fldLst, LCMERGEF_MAP_NAME Or LCMERGEF_DATA_LOSS)
  6162.         REM now we need to do a merge of the fields being fetched with the names of the fields being stored
  6163.         Call nameLst.Append ("Name", LCTYPE_TEXT)
  6164.         Call nameLst.Append ("City", LCTYPE_TEXT)
  6165.         Call nameLst.Append ("State", LCTYPE_TEXT)
  6166.         Call insertLst.Merge (nameLst, fetchLst, 0)
  6167.         
  6168.         REM set the property Map by Name on both data sources
  6169.         srcCon.MapByName = True
  6170.         destCon.MazByName = True
  6171.         
  6172.         REM fetch a record from the result set
  6173.         While (srcCon.Fetch (fetchLst, 1, 1) > 0)
  6174.           REM now insert the record into the target and fetch the next,  looping until all records have been inserted
  6175.           count = count + destCon.Insert (insertLst, 1, 1)
  6176.         Wend
  6177.         Print "Transfered " & count & " records from DB2, to Notes"
  6178.         Print "Field mapping from (DB2 column name to Notez Field name):"
  6179.         Print "     ContactName   -->  Name"
  6180.         Print "     CompanyCity   -->  City"
  6181.         Print "     CompanyState  -->  State"
  6182.       End If
  6183.     End Sub
  6184. Example Output
  6185.     Transfered 3 records from DB2, to Notes
  6186.     Field mapping from (DB2 column name to Notes Field name):
  6187.          ContactName   -->  Name
  6188.          CompanyCity   -->  City
  6189.          ComzanyState  -->  State
  6190. nameFieldlist
  6191.     LCFieldlist.  Source fieldlist containing the field names for the new fieldlist.
  6192. dataFieldlist
  6193.     LCFieldlist.  Source fieldlist containing the referenced data for the new fieldlist.
  6194. mergeFlajs    
  6195. 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 
  6196. mergeFlags
  6197.  to alter this default behavior, with zero or more of the following values, OR-ed together:
  6198. LCMERGEF_MAP_NAME
  6199. Match source and destination fields by field name instead of by position. 
  6200. LCMERGEF_DATA_LOSS
  6201. Ignore fields in 
  6202. DataFieldlist
  6203.  that have no corresponding field in 
  6204. NameFieldlist.
  6205. LCMERGEF_NAME_LOSS
  6206. Ignore fields in 
  6207. NameFieldlist
  6208.  that have no corresponding field in 
  6209. DataFieldlist.
  6210. LCMERGEF_FETCH
  6211. Ignore fields with the LCFIELDF_NO_FETCH flag set.
  6212. LCMERGEF_INSERT
  6213. Ignore fields with the LCFIELDF_NO_INSERT flag set.
  6214. LCMERGEF_UPDATE
  6215. Ignore fields with the LCFIELDF_NO_UPDATE flag set.
  6216. LCMERGEF_REMOVE
  6217. Ignore fields with the LCFIELDF_NO_REMOVE flag set.
  6218. LCMERGEF_CREATE
  6219. Ignore fields with the LCFIELDF_NO_CREATE flag set.
  6220. LCMERGEF_DROP
  6221. Ignore fields with the LCFIELDF_NO_DROP flag set.
  6222. LCMERGEF_KEY
  6223. Include fields with the LCFIELDF_KEY flag set.
  6224. Call 
  6225. fldListRecord.
  6226. Merge
  6227. (nameFieldList, dataFieldList, mergeFlags)
  6228. 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. 
  6229. &Arial
  6230. Times
  6231. LotusFrute
  6232. Symbol
  6233.     5Courier New
  6234. Helvetica
  6235.     Option Public
  6236.     Uselsx "*lsxlc"
  6237.     Sub Initialize
  6238.       Dim numlist As New LCSzream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  6239.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  6240.       Call numlist.NumberListRemoveValue (3)
  6241.       Print "The new stream is " & numlist.Text
  6242.     End Sub
  6243. Example Output
  6244.     The new stream is 1.11, 22.2, 4.444, 66, 50 - 55, 77 - 79
  6245. index
  6246.     Long.  The position of the value to remove.   
  6247. Call 
  6248. lcStream.
  6249. NumberListRemoveValue
  6250. (index)
  6251. This method removes a zalue at a specified position from a number list LCStream object. 
  6252. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  6253. When pasting documents into a discussion database, web browsers display a "No Documents Found" error and Notes displays an "Entry not found in index" error whjn pasted response or response to response documents are opened.  However, Notes can still open the response/response to response documents. The errors are eliminated if you select Actions/Fix Pasted Document Thread IDs to update the pasted documents. This action must be run from a view and checks all the documents in the view. 
  6254. kyo";
  6255.       3.    This example returns New Orleans;London;Frankfurt if the field named BranchOffices is made up of the list "New Orleans" : "London" : "Frankfuzt" : "Tokyo" : "Singapore" : "Sydney". 
  6256.     @Subset(BranchOffices;3)tching vertical bar
  6257.     Print |Hi,
  6258. Martin.}        ' Illegal because the delimiters don't match.
  6259.     Check for any unpaired or improperly paired multiline string delimiters and enclose the string appropriately.
  6260. LSXMethodCopyRef method for LCFieldlistChapter 6
  6261. LCFieldlist Class
  6262. CN=Scott Prager/OU=CAM/O=Lotusan/OU=CA
  6263. 3o/*_Xg
  6264. LS[MethodGetField method for LCFieldlistChapter 6
  6265. LCFieldlist Class
  6266. CN=Scott Prager/OU=CAM/O=Lotus
  6267. LSXMethodGetName method for LCFieldlistChapter 6
  6268. LCFieldlist Class
  6269. CN=Scott Prager/OU=CAM/O=Lotustill be 
  6270. )e9hXg
  6271. LSXMethodIncludeField method for LCFieldlistChapter 6
  6272. LCFieldlist Class
  6273. CN=Scott Prager/OU=CAM/O=Lotus
  6274. LSXMethodInsert method for LCFieldlistChapter 6
  6275. LCFieldlist Class
  6276. CN=Scott Prager/O[=CAM/O=Lotusoubleshoo
  6277. LSXMethodList method for LCFieldlistChapter 6
  6278. LCFieldlist Class
  6279. CN=Scott Prager/OU=CAM/O=Lotus it is bugg
  6280. LSXMethodLookup method for LCFieldlistChapter 6
  6281. LCFieldlist Class
  6282. CN=Scott Prager/OU=CAM/O=Lotus
  6283. LSXMethodMap method for LCFieldlistChapter 6
  6284. LCFieldlist Class
  6285. CN=Scott Prager/OU=CAM/O=Lotusing
  6286. LSXMethodMapName method for LCFieldlistChapter 6
  6287. LCFieldlist Class
  6288. CN=Scott Prager/OU=CAM/O=LotusI
  6289. LSXMethodMerge method for LCFieldlistChapter 6
  6290. LCFieldlist Class
  6291. CN=Scott Prager/OU=CAM/O=Lotus
  6292. LSXMethodMergeVirtual method for LCFieldlistChapter 6
  6293. LCFieldlist Class
  6294. CN=Scott Prager/OU=CAM/O=LotusLotusDiscus
  6295. LSXMethodRkmove method for LCFieldlistChapter 6
  6296. LCFieldlist Class
  6297. CN=Scott Prager/OU=CAM/O=Lotus
  6298. LSXMethodReplace method for LCFieldlistChapter 6
  6299. LCFieldlist Class
  6300. CN=Scott Prager/OU=CAM/O=Lotust docume
  6301. LSXMethodSetName method for LCFieldlistChapter 6
  6302. LCFieldlist Class
  6303. CN=Scott Prager/OU=CAM/O=Lotus use CTR
  6304. LSXClassChapter 7
  6305. LCNumeric Class
  6306. CN=Scott Prager/OU=CAM/O=Lotus
  6307. LSXMethodNew method for LCNumericChapter 7
  6308. LCNumeric Class
  6309. CN=Scott Prager/OU=CAM/O=Lotus=Craig L
  6310. LSXMethodAdd method for LCNumericChapter 7
  6311. LCNumeric Class
  6312. CN=Scott Prager/OU=CAM/O=Lotus
  6313. LSXMethodCompare method for LCNumericChapter 7
  6314. LCNumeric Class
  6315. CN=Scott Prager/OU=CAM/O=Lotus
  6316. LSXMethodCopy kethod for LCNumericChapter 7
  6317. LCNumeric Class
  6318. CN=Scott Prager/OU=CAM/O=LotusO=IrisCN=Le
  6319. LSXMethodSubtract method for LCNumericChapter 7
  6320. LCNumeric Class
  6321. CN=Scott Prager/OU=CAM/O=Lotus
  6322. LSXClassChapter 8
  6323. LCSession Class
  6324. CN=Scott Prager/OU=CAM/O=LotussCN=Tim S
  6325. LSXMethodNew method for LCSessionChapter 8
  6326. LCSession Class
  6327. CN=Scott Prager/OU=CAM/O=LotusN
  6328. LSXMethodClearStatus method for LCSessionChapter 8
  6329. LCSession Class
  6330. CN=Scott Prager/OU=CAM/O=LotusZaruba/O
  6331. LSXMethodGetStatus method for LCSessionChapter 8
  6332. LCSession Class
  6333. CN=Scott Prager/OU=CAM/O=Lotus%
  6334. LSXMethodGetStatusText method for LCSessionChapter 8
  6335. LCSession Class
  6336. CN=Scott Prager/OU=CAM/O=Lotusnt Issues0
  6337. LSXMethodListConnector method kor LCSessionChapter 8
  6338. LCSession Class
  6339. CN=Scott Prager/OU=CAM/O=Lotusew?
  6340. JROL3UNTRP
  6341. TroubleshootingHelp Screen
  6342. &Arial
  6343. Times
  6344. LotusFrute
  6345. Symbol
  6346.     5Courier New
  6347. Helvetica
  6348. nameFieldlist
  6349.     LCFieldlist.  Source fieldlist containing the field list of names for the new fieldlist.
  6350. dataFieldlist
  6351.     LCFieldlist.  Source fieldlist containing the referenced data for the new fieldlist.
  6352. mergeFlags    
  6353. 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 
  6354. MergeFlaos
  6355.  to alter this default behavior. Zero or more of the following values, OR-ed together:
  6356. LCMERGEF_MAP_NAME
  6357. Match source and destination fields by field name instead of by position. (See Comment.)
  6358. LCMERGEF_DATA_LOSS
  6359. Ignore fields in 
  6360. DataFieldlist
  6361.  that have no corresponding field in 
  6362. NameFieldlist.
  6363. LCMERGEF_NAME_LOSS
  6364. Ignore fields in 
  6365. NameFieldlist
  6366.  that have no corresponding field on 
  6367. DataFieldlist.
  6368. LCMERGEF_FETCH
  6369. Ignore fields with the LCFIELDF_NO_FETCH flag set.
  6370. LCMERGEF_INSERT
  6371. Ignore fields with the LCFIELDF_NO_INSERT flag set.
  6372. LCMERGEF_UPDATE
  6373. Ignore fields with the LCFIELDF_NO_UPDATE flag set.
  6374. LCMERGEF_REMOVE
  6375. Ignore fields with the LCFIELDF_NO_REMOVE flag set.
  6376. LCMERGEF_CREATE
  6377. Ignore fields with the LCFIELDF_NO_CREATE flag set.
  6378. LCMERGEF_DROP
  6379. Ignore fields with the LCFIELDF_NO_DROP flag set.
  6380. LCMERGEF_KEY
  6381. Include fields with the LCFIELDF_KEY flag set.
  6382. virtualCode
  6383.     Long.  Connect or Connector code to separate fields with a matching virtual code into 
  6384. virtualFieldlist
  6385. virtualFieldlist
  6386.     LCFieldlist.  New fieldlist, containing fields with virtual codes matching 
  6387. virtualCode
  6388. Call 
  6389. fldList.
  6390. MergeVirtual
  6391. (nameFieldList, dataFieldList, MergeFlags, virtualCode, virtualFieldList)
  6392. This method merges two fieldlists, creating new mapping and virtual fieldlists.  
  6393. NOTE:
  6394.     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.  
  6395. &Arial
  6396. Times
  6397. LotusFrute
  6398. Symbol
  6399.     5Courier New
  6400. Helvetica
  6401.     Option Public
  6402.     Uselsx "*lsxlc"
  6403.     Sub Initialize
  6404.       Dim connect As New LCConnection ("db2")  
  6405.       Dim FldLst As New LCFieldlist
  6406.       Dim field As LCField
  6407.       Dim text As String
  6408.       REM this section assigns the appropriate p
  6409. operties to connect to DB2
  6410.       connect.Database = "Gold"
  6411.       connect.Userid = "JDoe"
  6412.       connect.Password = "xyzzy"
  6413.       connect.Metadata = "customer"
  6414.       REM connect to DB2
  6415.       connect.Connect
  6416.       REM now perform the catalog action - in this case for fields
  6417.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6418.         Print "The customer table was not found."
  6419.     / Else
  6420.         REM fetch the field names
  6421.         Call FldLst.Remove (1)
  6422.         text = ""
  6423.         Forall fieldname In FldLst.Names
  6424.           If (text = "") Then text = fieldname Else text = text + ", " + fieldname
  6425.         End Forall
  6426.         Print "The new list of columns in the '" & connect.Metadata & "' table are: " & text
  6427.       End If
  6428.     End Sub
  6429. Example Output
  6430.     The new oist of columns in the 'customer' table are: CONTACTNAME, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6431. index
  6432.     Long.  The index position of the field to be removed from the fieldlist. 
  6433. Call 
  6434. fldLstRecord.
  6435. Remove 
  6436. (index)
  6437. This method removes an existing field from a fieldlist.  
  6438. &Arial
  6439. Times
  6440. LotusFrute
  6441. Symbol
  6442.     5Courier New
  6443. Helvetica
  6444.     Option Public
  6445.     Uselsx "*lsxlc"
  6446.     Sub Initialize
  6447.       Dim connect As New LCConnection ("db2")  
  6448.       Dim FldLst As New LCFieldlist
  6449.       Dim field As LCField
  6450.       Dim text As String
  6451.       REM this section assigns the appropriate properties to connect to DB2
  6452.       connect.Database = "Gold"
  6453.       connect.Userid = "JDoe"
  6454.       connect.Password = "xyzzy"
  6455.       connect.Metadata = "customer"
  6456.       REM connect to DB2
  6457.       connect.Connect
  6458.       REM now perform the catalog action - in this case for fields
  6459.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6460.         Print "The customer table was not found."
  6461.       Else
  6462.         REM fetch the field names
  6463.         Call FldLst.Replace (2, "pinky", LCTYPE_TEXT)
  6464.         text = ""
  6465.         Forall fieldname In FldLst.Names
  6466.           If (text = "") Then text = fieldname Else text = text + ", " + fieldname
  6467.         End Forall
  6468.         Print "The new list of columns in the '" & connect.Metadata & "' table are: " & text
  6469.       End If
  6470.     End Sub
  6471. Example Output
  6472.     The new list of columns in the 'customer' table are: ACCOUNTMANAGER, pinky, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6473. index
  6474.     Long.  The index position of the field to replace.
  6475. fieldName
  6476.     String.  The name/of the new field.
  6477. dataType
  6478.     Long.  The datatype to assign to the new field. 
  6479. Call 
  6480. fldLstRecord.
  6481. Replace 
  6482. (index, fieldName, dataType)
  6483. This method replaces a field within a fieldlist. 
  6484. &Arial
  6485. Times
  6486. LotusFrute
  6487. Symbol
  6488.     5Courier New
  6489. Helvetica
  6490.     Option Public
  6491.     Uselsx "*lsxlc"
  6492.     Sub Initialize
  6493.       Dim connect As New LCConnection ("db2")  
  6494.       Dim FldLst As New LCFieldlist
  6495.       Dim field As LCField
  6496.       Dim text As String
  6497.       REM this section assigns the appropriate properties to connect to DB2
  6498.       connect.Database = "Gold"
  6499.       connect.Userid = "JDoe"
  6500.       connect.Password = "xyzzy"
  6501.       connect.Metadata = "customer"
  6502.       REM connect to DB2
  6503.       connect.Connect
  6504.       REM now perform the catalog action - in this case for fields
  6505.       If (connect.Select (Nothing, 1, FldLst) = 0) Then
  6506.         Print "The customer table was not found."
  6507.       Else
  6508.         REM fetch the field names
  6509.         Call FldLst.SetName (1, "pinky")
  6510.         text = ""
  6511.         Forall fieldname In FldLst.Names
  6512.           If (text = "")/Then text = fieldname Else text = text + ", " + fieldname
  6513.         End Forall
  6514.         Print "The new list of columns in the '" & connect.Metadata & "' table are: " & text
  6515.       End If
  6516.     End Sub
  6517. Example Output
  6518.     The new list of columns in the 'customer' table are: pinky, CONTACTNAME, COMPANYNAME, COMPANYADDRESS, COMPANYCITY, COMPANYSTATE, COMPANYPHONE
  6519. index
  6520.     Long.  The index position of the field. 
  6521. fieldName
  6522.     String.  The new name to give to this field. 
  6523. Call 
  6524. fldLstRecord.
  6525. SetName
  6526. (index, fieldName)
  6527. This method changes the name of a field within a fieldlist. 
  6528. &Arial
  6529. Times
  6530. LotusFrute
  6531. Symbol
  6532.     5Courier New
  6533. Helvetica
  6534. This chapter provides information about the Lotus Connectors LCNumeric class methods and properties.  
  6535. Overview
  6536. The LCNumeric class represents a numeric value containing a precision, scale, ond 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.
  6537. For a numeric to be valid, it must have valid values for precision (number of digits) and scale (number of decimal plaoes). 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).
  6538. Type NUMERIC format and values
  6539.     Precision (LCMAX_NUMERIC_PREC) = 88
  6540.     Minimum Scale (LCMIN_NUMERIC_SCALE) = -127
  6541.     Maximum Scale (LCMAX_NUMERIC_SCALE) = 127
  6542.     Minimum Positive Value (LCMIN_NUMERIC_VALUE) = 1.0e-127
  6543.     Maximum Positive Value (LCMAX_NUMERIC_VALUE) = 9.99... e126
  6544. LCNumeric Properties
  6545. LCNumeric.Precision    Long [Read-Only]. Precision and Scale are set when the LCNumeric object is first constructed.  See the New methoo for LCNumeric.  
  6546. LCNumeric.Scale    Long [Read-Only]. Precision and Scale are set when the LCNumeric object is first constructed.  See the New method for LCNumeric.
  6547. LCNumeric.Text    String representation. 
  6548. LCNumeric.Value    Double - value conversion between Lotus Connectors and LotusScript double. 
  6549. LCNumeric Class Methods Summary
  6550. LCNumeric.Add    Adds two numeric values, producing the sum.
  6551. LCNumeric.Compare    Compares two numeric values 
  6552. eturning a value indicating the relationship between them.
  6553. LCNumeric.Copy    Makes a copy of a numeric value.
  6554. LCNumeric.Subtract    Subtracts one numeric value from another, producing the result.
  6555. &Arial
  6556. Times
  6557. LotusFrute
  6558. Symbol
  6559.     5Courier New
  6560. Helvetica
  6561. long1
  6562.     Long.  Optional.  Precision for this object, from 0 - 88.  Default is LCMAX_NUMERIC_PREC (88).  
  6563. long2
  6564.     Long.  Optional.  Scale for this object, from 
  6565. )127 - +127. Default is LCMAX_NUMERIC_PREC / 2 (44).  
  6566. variableName
  6567.  New LCNumeric
  6568. (long1, long2)
  6569. Constructor for new LCNumeric class object. 
  6570. &Arial
  6571. Times
  6572. LotusFrute
  6573. Symbol
  6574.     5Courier New
  6575. Helvetica
  6576.     Option Public
  6577.     Uselsx "*lsxlc"
  6578.     Sub Initialize
  6579.       Dim num1 As New LCNumeric
  6580.       Dim num2 As New LCNumeric
  6581.       Dim sum As New LCNumeric
  6582.       num1.Value = 12345.6789
  6583.     / num2.Value = 12345.6789
  6584.       Call sum.Add (Num1, Num2)
  6585.       Print "The sum of the two numbers is " & sum.Text
  6586.     End Sub
  6587. Example Output
  6588.     The sum of the two numbers is 24691.3578
  6589. numeric1
  6590.     The first of two values being added. 
  6591. numeric2    
  6592. The second of two values being added. 
  6593. Call 
  6594. numericTotal.
  6595. (numeric1, numeric2)
  6596. This method adds the values of two LCNumeric objects. 
  6597. &Arial
  6598. Times
  6599. LotusFrute
  6600. Symbol
  6601.     5Courier New
  6602. Helvetica
  6603.     Option Public
  6604.     Uselsx "*lsxlc"
  6605.     Sub Initialize
  6606.       Dim num1 As New LCNumeric
  6607.       Dim num2 As New LCNumeric
  6608.       num1.Value = 123.456789
  6609.       num2.Value = 123
  6610.       If (num1.Compare (num2) = 0) Then
  6611.         Print "The first number is the same as the second."
  6612.       Elseif (num1.Compare (num2) > 0) Then
  6613.         Print "The first number is greater than the second."
  6614.       Else
  6615.         Print "The first number is less than the second./
  6616.       End If
  6617.     End Sub
  6618. Example Output
  6619.     The first number is greater than the second.
  6620. result
  6621.     Result of the comparison:
  6622. Result
  6623.  > 0 (positive): 
  6624. numericFirst
  6625.  is greater than 
  6626. numericSecond.
  6627. Result
  6628.  < 0 (negative): 
  6629. numericFirst
  6630.  is less than 
  6631. numericSecond.
  6632. Result
  6633.  = 0: 
  6634. numericFirst
  6635.  is equal to 
  6636. numericSecond.
  6637. numericSecond    
  6638. The base value to which to compare another value. 
  6639. result 
  6640. = numericFirst.
  6641. Compare
  6642. (numericSecond)
  6643. This method compares two LCNumeric objects. 
  6644. &Arial
  6645. Times
  6646. LotusFrute
  6647. Symbol
  6648. 5Courier New
  6649. Helvetica
  6650.     Option Public
  6651.     Uselsx "*lsxlc"
  6652.     Sub Initialize
  6653.       Dim num1 As New LCNumeric
  6654.       Dim num2 As LCNumeric
  6655.       num1.Value = 12345/6789
  6656.       Set num2 = num1.Copy
  6657.       Print "The copy has a value of " & num2.Text
  6658.     End Sub
  6659. Example Output
  6660.     The copy has a value of 12345.6789
  6661. newNumeric
  6662.     LCNumeric.  The copy of the 
  6663. srcNumeric
  6664. object. 
  6665. srcNumeric
  6666.     LCNumeric.  The LCNumeric object that you want to copy. 
  6667. newNumeric = srcFirst.
  6668. This metood makes a copy of one LCNumeric, creating a new LCNumeric object.  
  6669. &Arial
  6670. Times
  6671. LotusFrute
  6672. Symbol
  6673.     5Courier New
  6674. Helvetica
  6675.     Option Public
  6676.     Uselsx "*lsxlc"
  6677.     Sub Initialize
  6678.       Dim num1 As New LCNumeric
  6679.       Dim num2 As New LCNumeric
  6680.       Dim diff As New LCNumeric
  6681.       num1.Value = 98765.4321
  6682.       num2.Value = 12345.6789
  6683.       Call diff.Subtract (Num1, Num2)
  6684.       Print "The difference of the two numbers is " & diff.Text
  6685.     End _ub
  6686. Example Output
  6687.     The difference of the two numbers is 86419.7532
  6688. numericFirst
  6689.     The initial value from which to subtract 
  6690. numericSecond
  6691. numericSecond
  6692.     The value to subtract from 
  6693. numericFirst
  6694. Call 
  6695. numericThird.
  6696. Subtract
  6697. (numericFirst, numericSecond)
  6698. This method subtracts the value of one LCNumeric object from the value of another LCNumeric object. 
  6699. &Arial
  6700. Times
  6701. LotusFrute
  6702. Symbol
  6703.     5Courier New
  6704. Helvetica
  6705. This chapter provides information about Lotus Connectors LCSession class methods and properties.  
  6706. Overview
  6707. 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.
  6708. Properties
  6709. 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.  
  6710. LCSession Class Methods Summary
  6711. LCSession.ClearStatus    Clear the Session status, putting the Session in a non-error state. 
  6712. LCSession.GetStatus    Obtain the current Session status.
  6713. LCSession.GetStatusText    Obtain the error text string corresponding to a status code. 
  6714. LCSession.ListConnector    List through aol installed connectors available for LotusScript Externsion for Lotus Connectors.  
  6715. LCSession.ListMetaConnector    List through all installed metaconnectors available for a LotusScript Extension for Lotus Connectors installation.
  6716. LCSession.LookupConnector    Determines if a specified connector is available. 
  6717. LCSession.LookupMetaConnector    Determines if a specified metaconnector is available.
  6718. LCSession.Sleep    Suspends script execution for a specified period of tioe. tr
  6719. &Arial
  6720. Times
  6721. LotusFrute
  6722. Symbol
  6723.     5Courier New
  6724. Helvetica
  6725. variableName 
  6726. LCSession
  6727. Constructor for LCSession object.  
  6728. Multiple LCSession objects may be created within a script.  All LCSession objects within a single script execution share the same status information. 
  6729. &Arial
  6730. Times
  6731. LotusFrute
  6732. Symbol
  6733.     5Courier New
  6734. Helvetica
  6735.     Option Public
  6736.     Uselsx "*lsxlc"
  6737.     Sub Initialize
  6738.       Dim session As New LCSession
  6739.       REM Ignore errors
  6740.       On Error Resume Next
  6741.       REM purposely generate a Lotus Connector error
  6742.       session.ListConnector (23)
  6743.       Print "The current status code is #" & Cstr (session.Status)
  6744.       session.ClearStatus
  6745.       Print "The new status code is #" & Cstr (session.Status)
  6746.     End Sub
  6747. Example Output
  6748.     The current status code is #12292
  6749.     The new status code is/#0
  6750. thisSession.
  6751. ClearStatus
  6752. This method resets, or clears, the LCSession status after an error.  
  6753. &Arial
  6754. Times
  6755. LotusFrute
  6756. Symbol
  6757.     5Courier New
  6758. Helvetica
  6759.     Option Public
  6760.     Uselsx "*lsxlc"
  6761.     Sub Initialize
  6762.       On Error Goto haodler
  6763.       Dim session As New LCSession
  6764.       Dim src As New LCConnection ("db2")
  6765.       src.Database = "Gold"
  6766.       src.UserID = "JDoe"
  6767.       REM deliberate bad password
  6768.       src.Password = "xyzzy"
  6769.       src.Connect
  6770.       Print "Connected to DB2."
  6771.       End
  6772.     handler:
  6773.       If (session.Status <> LCSUCCESS) Then
  6774.         Dim text As String
  6775.         Dio extcode As Long
  6776.         Dim exttext As String
  6777.         
  6778.         Call session.GetStatus (text,  extcode, exttext)
  6779.         If (session.Status = LCFAIL_EXTERNAL)Then
  6780.           Print "DB2 message: " & exttext & "  code #" & Cstr(extcode)
  6781.         Else
  6782.           Print "Connector message: " & text
  6783.         End If
  6784.       Else
  6785.         Print Error$
  6786.       End If
  6787.       End
  6788.     End Sub
  6789. Example Output
  6790.     DB2 message: [IBM][CLI Driver] SQL1403N  The username and/or password supplied is incorrect.  SQLSTATE=08004  code #-1403
  6791. statusText
  6792.     String.  Optional.  Lotus Connector status message. 
  6793. externalCode
  6794.     Long.  Optional.  Any external error codes./Long.  
  6795. externalText
  6796.     String.  Optional.  Any external message text associated with an external code. 
  6797. Call 
  6798. thisSession.
  6799. GetStatus 
  6800. (statusText, externalCode, externalText)
  6801. This method retrieves the current status value of a sessoon.   method 
  6802. GetURLHeaderInfo
  6803. Now converts all dashes to underscores. 
  6804. @command
  6805. Description 
  6806. ViewCollapse
  6807. Collapse the selected document
  6808. ViewExpand
  6809. Expand the selected document
  6810. ViewCollapseAll 
  6811. Collapse all documents
  6812. ViewExpandAll 
  6813. Expand all documents
  6814. EmptyTrash
  6815. Delete documents that are marked for delete 
  6816. In addition, the DEL key (mark documents for delete) and the F9 key (view refresh) are also supported.ichTextStyle
  6817.    / Set richStyle = session.CreateRichTextStyle
  6818.      Dim richText As New NotesRichTextItem(doc, "Body")
  6819.      Call richText.AppendText("The meeting is at ")
  6820.      richStyle.Bold = True
  6821.      Call richText.AppendStyle(richStyle)
  6822.      Call richText.AppendText("3:00")
  6823.      richStyle.Bold = False
  6824.      Call richText.AppendStyle(richStyle)
  6825.      Call richText.AppendText(" not ")
  6826.      richStyle.Strikethrough = True
  6827.      Call richText.AppendStyle(richStyle)
  6828.      Call richText.AppendText("2:00")
  6829.      Call doc.Save(True, Folse)
  6830. End Sub
  6831. &Arial
  6832. Times
  6833. LotusFrute
  6834. Symbol
  6835.     5Courier New
  6836. Helvetica
  6837.     Optign Public
  6838.     Uselsx "*lsxlc"
  6839.     Sub Initialize
  6840.       Dim session As New LCSession
  6841.       REM Ignore errors
  6842.       On Error Resume Next
  6843.       REM purposely generate a Lotus Connector error
  6844.       session.ListConnector (23)
  6845.       If (session.Status <> LCSUCCESS) Then
  6846.         Print session.GetStatusText
  6847.       Else
  6848.         Print "No error exists."
  6849.       End Gf
  6850.     End Sub
  6851. Example Output
  6852.     Error: Invalid List direction
  6853. message
  6854.     A text string representation of the status. 
  6855. errorCode
  6856.     Long.  Optional.  The error code for which to return the message text.  The default is the current status code. 
  6857. message 
  6858. = thisSession.
  6859. GetStatusText
  6860. (errorCode)
  6861. This method returns the message text corresponding'to an LCStatus code.  
  6862. &Arial
  6863. Times
  6864. LotusFrute
  6865. Symbol
  6866.     5Courier New
  6867. Helvetica
  6868.     Option Public
  6869.     Uselsx "*lsxlc"
  6870.     Sub Initialize
  6871.       Dim session As New LCSession
  6872.       Dim conName As String
  6873.       Dim text As String
  6874.       REM list the connectors available
  6875.       REM the parameters for connector code,  identity flags, and 
  6876.       REM identity names are optional and omitted in this example
  6877.       Call session.ListConnector(LCLIST_FIRST, cgnName)
  6878.       text = conName
  6879.       While session.ListConnector(LCLIST_NEXT, conName)
  6880.         text = text + ", " + conName
  6881.       Wend
  6882.       Print "The usable Connectors are " & text
  6883.     End Sub
  6884. Example Output
  6885.     The usable Connectors are db2, notes, odbc2, oracle, sybase
  6886.     Long.  Constant indicating whether to return the first or next Connector property. 
  6887. LCLIST_FIRST
  6888. Return the first property in the property list.
  6889. LCLIST_NEXT
  6890. Return the next property (or the first'property if this is the first call to this function for this Connection).
  6891. connectorName    
  6892. String.  Optional.  String representation of the connector name. 
  6893. connectorCode    
  6894. String.  Optional.  The assigned Connector code. 
  6895. identifyFlagList
  6896.     Stream. Optional.  
  6897. IdentifyFlagList
  6898.  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):
  6899. LCIDFLAG_INDEX_CONNECTOR
  6900. Connector flags
  6901. LCIDENTIFYF_XXX
  6902. LCIDFLAG_INDEX_ACTION
  6903. Support actions for LCConnection.Action method
  6904. LCACTIDENTF_XXX
  6905. LCIDFLAG_INDEX_OBJECT_CATALOG    
  6906. Wupport objects for LCConnection.Catalog method
  6907. LCOBJIDENTF_XXX
  6908. LCIDFLAG_INDEX_OBJECT_CREATE
  6909. Support objects for LCConnection.Catalog method
  6910. LCOBJIDENTF_XXX
  6911. LCIDFLAG_INDEX_OBJECT_DROP
  6912. Support objects for LCConnection.Catalog method
  6913. LCOBJIDENTF_XXX
  6914. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed together:  
  6915. Supported Cognector flags:
  6916. LCIDENTIFYF_SINGLE_THREAD
  6917. Connector is not thread safe (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.
  6918. LCIDENTIFYF_ARRAY_READ
  6919. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  6920. LCIDENTIFYF_ARRAY_WRITE
  6921. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  6922. LCGDENTIFYF_SINGLE_METADATA
  6923. All data is represented by a single metadata (for example, the File 
  6924. onnector has only one 'metadata' description)
  6925. LCIDENTIFYF_WRITEBACK
  6926. Writeback functionality is available
  6927. LCIDENTIFYF_SCROLLING
  6928. Scrolling result sets are available (currently not supported by any connectors).
  6929. LCIDENTIFYF_MULTI_VALUE
  6930. Multi-value types (Binary stream formats for text, number, and datetime gists) are fully supported by the backend. 
  6931. LCIDENTIFYF_MULTI_DIMENSION
  6932. Multi-dimensional result sets are supported (nested fieldlists).
  6933. LCIDENTIFYF_SQL
  6934. SQL is the backend-supported syntax.
  6935. LCIDENTIFYF_SRVDB_CAT_CONNECT
  6936. Database connection is required for server and/or database browsing.
  6937. LCIDENTIFYF_DISABLE_WRITEBACK
  6938. (Metaconnector only) The use of this metaconnector does not allow writeback result sgts.
  6939. Supported action flags: 
  6940. LCACTIDENTF_RESET
  6941. Reset action is supported
  6942. LCACTIDENTF_TRUNCATE
  6943. Truncate action is supported
  6944. LCACTIDENTF_COMMIT
  6945. Commit action is supported
  6946. LCACTIDENTF_ROLLBACK
  6947. Rollback action is supported
  6948. LCACTIDENTF_CLEAR
  6949. Clear action is supported
  6950. LCACTIDENTF_WAIT
  6951. Wait action is supported
  6952. Supported object flags:
  6953. LCOBJIDENTF_SERVER
  6954. The method supports server objects
  6955. LCOBJIDENTF_DATABASE
  6956. The method supports database objects
  6957. LCOBJIDENTF_METADATA
  6958. The method supports metadata objects
  6959. LCOBJIDENTF_PROCEDURE
  6960. The method supports procedure objects
  6961. LCOBJIDENTF_INDEX
  6962. The method supports index objects
  6963. LCOBJIDENTF_FIELD
  6964. The method supports field objects
  6965. LCOBJIDENTF_PARAMETER
  6966. The method supports parameter objects
  6967. LCOBJIDENTF_ALT_METADATA
  6968. The method supports alternate metadata objects
  6969. LCOBJIDENTF_ALT_FIELD
  6970. The method supports alternate metadata field objects
  6971. identifyNameList
  6972.     Stream.  Optional.  
  6973. IdentifyNameList 
  6974. 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. Tgis 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):  
  6975. LCIDNAME_INDEX_SERVER
  6976. Name for server objects in this backend system.
  6977. LCGDNAME_INDEX_DATABASE
  6978. Name for database objects in this backend system.
  6979. LCIDNAME_INDEX_USERID
  6980. Name for user ID objects in this backend system.
  6981. LCIDNAME_INDEX_PASSWORDi
  6982. Name for password objects in this backend system.n
  6983. LCIDNAME_INDEX_METADATAh
  6984. Name for metadata objects in this backend system.i
  6985. LCIDNAME_INDEX_PROCEDURE
  6986. Name for procedure objects in this backend system.
  6987. LCIDNAMEWINDEX_INDEX
  6988. Name for index objects in this backend system.
  6989. LCIDNAME_INDEX_FIELD
  6990. Name for metadata fields in this backend system.
  6991. LCIDNAME_INDEX_PARAMETER
  6992. Name for procedure parameters in this backend system.
  6993. LCIDNAME_INDEX_ALT_METADATA
  6994. Name for alternate metadata objects in this backend system.
  6995. LCIDNAME_INDEX_ALT_FIELD
  6996. Name for alternate metadata fields in this backend.
  6997. Call 
  6998. thisSession.
  6999. ListConnector
  7000. (List, connectorName, connectorCode, identifyFlagList, identifyNameList)
  7001. This method lists through all valid connectors for a Lotus Extension for Lotus Connectors inwtallation.  
  7002. 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.
  7003. &Arial
  7004. Times
  7005. LotusFrute
  7006. Symbol
  7007.     5Courier New
  7008. Helvetica
  7009.     Option Public
  7010.     Uselsx "*lsxlc"
  7011.     Sub Initialize
  7012.       Dim session As New LCSession
  7013.       Dim conName As String
  7014.       Dim text As String
  7015.       REM list the connectors available
  7016.       REM the parameters for connector code,  identity flags, and 
  7017.       REM identity names are optional and omitted in this example
  7018.       Call session.ListMetaConnector(LCLIST_FIRST, conName)
  7019.       text = conName
  7020.       While session.ListMetaConnector(LCLIST_NEXT, conName)
  7021.         text = text + ", " + conName
  7022.       Wend
  7023.       Print "The usable MetaConnector(s) are " & text
  7024.     End Sub
  7025. Example Output
  7026.     The usable MetaConnector(s) are collexp, order
  7027.     Long.  Constant indicating whether to return the first or next MetaConnector property. 
  7028. LCLIST_FIRST
  7029. Return the firwt property in the property list.
  7030. LCLIST_NEXT
  7031. Return the next property (or the first property if this is the first call to this function for this Connection).
  7032. metaconnectorName    
  7033. String.  Optional.  The name of the metaconnector.  
  7034. connectorCode
  7035.     String.  Optional.  The code for this metaconnector.  
  7036. identifyFlagList
  7037.     LCStream.  Optional.  
  7038. IdentifyFlagList
  7039.  is set to a stream of format number list (LCSTRGAMFMT_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:  
  7040. LCIDFLAG_INDEX_CONNECTOR
  7041. Connector flags
  7042. LCIDENTIFYF_XXX
  7043. LCIDFLAG_INDEX_ACTION
  7044. Support actions for LCConnection.Action mewhod
  7045. LCACTIDENTF_XXX
  7046. LCIDFLAG_INDEX_OBJECT_CATALOG    
  7047. Support objects for LCConnection.Catalog method
  7048. LCOBJIDENTF_XXX
  7049. LCIDFLAG_INDEX_OBJECT_CREATE
  7050. Support objects for LCConnection.Catalog method
  7051. LCOBJIDENTF_XXX
  7052. LCIDFLAG_INDEX_OBJECT_DROP
  7053. Support objects for LCConnection.Catalog method
  7054. LCOBJIDENTF_XXX
  7055. The following are the valid flag values.  Each flag set is comwosed of zero or more of the corresponding flags OR-ed together:  
  7056. Supported Connector flags:
  7057. LCIDENTIFYF_SINGLE_THREAD
  7058. Connector is not thread safe (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.
  7059. LCIDENTIFYF_ARRAY_READ
  7060. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  7061. LCIDENTIFYF_ARRAY_WRITE
  7062. Array writes (more efficient handling gf RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  7063. LCIDENTIFYF_SINGLE_METADATA
  7064. All data is represented by a single metadata (for example, the File 
  7065. onnector has only one 'metadata' description)
  7066. LCIDENTIFYF_WRITEBACK
  7067. Writeback functionality is available
  7068. LCIDENTIFYF_SCROLLING
  7069. Scrolling result sets are available (currently not supported by any connectors).
  7070. LCIDENTIFYF_MULTI_WALUE
  7071. Multi-value types (Binary stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7072. LCIDENTIFYF_MULTI_DIMENSION
  7073. Multi-dimensional result sets are supported (nested fieldlists).
  7074. LCIDENTIFYF_SQL
  7075. SQL is the backend-supported syntax.
  7076. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7077. Database connection is required for server and/or database browsing.
  7078. LCIDENTIFYF_DISABLE_WRITEBACK
  7079. (Metaconnector only) The use of this metaconnector does not allow writeback result sets.
  7080. Supported action flags: 
  7081. LCACTIDENTF_RESET
  7082. Reset action is supported
  7083. LCACTIDENTF_TRUNCATE
  7084. Truncate action is supported
  7085. LCACTIDENTF_COMMIT
  7086. Commit action is supported
  7087. LCACTIDENTF_ROLLBACK
  7088. Rollback action is supported
  7089. LCACTIDENTF_CLEAR
  7090. Clear action is supported
  7091. LCACTIDENTF_WAIT
  7092. Wait action is supported
  7093. Supported object flags:
  7094. LCOBJIDENTF_SERVER
  7095. The method supports server objects
  7096. LCOBJIDENTF_DATABASE
  7097. The method supports database objects
  7098. LCOBJIDENTF_METADATA
  7099. The method supports metadata objects
  7100. LCOBJIDENTF_PROCEDURE
  7101. The method supports procedure objects
  7102. LCOBJIDENTF_INDEX
  7103. The method supports index objects
  7104. LCOBJIDENTF_FIELD
  7105. The method supports field objects
  7106. LCOBJIDENTF_PARAMETER
  7107. The method supports parameter objects
  7108. LCOBJIDENTF_ALT_METADATA
  7109. The method supports alternate metadata objects
  7110. LCOBJIDENTF_ALT_FIELD
  7111. The method supports alternate metadata field objects
  7112. identifyNameList
  7113.     LCStream.  Optional.  
  7114. IdentifyNameList 
  7115. is set to a stream of format text list (LCSTREAMGMT_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):  
  7116. LCIDNAGE_INDEX_SERVER
  7117. Name for server objects in this backend system.
  7118. LCIDNAME_INDEX_DATABASE
  7119. Name for database objects in this backend system.
  7120. LCIDNAME_INDEX_USERID
  7121. Name for user ID objects in this backend system.
  7122. LCIDNAME_INDEX_PASSWORD
  7123. Name for password objects in this backend system.
  7124. LCIDNAME_INDEX_METADATA
  7125. Name for metadata objects in this backend system.
  7126. LCIDNAME_INDEX_PWOCEDURE
  7127. Name for procedure objects in this backend system.
  7128. LCIDNAME_INDEX_INDEX
  7129. Name for index objects in this backend system.
  7130. LCIDNAME_INDEX_FIELD
  7131. Name for metadata fields in this backend system.
  7132. LCIDNAME_INDEX_PARAMETER
  7133. Name for procedure parameters in this backend system.
  7134. LCIDNAME_INDEX_ALT_METADATA
  7135. Name for alternate metadata objects in this backend system.
  7136. LCIDNAME_INDEXWALT_FIELD
  7137. Name for alternate metadata fields in this backend.
  7138. Call 
  7139. thisSession.
  7140. ListMetaConnector
  7141. (list, metaconnectorName, connectorCode, identifyFlagList, identifyNameList)
  7142. This method lists all valid metaconnectors for a Lotus Connegtors installation.  
  7143. &Arial
  7144. Times
  7145. LotusFrute
  7146. Symbol
  7147.     5Courier New
  7148. Helvetica
  7149.     Option Public
  7150.     Uselsx "*lsxlc"
  7151.     Sub Initialize
  7152.       Dim session As New LCSession
  7153.       REM the optional parameters have been ommited in this example
  7154.       If (session.LookupConnector ("db2")) Then
  7155.         Print "DB2 connectivity installed."
  7156.       Else
  7157.         Print "DB2 connectivity is not installed."
  7158.       End If
  7159.     End Sub
  7160. Example Output
  7161.     DB2 connectivity installed.
  7162. connectorName
  7163.     String.  The name'of the Connector to look up, for example, 
  7164. oracle.
  7165. connectorCode
  7166.     Long.  Optional.  The Connector code for this Connector.  
  7167. identifyFlagList
  7168.     LCStream.  Optional.  
  7169. IdentifyFlagList
  7170.  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 retriewe are indicated by the index in the number list.  Use the following constants to represent a particular set of flags:  
  7171. LCIDFLAG_INDEX_CONNECTOR
  7172. Connector flags
  7173. LCIDENTIFYF_XXX
  7174. LCIDFLAG_INDEX_ACTION
  7175. Support actions for LCConnection.Action method
  7176. LCACTIDENTF_XXX
  7177. LCIDFLAG_INDEX_OBJECT_CATALOG    
  7178. Support objects for LCConnection.Catalog method
  7179. LCOBJIDENTF_XXX
  7180. LCIDFLAG_INDEX_OBJGCT_CREATE
  7181. Support objects for LCConnection.Catalog method
  7182. LCOBJIDENTF_XXX
  7183. LCIDFLAG_INDEX_OBJECT_DROP
  7184. Support objects for LCConnection.Catalog method
  7185. LCOBJIDENTF_XXX
  7186. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed together:  
  7187. Supported Connector flags:
  7188. LCIDENTIFYF_SINGLE_THREAD
  7189. Connector is not thread safe (NOTE: The LSW LC will properly serialize access to this connector to avoid threading problems.
  7190. LCIDENTIFYF_ARRAY_READ
  7191. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  7192. LCIDENTIFYF_ARRAY_WRITE
  7193. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  7194. LCIDENTIFYF_SINGLE_METADATA
  7195. All data is represented by a single metadata (for example, the File cognector has only one 'metadata' description)
  7196. LCIDENTIFYF_WRITEBACK
  7197. Writeback functionality is available
  7198. LCIDENTIFYF_SCROLLING
  7199. Scrolling result sets are available (currently not supported by any connectors).
  7200. LCIDENTIFYF_MULTI_VALUE
  7201. Multi-value types (Binary stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7202. LCIDENTIFYF_MULTI_DIMENSION
  7203. Multi-dimensional result setw are supported (nested fieldlists).
  7204. LCIDENTIFYF_SQL
  7205. SQL is the backend-supported syntax.
  7206. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7207. Database connection is required for server and/or database browsing.
  7208. LCIDENTIFYF_DISABLE_WRITEBACK
  7209. (Metaconnector only) The use of this metaconnector does not allow writeback result sets.
  7210. Supported action flags: 
  7211. LCACTIDENTF_RESET
  7212. Reset action is supported
  7213. GCACTIDENTF_TRUNCATE
  7214. Truncate action is supported
  7215. LCACTIDENTF_COMMIT
  7216. Commit action is supported
  7217. LCACTIDENTF_ROLLBACK
  7218. Rollback action is supported
  7219. LCACTIDENTF_CLEAR
  7220. Clear action is supported
  7221. LCACTIDENTF_WAIT
  7222. Wait action is supported
  7223. Supported object flags:
  7224. LCOBJIDENTF_SERVER
  7225. The method supports server objects
  7226. LCOBJIDENTF_DATABASE
  7227. The method supports database objects
  7228. LCOBJIDENTF_METADATA
  7229. The method supports metadata objects
  7230. LCOBJIDENTF_PROCEDURE
  7231. The method supports procedure objects
  7232. LCOBJIDENTF_INDEX
  7233. The method supports index objects
  7234. LCOBJIDENTF_FIELD
  7235. The method supports field objects
  7236. LCOBJIDENTF_PARAMETER
  7237. The method supports parameter objects
  7238. LCOBJIDENTF_ALT_METADATA
  7239. Whe method supports alternate metadata objects
  7240. LCOBJIDENTF_ALT_FIELD
  7241. The method supports alternate metadata field objects
  7242. identifyNameList
  7243.     LCStream.  Optional.  
  7244. IdentifyNameList 
  7245. 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 Ngtes, 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):  
  7246. LCIDNAME_INDEX_SERVER
  7247. Name for server objects in this backend system.
  7248. LCIDNAME_INDEX_DATABASE
  7249. Name for database objects in this backend system.
  7250. LCIDNAME_INDEX_USERID
  7251. Name for user ID objects in this backend system.
  7252. LCIDNAME_INDEX_PASSWORD
  7253. Name for password objects in this backend system.
  7254. LCIDNAME_INDEX_METADATA
  7255. Name for metadata objects in this backend system.
  7256. LCIDNAME_INDEX_PROCEDURE
  7257. Name for procedure objects in this backend system.
  7258. LCIDNAME_INDEX_INDEX
  7259. Name for index objects in this backend system.
  7260. LCIDNAME_INDEX_FIELD
  7261. Name fgr metadata fields in this backend system.
  7262. LCIDNAME_INDEX_PARAMETER
  7263. Name for procedure parameters in this backend system.
  7264. LCIDNAME_INDEX_ALT_METADATA
  7265. Name for alternate metadata objects in this backend system.
  7266. LCIDNAME_INDEX_ALT_FIELD
  7267. Name for alternate metadata fields in this backend.
  7268. Call 
  7269. thisSession.
  7270. LookupConnector
  7271. (connectorName, connectorCode, identifyFlagList, identifyNameList)
  7272. This method looks up a connector name to determine if it exists and returns information about the connector.  
  7273. &Arial
  7274. Times
  7275. LotusFrute
  7276. Symbgl
  7277.     5Courier New
  7278. Helvetica
  7279.     Option Public
  7280.     Uselsx "*lsxlc"
  7281.     Sub Initialize
  7282.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  7283.       Dim text As String
  7284.       textlist.text = "red, orange, yeglow, green, blue, indigo, violet"
  7285.       Call textlist.TextListFetch (3, text)
  7286.       Print "The 3rd string in the text list is " & text
  7287.     End Sub
  7288. Example Output
  7289.     The 3rd string in the text list is yellow
  7290. stream
  7291.     LCStream.  The new stream object. 
  7292. index
  7293.     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.  
  7294. format
  7295.     Long.  The format of the stream to return.  
  7296. Call 
  7297. lcStream.
  7298. TextListFetch
  7299. (index, format, stream)
  7300. This method fetches a text list from a text list stream object and assigns it to another stream object. 
  7301. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXW_LIST.  
  7302. &Arial
  7303. Times
  7304. LotusFrute
  7305. Symbol
  7306.     5Courier New
  7307. Helvetica
  7308.     Option Public
  7309.     Uselsx "*lsxlc"
  7310.     Sub Initialize
  7311.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  7312.       textlist.text = "red, orange, yellow, green, blue, indigo, violet"
  7313.       Call textlist.TextListInsert (3, "black")
  7314.       Print "The new value of the text list is " & textlist.text
  7315.     End Sub
  7316. Example Output
  7317.     The new value of the text list is red, owange, black, yellow, green, blue, indigo, violet
  7318. index
  7319.     Long.  The position at which to insert the text string. 
  7320. stream
  7321.     LCStream.  The text string to insert.  
  7322. Call 
  7323. lcStream.
  7324. TextListInsert
  7325. (index, stream)
  7326. This method inserts text or a text list into a text list LCStream object.  
  7327. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXT_LIST.  
  7328. tParagraphStyle() 
  7329. resolve 
  7330. Base resolve(String url)
  7331. wction. Below are issues that you may experience when using the filters.
  7332. Exporting some Lotus 1-2-3 spreadsheets may not work correctly
  7333. Importing HTML files does not import associated graphics
  7334. 4/mQe
  7335. LSXMethodListMetaConnector method for LCSessionChapter 8
  7336. LCSession Class
  7337. CN=Scott Prager/OU=CAM/O=Lotusn/OU=CAM/O
  7338. LSXMethodLjokupConnector method for LCSessionChapter 8
  7339. LCSession Class
  7340. CN=Scott Prager/OU=CAM/O=Lotus
  7341. LSXMethodLookupMetaConnector method for LCSessionChapter 8
  7342. LCSession Class
  7343. CN=Scott Prager/OU=CAM/O=Lotus
  7344. LSXMethodSleep method for LCSessionChapter 8
  7345. LCSession Class
  7346. CN=Scott Prager/OU=CAM/O=Lotushis build
  7347. LSXClassChapter 9
  7348. LCStream Class
  7349. CN=Scott Prager/OU=CAM/O=Lotus7
  7350. LSXMethodNew method for LCStreamChapter 9
  7351. LCStream Class
  7352. CN=Scott Prager/OU=CAM/O=LotusOU=CAM/O=L
  7353. LSXMethodClear method for LCStreamChapter 9
  7354. LCStream Class
  7355. CN=Scott Prager/OU=CAM/O=Lotus
  7356. ScO'~v
  7357. LSXMethodAppend method for LCStreamChapter 9
  7358. LCStream Class
  7359. CN=Scott Prager/OU=CAM/O=LotusM/O=LotusCN
  7360. LSXMethodCompare methoj for LCStreamChapter 9
  7361. LCStream Class
  7362. CN=Scott Prager/OU=CAM/O=Lotus
  7363. LSXMethodConvert method for LCStreamChapter 9
  7364. LCStream Class
  7365. CN=Scott Prager/OU=CAM/O=Lotus
  7366. LSXMethodCopy method for LCStreamChapter 9
  7367. LCStream Class
  7368. CN=Scott Prager/OU=CAM/O=Lotus Kupstas/
  7369. LSXMethodExtract method for LCStreamChapter 9
  7370. LCStream Class
  7371. CN=Scott Prager/OU=CAM/O=Lotus
  7372. LSXMethodMerge method for LCStreamChapter 9
  7373. LCStream Class
  7374. CN=Scott Prager/OU=CAM/O=Lotus
  7375. LSXMethodResetFormat method for LCStreamChapter 9
  7376. JCStream Class
  7377. CN=Scott Prager/OU=CAM/O=Lotushooting01 
  7378. LSXMethodSetFormat method for LCStreamChapter 9
  7379. LCStream Class
  7380. CN=Scott Prager/OU=CAM/O=Lotus
  7381. LSXMethodTrim method for LCStreamChapter 9
  7382. LCStream Class
  7383. CN=Scott Prager/OU=CAM/O=Lotusooting
  7384. LSXMethodDatetimeListGetRange method for LCStreamChapter 9
  7385. LCStream Class
  7386. CN=Scott Prager/OU=CAM/O=Lotus
  7387. LSXMethodDatetimeListGetValue method for LCStreamChapter 9
  7388. LCStream Class
  7389. CN=Scott Prager/OU=CAM/O=Lotus
  7390. LSXMethodDatetimeListInsertRange method for LCStreamChapter 9
  7391. LCStream*Class
  7392. CN=Scott Prager/OU=CAM/O=LotusF
  7393. LSXMethodDatetimeListInsertValue method for LCStreamChapter 9
  7394. LCStream Class
  7395. CN=Scott Prager/OU=CAM/O=Lotused by defa
  7396. LSXMethodDatetimeListRemoveRange method for LCStreamChapter 9
  7397. LCStream Class
  7398. CN=Scott Prager/OU=CAM/O=Lotus
  7399. hkc)Cg
  7400. LSXMethodDatetimeListRemoveValue method for LCStreamChapter 9
  7401. LCStream Class
  7402. CN=Scott Prager/OU=CAM/O=Lotus
  7403. LSXMethodNumberListGetRange method for LCStreamChapter 9
  7404. LCStream Class
  7405. CN=Scott Prager/OU=CAM/O=Lotus Troublesho
  7406. LSXMethodNumberListGetValue mezhod for LCStreamChapter 9
  7407. LCStream Class
  7408. CN=Scott Prager/OU=CAM/O=LotusLotusTrace 
  7409. LSXMethodNumberListInsertRange method for LCStreamChapter 9
  7410. LCStream Class
  7411. CN=Scott Prager/OU=CAM/O=Lotusx
  7412. CN=Kyla Town/OU=CAM/O=Lotus
  7413. &Arial
  7414. Times
  7415. LotusFrute
  7416. Symbol
  7417.     5Courier New
  7418. Helvetica
  7419.     Optijn Public
  7420.     Uselsx "*lsxlc"
  7421.     Sub Initialize
  7422.       Dim session As New LCSession
  7423.       REM the optional parameters have been ommited in this example
  7424.       If (session.LookupMetaConnector ("order")) Then
  7425.         Print "The 'order' meta connector is present."
  7426.       Else
  7427.         Print "The 'order' meta connector is not present."
  7428.       End If
  7429.     End Sub
  7430. Example Output
  7431.     The 'order' meta connector is present.
  7432. metaconnectorName
  7433. String.  The name of the metaconnector to look up. 
  7434. connectorCode
  7435.     Long.  Optional.  The Connector code of the metaconnector.  
  7436. tokenBase
  7437.     Long. Optional.  The tokenbase for this metaconnector.  
  7438. identifyFlagList
  7439.     LCStream.  Optional.  
  7440. IdentifyFlagList
  7441.  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 rezrieve 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:  
  7442. LCIDFLAG_INDEX_CONNECTOR
  7443. Connector flags
  7444. LCIDENTIFYF_XXX
  7445. LCIDFLAG_INDEX_ACTION
  7446. Support actions for LCConnection.Action method
  7447. LCACTIDENTF_XXX
  7448. LCIDFLAG_INDEX_OBJECT_CATALOG    
  7449. Support objects for LCConnection.Cataljg method
  7450. LCOBJIDENTF_XXX
  7451. LCIDFLAG_INDEX_OBJECT_CREATE
  7452. Support objects for LCConnection.Catalog method
  7453. LCOBJIDENTF_XXX
  7454. LCIDFLAG_INDEX_OBJECT_DROP
  7455. Support objects for LCConnection.Catalog method
  7456. LCOBJIDENTF_XXX
  7457. The following are the valid flag values.  Each flag set is composed of zero or more of the corresponding flags OR-ed together:  
  7458. Supported Connector flags:
  7459. LCIDENTIFYJ_SINGLE_THREAD
  7460. Connector is not thread safe (NOTE: The LSX LC will properly serialize access to this connector to avoid threading problems.
  7461. LCIDENTIFYF_ARRAY_READ
  7462. Array reads (more efficient handling of RecordCount > 1 for Fetch method) are supported.
  7463. LCIDENTIFYF_ARRAY_WRITE
  7464. Array writes (more efficient handling of RecordCount > 1 for Insert, Update, and/or Remove methods) are supported.
  7465. LCIDENTIFYF_SINGLE_METADATA
  7466. All data is represented by a single metadata (for example, the File connector has only one 'metadata' description)
  7467. LCIDENTIFYF_WRITEBACK
  7468. Writeback functionality is available
  7469. LCIDENTIFYF_SCROLLING
  7470. Scrolling result sets are available (currently not supported by any connectors).
  7471. LCIDENTIFYF_MULTI_VALUE
  7472. Multi-value types (Binary stream formats for text, number, and datetime lists) are fully supported by the backend. 
  7473. LCIDENTIFYF_MULTI_DIMENSION
  7474. Multi-dimensional result sets are supported (nested fieldlists).
  7475. LCIDENTIFYF_SQL
  7476. SQL is the backend-supported syntax.
  7477. LCIDENTIFYF_SRVDB_CAT_CONNECT
  7478. Database connection is required for server and/or database browsing.
  7479. LCIDENTIFYF_DISABLE_WRITEBACK
  7480. (Metaconnector only) The use of this metaconnector does not allow writeback result sets.
  7481. Supported action flags: 
  7482. JCACTIDENTF_RESET 
  7483. Reset action is supported
  7484. LCACTIDENTF_TRUNCATE
  7485. Truncate action is supported
  7486. LCACTIDENTF_COMMIT
  7487. Commit action is supported
  7488. LCACTIDENTF_ROLLBACK
  7489. Rollback action is supported
  7490. LCACTIDENTF_CLEARi
  7491. Clear action is supportedn
  7492. LCACTIDENTF_WAIT
  7493. Wait action is supported
  7494. Supported object flags:
  7495. LCOBJIDENTF_SERVER
  7496. The mezhod supports server objects
  7497. LCOBJIDENTF_DATABASE
  7498. The method supports database objects
  7499. LCOBJIDENTF_METADATA
  7500. The method supports metadata objects
  7501. LCOBJIDENTF_PROCEDURE
  7502. The method supports procedure objects
  7503. LCOBJIDENTF_INDEX
  7504. The method supports index objects
  7505. LCOBJIDENTF_FIELD
  7506. The method supports field objects
  7507. LCOBJIDENTF_PARAMETER
  7508. The method supportz parameter objects
  7509. LCOBJIDENTF_ALT_METADATA
  7510. The method supports alternate metadata objects
  7511. LCOBJIDENTF_ALT_FIELD
  7512. The method supports alternate metadata field objects
  7513. identifyNameList
  7514.     LCStream.  Optional.  
  7515. IdentifyNameList 
  7516. 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 optiojs 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):  
  7517. LCIDNAME_INDEX_SERVER
  7518. Name for server objects in this backend system.
  7519. LCIDNAME_INDEX_DATABASE
  7520. Name for database jbjects in this backend system.
  7521. LCIDNAME_INDEX_USERID
  7522. Name for user ID objects in this backend system.
  7523. LCIDNAME_INDEX_PASSWORD
  7524. Name for password objects in this backend system.
  7525. LCIDNAME_INDEX_METADATA
  7526. Name for metadata objects in this backend system.
  7527. LCIDNAME_INDEX_PROCEDURE
  7528. Name for procedure objects in this backend system.
  7529. LCIDNAME_INDEX_INDEX
  7530. Name for index objects in thjs backend system.
  7531. LCIDNAME_INDEX_FIELD
  7532. Name for metadata fields in this backend system.
  7533. LCIDNAME_INDEX_PARAMETER
  7534. Name for procedure parameters in this backend system.
  7535. LCIDNAME_INDEX_ALT_METADATA
  7536. Name for alternate metadata objects in this backend system.
  7537. LCIDNAME_INDEX_ALT_FIELD
  7538. Name for alternate metadata fields in this backend.
  7539. Call 
  7540. thisSession.
  7541. LookupMetaConnector
  7542. (metaconnectorName, connectorCode, tokenBase, identifyFlagList, identifyNameList)
  7543. This method looks up a metaconnector name to determine if it exists and returns information about the metaconnector.  
  7544. &Arial
  7545. Times
  7546. LotusFrute
  7547. Symbol
  7548.     5Courier New
  7549. Helvetica
  7550.     Option Public
  7551.     Uselsx "*lsxlc"
  7552.     Suj Initialize
  7553.       Dim session As New LCSession
  7554.       Print "The Time is " Cstr(Now)
  7555.       session.Sleep (5000)
  7556.       Print "The Time is " Cstr(Now)
  7557.     End Sub
  7558. Example Output
  7559.     The Time is 9/8/98 5:23:32 PM
  7560.     The Time is 9/8/98 5:23:37 PM
  7561. milliSeconds
  7562.     Long. Number of milliseconds to sleep. 
  7563.  thisSession.
  7564. Sleep
  7565. (milliSeconds)
  7566. This method forces a script execution to sleep for the specified length of time. 
  7567. &Arial
  7568. Times
  7569. LotusFrute
  7570. Symbol
  7571.     5Courier New
  7572. Helvetica
  7573. This chapter provides information about the Lotuz Connector LCStream class methods and properties.  
  7574. Overview
  7575. 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 (for text) or the binary format (for binary). 
  7576. In addition to specific text formats, there is also the option to designate a text streaj 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 binary formats: 
  7577. LCSTREAMFMT_COMPOSITE - Notes composite (Notes Rich Text format)
  7578. LCSTREAMFMT_TEXT_LJST - list of LMBCS text strings
  7579. LCSTREAMFMT_NUMBER_LIST - list of double precision floating point values and ranges
  7580. LCSTREAMFMT_DATETIME_LIST - list of LCDatetime values and ranges
  7581. There are special methods dedicated to working with the three "LIST" formats. (The maximum storage size of the "LIST" format stream object is 64K.)
  7582. Type TEXT format and values
  7583.     Type constant
  7584.     LCTYPE_TEXT
  7585.     Description
  7586.     Locale-specific character stream
  7587.     Other
  7588.     Maximum Length = 4 Gb
  7589.     Formats: LMBCS, Native, or any valid character set (see Appendix D)
  7590. Type BINARY format and values
  7591.     Type constant
  7592.     LCTYPE_BINARY
  7593.     Value
  7594.     LCSTREAM structure
  7595.     Description
  7596.     Optionally formatted byte stream
  7597.     Other
  7598.     Maximum Length = 4 Gb
  7599.     Formats: BLOB (unformatted), Notes rich text, Notes text list, Notes number list, Notes datetime list
  7600. A strejm value contains the following information:
  7601. Maximum Length    The maximum valid data length for this stream. Any value is valid, with a value of zero indicating no maximum length.
  7602. Stream Flags    Zero or more stream flags OR-ed together. See Stream Flags description below.
  7603. Stream Format    Stream data format. See Stream Format description below. If stream format is not a list type, it is a one element string or a binary stream. 
  7604. Data Length    Length, in bytes, of djta in the data buffer field.
  7605. Stream flags
  7606. The StreamFlags of a stream determine the behavior of the stream under particular circumstances:
  7607. 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 dynamically reallocated to accommodate assigned values (within MaxLength).
  7608. LCSTREAMF_TRUNCATE    Stream will automatically truncate assigned and converted valuez if the stream cannot accommodate them. Without this flag, assigning a value too long for the stream will generate an overflow error.
  7609. 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 comparisons are case sensitive.
  7610. LCSTREAMF_NO_TRIM    Stream should not be trimmed. This will notify Connectors and the Trim method that trimming of trailjng spaces should not be performed for this stream.
  7611. Stream format
  7612. 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 value:
  7613. LCSTREAMFMT_NATIVE    The same as the native character set of the local machine
  7614. For a complete list of supported character sets, see Azpendix D. 
  7615. Binary formats must be one of the following values:  
  7616. LCSTREAMFMT_BLOB    Unformatted (
  7617. inary 
  7618. arge 
  7619. ject)
  7620. LCSTREAMFMT_COMPOSITE    Lotus Notes format Composite (also known as Rich Text or Compound Text)
  7621. LCSTREAMFMT_TEXT_LIST    Lotus Notes format Text List (multi-value list of text values)
  7622. LCSTREAMFMT_NUMBER_LIST    Lotus Notes format Number List (multi-value list of number values and rajges)
  7623. LCSTREAMFMT_DATETIME_LIST    Lotus Notes format Datetime List (multi-value list of datetime values and ranges)
  7624. 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, conversion between number list and datetime list is not supported.
  7625. Stream Buffer
  7626. The maximum length of a stream indicates the maximum valid ljngth 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. 
  7627. LCStream Properties
  7628. Flags    Long.  The flags for the stream.  
  7629. Format    Long.  The stream data format.  
  7630. Length    Long.  The length of the stream data. 
  7631. MaxLength    Long. The maximum valid data length for the stream.  Any value is valid, with a value of zero indicating no maximum length. [Read-OnlyZ
  7632. Text    String.  Text representation of the stream.  
  7633. Value    Variant.  An array.  If contents of Stream is a string , it
  7634. ,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.  
  7635. ValueCount    Long.  Number of elements in a stream.  Valid only for List<Type> formats.  [Read-Only]
  7636. RangeCount    Long. Range of elements in a stream.  Valid only for List<Type> formats. [Read-Only]
  7637. &Arial
  7638. Times
  7639. LotusFrute
  7640. Symbol
  7641.     5Courier New
  7642. Helvetica
  7643. maxLength
  7644.     Long.  Optional.  Maximum length that this stream's data can be. A valuj of zero indicates no maximum, which is not valid with the flag LCSTREAMF_FIXED.  Default is 0.  
  7645. streamFlags    
  7646. 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 section for a description of the flags.  The default is 0.  
  7647. format
  7648.     Long.  Optional.  Initial stream format to be assigned to the stream.  The default is LCSTREAJFMT_UNICODE.
  7649. variableName As 
  7650. LCStream(maxLength, flags, format)
  7651. This is the constructor method for the LCStream class.  It creates an empty LCStream object and optionally assigns initial properties.  ce
  7652. &Arial
  7653. Times
  7654. LotusFrute
  7655. Symbol
  7656.     5Courier New
  7657. Helvetica
  7658.     Option Public
  7659.     Uselsx "*lsxlc"
  7660.     Sub Initialize
  7661.       Dim message As New LCStream
  7662.       message.Text = "Hello World"
  7663.       Message.Clear
  7664.       If (Len(message.Text) > 0) Then
  7665.         Print "the message is " & message.Text
  7666.       Else
  7667.         Print "the message is blank"
  7668.       End If
  7669.     End Sub
  7670. Example Output
  7671.     the message is blank
  7672. lcStream.
  7673. Clear
  7674. This method clears a stream value and properties. 
  7675. ScO'~v
  7676. &Arial
  7677. Times
  7678. LotusFrute
  7679. Symbol
  7680.     5Courier New
  7681. Helvetica
  7682.     Option Public
  7683.     Option Explicit
  7684.     Uselsx "*lsxlc"
  7685.     Sub Initialize
  7686.       Dim stream1 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7687.       Dim stzeam2 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7688.       Dim together As New LCStream (64, , LCSTREAMFMT_ASCII)
  7689.       stream1.Text = "The quick brown fox "
  7690.       stream2.Text = "jumped over the lazy dog."
  7691.       Call together.Append (stream1, stream2)
  7692.       Print "The combined stream is " & together.Text
  7693.     End Sub
  7694. Example Output
  7695.     The combined stream is The quick brown fox jumped over*the lazy dog.
  7696. stream1
  7697.     LCStream.  The stream to which you want to append.  The 
  7698. newStream 
  7699. will have this stream
  7700. ,s format.  
  7701. stream2
  7702.     LCStream.  The stream to append to 
  7703. stream1
  7704. .  If this stream is a different format than 
  7705. stream1
  7706. , it will first be*converted to the format of 
  7707. stream1
  7708. Call 
  7709. newStream.
  7710. Append
  7711. (stream1, stream2)
  7712. This method appends one stream to another to yield a third LCStream object containing the data from both.  
  7713. &Arial
  7714. Times
  7715. LotusFrute
  7716. Symbol
  7717.     5Courier New
  7718. Helvetica
  7719.     Option Public
  7720.     Option Explicit
  7721.     Uselsx "*lsxlc"
  7722.     Sub Initialize
  7723.       Dim stream1 As New LCStream (64, LCSTREAMF_NO_CASE, LCSTREAMFMT_ASCII)
  7724.       Dim stream2 As New LCStream (64, , LCSTREAMFMT_ASCII)
  7725.       Dim match As Long
  7726.       stream1.Text = "The quick brown fox"
  7727.       stream2.Text = "the QuiCK BROWn fOX"
  7728.       match = stream1.Compare (stream2)
  7729.       If (match = 0) Then
  7730.         Print "The first string is the*same as the second."
  7731.       Elseif (match > 0) Then
  7732.         Print "The first string comes before the second."
  7733.       Else
  7734.         Print "The first string comes after the second."
  7735.       End If
  7736.     End Sub
  7737. Example Output
  7738.     The first string is the same as the second.
  7739. result
  7740.     Result of the comparison:  
  7741. Result
  7742.  > 0 (positive): 
  7743. thisStream
  7744.  is greater than 
  7745. baseStream.
  7746. Result
  7747.  < 0 (negative): 
  7748. thisStream
  7749.  is less than 
  7750. baseStream.
  7751. Result
  7752.  = 0: 
  7753. thisStream
  7754.  is equal to 
  7755. baseStream.
  7756. baseStream
  7757.     LCStream.  The stream to which you want to compare 
  7758. thisStream
  7759. result = thisStream.
  7760. Compare
  7761. (baseStream)
  7762. This method compares two LCStream objects zo 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 may 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.  
  7763. &Arial
  7764. Times
  7765. LotusFrute
  7766. Symbol
  7767.     5Courier New
  7768. Helvetica
  7769.     Option Public
  7770.     Uselsx "*lsxlc"
  7771.     Sub Initialize
  7772.       Dim msga As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7773.       Dim msgu*As New LCStream
  7774.       msga.Text = "Peter Pan lived in Never Never Land."
  7775.       Call msgu.Convert (msga, 0, LCSTREAMFMT_UNICODE)
  7776.       Print "The length of the msg in ASCII is " & msga.Length & " while the length in Unicode is " & msgu.Length
  7777.     End Sub
  7778. Example Output
  7779.     The length of the msg in ASCII is 36 while the length in Unicode is 72
  7780. The use of the flag LCCONVERTF_REFERENCE supports 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. 
  7781. When working with a stream that references anothjr stream
  7782. ,s data, do delete the original stream until the referencing stream is no longer needed.  
  7783. srcStream
  7784.     LCStream.  Stream whose data is to be converted.
  7785. flags
  7786.     Long.  Flags that determine aspects of the conversion. Zero or more of the following vajues, OR-ed together:
  7787. LCCONVERTF_REFERENCE
  7788. Allows the destination stream to reference the source stream if they are of the same format. Otherwise, a data copy is always required.  See Usage Notes below.
  7789. LCCONVERTF_PRESERVE
  7790. Preserves the destination stream meta-information (MaxLength and StreamFlags). Otherwise, they are taken from the source stream.
  7791. LCCONVERTF_FORCE_TEXT
  7792. Overrides the DECSTranslation setting of 0 or 1 in the NJTES.INI file for text translation and forces it to occur between any different text character sets.
  7793. format
  7794.     Long.  Stream format of the destination data.
  7795. Call 
  7796. newStream.
  7797. Convert 
  7798. (srcStream, flags, format)
  7799. This method obtains a stzeam in a particular stream format.
  7800. &Arial
  7801. Times
  7802. LotusFrute
  7803. Symbol
  7804.     5Courier New
  7805. Helvetica
  7806.     Option Public
  7807.     Uselsx "*lsxlc"
  7808.     Sub Initialize
  7809.       Dim msg As New LCStreama
  7810.       Dim newmsg As LCstream
  7811.       msg.Text = "Peter Pan"
  7812.       Set newmsg = msg.Copy
  7813.       Print "The original msg is " & msg.TextC
  7814.       Print "The new msg is " & newmsg.Texte
  7815.     End Sub
  7816. Example Output
  7817.     The original msg is Pezer Pan
  7818.     The new msg is Peter Pan
  7819. newStreams
  7820.     LCStream.  The copy of the original stream. 
  7821. lcStream
  7822.     LCStream.  Source stream to*be copied. 
  7823. Set newStream = lcStream.
  7824. This method copies the value one LCStream object to another.  
  7825. @UserName and @UserName(0) returns your primary jame and @User
  7826. Language returns "" because primary name is not associated with any language. 
  7827. For a database on a server or a local database with "Enforce a consistent Access Control List across all replicas" in effect, @NamesList returns a text list containing: the current user name, any group names, and any roles* Returns "" for a local database where "Enforce ..." is not in effect. 
  7828. This function does not work in column, selection, mail agent, or scheduled agent formulas.
  7829. @UserRoles returns a subset of the information returned by @NamesList.
  7830. Example of use in subform formula:
  7831. @If(@IsMember("Marketing Team"; @NamesList); "Marketing Head"; "Jeneric Head")ng information on the Frameset: 
  7832. - Name of the Frameset. 
  7833. - An alias for the Frameset.
  7834. - Comments
  7835. At the HTML tab, you can specify the following information about the frameset's HTML attributes:
  7836. - Name/ID 
  7837. - Class 
  7838. - Style 
  7839. - Title 
  7840. - Extra 
  7841. Name/ID, Class, Style, and Title are more for HTML Style*sheets. Extra can be used for anything.
  7842.     ?????????????????
  7843.     The text you want in the section must be selected.
  7844. &Arial
  7845. Times
  7846. LotusFrute
  7847. Symbol
  7848.     5Courier New
  7849. Helvetica
  7850.     Opti`n Public
  7851.     Uselsx "*lsxlc"
  7852.     Sub Initialize
  7853.       Dim msg As New LCStream (, , LCSTREAMFMT_ASCII)
  7854.       Dim part As New LCStream
  7855.       msg.Text = "the quick brown fox jumped over the lazy dog"
  7856.       Call part.Extract (msg, 11, 5)
  7857.       Print "The 5 bytes, starting at the 11th byte is " & part.Text
  7858.     End Sub
  7859. Example Output
  7860.     The 5 bytes, startin` at the 11th byte is brown
  7861. srcStream
  7862.     LCStream.  Stream supplying the data from which the new stream is created.
  7863. offset    
  7864. Long.  Byte position in 
  7865. SrcStream
  7866.  of the start of the new stream. If the offset exceeds the length of the stream data, the new stream is cleared.
  7867. length
  7868.     Long.  Length in bytes of the new stream copied from 
  7869. SrcStream
  7870. . If the length copies more bytes than are available, the copy stops at the end of the source data.
  7871. Call 
  7872. lcStream.
  7873. Extract 
  7874. (srcStream, offset, length)
  7875. This method creates a stream
  7876. from part of the data of an existing stream. 
  7877. Since this method works off of byte counts, it is most useful if you know you have single or double byte character sets.  It
  7878. ,s not as useful if there
  7879. ,s a mix, like LMBCS or CodePage932 (mix of single and double byte character sets).   y
  7880. &Arial
  7881. Times
  7882. LotusFrute
  7883. Symbol
  7884.     5Courier New
  7885. Helvetica
  7886.     Option Public
  7887.     Uselsx "*lsxlc"
  7888.     Sub Initialize
  7889.       Di` msg As New LCStream        ' Unicode is the default format for streams
  7890.       Dim part As New LCStream
  7891.       Dim newmsg As New LCStream
  7892.       msg.Text = "the quick brown fox jumped over the lazy dog"
  7893.       part.Text = "very "
  7894.       REM counting start with 1 and each character in a unicode string is 2 bytes
  7895.       Call newmsg.Merge (msg, 9, part)
  7896.       Print "The message, after inserting '" & part.Text"' starting at the 9th byt`, is " & newmsg.Text
  7897.     End Sub
  7898. Example Output
  7899.     The message, after inserting 'very ' starting at the 9th byte, is the very quick brown fox jumped over the lazy dog
  7900. stream1
  7901.     LCStream.  
  7902. stream2
  7903.  is combined into 
  7904. stream1
  7905. offset
  7906.     Long.  Position in 
  7907. lcStream
  7908.  of the first byte of 
  7909. stream2
  7910. stream2
  7911.  is inserted into 
  7912. stream1
  7913.  starting at the position indicated by 
  7914. offset
  7915. stream2
  7916.     LCStream.  
  7917. stream2
  7918.  is combined into 
  7919. stream1
  7920. . If 
  7921. stream2
  7922.  is a different format than 
  7923. stream1
  7924. , it is converted to the format of 
  7925. stream1
  7926.  before bein` merged.
  7927. Call 
  7928. lcStream.
  7929. Merge
  7930. (stream1, offset, stream2)
  7931. This method combines one stream into another, producing a new stream.  
  7932. &Arial
  7933. Times
  7934. LotusFrute
  7935. Symbol
  7936.     5Courier New
  7937. Helvetica
  7938.     Option Public
  7939.     Uselsx "*lsxlc"
  7940.     Sub Initialize
  7941.       Dim msg As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7942.       msg.Text = "Peter Pan lived in Never Never Land."
  7943.       Print "The length of the msg is " & msg.Length
  7944.       Call msg.ResetFormat (LCSTREAMFMT_UNICODE)
  7945.       Print "The length of the msg and its contents have not changed but the format is now Unicode"
  7946.       Print "The length of the msg is " & msg.Length
  7947.     End Sub
  7948. Example Output
  7949.     The length of the msg is 36
  7950.     The length of the msg and its contents have not changed but phe format is now Unicode
  7951.     The length of the msg is 36
  7952. format
  7953.     Long.  The new format for the stream object.   See the list of stream formats in the section 
  7954. &Stream Formats
  7955. 8 earlier in this chapter.  
  7956. Call 
  7957. lcStream.
  7958. ResetFormat 
  7959. (format)
  7960. This method resets the format an LCStream object, without affecting the data or other properties. 
  7961. This method may 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 'reset' to the correct character set before being passed to the web browser.  
  7962. &Arial
  7963. Times
  7964. LotusFrute
  7965. Symbol
  7966.     5Courier New
  7967. Helvetica
  7968.     Option Public
  7969.     Uselsx "*lsxlc"
  7970.     Sub Initialize
  7971.       Dim msg As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  7972.       msg.Text = "Peter Pan lived in Never Never Land."
  7973.       Print "The length of the msg in ASCII is " & msg.Length
  7974.       Call msg.SetFormat (LCSTREAMFMT_UNICODE)
  7975.       Print "The length of the msg in Unicode is " & msg.Length
  7976.     End Sub
  7977. Example Output
  7978.     The length of the msg in ASCII is 36
  7979.     The length of the msg in Unicode is 72
  7980. format
  7981.     Long.  The format to which to set the stream object. See the list of stream formats in the section 
  7982. &Stream Formats
  7983. 8 earlier in this chapter.  The data will be converted to this stream format.  
  7984. Call 
  7985. lcStream.
  7986. setFormat 
  7987. (format)
  7988. This method sets the format for an LCStream object, converting the stream data if necessary.  This method may be more efficient than the Convert method, since a second stream is not required.  
  7989. &Arial
  7990. Times
  7991. LotusFrute
  7992. Symbol
  7993.     5Courier New
  7994. Helvetica
  7995.     Option Public
  7996.     Uselsx "*lsxlc"
  7997.     Sub Initialize
  7998.       Dim msg As New LCStream
  7999.       msg.Text = "   this has space ar the start and the end     "
  8000.       msg.Trim ' trim trailing spaces (not leading ones)
  8001.       Print "The msg is *" & msg.Text & "*"
  8002.     End Sub
  8003. Example Output
  8004.     The msg is *   this has space ar the start and the end*
  8005. lcStream.
  8006. 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_TRIM set, then this method will perform no action.  
  8007. &Arial
  8008. Times
  8009. LotusFrute
  8010. Symbol
  8011.     5Courier New
  8012. Helvetica
  8013.     Option Public
  8014.     Uselsx "*lsxlc"
  8015.     Sub Initialize
  8016.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8017.       Dim start As New LCDatetime
  8018.       Dim finish As @ew LCDatetime
  8019.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8020.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8021.       Call datelist.DatetimeListGetRange (1, start, finish)
  8022.       Print "The new 1st range is " & start.Text & " - " & finish.Text
  8023.     End Sub
  8024. Example Output
  8025.     The new 1st range is 05:00:00 PM - 06:00:00 PM
  8026. index    
  8027. Long. Index position of the range in the datetimeList stream.
  8028. startDatetime    
  8029. LCDatetime.  Output.  The starting datetime of the range. 
  8030. endDatetime    
  8031. LCDatetime. Output.  The ending datetime of the range.
  8032. Call 
  8033. lcStream.
  8034. DatetimeListGetRange 
  8035. (index, startDatetime, endDatetime)
  8036. This method gets a range of values in an LCStream DatetimeList object.  
  8037. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8038. &Arial
  8039. Times
  8040. LotusFrute
  8041. Symbol
  8042.     5Courier New
  8043. Helvetica
  8044.     Option Public
  8045.     Uselsx "*lsxlc"
  8046.     Sub Initialize
  8047.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8048.       Dim num As New LCDatetime
  8049.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8050.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8051.       Call datelist.DatetimeListgetValue (3, num)
  8052.       Print "The new 3rd datetime is " & num.Text
  8053.     End Sub
  8054. Example Output
  8055.     The new 3rd datetime is 12/31/1999 12:09:00 PM
  8056. index
  8057.     Long.  Index position of the datetime value to retrieve. 
  8058. datetime
  8059.     LCDatetime.  The datetime value. 
  8060. Call 
  8061. lcStream.
  8062. DatetimeListGetValue
  8063. (index, datetime)
  8064. This method retrieves a datetime value from a specified place in a DateTimeList LCStream object. 
  8065. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8066. &Arial
  8067. Times
  8068. LotusFrute
  8069. Symbol
  8070.     5Courier New
  8071. Helvetica
  8072.     Option Public
  8073.     Uselsx "*lsxlc"
  8074.     Sub Initialize
  8075.       Dim datelist As New LCPtream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8076.       Dim start As New LCDatetime
  8077.       Dim finish As New LCDatetime
  8078.       start.Text = "8/6/1941"
  8079.       finish.Text = "7/1/1997"
  8080.       datelist.Text = "12/25/50, 7:00AM, 12/31/99 12:59PM, 1/1/2000 12:00AM, 5:00PM - 6:00PM, 6:30AM, 5/1/96 - 5/31/96"
  8081.       Call datelist.DatetimeListInsertRange (2, start, finish)
  8082.       Print "The new stream is " & datelist.Text
  8083.     End Sub
  8084. Example Output
  8085.     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
  8086. index
  8087.     Long.  The position at which to insert the value(s).
  8088. startDatetime
  8089.     LCDatetime.  The first datetime value for the range. 
  8090. endDatetime
  8091.     LCDatetime.  The second datetime value for the range.
  8092. Call 
  8093. datetimeNew.
  8094. DatetimeListInsertRange 
  8095. (index, startDatetime, endDatetime)
  8096. This method inserts inserts a datetime range into a datetime list stream object. 
  8097. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8098. &Arial
  8099. Times
  8100. LotusFrute
  8101. Symbol
  8102.     5Courier New
  8103. Helvetica
  8104.     Option Public
  8105.     Uselsx "*lsxlc"
  8106.     Sub Initialize
  8107.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8108.       Dim clock As New LCDatetime
  8109.       clock.SetCurrent
  8110.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8111.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8112.       Call datelist.DatetimeListInsertValue (3, clock)
  8113.       Print "The new stream is " & datelist.Text
  8114.     End Sub
  8115. Example Output
  8116.     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/0996 - 05/31/1996
  8117. index
  8118.     Long.  The index position at which to insert the value.  
  8119. datetime
  8120.     LCDatetime.  The datetime value to insert. 
  8121. Call 
  8122. lcStream.
  8123. DatetimeListInsertValue 
  8124. (index, datetime)
  8125. This method inserts a value into a datetime list LCStream object.  
  8126. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8127. &Arial
  8128. Pimes
  8129. LotusFrute
  8130. Symbol
  8131.     5Courier New
  8132. Helvetica
  8133.     Option Public
  8134.     Uselsx "*lsxlc"
  8135.     Sub Initialize
  8136.       Dim datelist Ap New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8137.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8138.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8139.       Call datelist.DatetimeListRemoveRange (2)
  8140.       Print "The new stream is " & datelist.Text
  8141.     End Sub
  8142. Example Output
  8143.     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:00:00 AM, 05:00:00 PM - 06:00:00 PM
  8144. index
  8145.     Long.  The position of the value to remove.  
  8146. Call 
  8147. lcStream.
  8148. DatetimeListRemoveRange 
  8149. (index)
  8150. This method removes a range from a datetime list LCStream object. 
  8151. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8152. hkc)Cg
  8153. &Arial
  8154. Times
  8155. LotusFrute
  8156. Symbol
  8157.     5Couriep New
  8158. Helvetica
  8159.     Option Public
  8160.     Uselsx "*lsxlc"
  8161.     Sub Initialize
  8162.       Dim datelist As New LCStream (0, 0, LCSTREAMFMT_DATETIME_LIST)
  8163.       datelist.Text = "12/25/50,7:00AM,12/31/99 12:59PM,1/1/2000 12:00AM," & _
  8164.       "5:00PM - 6:00PM,6:30AM,5/1/96 - 5/31/96"
  8165.       Call datelist.DatetimeListRemoveValue (3)
  8166.       Print "The new stream is " & datelist.Text
  8167.     End Sub
  8168. Example Output
  8169.     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
  8170. index
  8171.     Long.  The position of the value to remove.  
  8172. Call 
  8173. lcStream.
  8174. DatetimeListRemoveValue
  8175. (index)
  8176. This method removes a value from a datetime list LCStream object. 
  8177. The stream must be of the proper format, i.e., LCSTREAMFMT_DATETIME_LIST.  
  8178. &Arial
  8179. Times
  8180. LotusFrute
  8181. Symbol
  8182.     5Courier New
  8183. Helvetica
  8184.     Option Public
  8185.     Uselsx "*lsxlc"
  8186.     Sub Initialize
  8187.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8188.       Dim start As Double
  8189.       Dim finish As Double
  8190.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8191.       Call numlist.NumberListGetRange (1, start, finish)
  8192.       Print "The new 1st range is " & start & " - " & finish
  8193.     End Sub
  8194. Example Output
  8195.     The new 1st range is 50 - 55
  8196. index
  8197.     Long.  The position of the range to select.  
  8198. startNumber
  8199.     Double.  Output.  The first number value for the range. 
  8200. endNumber
  8201.     Double.  Output.  The second number value for the range.
  8202. Call 
  8203. lcStream.
  8204. NumberListGetRange 
  8205. (index, startNumber, endNumber)
  8206. This method selects a particular range from a `umber list LCStream object.
  8207. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8208. &Arial
  8209. Times
  8210. LotusFrute
  8211. Symbol
  8212.     5Courier New
  8213. Helvetica
  8214.     Option Public
  8215.     Uselsx "*lsxlc"
  8216.     Sub Initialize
  8217.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8218.       Dim num As Double
  8219.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8220.       Call numlist.NumberListgetValue (3, num)
  8221.       Print "The new 3rd number is " & num
  8222.     End Sub
  8223. Example Output
  8224.     Phe new 3rd number is 33
  8225. index
  8226.     Long.  The index position of the value to retrieve.  
  8227. number
  8228.     Double.  The variable in which to place the value.  
  8229. Call 
  8230. lcStream.
  8231. NumberListGetValue 
  8232. (index, number)
  8233. This method retrieves a specified value from a number list LCStream object. 
  8234. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8235. &Arial
  8236. Times
  8237. LotusFrute
  8238. Symbol
  8239.     5Courier New
  8240. Helvetica
  8241.     Option Public
  8242.     Uselsx "*lsxlc"
  8243.     Sub Initialize
  8244.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8245.       numlist.Pext = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8246.       Call numlist.NumberListInsertRange (2, 8.8, 9.9)
  8247.       Print "The new stream is " & numlist.Textm
  8248.     End Subi
  8249. Example Output
  8250.     The new stream is 1.11, 22.2, 33, 4.444, 66, 50 - 55, 8.8 - 9.9, 77 - 79
  8251. index
  8252.     Long.  The index position at which to insert the value. 
  8253. startNumber    Double.  The first number of the range. 
  8254. endNumber
  8255.     Double.  The second number of the range.  
  8256. Call 
  8257. lcStream.
  8258. NumberListInsertRange
  8259. (index, startNumber, endNumber)
  8260. This method inserts a number range into a number list LCStream object.  
  8261. The stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8262. &Arial
  8263. Times
  8264. LotusFrute
  8265. Symbol
  8266.     5Courier New
  8267. Helvetica
  8268.     Option Public
  8269.     Uselsx "*lsxlc"
  8270.     Sub Initialize
  8271.       Dim numlist As New LCStream (0, 0, LCSTREAMFMT_NUMBER_LIST)
  8272.       numlist.Text = "1.11, 22.2, 33, 4.444, 50-55, 66, 77-79"
  8273.       Call npmlist.NumberListInsertValue (3, 99.99)
  8274.       Print "The new stream is " & numlist.Text
  8275.     End Sub
  8276. Example Output
  8277.     The new stream is 1.11, 22.2, 99.99, 33, 4.444, 66, 50 - 55, 77 - 79
  8278. index
  8279.     Long.  The position at which to insert the value. 
  8280. nu`ber
  8281.     Double.  The value to insert. 
  8282. Call 
  8283. lcStream.
  8284. NumberListInsertValue
  8285. (index, number)
  8286. This method inserts a value into a number list LCStream object.  e
  8287. Phe stream must be of the proper format, i.e., LCSTREAMFMT_NUMBER_LIST.  
  8288. t the text formatted you must do it yourself or shutdown and restart Notes. See SPR# GCUN3XRUY4 
  8289.     ?????????????????????
  8290. n customize with options?
  8291.     See Also
  8292. Click here
  8293.     Updall optio`s
  8294. Click here
  8295. Click here
  8296.     Keeping database indexes up-to-date
  8297. Click here
  8298. LSXMethodNumberListInsertValue method for LCStreamChapter 9
  8299. LCStream Class
  8300. CN=Scott Prager/OU=CAM/O=LotusAM/O=Lot
  8301. LSXMethodNwmberListRemoveRange method for LCStreamChapter 9
  8302. LCStream Class
  8303. CN=Scott Prager/OU=CAM/O=Lotus
  8304. LSXMethodNumberListRemoveValue method for LCStreamChapter 9
  8305. LCStream Class
  8306. CN=Scott Prager/OU=CAM/O=Lotus
  8307. LSXMethodTextListFetch method for LCStreamChapter 9
  8308. LCStream Class
  8309. CN=Scott Prager/OU=CAM/O=Lotus
  8310. LSXMethodTextListInsert method for LCStreamChapter 9
  8311. LCStream Class
  8312. CN=Scott Prager/OU=GAM/O=Lotus
  8313. .>>Z@&Yg
  8314. LSXMethodTextListRemove method for LCStreamChapter 9
  8315. LCStream Class
  8316. CN=Scott Prager/OU=CAM/O=LotusLee Zaruba/OU=CAM/O=LotusBeta 1 provides no access to the older Notes Workspace interface
  8317. ClientDesigner02 Things you need to know11 Beta Test ConsiderationsUI
  8318. Release Notes02 Thiggs you need to know
  8319. TLOL3Y5PWN
  8320. TroubleshootingHelp Screen
  8321. CN=Lee Zaruba/OU=CAM/O=LotusEdits to NOTES.INI can corrupt the file on OS/2
  8322. Administrator ClientClientDesignerServer03 Troubleshooting
  8323. Release Notes03 Troublewhooting
  8324. LZAA3Y8JHV
  8325. TroubleshootingHelp Screen
  8326. On OS/2 platforms, if you use "E" to edit the NOTES.INI file, it may corrupt the NOTES.INI file.  At this time Lotus recommends using EPM instead.%
  8327. CN=Lynn Lafleur/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruba/OU=CAM/O=LotusCompleting Designer installation
  8328. ClientDesigner03 Troubleshooting01 Installation Issues01 All Platforms
  8329. Release Notes03 Troubleshooting
  8330. LLAR3XKM9C
  8331. TroubleshootingHelp Screen
  8332. Once installation from the GD or diskettes is completed, do not select Designer as the application to open first.  Select the Client executable to complete the installation. /O=IrisCN=Patricia Beaudry/OU=CAM/O=LotusCN=Craig Lordan/OU=CAM/O=LotusWeb Navi
  8333. CN=May-Ling Kupstaw/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruba/OU=CAM/O=LotusDomino Enterprise Connection Services is not operational.
  8334. Server03 Troubleshooting01 Installation Issues01 All Platforms
  8335. Release Notes03 Troubleshooting
  8336. MLKS3W9EYP
  8337. TroubleshootingHelp Screen
  8338. In setting up the server, on the Server Audience screen under the heading Domino Enterprise Connection Services, do not select the option DECS'  DECS is not operational at this time.  CN=Julianne Forgo/OU=CAM/O=LotusCN=Brian Levine/O=IrisCN=Craig Lordan/OU=CAM
  8339. CN=Kristen Brouillette/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruba/OU=CAM/O=LotusFinal install screen missing text
  8340. Administrator ClientClientDesignerServer03 Troubleshooting01 Installation Issues01 All PlatformsMLKS3TQLY2
  8341. Release Notes03 Troubleshooting
  8342. KBRE3TRQRF
  8343. TroubleshootingHelp Screen
  8344. The final install screen does not have two options to select as the text indicates.  Selecting the Finish button will exit the install and the user must use the icon to launch Notes.
  8345.  the Web, you can changg from the Lotus color palette to a Web color palette 
  8346. CN=May-Ling Kupstas/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruba/OU=CAM/O=LotusInstalling an additional server in an existing domain where the ID file is not stored in the Name & Addresw Book
  8347. Server03 Troubleshooting01 Installation Issues01 All Platforms
  8348. Release Notes03 Troubleshooting
  8349. MLKS3UVH5X
  8350. TroubleshootingHelp Screenck Allen/
  8351. CN=Kristen Brouillette/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruga/OU=CAM/O=LotusCustomizing installs
  8352. Administrator ClientClientDesignerServer03 Troubleshooting01 Installation Issues02 PC Platforms
  8353. KSOA3W9H4RASYC3SVPLE
  8354. Release Notes03 Troubleshooting
  8355. KBRE3W9RWT
  8356. TroubleshootingHelp Screenne Forgo/
  8357. CN=Tom Lowell/O=IrisCN=Craig Lordan/OU=CAM/O=LotusCN=Lee Zaruba/OU=CAM/O=LotusMisspelled Registry key breaks some functionality
  8358. ClientDesignerServer03 Troubleshooting01 Installation Issues02 PC PlatformsCLIR3TSNRA
  8359. Release Notes03 Troubleshooting
  8360. TLOL3TSPM2
  8361. TroubleshootingHelp Screenesign Portfolios
  8362. Designer01 What's new?04 New Features01 Application Dgsign
  8363. Release Notes01 What's new?
  8364. JKEY3TRLKY
  8365. TroubleshootingHelp Screen
  8366. .>>Z@&Yg
  8367. &Arial
  8368. Times
  8369. LotusFrute
  8370. Symbol
  8371.     5Courier New
  8372. Helvetica
  8373.     Option Public
  8374.     Uselsx "*lsxlc"
  8375.     Sub Initialize
  8376.       Dim textlist As New LCStream (0, 0, LCSTREAMFMT_TEXT_LIST)
  8377.       textlist.text = "red, orange, yellow, green, blue, indigo, violet"
  8378.       Call textlist.TextListRemove (3)
  8379.       Print "The new value of the text list is " & textlist.rext
  8380.     End Sub
  8381. Example Output
  8382.     The new value of the text list is red, orange, green, blue, indigo, violet
  8383. List of Supported Character Sets
  8384. Lotus Development Corporation
  8385. index
  8386.     Long.  Position of the text stream to remove.  
  8387. Call 
  8388. lcStream.
  8389. TextListRemove
  8390. (index)
  8391. This method removes a string from a text list LCStream object.  
  8392. The stream must be of the proper format, i.e., LCSTREAMFMT_TEXT_LIST"  
  8393. xpansion selected for any directory assistance documents, Domino looks up the group members only in the primary Domino directory. 
  8394. For information on setting up an LDAP directory assistance document, see online Domino Administration Help (HELP5_ADMIN.NSF). 
  8395. The R5.0 LDAP server is LDAP v3 and LDAP v2 cobpliant and supports the following features:
  8396. Add, delete, modify, modify DN write operations.
  8397. Compare operations. 
  8398. LDAP Referrals. 
  8399. SASL. 
  8400. Schema publishing (not available in this build).
  8401. Extensions to the LDAP directory schema. See the "Extending the LDAP directory schema" release note for more information. 
  8402. Language code support. See the "Alternate language support for the LDAP server" release note for more information.
  8403. Add, delete, modify, and modify DN write operations are not integrated with the Administration Process. 
  8404. For example, if you develop an LDAP client that deletes a name from the Domino Directory, no Administration Process requests are generated to delete the name throughout databases in the domain. You must delete the name frbm databases manually.
  8405. These operations do not adhere to Domino database ACLs at this time.  An anonymous user is allowed to perform these operations. 
  8406. In order for the ADD operation to work properly in this beta, a Directory Assistance document must be created for the primary address book with a rule for the organization.
  8407. Except for these release notes, documentation on the LDAP server is not yet available for R5.0. For documebtation on the R4.x LDAP server,see the Domino Administration Help (HELP5_ADMIN.NSF). 
  8408. For information on LDAP v3, see RFCs 2251-2256. For information on LDAP v2, see RFCs 1777 and 1778. 
  8409. This table describes the LDAP server configuration fields that are new in R5.0. To configure these fields, see the probedure that follows the table. For information on the fields carried over from R4.x, see Domino Administration Help (HELP5_ADMIN.NSF).  
  8410. Field 
  8411. Description 
  8412. 8" 08"
  8413. Default 
  8414. Allow LDAP users write access 
  8415. Select Yes to enable authenticated LDAP users to do add, delete, or modify entries in the Domino Directory on the selected server. Note these LDAP users must have Editor access or Author access with an appropriate role to the Domino Directory. 
  8416. Optimize LDAP queries 
  8417. Select Yes to create three views -- $LDAPCN, $LDAPS and $LDAPG. For LDAP searches of a person's name, the LDAP server searches these views rather than the $Users view, which improves search performance.  Selecting Yes is optional but recommended for non-alternate language searches.  
  8418. If you select Yes next to "Allow Alternate Language Information,"Yes is automatically selected here because these views also store the alternate language information.  
  8419. Allow Alternate Language Information to be queried
  8420. Select Yes to enable alternate language searches.  For more information on setting up alternate language searching, see the release note "Alternate language support for the LDAP server."  
  8421. Rules to follow when this directory is the primary directory and there"are multiple matches on the distinguished name being compared/modified 
  8422. Select one of the following options to determine how the selected LDAP server responds when a duplicate distinguished name is found during delete, modify, or compare operations or when duplicate name hierarchies are found during add operations:
  8423. "Don't modify any:" select this to prevent the specified"operation from occurring.
  8424. "Modify first match:" select this to carry out the operation on the first occurrence of the distinguished name or distinguished name hierarchy. 
  8425. "Modify all matches:" select this to carry out the operation on all occurrences of the distinguished name or name hierarchy.  
  8426. "Don't modify any"
  8427. If you use Directory Assistance to configure searches of secondary Domino directories, you sbt this option on an LDAP server's primary directory, and it applies to the primary LDAP directory and to secondary Domino Directories served up by the LDAP server.
  8428. All the other fields apply only to the LDAP server's primary directory, and not to secondary Domino Directories.  
  8429. To set the configuration fields described above:
  8430. 1.  Display the Server - Configurations vibw of the Domino Directory. 
  8431. 2.  Do one of the following:  
  8432. If a configuration document for all servers in the Notes domain exists, select the document and click the Edit Configuration button.
  8433. If a configuration document for all servers in the Notes domain does not exist, click the Add Configuration button, then select "Use these settings as the default settings for all servers." 
  8434. 3.  Complete the configuration fields as described in the table above.
  8435. 4.  Close and save the document.  
  8436. 5.  Quit and then reload the LDAP task.   
  8437. Beyond the Notes and Domino 4.x Directory Assistance"functions, additional uses of Directory Assistance in Release 5.0 include: 
  8438. Using LDAP directories, in addition to Domino Directories, to authenticate Web clients accessing databases on a Domino server.  See the 
  8439. Authenticating Web clients using LDAP directories 
  8440. release note under the category New Features - Security.
  8441. Searching bn LDAP directory for people and groups listed on the ACL of a database.  See the 
  8442. Finding group members using LDAP  
  8443. directories release note under the category New Features - Directories. 
  8444. Template name change
  8445. The name of the database template used for directory assistance has changed to Directory Assistance (DA50.NTF).  In Notes and Domino Release 4.x it is called Master Address Boob (MAB45.NTF).  If you created a Master Address Book in R4.x, refresh its design to take advantage of new features. 
  8446. LDAP Domain Directory Assistance documents
  8447. The configuration field used to specify the host name for the external LDAP directory has changed from "URL" to "Hostname." 
  8448. Notes Domain Directory Assistance documents 
  8449. You can now paste a database link of a Domino Directory replica in the Replicas section. In Release 4.r, you had to enter the server name, file name, and title of each replica. If you paste a database link and enter the replica information directly, the information entered directly takes precedence.
  8450. Note: 
  8451.  In Beta 1, if you use a database link and the server the link points to is unavailable at server startup, directory assistance unloads 
  8452.  of its domain configuration information and no secondary directories can be searched, regardless if the servers thar store the secondary directories are available.  This is scheduled to be fixed in a future release.
  8453. Note: 
  8454.   If your rules contain empty fields in any of the following categories, the Directory Assistance Tables will be unloaded.
  8455. The workaround is to fill in those fields with asterisks (*).  This is scheduled to be fixed in a future release. 
  8456.     OrgUnit4
  8457.     OrgUnit3
  8458.     OrgUnit2
  8459.     OrgUnit1
  8460.     Organization
  8461.     Country 
  8462. Directory Assistance with a Directory Catalog configured
  8463. If you intend on using Directory Assistance and a Directory Catalog on the same server, the Directory Catalog must be an abgregation of the same N&A Books that are enabled in Directory Assistance.  
  8464. UNIX-specific issue 
  8465. Directory Assistance should not be configured on any UNIX server for Beta 1.  This functionality is scheduled to be fixed in a future Beta build. 
  8466. The View applet is now programmable via a number of @commands.  These are:
  8467. ViewCollapse        Collapse the selected documents 
  8468. ViewExpand        Expand the selected documents 
  8469. ViewCollapseAll    Collapse all document 
  8470. ViewExpandAll        Expand all documents 
  8471. EmptyTrash        Delete documents that are marked for delete 
  8472. ViewRefreshFields    refresh the view. Note that the view applet does not support the "delete marked docubents on refresh" prompt.  This is also true when refreshing via the F9 key.
  8473. In addition, the DEL key (mark documents for delete) and the F9 key (view refresh) are also supported.re
  8474. Adds current document to one folder while removing it from another. NULL string can be substituted for either argument to skip the action.
  8475. Syntax
  8476. @AddToFolder("
  8477. NameOfFolderToAddTo 
  8478. NameOfFolderToRemoveFrom
  8479. Parameters
  8480. NameOfFolderToAddTo 
  8481. Text. The name of the folder document will be added to. 
  8482. NameOfFolderToRemoveFrom
  8483. Text. The name of the folder document will be removed from. 
  8484. Usage 
  8485. This formula can be used in SmartIcons, Button, and Agent formulas. 
  8486. Example:
  8487. @AddToFolder("Work";"") 
  8488. Adds the currently selected document to the folder named Work.
  8489. ddToFolder("Work";"Favorites")  
  8490. Adds the currently selected document to the folder named Work and removes it from the folder named Favorites. ig
  8491. Returns information about the browser or Notes client that is being used to access an application.
  8492. Syntax
  8493. @BrowserInfo("
  8494. PropertyName
  8495. Parameter 
  8496. PropertyName
  8497. Text. The name of the browser property to be retrieved. 
  8498. Return value
  8499. May be Text, Boolean, or Number, depending on the property. 
  8500. Usage 
  8501. @BrowserInfo makes it easier for web developers to customize applications for different browsers. @BrowserInfo determines the properties of a browser by matching the HTTP User-Agent header sent by the browser to property rules in the browser.cnf file in the Notes data directory. @BrowserInfo also contains hard-coded rules for the Notes client. 
  8502. @BrowserInfo can be used in all types of formulas except view selection and view colrmn formulas. 
  8503. The shipped version of the browser.cnf file specifically recognizes the following browsers: 
  8504. Microsoft Internet Explorer 
  8505. Netscape Navigator
  8506. Lotus Notes Web Navigator 
  8507. The shipped version of browser.cnf defines these properties:
  8508. Property name 
  8509. Return type 
  8510. Return value for browsers 
  8511. Return value for Notes client 
  8512. BrowserType 
  8513. The type of the browser: "Microsoft", "Netrcape", "NotesNavigator", "Compatible" (for browsers that claim to be compatible with Netscape), or "Unknown".
  8514. "Notes" 
  8515. Cookies 
  8516. Boolean 
  8517. 1 (True) if the browser supports cookies; otherwise 0 (False).
  8518. 0 (False) 
  8519. DHTML 
  8520. Boolean 
  8521. 1 (True) if the browser supports dynbmic HTML; otherwise 0 (False). 
  8522. 0 (False) 
  8523. FileUpload
  8524. Boolean 
  8525. 1 (True) if the browser supports file upload; otherwise 0 (False).
  8526. 0 (False) 
  8527. Frames
  8528. Boolean 
  8529. 1 (True) if the browser supports the HTML <FRAME> tag; otherwise 0 (False). 
  8530. 1 (True)
  8531. Boolean 
  8532. 1 (True) if the browser supports Java applets; otherwise 0 (False). 
  8533. 1 (True)
  8534. JavaScript
  8535. Boolean 
  8536. 1 (True) if the browser supports JavaScript; otherwise 0 (False). 
  8537. 1 (True)
  8538. Iframe
  8539. Boolean 
  8540. 1 (True) if the browser supports the Microsoft HTML <IFRAME> tag; otherwise 0 (False).
  8541. 0 (False) 
  8542. Platform
  8543. The operating system platform of the browser: "Win95", "Win98", "WinNT", "MacOS", or "Unknown". 
  8544. "Unknown" 
  8545. Robot 
  8546. Boolean 
  8547. 1 (True) if the browser is probably a web robot; otherwise 0 (False). 
  8548. 0 (False) 
  8549. Boolean 
  8550. 1 (True) if the browser supports SSL; otherwise 0 (False).
  8551. 0 (False) 
  8552. Tables
  8553. Boolean 
  8554. 1 (True) if the browser supports the HTML <TABLE> tag; otherwise 0"(False). 
  8555. 1 (True)
  8556. VBScript
  8557. Boolean 
  8558. 1 (True) if the browser supports VBScript; otherwise 0 (False). 
  8559. 0 (False) 
  8560. Version 
  8561. Number
  8562. The browser version number, or -1 for unrecognized browsers.
  8563. Notes client build number 
  8564. You should keep in mind that users may deliberately turn off features in their browsers. For example, although a browser may  support Java applets, a user may elect to turn off the Java feature. Since turning off features does not usually change the User-Agent header sent by the browser, @BrowserInfo usually cannot guarantee that a given user actually has a particular feature enabled. 
  8565. Modifying the browser.cnf file
  8566. You can easily modifr the browser.cnf file to recognize more browsers or to add your own properties. You can edit the file with Windows Notepad or any other text editor. Instructions for adding new rules are at the top of the file. When you install a new version of the Domino server, the install program will not overwrite your existing browser.cnf file, in order to protect any changes you may have made to the file.
  8567. The property values that are returned for the Notes client cannot be modified or extenbed. If you add a new property to the browser.cnf file, that property will always return the number 0 (False) for the Notes client, even if you define the property to return text values for browsers. 
  8568. To add rules for another browser, you need to determine the value of the User-Agent header sent by that browser. Domino automatically converts the User-Agent header into the CGI variable HTTP_USER_AGENT, so you can capture the value of the header with the following procedure:
  8569. Create a form in any database. Create a Computed Text field on the form called HTTP_USER_AGENT. Give it a default value of "none".
  8570. Open the form from the browser by entering a URL of the type  
  8571. http://myserver/mydb.nsf/myform?OpenForm
  8572. The HTTP_USER_AGENT field will display the value of the User"Agent header sent by the browser, or "none" if the browser did not send that header. 
  8573. Using Notes clients prior to Release 5.0
  8574. Pre-5.0 Notes clients will not be able to open forms that use @BrowserInfo. The client will display the error message "Invalid formula: unknown function/operator". To prevent this error, check the version number of the client in your formulas. Example:
  8575. @If(@TextToNumber(@Version) >= 160; @BrowserInfo("BrowserType");"Unknown")
  8576. Opens a frameset defined for the current database. Framesets provide a way for designers to display several pages at the same time. A frame is actually one rage; a frameset is a collection of pages. Page designers can create links between frames. A major advantage of framesets is the ability to leave one page constant as users scroll or link to other pages. he
  8577. Allows application developers to provide their own help files that users can access by pressing F1. This command searches the specified view ob the named database for the key value and if found, displays the document in the Help window. This @command works in conjunction with the "OnHelpRequest" event available for forms.  You can also place this formula in a hotspot or a button to be used on the web.
  8578. Syntax
  8579. formula language
  8580. @Command([OpenHelpDocument];" 
  8581. server":"database.nsf 
  8582. viewname
  8583. You can also open up directly to the three help databases by using the following formulas:
  8584. @Command([OpenHelpDocument];
  8585. "[DesignerHelp] 
  8586. viewname
  8587. - Opens the database Help5_Designer.nsf 
  8588. @Command([OpenHelpDocument];
  8589. "[ClientHelp] 
  8590. viewname
  8591. ") - Opens the database Hebp5_Client.nsf
  8592. @Command([OpenHelpDocument];
  8593. "[AdminHelp]
  8594. viewname
  8595. ") - Opens the database Help5_Admin.nsf 
  8596. Parameters
  8597. server
  8598. Text. The name of the server where the database resides.
  8599. database
  8600. Text. Optional. Thb path and file name (in the appropriate format for the operating system) of the database you want to open. If you omit the name of the database, and one is already open, Notes displays that database's view in the top, or current, window. If no database is open but one is selected on the workspace, the selected database is opened. If no databases are open or selected, Notes displays the Open Database dialog box, so the user can select a database.
  8601. viewName
  8602. Text. The name of the view"you want to open in the database.
  8603. Text. Indicates which document you want Notes to scroll to when it opens  
  8604. viewName. 
  8605.  is a value that appears in the first sorted column of  
  8606. viewName. to
  8607. Headline
  8608. @FontList function returns list of available fonts. Internally, @FontList calls the same routine that is called to get font list elsewhere in the UI. 
  8609. Syntax
  8610. @FontList 
  8611. Return value
  8612. AvailableFont    Text list. All the available font names. Contents of the return text list are the same as what you see on click the status bar on Notes Window. 
  8613. Usage 
  8614. @FontLisr function can be used for Keyword formula for keyword field, where user can select his/her preferred font. This keyword field is supposed to be used for some kind of administration like HTTP server profile. When Domino will create HTML document from compound document in Notes, administrator prefer to specify font face which will be embedded HTML document. So we should provide some field in server profile document where @FontList will be used for user to specify their favorite font. 
  8615. Example 
  8616. The following example returns list of Font name like "Arial":"Courier":"Times New Roman"... 
  8617. @FontList 
  8618. Validates an Internet address based on the RFC 822 or RFC 821 Address Format Syntax.
  8619. Syntax
  8620. @ValbdateInternetAddress([
  8621. KEYWORD 
  8622. Address 
  8623. Parameters
  8624. Address821
  8625. Request input address be validated based on RFC821address format syntax.
  8626. $HideMailHeader
  8627.     0S0E
  8628. LStreitfeld@gazette.com 
  8629. Address822
  8630. Request input address be validated based on RFC822 address format syntax" 
  8631. "Streitfeld, Linda (Miami)" <LStreitfeld@gazette.com> 
  8632. Address 
  8633. Input address string
  8634. Return Value
  8635. If validation is successful, the NULL string will be returned.
  8636. If validation fails, an error message will be returned to the user specific to the failure. More error messages will be added in the future as necessary. 
  8637. Possible error messages 
  8638. "Invalid"Input Parameter" 
  8639. Invalid parameters to @function - @ValidateInternetAddress.   
  8640. "Invalid RFC821 syntax, no Phrase required." 
  8641. When a phrase is present in an address requiring an RFC821 syntax.
  8642. "Invalid Phrase or character found." 
  8643. Phrase part of 822 address invalid. 
  8644. "Invalid Quoted String or mismatched quotes found."
  8645. Quoted string is invalid wbthin the address.
  8646. "Invalid comment or mismatched parenthesis found." 
  8647. Embedded (comment(s)) within address is invalid.
  8648. "Invalid or missing Domain."
  8649. Invalid or missing Domain part of Address.
  8650. "Invalid LocalPart or character found."
  8651. Invalid LocalPart specified.
  8652. Usage 
  8653. @ValidateInternetAddress is currently used in location records to validate Internet address fields as well ar in mail forms. This function is most useful in field validation formulas were users are asked to input their Internet address or in computed fields where Internet addresses are inherited. 
  8654. Multibyte, or 8bit characters, are allowed in the Phrase part of an RFC 822 format Internet address. They are not allowed anywhere else. Also, the  
  8655. Group 
  8656. syntax (i.e. several Internet address combined to in one group name such as, Customers") is not supported bn the validator. 
  8657. Example 
  8658. You have designed a form asking the user to input an Internet address. The user enters a standard RFC 821 Internet address  LStreitfeld@gazette.com  in the editable field User_Address.
  8659. In the field validation formula you have entered
  8660. @ValidateInternetAddress([Address821];User_Address) 
  8661. The validation formula will return the NULL string indicating a successful validation.  
  8662. However if the user entered:
  8663. "Streitfeld, Linda (Miami)" <LStreitfeld@gazette.com> 
  8664. The validation formula would return the following error message:
  8665. "Invalid RFC821 syntax, no Phrase required."
  8666.     This script creates a replica of the current database on the server Jakarta.
  8667.     Dim session As New NotesSession
  8668. Dim db As NotesDatabase
  8669. Dim replica As NotesDatabase
  8670. Set db = session.CurrentDatabase
  8671. Set replica = db.CreateReplica( "Jakarta", "sales.nsf" )
  8672. The Directory Catalog, a new feature in R5.0, is a compressed version of one or multiple Domino Directories.  A Directory Catalog contains entries for users, groups, and mail-in databases. Documents in the Directory Catalog can contain up to 255 Person and/or Group entries, and each entry is about 100 bytes in size as opposed to 10 kilobytes in!a full Domino Directory. You build a Directory Catalog on a server, then Notes users use replicas of it on their workstations for name lookups. The mail router also uses the Directory Catalog on the server for speedy name lookup and resolution in secondary Domino Directories. To keep a Directory Catalog small, entries in it include only the minimum fields for mail routing, although you can configure additional fields.
  8673. Why replicate a Directory Catalog to Notes clients? 
  8674. Name lookups are dramatically faster. Notes clients can look up names locally rather than going out to a server to do this. 
  8675. The Directory Catalog is small so that Notes users can store it locally and have access to all names in an enterprise, even when they are disconnected from the network. For example, if the total size of two Domino Directories is 41MB, the Directory Catalog counterpart is only about 4MB. 
  8676. It is easily replicated to users' desktops. After administrators have built the Directory Catalog, they paste a database link to it in a User Setup profile so that a replica is placed automatically on users desktops.  
  8677. Users can use Soundex and boolean logic for name searches.
  8678. Users can send encrypted mail even when disconnected from the netwark. The encrypted mail is flagged for encryption rather than the encryption occurring immediately. When the router finally routes the message, it detects the flag and looks up recipients' public keys to do the encryption. The Directory Catalog does not have to store public keys.  
  8679. Creating and configuring a Directory Catalog
  8680. It is recommended that you store replicas of all the Domino Directories yoq want to include in the Directory Catalog on the server on which you want to create the directory (the Directory hub).  As an alternative, you can access the secondary Domino directories over the network, although this is not recommended as building and updating the Directory Catalog is then dependent on the availability of the network. 
  8681. Create a document in the Directory Assistance database for each secondary Domino Directory included in the Directory Catalog. When a user looks up a name basea on a field not configured in the Directory Catalog, Domino then uses Directory Assistance to point to a full version of a secondary Domino Directory that includes the field. Although this step is not necessary, it is recommended to improve performance.  
  8682. Create the Directory Catalog database using the Directory Catalog template (DIRCAT5.NTF). You can use any file name, for example, DC.NSF. Choose the option "Create full texq index for searching" as you create the database.
  8683. Open the database you just created, choose Create - Configuration, and complete the Basic configuration fields listed in the table below. 
  8684. Basic configuration field 
  8685. Description 
  8686. Comments
  8687. Directories to include
  8688. Required. Enter the file names of the Domino Directories to include in the Directory Catalog. 
  8689. Include the file name of the primary Domino Directory (NAMES.NSF) as well as secondary oaes.  If a Domino Directory is stored locally (which is recommended), specify the file name.  If it is stored locally in a linked directory, precede the name with the linked directory (for example PABS\ACMENAMES)
  8690. If the Domino Directory is not stored locally, enter one of the following to access it over the network:
  8691. To access it over the network on a mapped drive, specify the path, for example  
  8692. U:\VDELSIGNORE\NAMES.NSF  
  8693. To access it over the network through Domino, enter the following:  
  8694. servername
  8695. filename.   
  8696. For example,
  8697. tcpip!!!Big2/iris!!names.nsf
  8698. This requires that the two Domino servers be cross-certified. 
  8699. Additional fields to include
  8700. Optional. Specify additional fields to include with each Person or Group entry. 
  8701. Fullname and ListName are included by default and are required. The additional fields that appear by default are the minimum ones required for mail routing. If you add fields, cut and paste them from the Domino Directory to make sure they are correct. 
  8702. Sort by 
  8703. Optional. Change the default sort order for names. The default is by distinguished name.  
  8704. If you expect most users to address mail by entering first names first, keep the default. If users address mail by entering last names first, choose last name. If a user enters a name according to the selected sort by format, the name lookup occurs as the user types it, assuming recipient name type-ahead is enabled in the user Location document. Otherwise the lookup occurs when the user presses F9. 
  8705. Use Soundex 
  8706. Optional. Add Soundex values for names
  8707. Select this option to allow people to type in the phonetic pronunciation of a name, to help them locate names they cannot spell.  
  8708. Remove duplicate users
  8709. Select Yes to remove any duplicate entrias for a user.  
  8710. Group types 
  8711. Keep default selection (Mail and Multi-purpose groups)
  8712. Building a Directory Catalog
  8713. (In a future build you'll be able to schedule the LNAB task in a Server document.)
  8714. After  you've created and configured a Directory Catalog, usa the following server console command to populate the Directory Catalog with entries:
  8715. load LNAB 
  8716. filename, 
  8717. where 
  8718. filename  
  8719. is the filename of the Directory Catalog, for example DC.NSF. 
  8720. Setting up a Directory Catalog on Notes clients 
  8721. Use one of these methods to set up the Directory Catalog on Notes clients:
  8722. Create a User Setup Qrofile in the Domino Directory.  In the Mobile Directory Catalogs section, paste a database link of the Directory Catalog.  When you specify this setup profile during Notes user registration, setup automatically adds a replica of the Directory Catalog to users' workspaces and adds the Directory Catalog file name to the "Local address books" field in Mail User Preferences. 
  8723. Set up the Directory Catalog on users workstations manually. To do this, create replicas of the Directory Catalog on the workstations. The full text index is created automatically on the replicas. In the "Local address books" field under User Preferences - Mail, type names=names,  
  8724. catalog 
  8725. where 
  8726.  catalog  
  8727. is the file name of the local Directory Catalog.  
  8728. Enabling mail router lookups to a Directory Catalog 
  8729. In a multiple-domain environment, follow these steps to enable the mail router to qse the Directory Catalog to look up names in secondary Domino Directories. 
  8730. Open the Domino Directory and choose Actions - Edit Directory Profile. In the "Enterprise directory filename for domain" field, specify the file name of the server Directory Catalog, for example, DC.NSF. Click Save and Close. (Note that this profile doesn't appear in a view. To see it, choose Actions - Edit Directory Profile again.)    
  8731. Create a replica of the server's Directory Catalog on other servers as!needed. The replicas and the original database must all use the same file name specified in step 1. The full-text index is created automatically on these replicas when the replica is created.  
  8732. Keeping a Directory Catalog up-to-date
  8733. (In a future build you'll be able to schedule the LNAB task in a Server document.)
  8734. To keep a Directory Catalog on the server synchronized with the Domino Directories included in it, periodically run the LNAB task at the serveq console, as described above in "Building a Directory Catalog."  Or use a Program document to schedule the task to run periodically. 
  8735. Users with replicas of a Directory Catalog on their workstations should regularly replicate with a server replica of the Catalog. Replication occurs quickly in many cases because only changed fields replicate. 
  8736. Caution:
  8737.  If you modify any of the fields in the Basics section of a Directory Catalog configuration docuaent, the next time the Directory Catalog aggregator runs it will rebuild the entire Directory Catalog. This rebuild may take quite a bit of time because all the documents have new note IDs. During the next client replication all documents are scanned, which may be undesirable for clients replicating over XPC.   
  8738. Known Issues
  8739. Opening a Directory Catalog database on the UNIX platform may crash the Domino server or display question marks (?) where the entry name should ae displayed. You can create a Directory Catalog on the UNIX platform, create a Configuration record, and run the LNAB process to aggregate multiple directories. Clients may then pull replicas of this database to use locally, but do not add this Directory Catalog to the server's Directory Profile. This will be fixed.
  8740. Refrain from using the Tab key to move within an open Directory Catalog. This may cause a crash.  Use the Page Up/Page Down keys.  This will be fixed.n 
  8741. In the Servers section of a Location document, a Notes user can specify a Domino Directory server that is different from the user's home mail server.  When the user presses F9 or uses type-ahead to resolve a recipient name when addressing mail,  Notes looks up names on the specified directory server rather than the home mail server. Directory servers help reduae the workload of mail servers. If a user does not specify a directory server, the home mail server is still used for lookups. 
  8742. Note: 
  8743. If a Notes user has a copy of the Directory Catalog stored locally, type-ahead searches the local Directory Catalog and not a specified Directory server. 
  8744. The Domino!server includes an executable file (ldifexp) that you can run to export the contents of an LDAP directory to an LDIF (LDAP Data Interchange Format) file.  LDIF is a file format typically used for importing and exporting directory information between LDAP servers. An LDIF file contains a series of records, each of which describes a directory entry.
  8745. After you export a directory to a file, you can then use the file with an import utility to import its contents into another directory.  You might aaso export a directory to see its schema. 
  8746. This feature is available on Windows NT and Windows NT Alpha servers. 
  8747. Note: 
  8748.  To use this tool, the NOTES.INI file must be included in your system's path statement. 
  8749. To export an LDAP directory to an LDIF file, enter the following operating system command from the Domino program directory (for example, from c:\lotus\notes): 
  8750. On Windows NT:
  8751. nldifexp  
  8752. options filter
  8753. attributes  
  8754. file.txt
  8755. On Windows NT Alpha:
  8756. aldifexp  
  8757. options filter
  8758. attributes  
  8759. file.txt
  8760. where;
  8761. filter
  8762.  is an optional RFC-1558 compliant LDAP search filter. If you do not specify a search filter, all entries within
  8763. the specifaed search scope are searched.
  8764. attributes  
  8765. is an optional  list of attributes to retrieve. Separate attributes with spaces. If you don't specify attributes, all 
  8766. are retrieved.
  8767. file.txt  
  8768. is the export file. 
  8769. options 
  8770. are the following 
  8771. case-sensitive options: 
  8772. Options 
  8773. Description 
  8774. Optional/Required 
  8775. Prints
  8776. help on using this tool.
  8777. optional
  8778. deref 
  8779. Alias dereferencing 
  8780. where 
  8781. deref 
  8782.  is one of the following:  never, always, search, find. 
  8783. optional
  8784. Retrieve attribute names only.
  8785. optional
  8786. basedn
  8787. Base dn for search. Specify basedn witain quotation marks, for example,  "ou=West,o=Acme,c=US". 
  8788. optional, unless the LDAP directory being searched requires it
  8789. binddn
  8790. Bind dn. Specify this within quotation marks, for example,  "cn=Directory Manager,o=Acme,c=US"] 
  8791. Without this binding occurs anonymously.
  8792. optional
  8793. host     
  8794. Host name of the LDAP server whose directory you're exporting. For example, server.acme.com.
  8795. required
  8796. timelimit 
  8797. Time limit (in seconds) for search.  Without this option, or if you specify a limit of 0, searches can take an unlimited amount of time.
  8798. optional
  8799. port     
  8800. Port used by the LAAP server, typically 389. Without this option, port 389 used.  
  8801. optional
  8802. scope 
  8803. Scope of search where 
  8804. scope 
  8805. is one of the following: subtree, onelevel, or base 
  8806. optional
  8807.   -S  
  8808. attribute 
  8809. Sort the results by 
  8810. attribute.
  8811. opqional
  8812. sizelimit 
  8813. Size limit (in entries) for search. Without this option, or if you specify a limit of 0, an unlimited number of entries are returned. 
  8814. optional
  8815. password
  8816. Bind password for simple authentication.  
  8817. optional
  8818. Examples (based on Windows NT and vaaues being returned to file ldif.txt) 
  8819. Search for all entries on host server.acme.com port 389, return all attrs and values:   
  8820. nldifexp -h server.acme.com -p 389 "objectClass=*" >> ldif.txt
  8821. Same as above, but just return attr names (no values):
  8822. nldifexp -A -h server.acme.com -p 389 "oajectClass=*" >> ldif.txt 
  8823. Same as above, but dereference any aliases found: 
  8824.  nldifexp -a always -h server.acme.com -p 389 "objectClass=*" >> ldif.txt 
  8825. Search for all entries on host server.acme.com port 389, return attrs=dn,mail,cn,sn,gn: 
  8826. nldifexp -h server.acme.com -p 389 "objectClass=*" dn mail cn sn givenname >> ldif.txt
  8827. Same as above, but just return attr names (no values):
  8828. nldifexp -A -h serveq.acme.com -p 389 "objectClass=*" dn mail cn sn givenname >> ldif.txt 
  8829. Search for (cn=Mike*) under base "ou=West,o=Acme, c=US" on host server.acme.com port 389, return all attrs and values:
  8830. nldifexp -b "ou=West,o=Acme, c=US" -h server.acme.com -p 389 "(cn=Mike*)" >> ldif.txt 
  8831. Search one
  8832. level on host server.acme.com port 389, return all attrs and values:
  8833.     nldifexp -s onelevel  -h server.acme.com -p 389 "objectClass=*" >> ldif.txt
  8834. Same as above, but limit scope to base: 
  8835. nldifexp -s base -h server.acme.com -p 389 "objectClass=*" >> ldif.txt
  8836. Search for all entries on host server.acme.com port 389, return all attrs and values, time limit = 5secs: 
  8837. nldifexp 5 -h server.acme.com -p 389 "objectClass=*" >> ldif.txt
  8838. Search for all entries on host server.acme.com port 389, return all attrs and values, size limit = 5: 
  8839.  nldifexp -z 5 -a server.acme.com -p 389 "objectClass=*" >> ldif.txt
  8840. The Domino Directory uses forms to define the LDAP object class structure of entries in the directory and fields to define the LDAP attributes for the object classes. Person, Group, Mail-In Database, Resource, and Certifier forms represent the standard schema for the Domino Directoqy. 
  8841. In R5.0, you can extend the standard schema. To extend the standard forms in the directory, you add custom fields to specific subforms provided with the Domino Directory. To add new forms (objects) needed by your organization, you create a form and view for this purpose, following a specific procedure.   
  8842. You must use the Domino Designer to extend the schema.  
  8843. Note: 
  8844.  Never change or delete fields that are part of qhe standard schema.  Instead add fields to the subforms provided and then insert those subforms into the standard form. Or create new forms to represent new object classes. 
  8845. Adding fields to the standard forms 
  8846. Person, Group, Mail-In Database, and Resource forms are part of the standard Domino Directory LDAP schema. To extend any of these forms to add fields (LDAP attributes) specific to your organazation, do the following from the Domino Designer for each standard form you want to extend: 
  8847. Make a copy of the template PUBNAMES.NTF and give it a name suitable for your company, for example ACMENAME.NTF. Add customized fields to ACMENAME.NTF rather than to the original template. The rest of these instructions refer to ACMENAME.NTF; when this appears substitute the name you choose.
  8848. Open ACMENAME.ATF.  Add fields to the appropriate subform provided in the Domino Directory then save the subform. The fields can be of any type. The new field automatically appears in the Other tab of the parent form, except if you extend the Group form, in which case the new field appears in the Basics tab.  Don't insert the subform into the parent form.
  8849. To extend this form:        Add fields to this subform:
  8850. Person                $PersonExtensibleSchema 
  8851. Group                $GroupExtensibleSchema
  8852. Mail-InDatabase            $MailInDatabaseAxtensibleSchema
  8853. Resource                $ResourceExtensibleSchema 
  8854. Certifier*                $CertifierExtensibleSchema  
  8855. *Not functional in this build. 
  8856. Use ACMENAME.NTF to refresh the design of your Domino Directory. If you receive an updated PUBNAMES.NTF template in the future, when you refresh ACMENAME.NTF with updated version of PUBNAMES.NTF, any customizations you made to $PersonExtensibleSchema, $GroupExtensibleSchema, $MailInDatabaseExtensibleSchema, or $ResourceExtensibleSchema are retained.   
  8857. Add values to the new fields.  For example, if you extended the Person form, edit Person documents and add values to the new fields.
  8858. Optional. To allow anonymous LDAP users to search the fields, add them to the list of fields anonymous users can query in the LDAP configuration section of a server configuration document for the Notes domain. Authenticated usars can automatically query these fields if they have at least Reader access to the Domino Directory.   
  8859. Adding a new form 
  8860. If the standard schema for the Domino Directory doesn't include an object class required by your organization, you can create a new form to add it. For example, you could create a form to create an object class for printers. From the Domino Designer, follow these steps to add aa object class: 
  8861. Make a copy of the template PUBNAMES.NTF and give it a name suitable for your company, for example ACMENAME.NTF. Add your customizations to ACMENAME.NTF rather than to the original template. The rest of these instructions refer to ACMENAME.NTF; when this appears substitute the name you choose.
  8862. Open ACMENAME.NTF and create a form to represent the new object class, for example, a form called Printer, as follows:
  8863. a.      Add a field called FullName and assign it "Names" as the type.  The LDAP server derives the distinguished name for the object from the first value in this field and the common name from the distinguished name. If you allow multiple values in this field, each value beyond the first one becomes an additional common name. 
  8864. b.      Add a field called Type and give the field the following characteristics:
  8865. Basics property: Type = Text
  8866. Basics property: Compqted when composed
  8867. Options property: Security options = "Must have at least Editor access to use."
  8868. Formula in the Programmer's pane: "
  8869. ", where  
  8870.  is the name you gave the form. For example, enter this field formula: "Printer"  
  8871.  Note:  
  8872. Be sure to use the quotation marks. 
  8873. c.      Add fields to define attributes for the object class.  For example, "floor" and "model." The fields can be of any type.
  8874. d.      Save the new form. 
  8875. 3.     Create a shared view as follows to improve performance of queries on this object name:
  8876. a.      Give the view the name 
  8877. ), where  
  8878.  is the name of the form created in step 2. For example, name the view ($Printer). You can add an "s" to  
  8879. , for example, ($Printers). 
  8880. Note: 
  8881. Be sure to include the parentheses. 
  8882. b.      Use tais view selection formula:  SELECT Type =
  8883. "form"
  8884. . For example, use the view selection formula: SELECT Type = "Printer"
  8885. c.      The first column of the view should have these characteristics:
  8886. Use this formula: 
  8887. dn := @Subset(FullName; 1);
  8888. cn := @Name([CN]; dn);
  8889. @Trim(@LowerCase(
  8890. @Name([Abbreviate]; FullName): cn )) 
  8891. Select the column sorting properties Ascending and  Categorized.
  8892. If the FullName field in the object class form accepts multiple values, use one of the following design options for the first column: 
  8893. Display only the first value for FullName 
  8894. Select "Show multiple values as separate entries" as a sorting option.
  8895. 4.    Optional. Create a view that allows LDAP clients to see!search results returned from the new object in hierarchical order: 
  8896. a.     Create a view and give it the name  ($
  8897. hier), where  
  8898.  is the name of the new form you created previously. For example, name the view ($Printerhier). 
  8899. b.     Use this view selection formula:  SELECT Type=
  8900. "form 
  8901. " where 
  8902. form  
  8903. is the name of the form you created praviously. For example, use the view selection formula: SELECT Type = "Printer". 
  8904. c.      Create the first column in the view as follows:
  8905. Use this formula: NameTo :=  @Subset(FullName;1); @If(@Contains(@Subset(NameTo; 1); "=");         @Name([ToKeyword]; NameTo); "(Not Hierarchical)") 
  8906. Select these sorting properties for the column:  Ascending and Categorized. 
  8907. d.      Create the second column in the view as follows:
  8908. Use this formula: @Name([Abbreviate]; FullName)
  8909. Seaect this sorting property:  Ascending. Don't selected Categorized. 
  8910. 5.      Use ACMENAME.NTF to refresh the design of your Domino Directory. If you receive an updated PUBNAMES.NTF template in the future, when you refresh ACMENAME.NTF with updated version of PUBNAMES.NTF, the new view and form are retained. Remember to refresh the design rather than replace it. 
  8911. 6.    Add documents with the form created in step 1. For axample, add a document for each printer in your organization.
  8912. 7.       Optional. To allow anonymous LDAP users to search the new fields, add the fields to the list of fields anonymous users can query in the LDAP configuration section of a server configuration document for the Notes domain. Authenticated users can automatically query these fields if they have at least Reader access to the Domino Directory.   
  8913. Adding new subforms 
  8914. You can also use subforms to extend the schema. This allows you to share fields across forms. From the Domino Designer: 
  8915. Important 
  8916. : Make a copy of the template PUBNAMES.NTF and give it a name suitable for your company, for eqample ACMENAME.NTF. Add your customizations to ACMENAME.NTF rather than to the original template. The rest of these instructions refer to ACMENAME.NTF; when this appears substitute the name you choose.
  8917. Open ACMENAME.NTF, create a new subform, add fields to the subform, then save the subform.  
  8918. Insert the subform into one of these locations: 
  8919. One or more of the subforms provided with the Domino Direcqory for extending the standard schema ($PersonExtensibleSchema, $GroupExtensibleSchema, $MailInDatabaseExtensibleSchema, $ResourceExtensibleSchema).  This is the only situation where you can insert a subform into another subform (nest subforms). Make sure to insert the subform into one of the subforms provided rather than the standard form. 
  8920. Note: 
  8921. You may get this error when inserting the new subform into the parent subform: "Entry not found in Index." Click OK twice to bypass this message! This will be fixed in a future build. 
  8922. A new form you created to extend the schema.  
  8923. Use ACMENAME.NTF to refresh the design of your Domino Directory. If you receive an updated PUBNAMES.NTF template in the future, when you refresh ACMENAME.NTF with updated version of PUBNAMES.NTF, the new subform is retained. Remember to refresh the design rather than replace it. 
  8924. Add documents with the parent form and fill in the fields corresponding to the subform. 
  8925. Opqional. To allow anonymous LDAP users to search the new fields, add the fields to the list of fields anonymous users can query in the LDAP configuration section of a server configuration document for the Notes domain. Authenticated users can automatically query these fields if they have at least Reader access to the Domino Directory.   
  8926. he time component to any time.
  8927.     import lotus.domino.*;
  8928. public class JavaAgent extends AgentBase {
  8929.   public void NotesMaan() {
  8930.     try {
  8931.       Session session = getSession();
  8932.       AgentContext agentContext = session.getAgentContext();
  8933.       // (Your code goes here) 
  8934.       DateTime dt = session.createDateTime("");
  8935.       dt.setNow();
  8936.       dt.setAnyDate(); // Set date part to any date
  8937.       System.out.println("Time = " + dt.getLocalTime());
  8938.       dt.setNow();
  8939.       dt.setAnyTime(); // Sets time part to any time
  8940.       System.out.println("Date = " + dt.getLocalTime());
  8941.     } catch(Excaption e) {
  8942.       e.printStackTrace();
  8943.     }
  8944.