The MODIFY verb is used to change the characteristics of an existing screen control item or window. It acts on control handles,
               elementary Screen Section control items, and window handles. 
               	 
            
 
            	 
            
               Format 1
 
               		 
               		MODIFY {control-item} [ ( {index-1} ... ) ]
       {CONTROL     } 
               		Remaining phrases are optional, can appear in any order. 
                  		
               
 
               		AT screen-loc   [CELL  ]
                [CELLS ]
                [PIXEL ]
                [PIXELS]
AT LINE NUMBER line-num   [CELL  ]
                          [CELLS ]
                          [PIXEL ]
                          [PIXELS]
AT {COLUMN  } NUMBER col-num   [CELL  ]
   {COL     }                  [CELLS ]
   {POSITION}                  [PIXEL ]
   {POS     }                  [PIXELS]
AT CLINE NUMBER cline-num [CELL ]
                          [CELLS]
AT CCOL NUMBER ccol-num [CELL ]
                        [CELLS]
SIZE    {IS} length  [CELL  ]
        {= }         [CELLS ]
                     [PIXEL ]
                     [PIXELS]
LINES   {IS} height  [CELL  ]
        {= }         [CELLS ]
                     [PIXEL ]
                     [PIXELS]
CSIZE   {IS} clength  [CELL ]
        {= }          [CELLS]
CLINES  {IS} cheight  [CELL ]
        {= }          [CELLS]
MAX-HEIGHT {IS} max-height
           {= }
MAX-WIDTH  {IS} max-width
           {= }
MIN-HEIGHT {IS} min-height
           {= }
MIN-WIDTH  {IS} min-width
           {= }
TITLE {IS} title
      {= }
{COLOR } IS color-val
{COLOUR}
{FOREGROUND-COLOR } IS fg-color
{FOREGROUND-COLOUR}
{BACKGROUND-COLOR } IS bg-color
{BACKGROUND-COLOUR}
{HIGHLIGHT}
{HIGH     }
{BOLD     }
{LOWLIGHT }
{LOW      }
{STANDARD }
{BACKGROUND-HIGH}
{BACKGROUND-LOW}
{BACKGROUND-STANDARD}
STYLE {IS} style-flags
      {= }
{ [NOT] style-name } ...
VALUE {IS} [ MULTIPLE ] value [ LENGTH {IS} length-1 ]
      {= } [ TABLE    ]                {= }
LAYOUT-DATA {IS} layout-data
            {= }
FONT  {IS} font-handle
      {= }
ENABLED  {IS} {TRUE         }
         {= } {FALSE        }
              {enabled-state}
VISIBLE  {IS} {TRUE         }
         {= } {FALSE        }
              {visible-state}
POP-UP MENU {IS} {menu-1}
            {= } {NULL  }
EVENT-LIST    {IS} ( event-value { event-value ... } )
              {= }
AX-EVENT-LIST {IS} ( ax-event-value { ax-event-value ... } )
              {= }
EXCLUDE-EVENT-LIST {IS} list-state
                   {= }
EVENT PROCEDURE IS { proc-1 [ {THROUGH} proc-2 ] }
                              {THRU   }
                   { NULL                        }
{ property-name          } {IS } { prop-option 
                                     [GIVING result-1] }...
{ PROPERTY property-type } {ARE} 
{ method-name            } {=  } 
{ object-expression      } 
               		prop-option is one of the following: 
                  		
               
 
               		{ property-value [ LENGTH {IS} length-1 ] }
{                         {= }            }
{                                         )
{ ( {property-value} ... )                }
{                                         }
{ { MULTIPLE } property-table             }
{ { TABLE    }                            }
{                                         }
{ parameter-expression                  }
{                                         }
{ ( { parameter-expression } ... )      } 
               		parameter-expression is one of the following: 
                  		
               
 
               		{ parameter                               } [ AS type-num ]
{                                         }
{ {BY} NAME parameter-name {IS} parameter }
{                          {= }           }
{ parameter-name {IS} parameter           }
{                {= }                     } 
               		object-expression has the following format: 
                  		
               
 
               		{ {^} property-1 [ (param-expr ... ) ]
  [ :: property-2 [ ( param-expr ... ) ] ... } 
               	   
            	 
            
               Format 2
 
               		 
               		MODIFY {window-handle           }
       {WINDOW [generic-handle] } 
               		Remaining phrases are optional, can appear in any order. 
                  		
               
 
               		AT screen-loc
LINE NUMBER line-num
{COLUMN  } NUMBER col-num
{COL     }
{POSITION}
{POS     }
SCREEN LINE NUMBER screen-line
SCREEN {COLUMN  } NUMBER screen-col
       {COL     }
       {POSITION}
       {POS     }
SIZE width
LINES height
TITLE title
ON EXCEPTION statement-1
NOT ON EXCEPTION statement-2
VISIBLE  {IS} {TRUE         }
         {= } {FALSE        }
              {visible-state}
POP-UP MENU {IS} {menu-1}
            {= } {NULL  }
ENABLED  {IS} {TRUE         }
         {= } {FALSE        }
              {enabled-state}
EVENT PROCEDURE IS { proc-1 [ {THROUGH} proc-2 ] }
                              {THRU   }
                   { NULL                        }
ACTION  {IS} action
        {= }
END-MODIFY 
               	   
            	 
            
               Syntax Rules 
 
               		 
               		
                
                  		  
                  - control-item is a USAGE HANDLE data item or elementary Screen Section item that describes a control. 
                     		  
                  
- index-1 is a numeric expression. The parentheses surrounding 
                     			 index-1 are required. 
                     		  
                  
- window-handle is a USAGE HANDLE OF WINDOW or PIC X(10) data item. 
                     		  
                  
- generic-handle is a USAGE HANDLE, HANDLE OF WINDOW or PIC X(10) data item. 
                     		  
                  
- screen-loc is an integer data item or literal that contains exactly 4, 6, or 8 digits, or a group item of 4, 6, or 8 characters. 
                     		  
                  
- line-num, 
                     			 col-num, 
                     			 cline-num, 
                     			 ccol-num, 
                     			 length, 
                     			 height, 
                     			 width, 
                     			 clength, and 
                     			 cheight are numeric data items or literals. They can be non-integer values, except when pixels are specified. 
                     		  
                  
- screen-line and 
                     			 screen-col are numeric expressions. They should be integer values. 
                     		  
                  
- If the CELLS option is used with either the SIZE or CSIZE phrase, then it must be present in both phrases if both are specified.
                     The same is true for use of the CELLS option in the LINES and CLINES phrases. 
                     		  
                  
- max-height, 
                     			 max-width, 
                     			 min-height, and 
                     			 min-width are numeric data items, literals, or expressions. 
                     		  
                  
- color-val is an integer data item or literal. 
                     		  
                  
- fg-color and 
                     			 bg-color are integer literals or numeric data items. They may be arithmetic expressions. See 
                     			 FOREGROUND-COLOR and BACKGROUND-COLOR Phrases for a more detailed discussion of color settings and values. 
                     		  
                  
- If you use the AT phrase, you may not use the LINE, COLUMN, SCREEN LINE, or SCREEN COLUMN phrases. 
                     		  
                  
- The SCREEN LINE and SCREEN COLUMN phrases must be used together. If used, the AT, LINE, and COLUMN phrases may not be used.
                     
                     		  
                  
- If the COLOR phrase is specified, neither the FOREGROUND-COLOR nor the BACKGROUND-COLOR phrase may be specified. 
                     		  
                  
- style-flags is a numeric expression. 
                     		  
                  
- style-name is the name of a style associated with the class of control being described. The 
                     			 style-name phrase adds the named style to the control. If 
                     			 control-handle refers to a generic handle, or if the CONTROL phrase is used, you may not use the 
                     			 style-name phrase. Use the STYLE phrase instead. If the NOT option is used with the 
                     			 style-name phrase, the named style is removed from the control instead. When a style is added, any conflicting styles are removed first.
                     For example, if you add the FRAMED style to a button, then the UNFRAMED style is removed first. 
                     		  
                  
- value is a literal or data item. If the MULTIPLE option is specified, then value must be a one-dimensional table. In this case,
                     value is not subscripted. 
                     		  
                  
- length-1 is a numeric literal or data item. The LENGTH phrase may be specified only if the value or 
                     			 property-value immediately preceding it is an alphanumeric literal or data item, and not a figurative constant. In addition, the MULTIPLE
                     option may not be specified along with the LENGTH phrase. 
                     		  
                  
- title is an alphanumeric literal or data item. 
                     		  
                  
- layout-data is an integer literal, data item, or expression. 
                     		  
                  
- font-handle is a USAGE HANDLE data item that identifies a font. 
                     		  
                  
- enabled-state and 
                     			 visible-state are integer numeric literals or data items. 
                     		  
                  
- menu-1 is a USAGE HANDLE or HANDLE OF MENU data item. 
                     		  
                  
- event-value and 
                     			 ax-event-value are numeric literals or data items that identify an event type. List elements must be enclosed by parentheses. Elements must
                     be separated by a space. If the list contains a single element, the parentheses can be omitted. 
                     		  
                  
- list-state is an integer literal or numeric data item. Valid values are 
                     			 0 and 
                     			 1. 
                     		  
                  
- proc-1 and 
                     			 proc-2 are procedure names. 
                     		  
                  
- You must allow recursive paragraphs in order to specify the EVENT PROCEDURE phrase. Compiling for recursive paragraphs is
                     allowed by default, but you can turn it off if you use the 
                     			 -Zr0 option. 
                     		  
                  
- property-name is the name of a property specific to the type of control being referenced. If the type of control is unknown to the compiler
                     (as in a 
                     			 DISPLAY OBJECT 
                        				object-1 statement), then 
                     			 property-name may not be used. You must use the PROPERTY 
                     			 property-type option instead. 
                     		  
                  
- property-type is a numeric literal or data item. It identifies the property to modify. The numeric values that identify the various control
                     properties can be found in the COPY library 
                     			 controls.def. 
                     		  
                  
- method-name is the name of method specific to the type of ActiveX control or COM object being referenced. If the type of the control
                     or object is unknown to the compiler, then method-name cannot be used. You must use the PROPERTY 
                     			 property-type option instead. 
                     		  
                  
- property-value is a literal or data item. In the Procedure Division, 
                     			 property-value may also be a numeric expression (however, only the first 
                     			 property-value in a phrase may be an expression, subsequent values must be literals or data items). Note that the parentheses are required.
                     
                     		  
                  
- property-table is a data item that appears in a one-dimensional table. No index should be specified. 
                     		  
                  
- result-1 is a numeric data item. 
                     		  
                  
- In 
                     			 parameter-expression: 
                     			 
                      
                        				
                        - parameter is a literal, 
                           				  data-item, or numeric expression used when invoking methods or setting properties of an ActiveX control or COM object. 
                           				
                        
- type-num is a numeric data item or numeric literal. 
                           				
                        
 
- In 
                     			 object-expression: 
                     			 
                      
                        				
                        - ^ can only be used in conjunction with a Format 5 USE verb for an ActiveX control or COM object. 
                           				
                        
- property-1 is the name of a property of the ActiveX control or COM object. 
                           				  property-1 cannot be a write-only property. 
                           				
                        
- property-2 is the name of a property of the ActiveX control or COM object that is the value of 
                           				  property-1. 
                           				  property-2 cannot be a write-only property. 
                           				
                        
 
- statement-1 and 
                     			 statement-2 are imperative statements. 
                     		  
                  
- action is a numeric literal or a data item. 
                     		  
                  
  
            	 
            
               Format 1 General Rules 
 
               		 
               		
                
                  		  
                  - A Format 1 MODIFY statement updates an existing control or invokes a method on an ActiveX control, COM object, or .NET control
                     (also known as an assembly). 
                     			 control-item should contain a handle returned by a DISPLAY 
                     			 control-Type statement, or the name of an elementary Screen Section control item. If 
                     			 control-item does not refer to a valid control, the MODIFY statement has no effect. Note that controls referenced in the Screen Section
                     are not valid until they have been created via a DISPLAY statement. If 
                     			 control-item refers to a valid control, the effect of the statement is to update the specified properties of the control and to redisplay
                     it. 
                     		  
                  
- If 
                     			 index-1 is specified, then certain properties in the control being modified are changed to match the value of 
                     			 index-1. This occurs before any modification occurs. The exact set of properties changed by the 
                     			 index-1 depends on the control's type. Currently, two controls have properties that are changed in this way: 
                     			 
                      
                        			 
                        
                            
                              				   
                              				   
                              				  
                               
                                 					 
                                  
                                    						
                                    | Control Type | Properties Affected |   
                                    						
                                    | List Box | QUERY-INDEX |   
                                    						
                                    | Grid | Y, X |  
 
 
 Each occurrence of 
                        				index-1 changes one property. The first occurrence changes the first property in the list presented in the preceding table. The second
                        occurrence changes the second property. For example, the statement fragment 
                        			 
                      MODIFY grid-1(2, 3), color is red  would have the effect of setting the grid property 
                        				Y to 
                        				2 and 
                        				X to 
                        				3 before changing the cell color to red. Supplying more index values than the control supports has no additional effect. You
                        may omit trailing indexes; this leaves the corresponding properties unchanged. This feature can be used to simplify modification
                        of specific elements of controls that hold multiple values. For example, you can modify the contents of row 2, column 3 in
                        a grid with the statement: 
                        			 
                      
MODIFY grid-1(2, 3), CELL-DATA = data-1  This is exactly equivalent to the more cumbersome: 
                        			 
                      
MODIFY grid-1, Y = 2, X = 3
MODIFY grid-1, CELL-DATA = data-1 
- The meaning of each of the phrases is the same as for a Format 14 DISPLAY statement. Note that you can move a control by changing
                     its row or column property. 
                     		  
                  
- MODIFY simply locates the corresponding control and makes the specified modifications. This process does not examine any phrases
                     specified in the Screen Section. 
                     			 
                     This capability is particularly convenient when you want to make one or two changes to a Screen Section control. For example,
                        if you want to add an item to a list box, you can simply modify the list box specifying the 
                        				item-to-add property. For example: 
                        			 
                      * Screen Section
01  list-box-1, list-box, value list-item, line 5,
       column 15, size 20, lines 6.
* Procedure Division
modify list-box-1, item-to-add = new-list-item.
By using the MODIFY verb, you do not need to specify an 
                        				item-to-add property in the Screen Section, and thus you do not need to closely manage the 
                        				item-to-add variable. 
                        			 
                      
- If the CONTROL phrase is used, the runtime modifies the control located at the screen position specified by the AT, LINE,
                     and COLUMN phrases in the current window (on non-graphical systems, the CLINE and CCOL phrases also apply). The runtime maintains
                     a list of controls in each window. When attempting to modify a control at a specific location, the runtime searches this list,
                     using the first control it finds that exactly matches the location. The list is maintained in the order in which the controls
                     are created. If the runtime does not find a control at the specified location, then the statement has no effect. 
                     		  
                  
- Note that you cannot move a control with a MODIFY statement if it includes the CONTROL phrase. This is due to the fact that
                     the AT, LINE, and COLUMN phrases are used to find the control instead of specifying its new position. To move a control, you
                     must use the control-handle phrase instead. Also note that when you use the CONTROL phrase, the compiler does not know the
                     type of control being modified. This means that the compiler will not recognize any control-type specific style and property
                     names. If you need to specify these, you will need to use their numeric equivalents found in the 
                     			 controls.def COPY library. 
                     			 
                     The following example creates an anonymous list box and adds two items to it. Note the use of the PROPERTY phrase in the MODIFY
                        statement: the compiler does not know that the control is a list box so it does not recognize the list-box specific property
                        names. As a result, the generic PROPERTY phrase is used in the example, specifying the level 78 data name that corresponds
                        to the ITEM-TO-ADD property (found in 
                        				controls.def). 
                        			 
                      COPY "controls.def".
DISPLAY LIST-BOX, LINE 5, COL 30, LINES 5.
MODIFY CONTROL, LINE 5, COL 30, 
   PROPERTY LBP-ITEM-TO-ADD = 
            ( "Item 1", "Item 2" ).
- The 
                     			 style-name phrase adds the named style to the control. If the NOT option is used with the 
                     			 style-name phrase, the named style is removed from the control instead. When a style is added, any conflicting styles are removed first.
                     For example, if you add the FRAMED style to a button, then the UNFRAMED style is removed first. 
                     		  
                  
- When the LENGTH option is specified, 
                     			 length-1 establishes the exact size of the value or 
                     			 property-value. The text value presented to the control may have no trailing spaces or may have trailing spaces added. When you specify
                     the LENGTH option, the control uses exactly 
                     			 length-1 characters of data with or without trailing spaces. However, when 
                     			 length-1 is a value larger than the size of the data item it is modifying, then the size of the data item is used instead. If 
                     			 length-1 is negative, it is ignored and the default handling occurs. 
                     		  
                  
- The POP-UP MENU option changes the pop-up menu for the control. If 
                     			 menu-1 is specified, then the corresponding menu becomes the new pop-up menu. If NULL is specified, any existing pop-up menu is
                     removed (but not destroyed). 
                     		  
                  
- The EVENT PROCEDURE phrase adds, changes, or removes a control's event procedure. Specifying NULL removes any event procedure.
                     Otherwise, proc-1 (through 
                     			 proc-2, if specified) becomes the control's new event procedure. 
                     		  
                  
- When properties return specific values, these values are placed in 
                     			 result-1 of the GIVING phrase. If the property does not have a pre-defined return value, 
                     			 result-1 is set to 
                     			 1 if the property is set successfully, otherwise, 
                     			 result-1 is set to 
                     			 0. When a property is being given multiple values in a single assignment, as shown here, 
                     			 DISPLAY COLUMNS = ( 1, 10, 30 )  then 
                        				result-1 is set in response to the last value assigned. In the example above, 
                        				result-1 is set to 30. Because the meaning of each value depends on the property being set, you should consult the documentation on
                        the specific property for the exact meaning. 
                        			 
                      
- You can also change the properties of most controls described in the Screen Section with a Format 2 DISPLAY statement. You
                     must use MODIFY to change special properties of an ActiveX or .NET control. 
                     		  
                  
- To invoke (call) a method, you use the MODIFY verb in much the same way as you set a property or style. Note that unlike common
                     properties and styles, you cannot use the DISPLAY statement to invoke an ActiveX method specified in the Screen Section. You
                     must use the MODIFY verb. ActiveX methods can take any number of parameters or no parameters. They can also take optional
                     parameters (i.e., parameters that can be omitted). You specify the parameters in COBOL by enclosing them in parentheses. The
                     optional parameters are always last. To invoke a method with no parameters, use empty parentheses (). 
                     		  
                  
- Each property or method name can be followed by '::' and then another property or method name to invoke methods in-line. 
                     			 MethodName1::MethodName2 means invoke the method "MethodName1" of the current object and set the current object to the return value. When a property
                     or method name is followed by a token other than '::', then it means to actually invoke the method on the current object passing
                     the specified arguments or set the property to the specified value and reset the current object to null. 
                     		  
                  
- The MODIFY verb takes a control's home position (upper left corner), its handle, the name of an elementary Screen Section
                     item, or '^', as its first parameter. Only the properties of the control that are specified in the MODIFY statement are updated.
                     
                     		  
                  
- The runtime automatically converts parameters to the appropriate types. 
                     		  
                  
- If a method has a return value, the runtime converts and moves it to the item specified in the GIVING clause. 
                     		  
                  
- You cannot use named parameters to avoid entering required parameters. You can omit optional parameters only. 
                     		  
                  
- You must specify only unnamed parameters before the BY NAME clause, and only named parameters after the BY NAME clause. 
                     		  
                  
- You can use one- and two-dimensional COBOL tables as property and method parameters for use in COM SAFEARRAYs. The runtime
                     automatically converts the table to an COM SAFEARRAY, as long as it contains only one elementary item that is USAGE HANDLE
                     or USAGE HANDLE OF VARIANT. 
                     		  
                  
- Use the 
                     			 AS 
                        				type-num phrase in the parameter expression if you want to force the parameter to be converted to a particular VARIANT type before
                     it is passed to a property or method of an ActiveX control or COM object. You can tell from the object's documentation and
                     the name of the parameter whether the object expects a particular VARIANT type, such as boolean. 
                     			 
                     Use the AS phrase if the ActiveX or COM object requires a method or property parameter to be something different from the
                        default VARIANT type chosen by the runtime for the particular COBOL data item or literal. Specify the word 
                        				AS followed by a numeric literal or level 78 numeric constant that indicates the variant type to which you want the parameter
                        converted. The 
                        				activex.def COPY file in the ACUCOBOL-GT sample/def directory contains predefined level 78 constants for each of the VARIANT types. 
                        			 
                      
  
            	 
            
               Format 2 (MODIFY WINDOW)
 
               		 
               		
                
                  		  
                  - A Format 2 MODIFY statement changes one or more attributes of an existing FLOATING or INITIAL WINDOW (not a subwindow). Attributes
                     that are not specifically changed remain unchanged, except when a window is made larger, in which case it may also be repositioned
                     in order to keep it on the screen. 
                     			 window-handle or 
                     			 generic-handle identify the window to modify. If the WINDOW phrase is used and 
                     			 generic-handle is omitted, the current window is modified. 
                     		  
                  
- The LINE and COLUMN phrases specify the location of the window on the screen. The coordinates are relative to the interior
                     space of the parent window. If the window being modified is the initial window, the coordinates are relative to its own interior.
                     If either phrase is omitted, the corresponding row or column position is unchanged. 
                     		  
                  
- The AT phrase specifies both the row and column position. The first two or three digits of 
                     			 screen-loc, depending on the size of 
                     			 screen-loc, specify the row position. The remaining digits specify the column position. The values are treated in the same manner as
                     in the LINE and COLUMN phrases. If either half of 
                     			 screen-loc is zero, the corresponding coordinate remains unchanged. 
                     		  
                  
- The SCREEN LINE and SCREEN COLUMN phrases set the location of the window. The coordinates indicate the absolute position desired
                     on the screen. 
                     			 screen-line and 
                     			 screen-col are given in the screen's base units. Base units are machine dependent. For character systems, the base unit is a character
                     cell. For graphical systems, the base unit is a pixel. The upper left corner of the screen is position 
                     			 1,1. The SCREEN LINE and SCREEN COLUMN phrases cannot be used if the LINE, COLUMN, or AT phrases are used. 
                     		  
                  
- The SIZE and LINES phrases change the size of the window. The dimensions indicate the interior of the window. The requested
                     size must fit on the screen. If it does not, the size is not changed. After resizing the window, the runtime ensures that
                     the window is fully visible on the screen. Resizing a window that has the RESIZABLE property will not change the window's
                     physical dimensions if that window is not maximized. Note that only the window's logical dimensions are changed (thus increasing
                     the scrolling region). The user will see the new size only if he or she later maximizes the window. 
                     		  
                  
- The TITLE phrase specifies a new title for the window. For this phrase to have an effect, the window must have a title area.
                     
                     		  
                  
- statement-1 executes if any part of the operation fails. An exception may be caused by one of the following situations: 
                     			 
                      
                        				
                        - The specified window size does not fit the screen. Note that this error occurs only on a non-Windows host. Because Windows
                           allows you to have a desktop that is larger than the physical screen, you do not get an exception in this instance on Windows.
                           You should use ACCEPT FROM TERMINAL-INFO to determine the maximum physical window size on a Windows host. 
                           				
                        
- The window cannot be created, either because of an out-of-memory situation or the operating system fails to create it. 
                           				
                        
- A window that has no input is activated. 
                           				
                        
- An external window error occurs. For example, the window does not exist or cannot be created for some reason. 
                           				
                        
- An illegal instruction is used. 
                           				
                        
 
- statement-2 executes if the MODIFY statement succeeds. 
                     		  
                  
- The VISIBLE option makes a window visible or invisible. If the TRUE phrase is used, or visible-state is non-zero, then the
                     window is made visible. Otherwise, it is made invisible. 
                     		  
                  
- The POP-UP MENU option changes the pop-up menu for the window. If 
                     			 menu-1 is specified, then the corresponding menu becomes the new pop-up menu. If NULL is specified, any existing pop-up menu is
                     removed (but not destroyed). 
                     		  
                  
- The Format 2 ENABLED phrase can be used to disable or enable a window. A user cannot interact with a disabled window. 
                     		  
                  
- The Format 2 EVENT PROCEDURE phrase changes the window's event procedure to 
                     			 proc-1 (through 
                     			 proc-2, if specified). If the NULL option is used, then the window's event procedure, if any, is removed from the window. Additional
                     information can be found in the 
                     			 DISPLAY Statement above and in 
                     			 PROCEDURE Clause. 
                     		  
                  
- The ACTION phrase allows you to programmatically maximize, minimize, or restore a window. To use ACTION, assign it one of
                     the following values (these names are found in acugui.def): 
                     			 
                      
                        			 
                        
                            
                              				   
                              				   
                              				  
                               
                                 					 
                                  
                                    						
                                    | ACTION-MAXIMIZE | maximizes the window. It has the same effect as if the user clicked the 
                                       						  maximize button. Allowed only for windows that have RESIZABLE or AUTO-RESIZE specified or implied for them. |   
                                    						
                                    | ACTION-MINIMIZE | minimizes the window. Allowed only with INDEPENDENT windows that have the AUTO-MINIMIZE property set to true. It is not supported
                                       with other types of floating windows; if set, it is ignored by the runtime. ACTION-MINIMIZE has the same effect as if the user clicked the 
                                          							 minimize button. 
                                          						  
                                        |   
                                    						
                                    | ACTION-RESTORE | If the window is currently maximized or minimized, restores the window to its previous size and position; otherwise, it has
                                       no effect. Allowed only for windows that can be maximized or minimized. |  
 
 
 If you assign an ACTION value that is not allowed, then there is no effect other than to trigger the ON EXCEPTION phrase of
                        the MODIFY statement (if present). Note that you can use the ACTION phrase to create a window that is initially maximized
                        or minimized.