{"id":24088,"date":"2024-02-15T14:53:34","date_gmt":"2024-02-15T22:53:34","guid":{"rendered":"https:\/\/docs.extraview.com\/v25\/book\/business-rule-how-examples-1\/"},"modified":"2025-02-13T11:39:02","modified_gmt":"2025-02-13T19:39:02","slug":"business-rule-how-examples-1","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/","title":{"rendered":"Business Rule How To Examples"},"content":{"rendered":"<ul>\n<li>How do I set the <b>Assigned To<\/b> of the issue to the person updating the issue, if the current value is null?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (ASSIGNED_TO={null} &amp;&amp; USER.{is internal}) { ASSIGNED_TO = USER; }<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a field on the <em>add<\/em> screen?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; PROJECT=Issues &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;)<br \/>\n{FIELD_NAME=VALUE;}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a field on the <em>edit<\/em> screen?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; PROJECT=Issues &amp;&amp; SCREEN_NAME=EDIT)<br \/>\n{FIELD_NAME=VALUE;}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a field without any conditions?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">FIELD_NAME=VALUE;<br class=\"\" \/><br class=\"\" \/><\/span>Note that this construct does not work within an onchange rule<\/li>\n<li>How do I set the value of a field within an onchange rule?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (FIELD_NAME.{changed}) {<br \/>\nOTHER_FIELD = FIELD_NAME;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a user field such as <span class=\"fixedWidthFont\">ASSIGNED_TO<\/span> to the current user\u2019s name?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8221;Contracts&#8221; &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;) {<br \/>\nASSIGNED_TO=USER;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I check to see if the current user is the user assigned to the current issue?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA = &#8216;Issues&#8217; &amp;&amp; USER = ASSIGNED_TO) {<br \/>\nIS_MANAGER=&#8217;Y&#8217;;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add multiple values with one rule to a multi-valued list field?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA = &#8216;Requests&#8217; &amp;&amp; BUS_UNIT.{CHANGED TO:&#8217;ABC&#8217;}){<br \/>\nASSIGNED_USRS =[PCOLLINS,MGREEN];<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I check to see if a value is selected in a multi-valued list?<span class=\"fixedWidthFont\">if (MY_LIST.{contains &#8216;Yellow&#8217;}) { COLOR = &#8216;Yellow&#8217;;}<\/span><\/li>\n<li>How do I check to see if several values are selected in a multi-valued list?<span class=\"fixedWidthFont\">if (MY_LIST.{contains &#8216;Yellow&#8217;, &#8216;Blue&#8217;, &#8216;Orange&#8217;}) {<br \/>\nCOLOR = &#8216;Yellow&#8217;;<br \/>\n}<\/span><\/li>\n<li>How do I check to see if a multi-valued list contains some values, but does not contain some other values?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (MY_LIST.{contains &#8216;Yellow&#8217;, &#8216;Green&#8217;} &amp;&amp; MY_LIST.{excludes &#8216;Blue&#8217;, &#8216;Red&#8217;, &#8216;Purple&#8217;}) {<br \/>\nCOLOR = &#8216;Yellow&#8217;;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set a field with a display type of checkbox to be checked?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">checkbox_fld = &#8216;Y&#8217;;<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set a field with a display type of checkbox to unchecked?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">checkbox_fld = &#8216;N&#8217;;<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I check whether the current user has the <em>Administrator<\/em> role to allow an operation?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Bugs&#8217; &amp;&amp; STATUS.{changed_to:&#8217;Closed&#8217;} &amp;&amp; USER_ROLE=&#8217;Administrator&#8217;)<br \/>\n{COMMENTS=&#8217;OK!&#8217;};<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I alter a value, if another value has changed?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (STATUS.{changed}) {FIELD_X=&#8217;Changed&#8217;};<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the values of fields to values from the user\u2019s personal options?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Issues&#8217; &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;){<br \/>\nPHS_COMPANY_NAME = USER.{company name};<br \/>\nPHS_FIRST_NAME = USER.{first name};<br \/>\nPHS_LAST_NAME = USER.{last name};<br \/>\nPHS_JOB_TITLE = USER.{job title};<br \/>\nPHS_ADDRESS = USER.{address};<br \/>\nPHS_WORK_PHONE = USER.{work phone};<br \/>\nPHS_EMAIL = USER.{email};<br \/>\nPHS_USER_DEFINED_1 = USER.{user defined 1};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>When the <b>Status<\/b> field first changes its value from <em>Open<\/em> to <em>Fixed<\/em>, how do I set the UDF field titled <b>Date First Fixed<\/b> to the current date:<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (STATUS.{changed_to:Fixed} &amp;&amp; STATUS.{changed_from:Open} &amp;&amp; DATE_FIRST_FIXED.{is null} ) {<br \/>\nDATE_FIRST_FIXED = SYSDATE;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add two values named <b>UNIT_PRICE<\/b> and <b>TAX<\/b> together and put the results in a field named <b>TOTAL_PRICE<\/b>?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Bug&#8217; &amp;&amp; UNIT_PRICE.{not null} &amp;&amp; TAX.{not null}){<br \/>\nTOTAL_PRICE = UNIT_PRICE; \u00a0\u00a0TOTAL_PRICE += TAX;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add subtract a value named <b>DISCOUNT<\/b> from a field called PRICE and put the results in a field named <b>DISC_PRICE<\/b>?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Issues&#8217; &amp;&amp; DISCOUNT.{not null} ){<br \/>\nDISC_PRICE = PRICE; \u00a0\u00a0DISC_PRICE -= DISCOUNT;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I multiply two values named <b>HOURS<\/b> and <b>AMOUNT<\/b> together and put the results in a field named <b>PRICE<\/b>?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Customer Issues&#8217; &amp;&amp; HOURS.{not null} ){<br \/>\nPRICE = AMOUNT; \u00a0\u00a0PRICE *= HOURS;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I divide a value named <b>TOTAL_COST<\/b> by a value of <b>HOURS_WORKED<\/b> and put the results in a field named <b>PRICE_PER_HOUR<\/b>?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Issues&#8217; &amp;&amp; HOURS_WORKED.{not null} ){<br \/>\nPRICE_PER_HOUR = TOTAL_COST;<br \/>\nPRICE_PER_HOUR \/= HOURS_WORKED;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I make the <b>Comments<\/b> field required, when the <b>Status<\/b> changes to <em>Fixed<\/em>? At the same time, inform the user of their error if they do not provide a Comment (database only rule):<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (STATUS.{changed_to:Fixed} &amp;&amp; STATUS.{changed_from:Open} &amp;&amp; COMMENTS.{is null} )<br \/>\n{Error: Comments are required when an issue is marked fixed.};<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I build a text field from other text fields?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8221;Customers&#8221; &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;) {<br \/>\nSHORT_DESCR=&#8221;New Customer &#8211; &#8220;;<br \/>\nSHORT_DESCR&amp;=CUST_NAME;<br \/>\nSHORT_DESCR&amp;=&#8221; &#8211; &#8220;;<br \/>\nSHORT_DESCR&amp;=CUST_LEGAL_INDENTITY;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a date field to the current date?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Issues&#8217; &amp;&amp; ACT_PERCENT_COMPLETE.{changed}) {<br \/>\nCOMPLETE_AS_OF_DATE = {SYSDATE};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I increment a date field?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">NEXT_MAINTENANCE_DATE = MAINTENANCE_COMPLETION_DATE;<br \/>\nNEXT_MAINTENANCE_DATE += MAINTENANCE_INTERVAL;<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a field based upon a button being pressed?<span class=\"fixedWidthFont\"><br class=\"\" \/><br class=\"\" \/>if (AREA=Reviews &amp;&amp; ADD_EXPENSE_BTN.{changed})<br \/>\n{EXPENSE_ADD=&#8217;Y&#8217;;} }<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I pop up an error message?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; SEVERITY_LEVEL=1 &amp;&amp; STATUS=Pending)<br \/>\n{<br \/>\nERROR: Invalid status with this severity level<br \/>\n} <\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I pop up error messages in different languages? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; SEVERITY_LEVEL=1 &amp;&amp; STATUS=Pending &amp;&amp; USER.{language}=&#8217;fr&#8217;)<br \/>\n{<br \/>\nERROR: Statut invalide avec ce niveau de gravit\u00e9<br \/>\n}<br \/>\nif (AREA=Issues &amp;&amp; SEVERITY_LEVEL=1 &amp;&amp; STATUS=Pending &amp;&amp; USER.{language}=&#8217;en&#8217;)<br \/>\n{<br \/>\nERROR: Invalid status with this severity level<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of a field to the value of a linked issue field? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Contracts&#8217; &amp;&amp; CUST_LIST.{not null}) {<br \/>\nRELATIONSHIP_GROUP_PARENT = (customerLink).ID;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I set the value of the built-in field RELEASE_FOUND within a rule?The important factor here is that the RELEASE_FOUND field is dependent upon its parent field, PRODUCT_NAME.\u00a0 Therefore, you must set both values at one time.\u00a0 The RELEASE_FIXED field has the same dependency.<br class=\"\" \/><br class=\"\" \/><code>PRODUCT_NAME = 'My Product';<br \/>\nRELEASE_FOUND = 2.3.4;<\/code> <br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I &#8220;roll-up&#8221; the values in repeating rows, so that the main issue represents a consensus of all the repeating row values? A commonly defined use case for this rule is a scenario where you have a STATUS field on the main issue, which represents the RELEASE_STATUS values held in multiple repeating rows where each row may have the same or different values. For example, let&#8217;s say that your STATUS and RELEASE_STATUS fields have four values, <b>New<\/b>, <b>Open<\/b>, <b>Fixed<\/b> and <b>Closed<\/b>. You want the STATUS field to show the value that corresponds to the earliest one in the list that is encountered across al the RELEASE_STATUS values. Thus, if there are three repeating rows, with values of <b>Open<\/b>, <b>Fixed<\/b> and <b>Fixed<\/b>, you want the STATUS field to indicate a &#8220;roll-up&#8221; value of <b>Open<\/b>. Likewise, if all three values of RELEASE_STATUS are <b>Open<\/b>, then you want the STATUS to also show <b>Open<\/b>. This is achieved with the following onchange rules: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\"># First, push our changed status to the STATUS field, so we can then trigger a reset<br \/>\n# based on all repeating row fields, not simply the one that changed<br \/>\nif (RELEASE_STATUS.{changed}) {<br \/>\nSTATUS = RELEASE_STATUS;<br \/>\n}<br \/>\n# Now do the actual roll up by resetting the main status based on whether specific<br \/>\n# RELEASE_STATUS values exist. Note that the order of these rules is critical<br \/>\nif (RELEASE_STATUS.{changed} &amp;&amp; RELEASE_STATUS = &#8216;Closed&#8217;) {<br \/>\nSTATUS = &#8216;Closed&#8217;;<br \/>\n}<br \/>\nif (RELEASE_STATUS.{changed} &amp;&amp; RELEASE_STATUS = &#8216;Fixed&#8217;) {<br \/>\nSTATUS = &#8216;Fixed&#8217;;<br \/>\n}<br \/>\nif (RELEASE_STATUS.{changed} &amp;&amp; RELEASE_STATUS = &#8216;Open&#8217;) {<br \/>\nSTATUS = &#8216;Open&#8217;;<br \/>\n}<br \/>\nif (RELEASE_STATUS.{changed} &amp;&amp; RELEASE_STATUS = &#8216;New&#8217;) {<br \/>\nSTATUS = &#8216;New&#8217;;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I add a number of blank repeating rows when I first display an <em>add<\/em> screen? There is no rule action that allows the addition of a blank repeating row. However, you can use the following technique to simulate this, in the following way:\n<ul>\n<li>Say you want to add 3 blank rows to the repeating row named MY_REPEATING_ROW<\/li>\n<li>Create a new text field that is not going to be used on the layout, say MY_HIDDEN_FIELD. This will not have any value associated with it<\/li>\n<li>You will use a field on the repeating row layout to store the MY_HIDDEN_FIELD value &#8211; remember this is null. Let&#8217;s say the field on the layout is a text field named MY_RR_FIELD<\/li>\n<li>Now use the ADD ROW action to add 3 new rows: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (SCREEN_NAME = &#8216;ADD&#8217;) {<br \/>\n{ADD ROW TO MY_REPEATING_ROW MY_RR_FIELD = MY_HIDDEN_FIELD}<br \/>\n{ADD ROW TO MY_REPEATING_ROW MY_RR_FIELD = MY_HIDDEN_FIELD}<br \/>\n{ADD ROW TO MY_REPEATING_ROW MY_RR_FIELD = MY_HIDDEN_FIELD}<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<\/ul>\n<\/li>\n<li>How do I &#8220;roll-up&#8221; the values in sibling related issues, so that they update the status of their parent issue to <b>Closed<\/b>, when all the statuses of the child issues change to <b>Closed<\/b>. This is a common requirement, where a parent issue reflects the status of several or many child issues. The child issues are in a sibling relationship to the parent. The following example can be expanded to provide a roll-up over many different status values, and the same technique can be used to update any other field on the parent issue, using a common value over many child issues. To achieve this structure, consider the following postupdate directive rules: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\"># Define a link to the parent issue<br \/>\n&lt;== link myParent ==&gt;<br \/>\nRG(RG_NAME = relatedChildren, RG_TYPE = PARENTS)<br \/>\n# Now define a link for the child issues of the same parent &#8211; i.e. the SIBLINGS<br \/>\n&lt;== link openChildren ==&gt;<br \/>\nRG(RG_NAME = relatedChildren, RG_TYPE = SIBLINGS), STATUS != &#8216;Closed&#8217;<br \/>\n&lt;== postupdate ==&gt;<br \/>\n# If we have a parent and all its children are Closed &#8211; i.e. there are no children that are not closed<br \/>\nif (STATUS.{changed to: &#8216;Closed&#8217;} &amp;&amp; (myParent).ID.{is not null} &amp;&amp; (openChildren).ID.{is null}) {<br \/>\n{UPDATE: myParent STATUS = &#8216;Closed&#8217;};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add a value entered into one field to become a member of a list in another field? First define the object to be used to move the value from a text field to a list field: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">&lt;== object cust ==&gt; AREA=&#8217;Customers&#8217;, LINK=CUST_LIST, TITLE=CUSTOMER, PRIVACY=false<\/span> <br class=\"\" \/><br class=\"\" \/>Now, use the rule in a way that is similar to: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (CUST_LIST.{changed} &amp;&amp; AREA=\u2019Issues\u2019) {<br \/>\nCUST_CONTACT = (cust).CUST_CONTACT;<br \/>\nEMAIL_ADDRESS = (cust).EMAIL_ADDRESS;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I handle multi-valued fields? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AGENCY.{contains &#8216;Federal&#8217;})<br \/>\n{GROUP = &#8216;Fed&#8217;;}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I check if a field has a value of null?<br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; THEME={null})<br \/>\n{ DRAFT=Y }<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I check if a field does not have a value of null? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=Issues &amp;&amp; THEME={not null})<br \/>\n{ DRAFT=N }<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I create an email action that sends a specific email template I have generated, to a user depending upon a condition when I update an issue? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">&lt;== preupdate ==&gt;<br \/>\nif (AREA=Issues &amp;&amp; STATUS.{changed_to:Pending Approval}) {<br \/>\n{MAIL:&#8217;Issue Approval Request&#8217;, APPROVER} };<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I create an email directive to send the standard notification email to all the users in a role? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">&lt;== mail ==&gt;<br \/>\nif (AREA=&#8221;Contracts&#8221; &amp;&amp; STATUS.{changed to:Finished}) {<br \/>\nROLE:MANAGER;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I send standard notification email to the <b>ORIGINATOR<\/b>, all users in a role and to specific users? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">&lt;== mail ==&gt;<br \/>\nif (AREA=&#8217;Trouble Report&#8217; &amp;&amp; SCREEN_NAME=\u2019ADD\u2019) {<br \/>\nROLE:CE;<br \/>\nORIGINATOR;<br \/>\nJLACEY;<br \/>\nKMORRIS;<br \/>\nSCHRISTIANI;<br \/>\nPREEVES;<br \/>\nBKISER;<br \/>\nLMJAMES;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add a new record based upon a user pressing a button on a screen? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (ADD_SERIAL_BTN.{changed} &amp;&amp; UNIT_SERIAL.{not null}) {<br \/>\n{ ADD: AREA=&#8217;Calibration&#8217;,<br \/>\nPROJECT=&#8217;Unit&#8217;,<br \/>\nUNIT_SERIAL,<br \/>\nCOMPONENT,<br \/>\nSITE,<br \/>\nFACILITY<br \/>\n};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I update existing records based upon a field on the current screen changing? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (CALIB_DATE.{changed} &amp;&amp; CALIB_DATE &gt; (unitLink).CALIB_DATE &amp;&amp; AREA=&#8217;Calibration&#8217;) {<br \/>\n{UPDATE: unitLink, CALIB_DATE, UNIT_CAL_EXPIRES };<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I add a related issue record to the database, following the creation of an issue? This example also shows some other useful techniques. This rule would be executed in the &lt;== postupdate ==&gt; section of the rules. Note the use of the \u201cif\u201d condition to prevent recursion after the new record is added and when the rule fires again for the record just added. Next note the technique where the <b>SHORT_DESCR<\/b> of the issue is modified before it is added to the new record. The relationship between the records is created by assigning the value of the ID of the current issue to the field named MY_PARENT_ID, which will exist within the <em>add<\/em> and <em>edit<\/em> screens of the destination Business Area \/ Project. <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (AREA=&#8217;Helpdesk&#8217; &amp;&amp; EMPLOYEE_NAME.{not null} &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217; &amp;&amp; STATUS=&#8217;New&#8217;) {<br \/>\nSHORT_DESCR = &#8216;Install new computer for &#8211; &#8216;;<br \/>\nSHORT_DESCR &amp;= EMPLOYEE_NAME;<br \/>\n{ADD: AREA,<br \/>\nPROJECT,<br \/>\nMY_PARENT_ID = ID,<br \/>\nASSIGNED_TO = &#8216;BSMITH&#8217;,<br \/>\nSTATUS = &#8216;Open&#8217;,<br \/>\nPRIORITY = &#8216;P 3&#8217;,<br \/>\nIT_SELECT_TABS = &#8216;New Employee&#8217;,<br \/>\nSHORT_DESCR,<br \/>\nIT_DATE_REQUESTED,<br \/>\nIT_APPROVED_BY,<br \/>\nORIGINATOR,<br \/>\nEMPLOYEE_NAME,<br \/>\nEMPLOYEE_DEPT,<br \/>\nEMPLOYEE_START_DATE<br \/>\n};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How do I only allow the person in the <b>ASSIGNED_TO<\/b> field have update permission to an issue? This is achieved by altering the current role of the user, if that user is not the <b>ASSIGNED_TO<\/b>. Given that the Guest user is typically not allowed to update issues, then changing the role to that of the Guest or the role identified by the behavior setting LIMITED_USER_ROLE, will cause the record to appear in read-only mode if the user is not the <b>ASSIGNED_TO<\/b>. <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (USER != ASSIGNED_TO) USER_ROLE = Guest;<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I use a link in a relationship group to detect no Open sub-issues? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">&lt;= link rgOpen ==&gt; RG(RG_NAME=MY_GROUP, RG_TYPE=CHILDREN), STATUS != Closed<br \/>\nif (STATUS.{changed to: Closed} &amp;&amp; (rgOpen).ID.{is not null} )<br \/>\n{ERROR: Cannot set the status to Closed when there are open child issues.};<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I calculate one number as a percentage of another, and display the result with two decimal points?If you simply have two rules that state the following: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">TOT_PERCENT_DEFECT = DEFECTS;<br \/>\nTOT_PERCENT_DEFECT \/= SAMPLE_SIZE;<\/span><br class=\"\" \/><br class=\"\" \/>where the value for DEFECTS is 25, and the value for SAMPLE_SIZE is 100, the result returned is .2, not .25. The reason for this result is that rules try to make sense of operations, especially division, and therefore avoids results like 1.333333333336, and returns 1.3 instead. The rules engine looks at the number of decimal places (the precision) of each of the values, and then limits the number of decimal places returned to no more than the number of decimal places used to express the value, plus the minimum additional needed to get a non-zero value. Generally this works well, but as seen in this case there can be display problems, not the least of which is that there is no way to guarantee that either of the numbers has a certain number of decimal places.<\/p>\n<p>To avoid this, write the rules as follows:<\/p>\n<p><span class=\"fixedWidthFont\">TOT_PERCENT_DEFECT = DEFECTS;<br \/>\n# multiply by 100 first to preserve accuracy<br \/>\nTOT_PERCENT_DEFECT *=100;<br \/>\nTOT_PERCENT_DEFECT \/= SAMPLE_SIZE;<br \/>\n# explicitly add &#8216;.00&#8217; to preserve 2 digits of precision in the result<br \/>\nTOT_PERCENT_DEFECT \/= 100.00;<\/span><\/p>\n<p>By first multiplying by 100, you guarantee that there will be an integer value, and then by specifying the .00 when scaling it back causes the rules to keep at least two digits of precision<\/p>\n<p><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I test an incoming email, uploaded with the EVMail utility to see if it is a new or an existing issue? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (SHORT_DESCR.{like : &#8216;RE: Extraview [*]*&#8217;} )<br \/>\n{\u00a0STATUS = &#8220;Response received&#8221;;}<\/span><br class=\"\" \/><br class=\"\" \/>This rule processes the issue and looks to see if the incoming issue matches the string \u2018RE: ExtraView [*]*\u2019 (excluding the outermost quotations. The * is a wildcard. If the SHORT_DESC field in the issue contains a value similar to \u2018<span class=\"fixedWidthFont\">RE: ExtraView [#223456] This is a report of a problem.<\/span>\u2019 then the STATUS of the issue is set to the value of \u2018Response received\u2019<br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I set the Assigned To field of an issue to the value of the owner of a specific user defined field? <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (CUST_LIST.{changed}) ASSIGNED_TO = CUST_LIST.{owner};<\/span>This onchange rule will look for the owner of the user defined field named CUST_LIST and set this user&#8217;s ID into the issue as the Assigned To<br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I ensure that a user enters a date that is in the future, not the past? First, create a user defined field in the data dictionary. This is used to hold the number of days different between a date (or day) field, and the current date. The field does not need to be on any layout, but it should have read and write permission. For this example, the field is DIFF_DAYS. The following <span class=\"fixedWidthFont\">preupdate<\/span> rule will check that the date is not in the past. <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (PROJECT = &#8216;Action&#8217; &amp;&amp; DATE_FOLLOW_UP.{not null}) \u00a0\u00a0{<br \/>\nDIFF_DAYS = (DATE_FOLLOW_UP &#8211; SYSDAY);<br \/>\n}<br \/>\nif (PROJECT = &#8216;Action&#8217; &amp;&amp; DATE_FOLLOW_UP.{not null} &amp;&amp; DIFF_DAYS &lt; 0)<br \/>\n{ STOP: The Follow Up Date must be greater than todays date };<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I add new repeating rows and populate them with values?The following <span class=\"fixedWidthFont\">onchange<\/span> rule will populate the first blank repeating row, and add two new repeating rows, when the user clicks the button named <span class=\"fixedWidthFont\">GENERATE_PARTS_LIST_BTN<\/span> and the value of the field named <span class=\"fixedWidthFont\">ASSEMBLY<\/span> has a value of <em>Primary<\/em>. <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (GENERATE_PARTS_LIST_BTN.{changed} &amp;&amp; ASSEMBLY=&#8217;Primary&#8217; ) {<br \/>\nPARTS=&#8217;Part 1&#8242;;<br \/>\n{ ADD ROW: PARTS=&#8217;Part 2&#8242;};<br \/>\n{ ADD ROW: PARTS=&#8217;Part 3&#8242;}; }<\/span> <br class=\"\" \/><br class=\"\" \/>If you want to set additional values on the repeating rows, you can modify the above along these lines: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (GENERATE_PARTS_LIST_BTN.{changed} &amp;&amp; ASSEMBLY=&#8217;Primary&#8217; ) {<br \/>\nPARTS=&#8217;Part 1&#8242;, RELEASE_STATUS=&#8217;New&#8217;;<br \/>\n{ ADD ROW: PARTS=&#8217;Part 2&#8242;, RELEASE_STATUS=&#8217;New&#8217;};<br \/>\n{ ADD ROW: PARTS=&#8217;Part 3&#8242;, RELEASE_STATUS=&#8217;New&#8217;};<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I set field values, based on the user&#8217;s choice, when clicking on a navigation bar item?The following <span class=\"fixedWidthFont\">load<\/span> rule will work on an <b>Add<\/b> screen only, and will set values on the screen as it is loaded. <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">if (SCREEN_NAME = &#8216;ADD&#8217; &amp;&amp; MY_ADD_NAV_BUTTON= &#8216;Add Task&#8217; ) {<br \/>\nPRIORITY = &#8216;P 2&#8217;;<br \/>\nCATEGORY = &#8216;Task&#8217;;<br \/>\n}<\/span><br class=\"\" \/><br class=\"\" \/>If the user chooses the Add Task navigation bar item, then the PRIORITY and CATEGORY fields are set as shown above.<br class=\"\" \/><br class=\"\" \/><\/li>\n<li>How can I add a number of blank repeating rows to an issue?It is not valid to add completely blank rows to a repeating row.\u00a0 You can, however, use an unused field that is not even on the layout in question.\u00a0 For example, to add three blank rows to a layout named MY_RR_LAYOUT, you could use this, utilizing the ALT_ID field which is not used on repeating rows and using a text field on the layout: <br class=\"\" \/><br class=\"\" \/><span class=\"fixedWidthFont\">{ADD ROW: TO <em>MY_RR_LAYOUT<\/em> <em>MY_TXT_FIELD<\/em> = <em>ALT_ID<\/em>};<\/span><br \/>\n<span class=\"fixedWidthFont\">{ADD ROW: TO <em>MY_RR_LAYOUT<\/em> <em>MY_TXT_FIELD<\/em> = <em>ALT_ID<\/em>};<\/span><br \/>\n<span class=\"fixedWidthFont\">{ADD ROW: TO <em>MY_RR_LAYOUT<\/em> <em>MY_TXT_FIELD<\/em> = <em>ALT_ID<\/em>};<\/span><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>I want to add a user&#8217;s personal signature to a letter or email I am going to send.\u00a0 How do I accomplish this?Users may store their photograph and their signature within their account settings.\u00a0 A common requirement is to place the current user&#8217;s signature within an HTML Area field, so it may be sent by email, or sent to a PDF to be used as an outgoing\u00a0letter. This requires the following configuration:\n<ul>\n<li>Have an HTML Area field within an <em>add<\/em> or <em>edit<\/em> screen<\/li>\n<li>Create an image field and place this on the same layout.\u00a0 This is used to hold the user&#8217;s signature, so it remains as part of the record and part of the audit trail<\/li>\n<li>Create a rule similar to:<br class=\"\" \/><br class=\"\" \/><code>&lt;== load ==&gt;<br \/>\nMY_IMAGE_FIELD = USER.{signature};<\/code><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>Within the HTML Area field have text such as <code>$$MY_IMAGE_FIELD$$<\/code>.\u00a0 This provides the link from the field containing the signature into the body of the email or letter that you are composing.<br class=\"\" \/><br class=\"\" \/><\/li>\n<\/ul>\n<\/li>\n<li>Setting a date field such as <code>DUE_DATE<\/code> will set the time of the entry to 12:00 AM unless the user explicitly sets the time.\u00a0 This means deadlines occur at the beginning rather than the end of the workday.\u00a0 How do I enforce setting the time to be at the end of the workday, rather than the beginning of the day? <br class=\"\" \/><br class=\"\" \/><code>&lt;== preupdate ==&gt;<br \/>\n{<br \/>\nDUE_DATE = SYSDAY;<br \/>\nDUE_DATE += 0.75<br \/>\n}<\/code><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>Use the click of a menubar button placed on an <em>add<\/em> or <em>edit<\/em> screen to update values within the current issue.\u00a0 The following rule updates two field values when the button is clicked: <code><br class=\"\" \/><br class=\"\" \/>if (MY_BUTTON.{changed}) {\n<p>PRODUCT_NAME = 'Tracker';<br \/>\nMODULE = 'API';<br \/>\n}<br \/>\n<\/code><br class=\"\" \/><br class=\"\" \/><\/li>\n<li>Place a button on a Related Issue Display which executes an action to update the issue on the row of the Related Issue Display.\u00a0 For example, you might want an action button that, when pressed, alters the\u00a0<strong>STATUS<\/strong>\u00a0of the issue to\u00a0<em><strong>Closed<\/strong><\/em>.\u00a0 Let&#8217;s say the menubar button is named\u00a0<code style=\"font-family: courier, monospace; color: #aa0000;\">MENU_UPDATE_STATUS<\/code>.\u00a0 The pressing of this button causes a business rule to trigger, thereby updating the issue: <br class=\"\" \/><br class=\"\" \/><code>window.doGridEditRIDRefresh('$$LAYOUT_ID$$');<\/code> <br class=\"\" \/><br class=\"\" \/>When the user clicks the button, the action replaces\u00a0<code>$$LAYOUT_ID$$<\/code>\u00a0with the name of the current layout, and the business rule picks up the change.\u00a0 Your business rule might then be: <br class=\"\" \/><br class=\"\" \/><code><br \/>\n&lt;== preupdate ==&gt;<br \/>\nif (PROJECT = 'Actions' &amp;&amp; MENU_UPDATE_STATUS.{changed} {<br \/>\nSTATUS 'Closed';<br \/>\n}<\/code> <br class=\"\" \/><br class=\"\" \/>Given this update is on a single row of the Related Issue Display, you might want to communicate this action to the parent record via a subsequent rule: <br class=\"\" \/><br class=\"\" \/><code>&lt;== postupdate ==&gt;<br \/>\n## use the childActions link to let the parent know that at least one child exists<br \/>\nif (PROJECT='Actions' &amp;&amp; (childActions).ID.{is not null}) {<br \/>\n{UPDATE:\u00a0childActions CHILDREN_EXIST\u00a0= 'YES'}<br \/>\n}<br \/>\n# Define the link for child actions to the parent record<br \/>\n&lt;== link\u00a0childActions\u00a0==&gt; RG(RG_NAME = RELATED_RESULTS, RG_TYPE = PARENTS) ==&gt;<\/code><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>How do I set the Assigned To of the issue to the person updating the issue, if the current value is null?if (ASSIGNED_TO={null} &amp;&amp; USER.{is internal}) { ASSIGNED_TO = USER; } How do I set the value of a field on the add screen?if (AREA=Issues &amp;&amp; PROJECT=Issues &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;) {FIELD_NAME=VALUE;} How do I set the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":24032,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-24088","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Business Rule How To Examples - Product Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Business Rule How To Examples - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"How do I set the Assigned To of the issue to the person updating the issue, if the current value is null?if (ASSIGNED_TO={null} &amp;&amp; USER.{is internal}) { ASSIGNED_TO = USER; } How do I set the value of a field on the add screen?if (AREA=Issues &amp;&amp; PROJECT=Issues &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;) {FIELD_NAME=VALUE;} How do I set the...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-13T19:39:02+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/\",\"url\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/\",\"name\":\"Business Rule How To Examples - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\"},\"datePublished\":\"2024-02-15T22:53:34+00:00\",\"dateModified\":\"2025-02-13T19:39:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ExtraView 25\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Administration Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Site Configuration Menu\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Business Rules\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Business Rule How To Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"name\":\"ExtraView Product Documentation\",\"description\":\"ExtraView Documentation\",\"publisher\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\",\"name\":\"ExtraView Corporation\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"contentUrl\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"ExtraView Corporation\"},\"image\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Business Rule How To Examples - Product Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/","og_locale":"en_US","og_type":"article","og_title":"Business Rule How To Examples - Product Documentation","og_description":"How do I set the Assigned To of the issue to the person updating the issue, if the current value is null?if (ASSIGNED_TO={null} &amp;&amp; USER.{is internal}) { ASSIGNED_TO = USER; } How do I set the value of a field on the add screen?if (AREA=Issues &amp;&amp; PROJECT=Issues &amp;&amp; SCREEN_NAME=&#8217;ADD&#8217;) {FIELD_NAME=VALUE;} How do I set the...","og_url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/","og_site_name":"Product Documentation","article_modified_time":"2025-02-13T19:39:02+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/","url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/","name":"Business Rule How To Examples - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v25\/#website"},"datePublished":"2024-02-15T22:53:34+00:00","dateModified":"2025-02-13T19:39:02+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/business-rule-how-examples-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":2,"name":"ExtraView 25","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":3,"name":"Administration Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/"},{"@type":"ListItem","position":4,"name":"Site Configuration Menu","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/"},{"@type":"ListItem","position":5,"name":"Business Rules","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/site-configuration-menu-1\/business-rules-1\/"},{"@type":"ListItem","position":6,"name":"Business Rule How To Examples"}]},{"@type":"WebSite","@id":"https:\/\/docs.extraview.com\/v25\/#website","url":"https:\/\/docs.extraview.com\/v25\/","name":"ExtraView Product Documentation","description":"ExtraView Documentation","publisher":{"@id":"https:\/\/docs.extraview.com\/v25\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.extraview.com\/v25\/#organization","name":"ExtraView Corporation","url":"https:\/\/docs.extraview.com\/v25\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/","url":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","contentUrl":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","width":512,"height":512,"caption":"ExtraView Corporation"},"image":{"@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"carl.koppel","author_link":"https:\/\/docs.extraview.com\/v25\/author\/carl-koppel\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/comments?post=24088"}],"version-history":[{"count":0,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24088\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24032"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/media?parent=24088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}