| **Navigation:**  [[templates.htm|Templates]] > [[tlrcontents.htm|Template Language Reference]] > Complete Alpha Listing >====== #CALL (insert code from a #GROUP, without indention) {{c6h0068.jpg|C6H0068.jpg}} ====== | [[ button call another page of prompts .htm|{{btn_prev_n.gif|Previous page}}]][[tlrcontents.htm|{{btn_home_n.gif|Return to chapter overview}}]][[ case conditional execution structure .htm|{{btn_next_n.gif|Next page}}]] | | || **#CALL(** //symbol //[ **(** //set// **)** ] [, //parameters// ] **) **[, //returnvalue// ] {{blk2blue.jpg|blk2blue.jpg}} | **#CALL** | Inserts code from a #GROUP, retaining the indention in its #GROUP. | | //symbol// | A symbol that names a #GROUP section. | | //set// | The #TEMPLATE //name// parameter for the template set to which the #GROUP belongs. If omitted, the #GROUP must be of the same template set //name// as the #PROCEDURE in which it is used. | | //parameters// | The parameters passed to the #GROUP. Each parameter must be separated by a comma. All parameters defined for the #GROUP must be passed; they may not be omitted. | | //returnvalue// | A symbol to receive the value returned by the #RETURN statement. | The **#CALL** statement places the code from the #GROUP named by the //symbol//, retaining the indention in its #GROUP--any source in column 1 in the #GROUP is generated into column 1, no matter where the #CALL is placed This is equivalent to using #INSERT with the NOINDENT parameter. The //set// parameter specifies the #TEMPLATE that contains the #GROUP. This allows any Template to use #GROUP code from any other registered Template. The //parameters// passed to the #GROUP fall into two categories: value-parameters and variable-parameters. Value-parameters are declared by the #GROUP as a user-defined symbol, while variable-parameters are declared by the #GROUP as a user-defined symbol with a prepended asterisk (*). Either a symbol or an expression may be passed as a value-parameter. Only a symbol may be passed as a variable-parameter. The //returnvalue// symbol receives the value returned by the #GROUP from the #RETURN statement that terminates the #GROUP. If the #GROUP does not contain a #RETURN statement, or that #RETURN does not have a parameter, then the value received is an empty string (''). **Example:** **#CALL****(%SomeGroup)                      #!Ordinary insert retaining original indention** **#CALL****(%GenerateFormulas(Clarion))      #!Insert #GROUP from Clarion Template** **#CALL****(%FileRecordFilter,%Secondary)    #!Insert #GROUP with passed parameter** **#!#GROUP from Clarion Template with two passed parameters** **#CALL****(%FileRecordFilter(Clarion),%Primary,%Secondary) ** **See Also:**     [[ group reusable statement group .htm|#GROUP]] ,[[ insert insert code from a group .htm|#INSERT]] ,[[ invoke insert code from a named group .htm|#INVOKE]] ,[[ return return from group .htm|#RETURN]]