| **Navigation:**  [[templates.htm|Templates]] > [[tlrcontents.htm|Template Language Reference]] > Complete Alpha Listing >====== #AT (insert code in an embed point) {{c6h0068.jpg|C6H0068.jpg}} ====== | [[ assert evaluate assumption .htm|{{btn_prev_n.gif|Previous page}}]][[tlrcontents.htm|{{btn_home_n.gif|Return to chapter overview}}]][[ atend template reset code .htm|{{btn_next_n.gif|Next page}}]] | | || **#AT(** //location//[, //instances //] **)**[, **WHERE(**//expression//**)** ] [,** AUTO** ] [,** PRESERVE** ] [, **DESCRIPTION**(//text//) ] [,** PRIORITY(**// number// **)**] [,** FIRST** ] [,** LAST** ] //statements// **#ENDAT** {{blk2blue.jpg|blk2blue.jpg}} | **#AT** | Specifies a //location// to generate //statements//. | | //location// | An #EMBED //identifier.// This may be a #EMBED for a procedure that comes from another template set. | | //instances// | The //location// parameters that identify the embedded source code point for a multi-valued #EMBED //identifier//. There may as many //instance //parameters as are required to explicitly identify the embedded source code point. These //instances// are omittable. | | **WHERE** | More closely specifies the #AT //location// as only those embed points where the //expression// is true. | | //expression// | An expression that specifies exact placement. | | **AUTO** | Opens a new scope for the #AT. This means that any #DECLARE statements in the #AT would not be available to the #PROCEDURE being generated. | | **PRESERVE** | Preserves the current fixed instances of all built-in multi-valued symbols when the #AT is called and restores all those instances when the #AT code terminates. | | **DESCRIPTION** | Specifies //text// that will be displayed at the embed tree node specified by the //location//. | | **PRIORITY** | Specifies the order inwhich the #AT is generated into the //location//. The lowest value generates first. If omitted, the PRIORITY is assumed to be 5000. | | //number// | An integer constant in the range 1 to 10000. | | **FIRST** | Equivalent to PRIORITY(1). | | **LAST** | Equivalent to PRIORITY(10000). | | //statements// | Template and/or target language code. | | **#ENDAT** | Terminates the section. | The **#AT** structure specifies a //location// to generate //statements//. #AT is valid only in a #CONTROL, #CODE, or #EXTENSION templates, and is used to allow them to generate //statements// into multiple //locations//. The #AT structure must terminate with **#ENDAT**. The WHERE clause allows you to create an //expression// that can specify a single specific instance of a #EMBED that has a //symbol// attribute. You may not place #AT within any type of conditional structure (such as #IF or #CASE). If you need to conditionally generate the code, place the #IF or #CASE structure within the #AT structure. **Example:** **#CONTROL(BrowseList,'Add Browse List controls')** ** ****#AT****(%ControlEvent,'?Insert','Accepted'),PRIORITY(5000)** **    #IF(%InsertAllowed)** **GlobalRequest = InsertRecord** **%UpdateProc** **    #ENDIF** **  #ENDAT** **#!** **See Also:**     [[ embed define embedded source point .htm|#EMBED]] , [[ code define a code template .htm|#CODE]] , [[ control define a control template .htm|#CONTROL]] , [[ extension define an extension template .htm|#EXTENSION]] , [[ restrict define section use constraints .htm|#RESTRICT]]