S/Param User Manual

Disclaimers

S/QBF

Installation Notes

Using S/QBF

Installed Components

Home Up Next
 

Disclaimers

S/QBF Copyright (c) 1999 Sprezzatura Ltd. All Rights Reserved. Revelation, Advanced Revelation and OpenInsight are trademarks of Revelation Technologies Inc. All trademarks used in this document are used to the benefit of and are the property of their respective holders.

[top]

S/QBF

Thank you for purchasing the Sprezzatura QBF ( S/QBF ) replacement component. We are sure that you will be pleased with the additional functionality it makes possible for you and your clients. Over the past few months we have seen an influx of users who are more familiar with the old Advanced Revelation command syntax and have been chagrined by the lack of ability in OpenInsight to do a simple range search, or to order reports. This software was designed to address those issues. Whilst setting about improving on OpenInsight's QBF we decided to also improve on AREV's Window Query tool. So this release contains the following features :-

Permits the generation of query results lists > 64K - No more truncated lists

Permits querying on Edit Tables - No more incomplete result sets

Permits the saving of query results - Use them with the reporting tool of your choice

Permits the loading of keys from saved lists - Use saved lists generated by other processes

Permits modification of the query statement - For fine tuning when the default syntax isn't quite enough

Permits the refining of existing S/QBF lists - No more starting from scratch on large selects

Maintains full ARev Window Query syntax compatibility - No more retraining existing AREV users

[top]

Installation Notes

Simply run Setup.exe from the medium you have installed the S/QBF package to.

[top]

Using S/QBF

Using S/QBF is extremely simple - for each of the standard QBF events on an OpenInsight form there is a corresponding S/QBF function call that replaces them, so all you have to do is call the SQBF() function with the appropriate parameter in your event scripts.

The general syntax of the SQBF() function is

bSuccess = SQBF( Window, Method, Param )

where:

WindowThis is the fully qualified name of the form to use for the query
Method

This identifies which SQBF method to execute. Available methods are:

QBFINIT

QBFRUN

QBFCLOSE

QBFABS

QBFFIRST

QBFPREV

QBFNEXT

QBFLAST

QBFLOADLIST

QBFSAVELIST

QBFLOADQUERY

ParamThis is a Method-specific parameter see below for further details.

Returns TRUE$ for success, FALSE$ otherwise.

SQBF_EXAMPLE

The QBF events on the SQBF_EXAMPLE form included in the installation shows you how this is done. Note the use of Event Scripts with a RETURN 0 as opposed to using QuickEvents. This is because S/QBF uses none of the resources used by the standard OI QBF and the two are incompatible. If you wish to use S/QBF exclusively throughout your application then you may wish to use 'global' events instead. In this case please refer to the OpenInsight Event Designer documentation ( or a previous version of the Sprezzatura Electronic Newsletter where this was covered :-)

QBFABSCall SQBF( @Window, "QBFABS", AbsPos )
QBFCLOSECall SQBF( @Window, "QBFCLOSE" )
QBFFIRSTCall SQBF( @Window, "QBFFIRST" )
QBFINITCall SQBF( @Window, "QBFINIT" )
QBFLASTCall SQBF( @Window, "QBFLAST" )
QBFNEXTCall SQBF( @Window, "QBFNEXT" )
QBFPREVCall SQBF( @Window, "QBFPREV" )
QBFRUNCall SQBF( @Window, "QBFRUN" )

The following additional functionality is also available:

Refining Lists

If you initialize ( QBFINIT ) and execute ( QBFRUN ) an S/QBF query, and then repeat this again without performing a QBFCLOSE inbetween, the results of the first query are used as the basis for the second one, thereby refining it.

If you wish to avoid this behaviour you must perform a QBFCLOSE event before initializing subsequent queries.

Saving Query Results

Once you have executed a query you may save the resulting list of keys by using the QBFSAVELIST method.

eg. ListName = "MYLIST" Call SQBF( @Window, "QBFSAVELIST", ListName )

The list of keys is saved to the SYSLISTS table in the same manner a normal saved list, and may be used in other programs by Activate_Save_Select() for example.

Loading Saved Lists

If you have a list of keys saved and you want to utilise them as thought they were the result of an S/QBF query then you may use the QBFLOADLIST method to do so.

eg. ListName = "MYLIST" Call SQBF( @Window, "QBFLOADLIST", ListName )

This will load the keys in the saved list "MYLIST" into the form for further processing, as though you had executed the QBFINIT and QBFRUN events to construct them.

Loading the Previous Query

S/QBF always stores the last-run query statement so you can use it again if you wish.

To retrive and execute it use the QBFLOADLIST method

eg. Call SQBF( @Window, "QBFLOADQUERY", "" )

You will then see the Query view window with the last statement so you can modify it before execution if you so wish.

ARev QBF Syntax compatibility

S/QBF duplicates AREV's functionality and uses the same operators so the following can be used:

Selection operators
= or nullEquals
>Greater than
<Less than
>=Greater then or equal to
<=Less than or equal to
#Not (i.e. not equal to)
...]Starting with
[...Ending with
[...]Containing
...From ... to
%Matching
;OR
&AND

 

Sort Criteria
BYSort BY this column
BYnSort BY this column, priority "n" (e.g. BY2 = secondary sort column)
BY-DSNDSort BY-DSND this column
BY-DSNDnSort BY-DSND this column, priority "n" (e.g. BY2 = secondary sort column)

 

Softkeys
?Query select window (edit search command)

[top]

Installed Components

The installation routine installs the following OpenInsight components in your SYSPROG account.

S/QBF Core Components

SYSPROG*STPROCEXE**SQBF

SYSPROG*STPROCEXE**SQBF_SENTENCE

SYSPROG*STPROCEXE**ZZ_SHOW_STATUS

SYSPROG*STPROCEXE**ZZ_CENTER_WINDOW

SYSPROG*STPROCEXE**ZZ_GET_SYSTEM_SIZE

SYSPROG*STPROCEXE**ZZ_SYSTEMPARAMETERSINFO

SYSPROG*STPROCEXE**@WINDOW - this is a dummy entry - if it exists already on your system no harm will result

SYSPROG*OIWINEXE**SQBF_SENTENCE

S/QBF Example Components

SYSPROG*OIWIN**SQBF_EXAMPLE
 
SYSPROG*OIWINEXE**SQBF_EXAMPLE
 

SYSPROG*OIEVENT*QBFINIT*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFRUN*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFCLOSE*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFABS*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFFIRST*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFPREV*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFNEXT*SQBF_EXAMPLE.

SYSPROG*OIEVENT*QBFLAST*SQBF_EXAMPLE.
 

SYSPROG*OIEVENTEXE*QBFINIT*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFRUN*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFCLOSE*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFABS*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFFIRST*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFPREV*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFNEXT*SQBF_EXAMPLE.

SYSPROG*OIEVENTEXE*QBFLAST*SQBF_EXAMPLE.

[top]

Home Up Next

Copyright © 2005 The Sprezzatura Group. All rights reserved.