AREFCalcExistingLeaseRevenue

AREF Calculate Existing Lease Revenue

Minor Business Rule

Object Name: N15L0003

Parent DLL: CCRIN

Location: Client/Server

Language: NER

N15L0003 - AREF Calculate Existing Lease Revenue
This function is designed to calculate lease revenue for a given unit's lease for all periods in the lease.  The lease revenue comes from 
existing recurring billing records or AREF assumptions.  If there are no recurring billing entries, AREF Assumption Rules will be used for the given 

Building /Revision combination.  The lease revenue is written to the F15L109 file.  This function also assumes all unlocked lease revenue 

records have been deleted before entry into this BSFN.


D15L0003:
NameAliasI/OReqDescription
BuildingMCUIYAREF Building to calculate lease 

revenue

UnitUNITIYAREF Unit to calculate lease revenue

Revision NumberRVNBIYRevision Number of Budget 

Calculation

Unit Sq. FootageSUSAIYSqare Footage of Unit 

(based on Area Type)

Lease NumberDOCOIYReal Estate module's Lease 

Number; Zero means AREF estimated lease

Lease TypeEV01O Lease type - (L = Real Estate 

Production Lease,  A = AREF Estimated Lease

Lease Rev Begin DateEFTBIYStarting lease date

Lease Rev End DateEFTEIYEnding lease date

Budget Begin DateEFTBI Starting budget date

Budget End DateEFTEI Ending budget date

Retrieval Bill Code 1GLCI Bill Code used to 

retrieve recurring billing data (Detail Assumption only)

Retrieval Bill Code 2GLCI Bill Code used to 

retrieve recurring billing data (Detail Assumption only)

Retrieval Bill Code 3GLCI Bill Code used to 

retrieve recurring billing data (Detail Assumption only)

Subledger TypeSBLI Type of Subledger for unit 

number

Apply AREF RulesEV01I 0 = Only use Recurring 

Billing - Bypass AREF Rules for all periods1 = Use AREF Rules when Recurring Billing records have not been processed during the period2 = Only use 

AREF Rules - Bypass Recurring Billing for all periods3 = Use AREF Rules after all Recurring Billing records have ended during the lease term

Update Budget ResultsEV01I 0 = Does not 

update the F15L109

1 = Updates the F15L109 with calculated lease revenue
GLG6OBJIYAAI range for determining revenue accounts
GLG7OBJIYAAI range for determining revenue accounts

GLG11OBJIYAAI range for determining revenue accounts

GLG13OBJIYAAI range for determining revenue accounts

Lease RevenueAN01O Lease Revenue for entire 
lease or specified period of lease

CompanyCOI Company of AREF Building

PropertyMCUSI Property Number of AREF Building

Computer IDCTIDIYComputer ID for cache 

retrieval

Called from Detail AsmpEV01IYFlag to indicate if 

called from Detail assumptions BSFN


Name Event Rule
Initialize and error check BF Apply AREF Rules
Initialize and error check BF F15L109 Update

If called from detail assumptions is zero blank or null

Adjust lease revenue begin and end dates to budget begin and end dates

Initialize Lease Revenue to zero

If Lease Type is "L" (Real Estate Production Lease)

Set RB Select Number to zero
If any Retrieval Bill codes are not blank,

Set check all bill codes to false
If Retrieval Bill Code 1 blank, set RBEnded(1) true

If Retrieval Bill Code 2 blank, set RBEnded(2) true

If Retrieval Bill Code 3 blank, set RBEnded(3) true

Else
Set check all bill codes to true
Set RBEnded(1) and RBEnded(2) and RBEnded(3) to true
else
Set RBEnded(1) and RBEnded(2) and RBEnded(3) to true
Get period and century/fiscal years for lease begin and end dates
Set processing period/century/fiscal year to lease begin period/century/fiscal year

Get processing period begin and end dates - B15L0006 (NEW)

If return status failed, Insert dates into cache - B15L0006 (NEW)

While processing period/century/fiscal year less than or equal to lease end period/century/fiscal year

Get Number of processing days
Initialize Do No Process, Recurring Billing Processed, and RB Select Number flags

If BF Lease Type is "L", set CheckRB to true.  Else, set CheckRB to false

Set work billing date for recurring billing

If BF Apply AREF Rules not equal 2

If CheckRB equal true
While RBCodesFound false
If check all bill codes true
Select all RB bill codes
Set RBCodes Found to true

else
Initialize BillingStatusEndFlag
Loop through each retrieval bill code based on RBSelect Number

After all 3 selects, set RBCodesFound to true

Fetch F1502B record
If fetch unsuccessful

Set corresponding RBEnded flag to true based on RBSelect Number
While fetch successful
Retrieve default information
If do not process false

Check Lease Info - set do not process flag
If do not process false
Check Rent Bill Code UDC
Validate bill code/AAI

If valid bill code and account id

Retrieve F15L109 Cache record by account, subledger, fiscal year - B15L0002 (NEW)
If record exists true

If lock flag is true
Set do not process flag true
Add period amounts to lease revenue

Else
Initialize net posting amounts
Else
Set do not process flag true
If do not process false
Check billable period/billing status (existing code validations)
If bill code billable for period/century/fiscal year

Calculate proration on recurring billing amount based on lease dates and billing frequency cycle
If update budget results is true
Add billing period amount to appropriate cache period bucket
Insert F15L109 cache record - B15L0002 (NEW)
Add billing amount to Lease Revenue
Set recurring billing processed to true

else
If recurring billing processed is false
Set CheckRB to false


Assign RBEnded flags from BillingStatusEnded flag based on RBSelect Number

Fetch next F1502B record

End While
If recurring billing processed is false and no F15L109 were locked
Set CheckRB to false
If BF Apply AREF Rules equal to 1 OR 2 OR (3 AND RBEnded(1), RBEnded(2), RBEnded(3) equal true)
If CheckRB and Recurring Billing Processed equal false
If processing period/century/fiscal year greater than active assumption dates
Fetch active unit assumption, action - AREF Get Assumption Terms - N15L1091 1
Fetch active unit assumption information from F15L102

If assumption not blank or null
Calculate Free Rent period/fiscal year range
Check free rent for current period

Set applicable assumption bill code, market rates (by action), and growth pattern
Validate bill code/AAI

If valid bill code and account id

Retrieve F15L109 Cache record by account, subledger, fiscal year - B15L0002 (NEW)
If record exists true

If lock flag is true
Set do not process flag true
Add period amounts to lease revenue

Else
Initialize net posting amounts
Else
Set do not process flag true
If do not process false
Calculate revenue amount to grow
Calculate Year in Budget for growing amounts

AREF Grow Amount N15L1091

De-annualize grown lease revenue (by number of periods in fiscal year)

Calculate proration on recurring billing amount based on lease dates

If free rent month, check GLGs for debit to revenue account (multiply by -1)

Add billing amount to Lease Revenue

If update budget results is true
Add billing period amount to appropriate cache period bucket
Insert F15L109 cache record - B15L0002 (NEW)
Increment processing period and century/fiscal year
Get processing period begin and end dates - B15L0006 (NEW)

If return status failed, Insert dates into cache - B15L0006 (NEW)

End While - processing period

Data Structure

D15L0003 - AREF Calculate Existing Lease Revenue

Parameter NameData ItemData TypeReq/OptI/O/Both
szBuildingMCUcharREQINPUT

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

szUnitNoUNITcharREQINPUT

The number that identifies the actual space within a building that is or can be leased, such as an apartment, office, retail space, parking 
space, and so on.

mnRevisionNumberRVNBMATH_NUMERICREQINPUT

A number that specifies a unique budget revision. You store multiple revisions of information you set up and calculated budget information 
within the system.  The system stores each "what-if" scenario according to the budget revision number you assign.

mnUnitSqFootage_SUSASUSAMATH_NUMERICREQINPUT

You can use this field to enter an override square footage amount to use when calculating Sales Overage Billings.  Square footage may be 
assigned at the Property/Building, Floor, Unit or Lease level; it can be overridden by the Product Scales specifications for selected 
Leases.  Square footage entered here relates to the combination of DBA, Product Code, Building, and Unit identified on the same line.  It does not 
relate to the ULI Code or Reporting Codes.

mnLeaseNumber_DOCODOCOMATH_NUMERICREQINPUT

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

cLeaseType_EV01EV01charREQINPUT

An option that specifies the type of processing for an event.

jdLeaseRevBeginDate_EFTBEFTBJDEDATEREQINPUT

The date that an address, item, transaction, or table record becomes active.  The meaning of this field differs, depending on the program.  
For example, the effective date could represent the following:    o When a change of address becomes effective.   o When a lease becomes 
effective.   o When a price becomes effective.   o When the currency exchange rate becomes effective.   o When a tax rate becomes effective. 

jdLeaseRevEndDate_EFTEEFTEJDEDATEREQINPUT

The date on which the item, transaction, or table becomes inactive, or through which you want transactions to appear. This field is used 
generically throughout the system. It could be a lease effective date, a price or cost effective date, a currency effective date, a tax rate effective 
date, or whatever is appropriate.

jdBudgetBeginDate_EFTBEFTBJDEDATEREQINPUT

The date that an address, item, transaction, or table record becomes active.  The meaning of this field differs, depending on the program.  
For example, the effective date could represent the following:    o When a change of address becomes effective.   o When a lease becomes 
effective.   o When a price becomes effective.   o When the currency exchange rate becomes effective.   o When a tax rate becomes effective. 

jdBudgetEndDate_EFTEEFTEJDEDATEREQINPUT

The date on which the item, transaction, or table becomes inactive, or through which you want transactions to appear. This field is used 
generically throughout the system. It could be a lease effective date, a price or cost effective date, a currency effective date, a tax rate effective 
date, or whatever is appropriate.

szRetrievalBillCode1_GLCGLCcharOPTINPUT

A code that determines the trade account that the system uses as the offset when you post invoices or vouchers. The system concatenates 
the value that you enter to the AAI item RC (for Accounts Receivable) or PC (for Accounts Payable) to locate the trade account. For 
example, if you enter TRAD, the system searches for the AAI item RCTRAD (for receivables) or PCTRAD (for payables).  You can assign up to four 
alphanumeric characters to represent the G/L offset or you can assign the three-character currency code (if you enter transactions in a 
multicurrency environment). You must, however, set up the corresponding AAI item for the system to use; otherwise, the system ignores the G/L 
offset and uses the account that is set up for PC or RC for the company specified.  If you set up a default value in the G/L Offset field of the 
customer or supplier record, the system uses the value during transaction entry unless you override it.  Note: Do not use code 9999. It is reserved for 
the post program and indicates that offsets should not be created.

szRetrievalBillCode2_GLCGLCcharOPTINPUT

A code that determines the trade account that the system uses as the offset when you post invoices or vouchers. The system concatenates 
the value that you enter to the AAI item RC (for Accounts Receivable) or PC (for Accounts Payable) to locate the trade account. For 
example, if you enter TRAD, the system searches for the AAI item RCTRAD (for receivables) or PCTRAD (for payables).  You can assign up to four 
alphanumeric characters to represent the G/L offset or you can assign the three-character currency code (if you enter transactions in a 
multicurrency environment). You must, however, set up the corresponding AAI item for the system to use; otherwise, the system ignores the G/L 
offset and uses the account that is set up for PC or RC for the company specified.  If you set up a default value in the G/L Offset field of the 
customer or supplier record, the system uses the value during transaction entry unless you override it.  Note: Do not use code 9999. It is reserved for 
the post program and indicates that offsets should not be created.

szRetrievalBillCode3_GLCGLCcharOPTINPUT

A code that determines the trade account that the system uses as the offset when you post invoices or vouchers. The system concatenates 
the value that you enter to the AAI item RC (for Accounts Receivable) or PC (for Accounts Payable) to locate the trade account. For 
example, if you enter TRAD, the system searches for the AAI item RCTRAD (for receivables) or PCTRAD (for payables).  You can assign up to four 
alphanumeric characters to represent the G/L offset or you can assign the three-character currency code (if you enter transactions in a 
multicurrency environment). You must, however, set up the corresponding AAI item for the system to use; otherwise, the system ignores the G/L 
offset and uses the account that is set up for PC or RC for the company specified.  If you set up a default value in the G/L Offset field of the 
customer or supplier record, the system uses the value during transaction entry unless you override it.  Note: Do not use code 9999. It is reserved for 
the post program and indicates that offsets should not be created.

cSubledgerType_SBLTSBLTcharOPTINPUT

A user defined code (00/ST) that is used with the Subledger field to identify the subledger type and how the system performs subledger 
editing. On the User Defined Codes form, the second line of the description controls how the system performs editing. This is either hard-coded 
or user defined. Valid values include: A Alphanumeric field, do not edit   N Numeric field, right justify and zero fill   C Alphanumeric field, right 
justify and blank fill  

cApplyAREFRules_EV01EV01charOPTINPUT

An option that specifies the type of processing for an event.

cUpdateBudgetResults_EV01EV01charOPTINPUT

An option that specifies the type of processing for an event.

szGLG6_OBJOBJcharREQINPUT

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

szGLG7_OBJOBJcharREQINPUT

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

szGLG11_OBJOBJcharREQINPUT

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

szGLG13_OBJOBJcharREQINPUT

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

mnLeaseRevenue_AN01AN01MATH_NUMERICOPTOUTPUT

A number that represents the net amount posted during the accounting period. The system uses the accounting periods from the Company 
Constants table (F0010). The net amount posted is the total of all debits and credits, beginning with the first day of the period through the last 
day of the period.

szCompany_COCOcharREQINPUT

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

szProperty_MCUSMCUScharOPTINPUT

Either a subsequent business unit or a project number. A subsequent business unit specifies where to charge costs (or revenues) when the 
original business unit has been closed or suspended. For example, the subsequent business unit can be used in corporate reorganizations 
when you close a business unit and direct all costs to the subsequent business unit. In this situation, you must enter journal entries to transfer 
existing balances. A project number is used to group business units within an overall business unit. For example, you can group jobs by 
project. In this case, the project business unit can also have accounts for tracking overhead costs that can be allocated to jobs.

szComputerID_CTIDCTIDcharREQINPUT

cCalledFromDetailAsmp_EV01EV01charOPTINPUT

An option that specifies the type of processing for an event.

cAsmp1TermCalculationEV01charOPTINPUT

An option that specifies the type of processing for an event.

cAddDowntimeEV01charOPTNONE

An option that specifies the type of processing for an event.

jdOriginalBudgetEndDateEFTEJDEDATEOPTNONE

The date on which the item, transaction, or table becomes inactive, or through which you want transactions to appear. This field is used 
generically throughout the system. It could be a lease effective date, a price or cost effective date, a currency effective date, a tax rate effective 
date, or whatever is appropriate.

Related Functions

None

Related Tables

None