Previous Page | Next Page

SAS Component Language Dictionary

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

Previous Page | Next Page | Top of Page