| **Navigation:**  [[introduction.htm|Language Reference]] > 10 - Expressions > Runtime Expression Evaluation >====== PUSHBIND (save runtime expression string name space) ====== | [[popbind restore runtime expression string name space .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[unbind free runtime expression string variable .htm|{{btn_next_n.gif|Next page}}]] | | || ** ** **PUSHBIND( **[ //clearflag// ] **)** {{blk2blue.jpg|blk2blue.jpg}} | **PUSHBIND** | Creates a new scope for subsequent BIND statements. | | //clearflag// | An integer constant or variable containing either zero (0) or one (1). When zero, the BIND statement's //name// space is cleared of all variables and procedures previously bound. When one, all variables and procedures previously bound are left in place. If omitted, the //clearflag// is zero. | The **PUSHBIND** statement creates a new scope for subsequent BIND statements. This scope terminates with the next POPBIND statement. This creates a new scope for subsequent BIND statements, allowing you to create new BIND //names// for variables with the same //name// without creating conflicts with the //names// from a previous scope. **Example:** **SomeProc PROCEDURE** **OrderNumber LONG** **Item        LONG** **Quantity    SHORT** ** CODE** ** BIND('OrderNumber',OrderNumber)** ** BIND('Item',Item)** ** BIND('Quantity',Quantity)** ** AnotherProc                      !Call another procedure** ** UNBIND('OrderNumber',OrderNumber)** ** UNBIND('Item',Item)** ** UNBIND('Quantity',Quantity)** **AnotherProc PROCEDURE** **OrderNumber  LONG** **Item         LONG** **Quantity     SHORT** ** CODE** ** PUSHBIND                         !Create new scope for BIND** ** BIND('OrderNumber',OrderNumber)  !Bind variables with same names in new scope** ** BIND('Item',Item)** ** BIND('Quantity',Quantity)** ** !Do some Processing** ** UNBIND('OrderNumber')** ** UNBIND('Item')** ** UNBIND('Quantity')** ** POPBIND                          !Restore previous scope for BIND** **See Also:** [[popbind restore runtime expression string name space .htm|POPBIND]] [[evaluate return runtime expression string result .htm|EVALUATE]]