End of Period [U04]: Overview

Contents

Introduction

EOP is a group of updates and reports, executed automatically in a batch (non-interactive) environment. EOP is executed separately for each portfolio. All interactive updating (i.e., data entry) for the portfolio is prohibited while EOP is processing.

A normal EOP process is composed of several steps:

  1. EOP is submitted to a batch queue for later execution by a designated LeasePak operator at the close of the day, month and/or year, using the Submit update [U0401].

  2. Data files and other applicable files are backed up by a system operator.

  3. The administrator will usually have set EOP to begin processing after backups are completed. EOP automatically submits a batch job for each of the modules (updating/reporting) scheduled to perform. These batch jobs may be executed in parallel to better use the system’s resources.

    Note: Data file backups must be synchronized to be performed only when daily updating for all portfolios is complete.

Reports are created separately for each portfolio. Completion of the entire EOP process is not dependent on other portfolios (e.g., if one EOP terminates abnormally, others may complete successfully, assuming the same problem does not exist in other portfolios).

The elapsed execution time of all EOP processes for the entire database may decrease if each portfolio is assigned a separate EOP batch queue, thus allowing each portfolios to execute its EOP processes simultaneously.

 

In This Document


In Related Documents

 

Module List

This section summarizes the EOP modules. It may be used as a reference list of all EOP modules, or to determine the effects of skipping/restarting a specific module.

EOP modules in the following list are shown in order of execution. That is, the modules are executed in this order if EOP is executed sequentially. With sequential execution, only one module executes at a time. The previous module must complete before the next module may begin. If modules are executed in parallel, execution and completion of modules may change because certain modules may execute earlier if they are not dependent on any as yet uncompleted modules.

To summarize, when executing EOP sequentially, the priority is used to determine which module to execute next. When executing EOP in parallel, both the priority and module dependencies are used to determine which module(s) to execute next.

For each module, the following items are listed:

 

EOP Module List (In order of Execution)

EOP MODULENUMBERGROUP UPDEOP ONLYSKIP INSTRUCTIONS
EOP StartU0410Any  YESDo not skip unless ALL modules of EOP are also skipped.
Batch AssessmentsU0418Day *YES 
Vertex InterfaceU0437Day *YES 
Cycle AccrualsU0301Acc * If skipped, also skip Cycle Invoices [U0302] and Cycle Invoices (Formatting) [U0457].
Automatic Lease ExtensionU0430Day *YES 
Notes Payable AccrualU0905Day * If skipped, note outstanding balances and calculated interest amounts are not updated for the current month.
Sequential UpdatesU0411Day* YES If skipped, also skip Sequential Updates Post- processor [U0412]
Batch Payments - Seq Upd U0415 Day * YES  
Auto Susp Income - Seq Upd U0439 Day * YES  
Auto Charge Off - Seq Upd U0440 Day * YES  
Maturing Lease Init - Seq Upd U0431 Day    
Collateral Init - Seq Upd U0432 Day    
Vendor Totals - Seq Upd U0441 Month    
Portfolio Status - Seq Upd U0442 Month    
Depreciation - Seq Upd U0443 Month    
ITC Accrual - Seq Upd U0444 Month    
Missing Aux Elem - Seq Upd U0445 Month    
Late Charges - Seq Upd U0433 Month    
Cycle Invoices -Seq Upd U0302 Inv *   If skipped, also skip Cycle Invoices (Formatting) [U0457].
Assumed Payments - Seq Upd U0414 Day * YES  
Preauth Payments - Seq Upd U0304 Day *   
Sequential Updates Post-processor U0412 Day * YES Do not skip unless the Sequential Updates [U0411] is also skipped.
Sequential Updates Post-merge U0413 Day * YES Do not skip unless the Sequential Updates [U0411] is also skipped.
Cycle Invoices (Formatting) U0457 Inv *   
Vendor ACH U0424 Day * YES  
Vendor Income Participation R0801 Month *   
Vendor Payment Participation R0805 Month *   Do not skip unless all End of Month modules are also skipped.
Investor Income Participation R0701 Month *   
Investor Settlement U0124 Day *   
Use Tax Disbursal U0449 Month * YES  
Cashier’s Check Disbursal U0117 Day *   
Loan Accrual U0455 Month * YES  
Maintenance Report U0416 Day   YES  
General Ledger Reconciliation R0403 Month    
Trial Balance R0901 Month    
Accounts Receivable Balancing R0404 Month    
Income Receivable Balancing R0407 Month    
Accounts Payable Balancing R0408 Month    
Cash Receipts Journal R0411 Month    
Assessments Receivable Aging R0607 Month    
Vendor Delinquency R0603 Month    
Off Lease Inventory R1001 Month    
Suspense Review R0203 Day *   
Insurance Status Update U0421 Day * YES  
New Lease Earnings R0101 Month    
Accounts Balances R0103 Month    
Book Gain/Loss R0108 Month    
Operator’s Status Review R0202 Month    
Salesperson Commission R0204 Month    
Turnaround Timing R0503 Day    
Delinquency R0601 Month    
Lease Inventory R0902 Month    
Certificate of Ownership R0903 Month    
Insurance Follow-Up R0904 Month    
Paid Off Leases R0912 Month    
Portfolio Status R0104 Month    
Taxable Income R0301 Month    
Tax Depreciation R0304 Month    
Investment Tax Credit Listing R0302 Month    
Investment Tax Credit Review R0303 Month    
Energy Tax Credit Listing R0307 Month    
Energy Tax Credit Review R0308 Month    
Daily Transaction Journal R0405 Day    
Notes Transaction Journal R1205 Day    
Monthly Transaction Journal U0456 Month    
Monthly Notes Transaction Journal R1205 Month    
General Ledger Entries Listing R0406 Day    
Rental Income R0409 Month    
G/L Interface to In-House System U1003 Day * YES If skipped, also skip Zero Daily General Ledger Accounts update [U0422].
Zero Daily General Ledger Accounts U0422 Day * YES  
Zero Monthly G/L Account U0450 Month * YES  
Historical General Ledger R0410 Month    
Application Activity Log R0501 Day    
New Lease Letters U0417 Day * YES  
Monthly Application Summary R0507 Month    
Insurance Tracking U1002 Month *   
Closed Lease Cleanup U0419 Day * YES  
Vendor File Cleanup U0423 Month * YES  
Historical Payment/DTX Cleanup U0451 Month * YES  
Lease Level Trans DTY Cleanup U0452 (no longer needed) (appropriate transactions are generated at lease level)
Application File Cleanup U0453 Month * YES  
Year End File Build U0481 Year * YES Do not skip unless all End of Month modules are also skipped. If skipped, also skip all End of Year reports ([U0603], [U0604], [U0606], [U0607], [U0483], and [U0484]) and the Clear Year to Date Fields update [U0482].
Investment Tax Credit Listing (EOY) U0603 Year    Skip if the Year End File Build update [U0481] is skipped.
ITC Review (EOY) U0604 Year    Skip if the Year End File Build update [U0481] is skipped.
Depreciation (EOY) U0606 Year    Skip if the Year End File Build update [U0481] is skipped.
Gain / Loss (EOY) U0607 Year    Skip if the Year End File Build update [U0481] is skipped.
Energy Tax Credit Listing (EOY) U0483 Year    Skip if the Year End File Build update [U0481] is skipped.
Energy Tax Credit Review (EOY) U0484 Year    Skip if the Year End File Build update [U0481] is skipped.
Zero Monthly G/L Accounts (EOY) U0450 Year *   Skip if the Year End File Build update [U0481] is skipped.
Clear Year to Date Fields U0482 Year * YES Skip if the Year End File Build update [U0481] is skipped.
EOP End U0499 Any * YES Skip only if EOP Start is skipped.

 

Batch Jobs


Each module of EOP (e.g., Accruals, Maintenance Report, Trial Balance, etc.) is its own batch job. Therefore, a large number of batch jobs is produced and queued to the specified EOP batch queue. For this reason, a batch queue separate from the system batch queue (SYS$BATCH) should be set up for each portfolio’s EOP process. This avoids clogging the system batch queue with EOP jobs.

 

Dependencies


There is a precise order in which each EOP module is executed. All General Ledger updating, for example, must be performed before the Daily Transaction Journal is created, so that the transaction journal for the day will be complete. This would seem to indicate that modules must be executed in sequence, each module waiting for the previous one to complete before starting. This may not be the case, however.

Several modules may be executed in parallel if they are not dependent on any other modules which are currently executing or are waiting to be executed. Executing in parallel means that several modules may execute at the same time, thereby more effectively using computer resources. Dependencies refer to relationships between modules. For example, a module is dependent on another module if it must use data that the other is generating or, conversely, if it must clear or delete data that the other is using. In the example in the previous paragraph, the Daily Transaction Journal is dependent on programs which update the General Ledger (e.g., Accrual update).

Dependencies define "parent-child" relationships between modules. Module 1 is a parent to module 2 if it must complete before module 2 may begin. Module 1 is not a parent to module 2 if it has no relationship or bearing on processing module 2. For example, the Accrual update [U0301] is a parent

to the Daily Transaction Journal [R0405], because the Accrual update may produce General Ledger transactions that must be reported on the Daily Transaction Journal. Module 2 is a "child" of module 1 if module 2 must wait for module 1 to complete before it may begin. Using the same example, the Daily Transaction Journal is a child of the Accrual update.

Parent-child relationships determine the modules which may be executed in parallel. Again using the above example, the Accrual update and the Maintenance report, which do not depend on each other, may execute at the same time, while the Daily Transaction Journal must wait for the Accrual update to complete before it may begin.

EOP determines the parent-child relationships between all modules and automatically determines which modules may execute and which modules must wait. For the modules which must wait, EOP automatically monitors them and starts them when their parents are complete.

 

Multiple Processes


In certain cases, it may be beneficial to split the processing of updates into multiple processes. That is, instead of executing an update once for the portfolio, it may be slated to execute several times, each time processing a different set of leases in the portfolio. These separate jobs may then execute in parallel, thereby more fully using the computer’s capabilities.The Sequential Updates Post Processor [U0412] and Sequential Updates Post Merge [U0413] then consolidate results of parallel processing.

Multiple process is available only for the Sequential update [U0411] of EOP. This update performs many varied tasks, and uses the bulk of the processing time required by EOP.

There are performance trade-offs when executing multiple processes rather than a single process. Analysis of the portfolio should be performed by an MSI representative before using this multiple processing capability of LeasePak.

 

EOP Queue Priority

LeasePak automatically adjusts the priority at which certain EOP modules are executed. The following modules are not adjusted; they run at whatever priority assigned them for the EOP queue:

Refer to the module list above for standard priorities. All other modules execute at the EOP queue priority for the first 3 to 6 CPU seconds and then have their priority lowered by 1 (if the EOP queue has a priority greater than 1). This allows the more critical EOP jobs to run faster.

If other low priority jobs are to be executed simultaneously with the EOP process, it may therefore be advisable to increase the EOP queue priority by 1.

 

Module Status Definitions


This section describes EOP module statuses in more detail. It may be used as a reference for any update or report which shows module statuses (e.g., the EOP Status Review report [U0402] or the Halt/Restart/Skip update [U0404]).

Each module of EOP has a current status associated with it. The status indicates that the module has completed successfully, is currently executing or waiting to execute, or has started executing and stopped without completing. The status assists in determining if the EOP process has completed successfully or if some intervention is required in order to allow it to complete.

EOP statuses are:

 

End of Period Start [U0410]

This module performs the following:

When End of Period is submitted by the LeasePak operator using the Submit update [U0401], a single job is placed on the End of Period batch queue. This batch job, when released, executes the End of Period Start module. The End of Period Start module queues all the other End of Period modules to the batch queue.

Skip Comments: This module should not be skipped unless all of the End of Period is also skipped.

 

End of Period End [U0499]

This module completes the End of Period process by:

Refer to the CCA Accrual update [U1501] for more information.

Skip Comments: The End of Period End module [U0499] may be skipped only if End of Period Start [U0410] is skipped (that is, it may not be skipped by itself). If this module is skipped, updates are unlocked but the next execution dates are unchanged.

To skip execution of the Collection module after the Collection initialization program has already begun execution: