Oracle Forms 9i MCQs

Oracle Forms 9i MCQs

Try to answer these 40 Oracle Forms 9i MCQs and check your understanding of the Oracle Forms 9i subject.
Scroll down and let's begin!

1: The LINE data block is defined in the Order.fmb module. LINE items are displayed in the default window at run time. In a second window called BUTTONS, you display a set of icon buttons. At run time, the user must be able to freely navigate between the two windows.
Which of the following statements identifies the types of windows to be defined?

A.   Both windows must be defined as dialog and modal

B.   Both windows must be defined as document and modal

C.   Both windows must be defined as document and modeless

D.   The default window must be defined as modeless and the BUTTONS window must be modal  

2: You created a query Record Group at design time. Which built-in can you use to execute the query defined in the Record Group object?

A.   ADD_GROUP_ROW

B.   POPULATE_GROUP

C.   ADD_GROUP_COLUMN

D.   SET_GROUP_SELECTION  

3: Order entry clerks use the Orders form to enter the shipping date of an order. Once the shipping date has been entered into the database, the clerks are not allowed to modify it. What property can you set in the Property Palette for the Shipping_Date item to ensure that this data entry restriction is enforced?

A.   Enabled

B.   Database Item

C.   Update Allowed

D.   Update Only If NULL 

4: Which of the following statements is correct with regard to object group?

A.   You cannot drag a program unit to an object group

B.   Object groups contain copies of the original objects

C.   You can delete the original objects without affecting the object group

D.   You can delete the object group without affecting the original objects 

5: Which of the following statements are correct with regard to Query Record Group?

A.   The Record Group is associated with a query

B.   The Record Group can be created only at run time

C.   The Record Group can be created and modified only at design time

D.   The Record Group can be created and modified at design time or at run time

E.   The query associated with this Record Group can be defined only at design time  

6: In the Orders Form you define five LOVs and create one button to be used to display any of the LOVs. The button is enabled only when the user navigates through a field with an attached LOV. If the user supplies only a part of the required input data, LOVs use that input as search criteria to automatically reduce the LOV Contents. If the LOVs hold only one value that can possibly match user-supplied input, the LOVs auto-complete the input field and are not displayed.
Which built-in properties should be used to display the LOVs?

A.   Use the List_Values(RESTRICT) built-in, and set the Mouse Navigate property value to NO

B.   Use the List_Values(RESTRICT) built-in, and set the Mouse Navigate property value to YES

C.   Use the List_Values(NO_RESTRICT) built-in, and set the Mouse Navigate property value to NO

D.   Use the List_Values(NO_RESTRICT) built-in, and set the Mouse Navigate property value to YES 

7: The user must be able to invoke a list of values for valid sales representative in the Orders form.
To facilitate this, you created a button and positioned it next to the Sales Rep ID field
The text item has these properties set:
- Required: Yes
- List of Values: SALES_REP_LOV
- Validate from List: No
The button has these properties set:
- Keyboard Navigable: Yes
-Mouse Navigate     :Yes
- Iconic            : Yes
- Icon Filename     :list .ico

An appropriate LOV (called SALES_REP_LOV) has been created and associated with the text item. An icon file (list.gif) exists in the appropriate directory. All other properties are left at their defaults. You write a When-Button-Pressed trigger at the item level with this code:
LIST_VALUES;
To test the form, you attempt to enter a new record.
What is the run-time behavior of the form?

A.   The form doesn't compile and therefore cannot be tested

B.   The icon is not displayed on the button. When you click the Sales Rep Id field and then click the button, the LOV is invoked.

C.   The icon is displayed on the button. When you click in the Sales Rep Id field and then click the button, the LOV is not invoked and an error is reported.

D.   The icon is not displayed on the button. When you click in the Sales Rep Id field and then click the button, the LOV is not invoked and an error is reported.

8: The Department form is a part of a multiform application that also includes the Customer and Orders forms. The Department form must include a query-based PRODUCT Record Group. You must ensure that all three forms can access the PRODUCT Record Group.
Which built-in will you use to create the PRODUCT Record Group?

A.   CREATE_GROUP('PRODUCT')

B.   CREATE_GROUP('PRODUCT', FORM_SCOPE)

C.   CREATE_GROUP('PRODUCT', GLOBAL_SCOPE)

D.   CREATE_GROUP_FROM_QUERY('PRODUCT', 'Select id, desc from products', GLOBAL_SCOPE)  

9: Which of the following statements define a Static Record Group?

A.   The Record Group can be created only at run time

B.   The Record Group is not associated with a query

C.   The Record Group can be created and modified only at design time

D.   The Record Group can be created and modified at design time or at run time 

10: Which of the following statements are correct with regard to FORM_TRIGGER_FAILURE?

A.   You cannot raise FORM_TRIGGER_FAILURE in an exception handler

B.   FORM_TRIGGER_FAILURE does not cause an Unhandled Exception

C.   FORM_TRIGGER_FAILURE causes a trigger to fail in a controlled manner

D.   None of the above 

11: The menu that appears by default in a Forms application does not quite meet your needs, so you decide to create a custom menu. You create and compile a menu module called Test with three submenus that contain PL/SQL code, and attach the Test menu to a form. How will the menu of the form appear and perform at runtime?

A.   You will see only three submenus from the Test menu (plus the Window menu that is usually displayed) and you will not be able to call code from the default menu in your form

B.   You will see the three submenus from the Test menu merged with the submenus of the default menu (plus the Window submenu that is usually displayed)

C.   You will see only the submenus of the default menu (plus Window), but you will be able to call code from the Test menu in your form

D.   You will see only the Test menu submenus (plus Window), but you will be able to call code from the default menu in your form

E.   You will see only the submenus of the default menu (plus Window) until you issue the REPLACE_MENU built-in in the form 

12: You create the following four menu items for the main menu of a menu module that is attached to a form:
NameLabel
ENTER_QUERYENTER QUERY
EXECUTE_QUERYEXECUTE &QUERY
EDITEdi&t
EXIT      eXit

Which menu item is invoked when a user presses Alt + E at run time?

A.   EDIT

B.   EXIT

C.   ENTER_QUERY

D.   EXECUTE_QUERY  

13: You are creating an application on a Windows PC. You want to test a form. How would you start an OC4J instance on the PC? 

A.   From the Forms Builder menu

B.   From the Windows Start menu

C.   By executing a batch file that is included with Oracle9iDS

D.   From the test form that is included with Oracle9iDS

E.   From the HTML front end (runform.htm) that is included with Oracle9iDS  

14: In the Human Resource form, you created a LOV based on a record group. The record group query selects the job title and job ID from the JOBS table that contains the following records:

JOB_TITLEJOB_ID
AccountantFI_ACCOUNT
Accounting ManagerAC_MGR
AdministrationAD_ASST
Assistant
PresidentAD_PRES
Programmer  IT_PROG
Public Accountant AC_ACCOUNT
Purchasing ClerkPU_CLERK
Purchasing ManagerPU_MAN
Sales ManagerSA_MAN
Sales RepresentativeSA_REP


The Job_ID value is returned to the Employees.Job_Id item in the form. You attach the LOV to the Job_ID item and set its Validate property from List property to Yes. You run the form to test it. You enter "Pro" (without the quotes) into the Job_ID item. What is the behavior when you press the Tab key?

A.   The LOV will appear. If the user clicks Cancel, the cursor will move to the next navigable item in the form.

B.   The LOV will appear. If the user clicks Cancel, the cursor will remain in the Job_ID item and an error message will appear.

C.   The LOV will not appear. The Job_ID item will be assigned the value IT_PROG. The cursor will move to the next navigable item in the form.

D.   The LOV will not appear. The Job_ID item will be assigned the value Programmer. The cursor will move to the next navigable item in the form. 

15: Your colleague created a list item that will be populated at run time by the JOBS Record Group. JOBS is populated from the EMP table using one or more of the following three columns:
SAL column, whose data type is number
TITLE column, whose data type is varchar2
JOB column, whose data type is varchar2
Assuming that any variables used are properly declared, which built-ins can you to create JOBS?

A.   POPULATE_GROUP_WITH_QUERY ('JOBS', 'SELECT distinct initcap(job) as Job,'|| 'job as JOB from emp');

B.   POPULATE_GROUP_WITH_QUERY ('JOBS', 'SELECT initcap(title) as Job,' || 'sal as Salary from emp');

C.   rgid := CREATE_GROUP_FROM_QUERY ('JOBS', 'SELECT distinct initcap(job) as Job ,' || 'job as JOB from emp');

D.   rgid := CREATE_GROUP_FROM_QUERY ('JOBS', 'SELECT initcap(title) as Job.' || 'sal as Salary from emp')  

16: Which of the following statements are correct with regard to Query Record Group?

A.   The Record Group is associated with a query

B.   The Record Group can be created only at run time

C.   The Record Group can be created and modified only at design time

D.   The Record Group can be created and modified at design time or run time  

17: Which of the following helps you programmatically determine the button a user pressed to respond to an alert?

A.   Use the GET_ALERT_PROPERTY function

B.   Use the GET_ALERT_BUTTON_PROPERTY function

C.   Check the value returned by the SHOW_ALERT function to see if it   is 1, 2, or 3

D.   Check the value returned by the SHOW_ALERT function to see if it is ALERT_BUTTON1, ALERT_BUTTON2, or ALERT_BUTTON3 

18: 'Create a library module' is a method of reuse that is possible with a PL/SQL program unit, but not with a Forms trigger.


A.   True

B.   False <br>

19: You have been asked to define a data block based on a query that is dependent on SQL only. The data will not be updated by the user. Selection of the tables to be queried will be decided by the user at run time.
How should you define the appropriate data source?

A.   Define a data block based on Ref Cursor

B.   Define a data block based on a Table of Records

C.   Define a data block based on a From Clause query

D.   Define a data block based on a combination of a Ref Cursor and a Table of Records  

20: You are developing a form that serves as a front end to access the Order Entry application. Within the form, you want to store the usernames of those users who have permissions to run the application. This information is accessed when the form starts up to determine if the user is authorized. The list of usernames is not stored in the database and should not be visible to users. How will you store this information?

A.   In a list item

B.   In a list of values

C.   In a set of parameters

D.   In a record group 

21: To centralize some of your processing, you decide to write PL/SQL library modules, which contain procedures that can be called from the triggers or menu items.
You want the message [Credit limit exceeded] to be displayed when the values in the order_total and credit_limit fields in the Orders form meet certain criteria.
Which of the following codes would you use?

A.   IF :order_total > 10000 AND :credit_limit < 10000 THEN
MESSAGE(Credit limit exceeded);
END IF;

B.   IF :SYSTEM.cursor_item > 10000 AND :SYSTEM.trigger_item < 10000 THEN
MESSAGE(Credit limit exceeded);
END IF;

C.   IF NAME_IN('order_total') > 10000 AND NAME_IN('credit_limit') < 10000 THEN
MESSAGE(credit limit exceeded);
END IF;

D.   IF COPY(ORDERS.order_total) > 10000 AND COPY(ORDERS.credit_limit) < 10000 THEN
MESSAGE(credit limit exceeded?;
END IF;

22: You have an EMP block in the Employee.fmb module, which is currently on a content canvas. You want to display items from the EMP block on a new tab canvas.
What are two ways to achieve this?

A.   1. Create a tab canvas in the Layout Editor
2. For each item, associate the tab canvas by specifying the Canvas property
3. Set the Rendered property of each item to Yes

B.   1. Create a tab canvas in the Layout Editor
2. For each item, associate the tab canvas by specifying the Canvas property
3)For each item, associate the tab page by specifying the Tab Page property

C.   1. Create a Tab page in the Layout Editor
2. Associate the content canvas with each item by specifying the Item Canvas property
3. For each item, associate the tab page by specifying the Tab Page property
4)Set the Visible prope

D.   1. Create a canvas in the Object Navigator.
2. Set the Canvas Type property to Content.
3. For each item, associate the new canvas by specifying the Item Canvas property. 

E.   1. Create a new canvas in the Object Navigator.
2. Set the Canvas Type property to Tab.
3. For each item, associate the new canvas by specifying the Item Canvas property.
4. For each item, associate the tab page by specifying th

23: The database EMPLOYEES table has a foreign key constraint referencing the DEPARTMENTS table. You are developing a Human Resource application. HR clerks use the Employees form to query, update, and insert employee records. They occasionally attempt to add an employee who is in a new department that has not yet been entered into the database. When this happens, they receive an error indicating that the parent record cannot be found, so they cannot commit the employee record. The HR clerks have requested that you place a button on the form to enable them to invoke the Departments form to enter the new department and save it independently. They want to be able to return to the Employees form and decide whether or not to save the new employee record. How should you code the When-Button-Pressed trigger to achieve this?

A.   CALL_FORM('Departments);

B.   CALL_FORM('Departments',NO_HIDE);

C.   OPEN_FORM('Departments');

D.   OPEN_FORM('Departments', ACTIVATE, SESSION);

E.   OPEN_FORM('Departments', NO_ACTIVATE, NO_SESSION);  

24: Which of the following actions allow the user to view the display item at run time?

A.   Define CLYDE as a modal window and display it with a horizontal scroll bar

B.   Define CLYDE as a modeless window and display it with a horizontal scroll bar

C.   Define CLYDE as a dialog window and display it with a horizontal scroll bar

D.   Define CLYDE as a document window and display it with a Vertical Scroll bar

E.   Define CLYDE as a modeless window and display it with a Vertical Scroll bar 

25: The Orders form must display the item total for products ordered. You decide to implement this functionality by creating an item in the ORDER_ITEMS block as a Calculated item. The item total is calculated by multiplying the UNIT_PRICE of the product by the QUANTITY ordered. Which two items properties must be set?

A.   Item Type must be set to Display Item

B.   Calculation Mode must be set to Formula

C.   Calculation Mode must be set to Summary

D.   Summarized Block must be set to ORDER_ITEMS

E.   Formula must be set to an appropriate calculation 

26: What happens when you click Run Form Debug in Forms Builder?

A.   The forms run on your local machine using a debug executable client

B.   The form runs in a three-tier environment using the application server URL that you specify in runtime preferences

C.   The form runs in a three-tier environment using the application server URL that you specify in debug preferences

D.   The form runs in a simulated three-tier environment using an applet viewer that is included with the product to enable debugging 

27: Which of the following statements is correct with regard to Data properties of a text item?

A.   If the Maximum Length of an item is set to a value that is greater than the value for Width, the item will not be displayed at run time

B.   You can set the Initial Value for an item outside the range of values specified by the Lowest Allowed Value and the Highest Allowed Value properties because Initial Value defines an exception to that range

C.   If you set the Required property to Yes for an item whose corresponding database column does not have a NOT NULL constraint, you will receive an error at run time

D.   If Data Length Semantics property is set to BYTE, you may need to manually adjust the Maximum Length property depending on the character set that is being used 

28: The DBA has informed you that two new columns have been added to the ORDERS table. The blocks in the Order Entry form were created manually. How can you use a wizard to modify the Orders block to include items that corresponds to these columns?

A.   You cannot use wizards to add a new item to add data block that was created manually

B.   Select the last item in the Orders block, then invoke the Layout Wizard from the menu

C.   Select the Order Block in the Object Navigator, then invoke the Data Block Wizard from the menu

D.   Select the Data Block node in the Object Navigator, then invoke the Data Block Wizard from the menu. //new block 

29: You want users to be able to add a single value to a list item. How would you do this?

A.   Set the List Style property to combo box. From the When-List-Activated trigger, call the Add_List_Element built-in

B.   Set the List Style property to Tlist. From the When-List-Activated trigger, call the Populate_List built-in

C.   Set the List Style property to poplist. From the When-List-Activated trigger, call the Add_List_Element built-in.

D.   Set the List Style property to combo box. From the When-List-Changed trigger, call the Add_List_Element built-in

30: The Products.fmb module has one content canvas that displays information about products sold by your company. You increase the canvas display area by creating an overlay canvas to enable the product images to be displayed on request. However, at run time, the overlay canvas is never displayed; users complain that there is only a brief flash on their screen.
How would you correct this?

A.   Ensure that the current item is not hidden by the overlay canvas

B.   Call the built-in GET_VIEW_PROPERTY to set the canvas VISIBLE property to True

C.   In the Layout Editor, choose View | Stacked Views and then select the overlay canvas in the Stacked Canvases dialog box

D.   Change the stacking order of canvases under the Canvases node in the Object Navigator. Ensure that the overlay canvas is the first canvas listed under this node  

31: There is a requirement to invoke the Orders form from the Customers form. Your colleagues offer some suggestions regarding their choice of built-in to be used. They also give the reasons for their respective choices. Which of the following suggestions names a built-in that will meet the requirements and also offers a correct reason?

A.   CALL_FORM because NEW_FORM is no longer valid for Web-deployed forms due to the extra network traffic that is causes

B.   CALL_FORM because it can be issued in Enter-Query mode and can be constrained to be Query only

C.   CALL_FORM because the second form is invoked in a modeless state and it saves on memory resources

D.   NEW_FORM because the second form is invoked in a modeless state and the user can navigate freely between the two running forms  

32: You created a query Record Group at design time.
Which built-in can you use to execute the query defined in the Record Group object?

A.   ADD_GROUP_ROW

B.   POPULATE_GROUP

C.   ADD_GROUP_COLUMN

D.   SET_GROUP_SELECTION  

33: A user has requested a change to the Summit.fmb module. The form has two windows, DEPT_WIN and EMP_WIN. DEPT_WIN is always visible to the user. However, EMP_WIN is only occasionally required to be opened. The user complains that once EMP_WIN is open, it is not possible to make the window invisible. The user can navigate between the open windows. You are asked NOT to write code to close EMP_WIN explicitly. What changes should you make to the Summit form?

A.   Define EMP_WIN as a modal window, set the Hide on Exit property to No

B.   Define EMP_WIN as a modeless window, set the Hide on Exit property to No

C.   Define EMP_WIN as a modeless window, set the Hide on Exit property to Yes

D.   Define EMP_WIN as a modeless window, set the Close Allowed property to Yes 

34: The DBA informed you that a number column called ORDER_STATUS has been added to the ORDERS table.
You want to update the Order Entry form to display the additional data. You open the Layout Editor for the canvas on which items from the Customers, Orders, and Order_Items blocks are displayed. You use the text item tool to create a new text item on the canvas, open its Property Palette, and set the Name property to ORDER_STATUS as well as the Column Name property to Order_Status.
When you run the form to test it, the error "FRM 40505 ORACLE error unable to perform query" crops up?
What could be the cause of this error?

A.   You did not change the default value for the Data Type property of the Order_Status text item

B.   You did not modify the WHERE clause of the Orders block to include the ORDER_STATUS column

C.   You did not change the default value for the Database Item property of the Order_Status text item

D.   You did not select the Orders block from the block poplist in the Layout Editor prior to creating the item  

35: You want to create a calculated item in the Control block of the Human Resource form. This item will contain the total of employee salaries for employees in a particular department.
Which statement is true about how to create the calculated item?

A.   You can create it by first creating a text item and then changing the item type

B.   You can create it in the Layout Editor using a special tool that creates a calculated item

C.   You can create it by first creating a display item and then setting appropriate properties in its Calculation property group

D.   You can create it in the Layout Editor by selecting the Salary item of the Employees block, selecting the Control block from the block list, clicking the Text Item tool, and drawing a text item on the canvas to automatically calculate a sum of the selecte

36: You start an OC4J instance on your development PC and then run a form from the Forms Builder. Which of the following statements describes the behavior of OC4J?

A.   It appears in the Forms Builder window that can be minimized once OC4J starts

B.   It appears in a separate window that can be closed once OC4J starts

C.   It appears in the Forms Builder window that can be closed once OC4J starts

D.   It appears in a separate window that should not be closed as the OC4J instance will abort

37: The Orders form is required to initialize differently for different users. A database procedure (GET_ROLE_NAME) is used to determine which database roles are enabled for the user logging on to the form. If a user has the STORE_CLERK role enabled, certain buttons are disabled and the focus is sent to the Customer_Id text item. If the user has the ADMIN_MGR role enabled, all buttons are available and the focus is sent to the Date_Ordered text item. The buttons are set by a form-level procedure (SET_BUTTONS). The functionality is achieved with this code If get_role_name(USER) = "STORE_CLERK" THEN set_buttons("STORE_CLERK"); GO_ITEM("ORDERS.Customer_id"); ELSE set_buttons("ADMIN_MGR"); GO_ITEM("ORDERS.Date_Ordered"); END IF; What is the best trigger to execute this code?

A.   When-Validate-Item at form level so that validation takes place as soon as the form initializes

B.   When-New-Form-Instance because GO_ITEM is a Restricted Procedure and cannot be called from any Pre- triggers

C.   Pre-Form at form level because the focus will be set before the items appear so that users do not see the cursor moving around the screen

D.   When-Button-Pressed on any of the enabled buttons so that it can still execute. If it were written against the disabled buttons, it would have never been fired for the STORE_CLERK role

E.   When-New-Item-Instance on the Date_Ordered Text item because you want to check for the database role and redirect focus away from here if the user is a STORE_CLERK 

38: Which of the following statements is correct with regard to client-side validation?

A.   It requires a network round trip

B.   It does not require any middle-tier configuration

C.   It requires setting an item's Implementation Class property

D.   It is implemented with the When-Validate-Item and When-Validate-Record triggers

39: You are running a multiple-form application. The Customers Form invoked the Orders Form. When the Orders Form launches, it displays orders for only the active customer from the Customers form. Forms exchange data with the :GLOBAL.CUSTOMER_ID variable. The Orders Form should be restricted to orders for the current customer only the first time a query is issued after invoking the Orders form. Which built-in helps you do this by setting the ONETIME_WHERE property
to refer dynamically to the GLOBAL.CUSTOMER_ID?

A.   SET_APPLICATION_PROPERTY

B.   SET_FORM_PROPERTY

C.   SET_BLOCK_PROPERTY

D.   SET_RECORD_PROPERTY  

40: The REGIONS non-query Record Group has two char columns. Which of the following built-ins an you use to replace any existing rows in REGIONS with the results of a query?

A.   ADD_GROUP_ROW('REGIONS',2);

B.   rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country, id from regiontable')

C.   rgno := CREATE_GROUP_FROM_QUERY('REGIONS', 'Select name, country from regiontable');

D.   rgno := POPULATE_GROUP_WITH_QUERY('REGIONS', 'Select name, country from regiontable');

E.   You cannot populate a non-query Record Group with the results of a query. 

41: There is a requirement to modify the default functionality of the [Commit] key. To implement this requirement, you decide to write a Key-Commit trigger that will force validation and issue a commit if necessary.
Which trigger code will achieve this?

A.   ENTER;
IF GET_ITEM_PROPERTY(:SYSTEM.trigger_item, ITEM_IS_VALID) = TRUE THEN
    COMMIT_FORM;
END IF;

B.   ENTER;
IF :SYSTEM.FORM_STATUS = CHANGED THEN
    COMMIT_FORM;
END IF;

C.   VALIDATE(ITEM_SCOPE);
IF :SYSTEM.BLOCK_STATUS <> NEW THEN
    DO_KEY('COMMIT_FORM');
END IF;

D.   VALIDATE;

IF :SYSTEM.BLOCK_STATUS <> NEW THEN
    DO_KEY('COMMIT_FORM');
END IF; 

42: You are developing a form for customers to order tickets to events.
There is an Event_Date item in the Tickets block of the form that has a LOV
whose record group uses the following query:
SELECT event_name, event_date
    FROM events
    ORDER BY event_date;
In the Choose_Event block of the form, you want users to be able to select an event name into an Event_Name item.
The event name will be selected from a LOV that is sorted by the name of the event.
You do not want to modify either LOV or record group at run time. Which of the following statements is correct with regard to LOV and record group as specified at design time?

A.   You must define a new LOV for the Choose_Event.Event_Name item that uses a different record group

B.   You must define a new LOV for the Choose_Event.Event_Name item, but you can base it on the same record group

C.   You can use the same LOV and record group for the Choose_Event.Event_Name item that you used for the Tickets.Event_Date item

D.   You can use the same LOV for both items, but you should specify that each item must use a different record group for the LOV

43: An application uses a menu that contains a Check type Menu Item. You want to programmatically toggle the checked/unchecked state of the Check item. Which of the following built-ins can you use to accomplish this?

A.   FIND_MENU_ITEM

B.   GET_ITEM_PROPERTY

C.   SET_ITEM_PROPERTY

D.   SET_MENU_ITEM_PROPERTY

E.   GET_MENU_ITEM_PROPERTY 

44: You are testing a form. How can you programmatically disable validation during testing?

A.   You cannot programmatically disable validation in a form

B.   Use the SET_FORM_PROPERTY built-in to set the VALIDATION property

C.   Use the SET_FORM_PROPERTY built-in to set the VALIDATION_UNIT property

D.   Use the SET_FORM_PROPERTY built-in to set the DEFERS_REQUIRED_ENFORCEMENT propertyÂ