Accessing VME resources from a rule module
.mdThere are several important rules to observe when running a FlashBASIC module, either as a Visual Basic rule module object from a subroutine called by such an object, or from a trigger.
| User-ID |
|
| Database | The user is logged on to the default database (normally FSI:DM). |
All FlashBASIC statements are supported, with the following notes:
| data/execute | The execute is run on a randomly selected PIB. There is no guarantee that two invocations of the same rule module doing an execute will get the same PIB. Therefore, it is recommended that you not have one rule module doing an execute select and another rule module doing another execute trying to use the select list. Make sure both execute statements are in the same rule module - select from one module and use the list from another module. |
| oconv() | The MR/ML and MC mask correlatives are supported natively by FlashBASIC and do not require VME access. All other oconv versions do require VME access. |
| iconv() | All other iconv versions require VME access. |
| system() | The following system() functions are supported natively by Flash and do not require VME access: 0, 12, 19, 41, 42, 43 All other values are executed by logging on to the VME. |
| time() | The returned time is the client’s time. |
| date() | The returned date is the client’s date. |
| timedate() | The returned time date is the client’s time date. ANSI syntax is used for the abbreviated month. |
| sleep() | Only the sleep for form is supported. In other words, the argument must be a number of seconds, not a wake-up time. The sleep until form logs on to the VME. |
| sort() | Only simple (ascending and descending) sorts are allowed. sort() functions of greater complexity require VME access and may result in decreased performance. |
| @() | The escape sequences are returned for an ANSI emulation. The terminal type cannot be modified by an execute. |
Printing from a rule module
FlashBASIC runtime supports printing from a rule module called from Visual Basic or the D3 File Manager. The print and printer FlashBASIC statements direct output to one or more Windows printers after issuing the printer on statement.
To enable this feature, the variable below must be set in the MS-DOS environment:
D3FLASHPRT=PrinterName{,{boj}{,eoj}};__,__,__;...Parameter(s)
| PrinterName | Specifies the name and location of a printer (for example, \\Server\Printer). | |
| boj | (Optional) Beginning of job page eject. Specifies whether or not an empty page is ejected before a print job. Possible values are: | |
| S | Suppresses the initial page eject. | |
| null | Ejects one page prior to each job. | |
| eoj | (Optional) End of job page eject. Specifies number of empty pages from 0-8 the printer ejects after each job. The default is 0. | |
Example(s)
| name | The boj and eoj are not specified, resulting in a single page eject prior to the job. No page ejects occur after the job. |
| name,S | The boj specification is S (suppress) and the eoj is not specified. The result is no page ejects prior to or after the job. |
| name,,5 | The boj specification is null and the eoj specification is 5. The result is a single page eject prior to the job and 5 page ejects after. |
| name,S,7 | The boj specification is S (suppress) and the eoj specification is 5. The result is no page eject prior to the job and 7 page ejects after. |
The printer device is specified with the print on statement, where the device number, starting at 0, is the device listed in the D3FLASHPRT MS-DOS variable. By default, the first printer(0) is used.