SAS Component Language Dictionary |
Category: | Modular Programming |
Syntax | |
Details | |
See Also |
Syntax |
CALL DIALOG(entry<,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.
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.
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:
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});
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 |
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.