21. 4GL Statement Glossary : Call : Call Vision
 
Share this page                  
Call Vision
The statement call vision calls Vision so that you can create or modify the specified application.
application
Specifies the application you want to work on. The value is an application name.
flags
Specifies the flag(s) to be in effect for the application. The value is a list of flags. Includes all system-level command line flags except -u. Separate items in the list by typing a blank or by pressing the Tab key.
Examples
Call the Inventory application, beginning at the Parts frame:
call application (name = 'inventory',
  frame = 'parts');
Call the application specified in the Appname field of the current form, starting at the frame in the Framename field:
call application (name = appname,
  frame = framename);
Call QBF with no parameters. The QBF catalog frame is displayed:
call qbf ();
Run QBF in the append mode, suppressing status messages, using the QBFName "expenses":
commit;
call qbf (qbfname = 'expenses',
  flags = '-mappend -s');
Run a default report on Emptable in the tabular mode:
commit;
call report (name = 'emptable',
  mode = 'tabular');
Call report on a temporary table. Both temporary table's name and contents are based on user input:
create table :tbl as select * from orders
  where qualification (status = status,
    custno = custno);
commit;
call report (name = 'orders',
  param = 'table="' + :tbl + '"');
The following example illustrates how to pass different data types in a call report statement:
Use the following Report-Writer query specification:
.QUERY select * from callreptable
  where db_int = $rw_int
    and db_char = '$rw_char'
    and db_date = '$rw_date'
Include the following 4GL code in your application:
initialize (h_param = c80 not null) = 
begin
end

'Callrep' = 
begin

/* Construct a parameter string by */
/* concatenating fields or variables with */
/* text constants. Data comes from fields */
/* "scr_int," "scr_char," and "scr_date," */ 
/* with data types INTEGER, CHAR, AND DATE, */
/* respectively. As they are concatenated, */
/* non-character fields are converted to */
/* character type using the function VARCHAR. */

h_param = 'rw_int=' + varchar(:scr_int)
           + ' rw_char=\"' + :scr_char + '\"'
           + ' rw_date=\"' + varchar(:scr_date) + '\"';

call report (report = 'callrep', 
              param = :h_param);

end
Note:  Character and date values can be delimited by single quotes as follows, instead of by backslashes and double quotes as above:
h_param = 'rw_int=' + varchar(:scr_int)
+ ' rw_char=''' + :scr_char + ''''
+ ' rw_date=''' + varchar(:scr_date) + '''';