VerifyFutureBillablePeriod

Verify Future Billable Period

Minor Business Rule

Object Name: N1700890

Parent DLL: CCRIN

Location: Client/Server

Language: NER

1.Functional Description

1.1Purpose

This NER will be used to verify that the period being processed is not the last period that is eligible to be billed for a given contract.  


1.2Setup Notes and Prerequisites

This NER should be called only after it has been determined that the period initially being processed is eligible to be billed.


1.3Special Logic


2.Technical Specifications


2.4Processing 

//

//     Retrieve Fiscal year, Century, Period Number for Dates

//

F0008 Get Fiscal Year Period Number

F0008 Get Fiscal Year Period Number

F0010 Retrieve Company Constant Record

String, Convert String To Numeric

F0008 Get Period End Dates

//

//     Retrieve F15019 records based on DS parameter

//

If BF cRetrieveFrequencyFlagInfo is equal to "1"

   F15019 Retrieve Billing Frequency Data

End If

If BF cFiscalDatePattern is equal to  Or BF cFiscalDatePattern is equal to 

   Calculate Calendar Year

Else

F0008 Retrieve Fiscal Date Pattern
End If
//

//     Initialize Variables

//

VA evt_mnPeriodNumber_PN = VA evt_mnPeriodOfCurrentDate_PN

VA evt_mnCentury_CTRY = VA evt_mnCenturyOfCurrentDte_CTRY

VA evt_mnFiscalYear_FY = VA evt_mnFYOfCurrentDate_FY

BF cLastPeriod = "Y"

VA evt_cFirstPass_EV01 = "Y"

//

//     Checking that current period is not the same period as Bill End Date

//

If VA evt_mnPeriodOfCurrentDate_PN is equal to VA evt_mnPeriodOfEndDate_PN

And VA evt_mnFYOfCurrentDate_FY is equal to VA evt_mnFYOfEndDate_FY

And VA evt_mnCenturyOfCurrentDte_CTRY is equal to VA evt_mnCenturyOfEndDate_CTRY

   BF cLastPeriod = "Y"

Else

   VA evt_mnPeriodNumber_PN = [VA evt_mnPeriodNumber_PN]+1

   VA evt_mnPeriodsChecked_MATH01 = "1"

   //

   //     If Current FY and End FY's are different

   //

   If VA evt_mnFYOfCurrentDate_FY is not equal to VA evt_mnFYOfEndDate_FY

      VA evt_cStopFlag_EV01 = "N"

      While VA evt_mnPeriodNumber_PN is less than VA evt_mnCompanyNoOfPeriods_PN

      And VA evt_cStopFlag_EV01 is equal to "N"

         //

         //     Get Periods End Date

         //

         Calculate Begin Date of Period

         Verify Billing Frequency Eligibility

         If VA evt_cBillableByFrequency_EV01 is equal to "1"

            BF cLastPeriod = "N"

            VA evt_cStopFlag_EV01 = "Y"

         Else

            VA evt_mnPeriodNumber_PN = [VA evt_mnPeriodNumber_PN]+1

            VA evt_mnPeriodsChecked_MATH01 = [VA evt_mnPeriodsChecked_MATH01]+1

         End If

      End While

      If VA evt_cStopFlag_EV01 is equal to "N"

         //

         //     Loop through periods of next fiscal year

         //

         VA evt_cStopFlag_EV01 = "N"

         While VA evt_mnPeriodsChecked_MATH01 is less than "15.00"

         And VA evt_cStopFlag_EV01 is equal to "N"

            If VA evt_mnFiscalYear_FY is equal to VA evt_mnFYOfEndDate_FY

            And VA evt_mnPeriodNumber_PN is greater than VA evt_mnPeriodOfEndDate_PN

               VA evt_cStopFlag_EV01 = "Y"

               BF cLastPeriod = "Y"

            Else

               //

               //     Increment Fiscal Year

               //

               If VA evt_mnFiscalYear_FY is equal to "99"

                  VA evt_mnFiscalYear_FY = "00"

                  VA evt_mnCentury_CTRY = [VA evt_mnCentury_CTRY]+1

                  VA evt_mnPeriodNumber_PN = "1"

               Else

                  VA evt_mnFiscalYear_FY = [VA evt_mnFiscalYear_FY]+1

                  VA evt_mnPeriodNumber_PN = "1"

               End If

               If VA evt_cFirstPass_EV01 is equal to "Y"

                  //

                  //     Get new Period End Dates

                  //

                  F0008 Get Period End Dates

                  //

                  //     Get new Frequency Dates

                  //

                  If BF cFiscalDatePattern is equal to  Or BF cFiscalDatePattern is equal to 

                     Calculate Calendar Year

                  Else

                     F0008 Retrieve Fiscal Date Pattern

                  End If

                  VA evt_cFirstPass_EV01 = "N"

               End If

               Calculate Begin Date of Period

               Verify Billing Frequency Eligibility

               If VA evt_cBillableByFrequency_EV01 is equal to "1"

                  BF cLastPeriod = "N"

                  VA evt_cStopFlag_EV01 = "Y"

               Else

                  VA evt_mnPeriodNumber_PN = [VA evt_mnPeriodNumber_PN]+1

                  VA evt_mnPeriodsChecked_MATH01 = [VA evt_mnPeriodsChecked_MATH01]+1

               End If

            End If

         End While

      End If

   Else

      //

      //     Fiscal Year's are the same in Bill Thru Date and Bill End Date

      //

      VA evt_cStopFlag_EV01 = "N"

      While VA evt_mnPeriodNumber_PN is less than or equal toVA evt_mnPeriodOfEndDate_PN

      And VA evt_cStopFlag_EV01 is equal to "N"

         Calculate Begin Date of Period

         Verify Billing Frequency Eligibility

         If VA evt_cBillableByFrequency_EV01 is equal to "1"

            BF cLastPeriod = "N"

            VA evt_cStopFlag_EV01 = "Y"

         Else

            VA evt_mnPeriodNumber_PN = [VA evt_mnPeriodNumber_PN]+1

            VA evt_mnPeriodsChecked_MATH01 = [VA evt_mnPeriodsChecked_MATH01]+1

         End If

      End While

   End If

End If


Data Structure

D1700890 - Verify Future Billable Period

Parameter NameData ItemData TypeReq/OptI/O/Both
szCompanyCOcharOPTNONE

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.

jdCurrentDateDTEJJDEDATEOPTNONE

The Julian Date

jdEndDateDTEJJDEDATEOPTNONE

The Julian Date

cRetrieveFrequencyFlagInfoEV01charOPTNONE

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

cBillingFrequencyCodeBLFCcharOPTNONE

A code that indicates the billing cycle. The code that you enter must exist in the Billing Frequency Master table (F15019).

cFiscalDatePatternDTPNcharOPTNONE

A code that identifies date patterns. You can use one of 15 codes. You must set up special codes (letters A through N) for 4-4-5, 13-period 
accounting, or any other date pattern unique to your environment. An R, the default, identifies a regular calendar pattern.

cSuppressErrorMessageSUPPScharOPTNONE

A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.        0 = allow 
runtime error message handling.        1 = suppress runtime error message handling.

szErrorMessageIDDTAIcharOPTNONE

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

cLastPeriodEV01charOPTNONE

N = No, this is not the last billable period.

Y = Yes, this is the last billable period.

^

cBillingPeriod01BF01charOPTNONE

Corresponds to Calendar billing period 01, typically January, or to the first fiscal period of the billing year.

cBillingPeriod02BF02charOPTNONE

A value that corresponds to calendar billing period 02, typically February, or to the second fiscal period of the billing year. This value might 
also refer to billing period 2 of a weekly billing cycle.

cBillingPeriod03BF03charOPTNONE

Corresponds to Calendar billing period 03, typically March, or to the third period of the billing year.

cBillingPeriod04BF04charOPTNONE

Corresponds to Calendar billing period 04, typically April, or to the fourth fiscal period of the billing year.

cBillingPeriod05BF05charOPTNONE

Corresponds to Calendar billing period 05, typically May, or the fifth fiscal period of the billing year.

cBillingPeriod06BF06charOPTNONE

Corresponds to Calendar billing period 06, typically June, or to the sixth fiscal period of the billing year.

cBillingPeriod07BF07charOPTNONE

Corresponds to Calendar billing period 07, typically July, or to the seventh fiscal period of the billing year.

cBillingPeriod08BF08charOPTNONE

Corresponds to Calendar billing period 08, typically August, or to the eighth fiscal period of the billing year.

cBillingPeriod09BF09charOPTNONE

Corresponds to Calendar billing period 09, typically September, or to the ninth fiscal period of the billing year.

cBillingPeriod10BF10charOPTNONE

Corresponds to Calendar billing period 10, typically October, or to the tenth fiscal period of the billing year.

cBillingPeriod11BF11charOPTNONE

Corresponds to Calendar billing period 11, typically November, or to the eleventh fiscal period of the billing year.

cBillingPeriod12BF12charOPTNONE

Corresponds to Calendar billing period 12, typically December, or to the twelfth fiscal period of the billing year.

cBillingPeriod13BF13charOPTNONE

Corresponds to special billing period 13.  If thirteen periods are used it infers that a date pattern is used to control Property Management 
billing, or the fiscal period.

cBillingPeriod14BF14charOPTNONE

Refers to period 14 of the billing cycle. Primarily used in Property Management to extend the periodic billing cycle for weekly billings.

Related Functions

None

Related Tables

None