Chapter Contents

Previous

Next
DIALOG

DIALOG



Runs a FRAME entry that was created with SAS/AF software and disables all other windows

Category: Modular Programming


Syntax
Details
See Also

Syntax

CALL DIALOG(entry<,parameters>)

entry
is a FRAME entry to be displayed. It is specified as

entry.type
for a FRAME entry in the current catalog.

libref.catalog.entry.type
for a FRAME entry in a specified catalog.

Type: Character

parameters
lists one or more parameters to pass to the called entry. In order for the called entry to accept these parameters, it must contain a corresponding ENTRY statement.

Note:   These parameters are update parameters. See Input, Output, and Update Parameters for more information.  [cautionend]

Type: Numeric, Character


Details

DIALOG runs a FRAME entry, makes it the active entry, and disables all other windows. When the called entry is exited, control returns to the calling program. With the exception of disabling all other windows, DIALOG is similar to DISPLAY.

Note:   From the window created with the CALL DIALOG routine, you cannot execute a SUBMIT statement with the CONTINUE option. See Controlling What Happens After a Submit Block Executes.  [cautionend]
DIALOG can pass parameters through the ENTRY statement to the called Frame entry. Parameters can be numeric constants, character constants, variables, expressions, and array variables.

Using DIALOG without any options in the associated ENTRY statement requires a strict correspondence between DIALOG parameters and ENTRY statement arguments. The arguments and parameters must agree in number, data type, and relative position. If you pass an incorrect number of parameters or a parameter of the incorrect type, SCL halts the execution of the program. The argument-parameter correspondence is less restrictive when you use the options REST=, ARGLIST=, and OPTIONAL= in the ENTRY statement.

Names listed in parameter do not have to match the argument names in the ENTRY statement.

Parameters are passed in the following ways:

call-by-reference
passes window variables and local variables and allows values to be returned to the calling program. This method allows the called program to modify values and then return them. If you do not want to return the new values, use the NOCHANGE routine. Or, if you do not want to return the new values for particular parameters, use the INPUT option for that parameter in the ENTRY statement. Here is an example of call-by-reference:
array employee{50};
call dialog('b.frame',var1,name,num,employee{1});

call-by-value
is used for all numeric constants, character constants, and expressions. It does not allow values to be returned to the calling program. Here is an example of call-by-value:
call dialog('b.frame',100,'hello',x+y);


See Also

DISPLAY

ENTRY

NOCHANGE

RETURN


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.