Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

ETSmanual_excerpt

VIEWS: 10 PAGES: 214

									Tetra Tech, Inc.



ETS SYSTEMS MANUAL (excerpt)




ETS SYSTEMS MANUAL A-FRAME DOCUMENT #6200   April 10, 2001
                                                                                       Release Notes




Release Notes
                  DOCUMENT #6201, A PRIL 12, 2001
       NOTE       THIS IS AN EXCERPT OF THIS MANUAL. THEREFORE, SOME LINKS MAY NOT
                  WORK, OR TABLE OF CONTENTS ENTRIES MAY NOT ACTUALLY EXIST.


                  As of April 12, 2001, further written technical documentation of ETS is not sched-
                  uled. For this reason, this manual does not document all functions and subsystems of
                  ETS.
                  This release includes sections on the Login, Inbox, Timesheet Entry, Expense Report
                  Entry, Supervisor Approval, Link Lines, Labor Charge Authorization, and the admin-
                  istrative functions in the Tools Menu.

                  Included in this release
                           Release Notes
                           Executive Summary
                           Overview
                           Table of Contents
                              Outlines the contents of the entire Systems Manual
                           Section 2: Login
                           Section 3: Inbox
                           Section 4: Timesheet Entry
                           Section 5: Enter Expense Reports
                           Section 7: Labor Charge Authorization
                              (The LCA section is still undergoing technical review)
                           Section 8: Supervisor Approval
                           Section 9: Administrative Functions: The Tools Menu
                           Section 10: The Link Lines
                           Section 12: A-Frame Class Reference
                              A-Frame generic Java classes relating to the above included sections
                           Section 13: Tetra Tech Class Reference
                              Tetra-Tech wide Java classes relating to the above included sections
                           Section 14: ETS Class Reference
                              ETS-specific Java classes relating to the above included sections
                           Section 15: Stored Procedures
                              SQL Stored Procedures relating to the above included sections
                           Index
                              A standard index


                  Other related documentation
                           ETS Javadoc
                              The ETS Javadoc is a separate document that details class methods and
                              variables. This release includes packages supporting all functions docu-
                              mented in this release.



ETS SYSTEMS MANUAL                                      4/10/01                                      Page i
A-Frame Technical Documentation #6201
                                                                                      Release Notes




                           ETS Labor Law
                              ETS Labor Law is included in this package because it complements and in
                              some ways overlaps the Link Lines documentation.
                           WorkMovr Database and Tetra Tech Data mapping, Release 2.2.3C
                              The WorkMovr Database Manual is included in this package and
                              hyperlinks to the systems manual in a few places.


                  Release Schedule.

Release Status     Section                                                Date
   Released        The Link Line functions and updated ETS Labor          Wed., Nov. 8, 2000
                   Law
   Released        Login, Inbox & Timesheet Entry -- preliminary          Fri., January 5, 2001
                   drafts and notes
   Released        Login, Inbox & Timesheet Entry -- complete             Wed., January 17, 2001
                   updated documentation and data mappings
   Released        Enter Expense Report and Supervisor Approval           Fri., January 26, 2001
   Released        Labor Charge Authorization                             Thur., March 15, 2001

   Released        Administrative Functions: The TOOLS Menu               Tues., April 5, 2001
   Suspended       User Functions: The FILE Menu                          Wed., April 18, 2001
   Suspended       RMI                                                    Fri., May 25, 2001
   Suspended       Final Release of entire manual                         Thu., June 21, 2001




ETS SYSTEMS MANUAL                                  4/10/01                                        Page ii
A-Frame Technical Documentation #6201
OBJECTIVE




                                                                                      OBJECTIVE
                                                                              CHAPTER 0




                  The Tetra Tech Systems Manuals, documenting each module in the Tetra Tech suite,
                  detail the programs’ overall structure, including software architecture and database
                  design. All Java architecture, Javadocs, and SQL Stored Procedures are described.
                  The Systems Manuals are one component of the overall Tetra Tech suite documenta-
                  tion, which also may include design manuals, implementation procedures, and the
                  documentation of the business rules encapsulated in the programs.
                  The Systems Manuals are intended as a reference for Tetra Tech programmers who
                  need to modify the programs or troubleshoot problems.




ETS SYSTEMS MANUAL                                 4/10/01                                       Page 1
A-Frame Technical Documentation #6201
EXECUTIVE SUMMARY




                                                                 EXECUTIVE SUMMARY
                                                          CHAPTER0




                  The ETS Systems Manual includes the technical documentation of ETS. Java classes
                  and SQL Stored Procedures (SPs) are described, with any related data mappings.
                  The manual is organized into functional and reference sections. The functional sec-
                  tions document the particular functional areas of ETS. The reference sections docu-
                  ment all supporting classes and SQL Stored Procedures.
       NOTE       As of this release, further documentation of ETS has been suspended. Undocumented sec-
                  tions are noted below.


                  Functional sections
                           The Timesheet Entry System (TSE)
                           The Enter Expense Report System (EER)
                              These systems are the two main modules in ETS. Because EER uses
                              many of the same screens and includes many similar functions to TSE, its
                              documentation is limited to those elements which differ from TSE.
                           User Functions: The File Menu
                              Other miscellaneous user functions. Not documented.
                           Labor Charge Authorization
                              All administrative functions relating to labor charge authorization
                           Supervisor Approval
                              Includes creating Timesheets and Expense Reports, creating reports, and
                              approving Timesheets and Expenses
                           Administrative Functions: The Tools Menu
                              All functions available from the Administration Menu
                           The Link Lines
                              How the Link Lines are built
                           RMI
                              The DML classes. Not documented.

                  Reference sections
                           A-Frame Class Reference
                              All generic A-Frame classes used by the Tetra Tech suite
                           Tetra Tech Class Reference
                              All Tetra Tech-wide classes used by the suite
                           ETS Class Reference
                              All ETS-specific classes used by the suite
                           Stored Procedures
                           SQL Stored procedures used by ETS




ETS SYSTEMS MANUAL                                  4/10/01                                         Page 2
A-Frame Technical Documentation #6201
EXECUTIVE SUMMARY




                  Other related documentation
                     WorkMovr Database Manual and Tetra Tech Data Mapping
                        Data Mapping for the entire Tetra Tech System Suite is covered in WorkMovr
                        Database Manual and Tetra Tech Data Mapping, document #5256. Future releases
                        of the ETS Systems Manual may feature references and hyperlinks to that data-
                        base manual if the need to do so is established.
                     ETS Labor Law
                        ETS Labor Law, #6200, documents Tetra Tech pay codes and pay policies, pri-
                        marily for a non-technical audience. Because much overlaps exists in the docu-
                        mentation of business rules between ETS Labor Law and this document’s
                        section on Link Lines, this document references ETS Labor Law where appro-
                        priate.
                     ETS Javadoc
                        ETS Javadoc includes Javadoc documentation on all classes pertaining to ETS.
                        Javadoc is generated using Sun Microsystem’s utility Javadoc which automati-
                        cally extracts all variables, constructors, methods, and programmer comments
                        from the Java source code.




ETS SYSTEMS MANUAL                                 4/10/01                                      Page 3
A-Frame Technical Documentation #6201
EXECUTIVE SUMMARY                                                                   Using this manual




Using this manual
                  How the documentation is organized
                  Three separate pdfs make up the complete documentation of ETS. They are:
                  •   ETS Systems Manual
                  •   ETS Labor Law
                  •   ETS Javadoc
                  •   WorkMovr Database Manual and Tetra Tech Data Mapping (under the title of
                      DataMapping22_3c.pdf)


                  ETS Systems Manual
                  Each functional section in the systems manual documents the frame, or GUI, classes
                  used by that function. For example, the section Timesheet Entry includes all frame
                  classes that support Timesheet Entry. These frame classes then link to and reference
                  the related Control, Model and Viewer classes that implement the function or
                  retrieve and store the data. These supporting classes are documented in the sections
                  A-Frame Class Reference, Tetra Tech Class Reference, and ETS Class Reference.
                  Related information between the sections is hyperlinked where helpful.
                  ETS Labor Law
                  Several hyperlinks exist between the ETS Systems Manual and ETS Labor Law. The
                  user may move back and forth easily between these two pdfs.

                  ETS Javadoc
                  ETS Javadoc is automatically generated by the Javadoc utility. For this reason, it does
                  not include hyperlinks to the other documents, nor does it have an actual index.
                  However, it is fully searchable in its online format. Javadoc is meant to be used online
                  and not as a printed document.
                  While ETS Javadoc does not include external links to the other documentation, the
                  ETS Systems Manual and ETS Labor Law do include links to ETS Javadoc. These links
                  open the Javadoc at its first “overview” page. They do not locate specific pages
                  within the Javadoc.

                  Navigating between the documents
                  To ensure that hyperlinks and indexes are maintained, keep all documents in the
                  same directory.
                  When navigating between documents, clicking on the “back” arrow in the pdf
                  returns the user to the previous document, or page, that was opened.




ETS SYSTEMS MANUAL                                   4/10/01                                        Page 4
A-Frame Technical Documentation #6201
EXECUTIVE SUMMARY                                                                  Using this manual




                  Data Retrieval and Storage
                  Data Mappings and Stored Procedures
                  ETS Systems Manual includes data mappings to describe how data is housed in mem-
                  ory and how it is retrieved by the system.
                  Data mappings follow the system’s path through the WorkMovr database as it
                  retrieves information. Where this is accomplished through a SQL Stored Procedure,
                  the data mappings are included in the section “Stored Procedures” on page 15-368.

                  The WorkMovr Database
                  Data mappings may refer to a table schema in the WorkMovr Database. Please refer
                  to the WorkMovr Database and Tetra Tech Data Mapping, Release 2.2.3C

                  Conventions in this document
                  • Java class names, methods, variable names or code samples are in courier.
                  • Data values or entries are in courier bold.
                  • Database table and column names are in italic when referred to in prose
                    descriptions.

                     When part of a table to illustrate data mappings, table names and columns appear
                     as in the table below. Whenever applicable, data mapping tables display data that is
                     held in memory in shaded cells.
Table 0.1   GNRLASOC
   This GNRLASOC row holds the task instance which is retrieved and saved in memory. The cells
   containing the key and the value are shaded
                                                                     Row_
Prim_key         Table-Numb_1 Row_Key 1           Table_Numb_2       Key_2      Description
20478            TASKS        15975               GNRLASOC           20477      Enter Timesheet for
                                                                                Weekending 02/13/
                                                                                1999
sTaskInstance




ETS SYSTEMS MANUAL                                  4/10/01                                        Page 5
A-Frame Technical Documentation #6201
                                                                                                                      TABLE OF CONTENTS




TABLE OF CONTENTS

                            Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
                       OBJECTIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
                       EXECUTIVE SUMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
                            Using this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
                                        HOW THE DOCUMENTATION IS ORGANIZED . . . . . . . . . . . . . . . . . . . . . . . . . . .4
                                        DATA RETRIEVAL AND STORAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
                       TABLE OF CONTENTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
                             Introduction to Tetra Tech System Suite . . . . . . . . . . . . . . . . . . . . 32
                                        OVERALL SYSTEM ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
                                        DOCUMENTATION PLAN DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
                                        RELATED SYSTEMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
                                        PROCESS AND DATA DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
                                    Introduction to ETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
                                        SYSTEM OBJECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
                                        SYSTEM FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
                                        DATA TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
                                        RMI CALL TRACKING AND QUEUEING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
                                        PROCESS AND ARCHITECTURE DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . .40
                       THE LOGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
                                        LOGIN JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
                                    fTTWMLogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
                                        AT APPLICATION LAUNCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
                       THE INBOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
                              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
                                        LOADING THE INBOX IN THE N-TIER SYSTEM . . . . . . . . . . . . . . . . . . . . . . . . .49
                                        INBOX JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
                                    fETSInbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58


ETS SYSTEMS MANUAL                                                   4/10/01                                                                           PAGE 6
A-Frame Technical Documentation, #6201
                                                                                                                      TABLE OF CONTENTS




                       THE TIMESHEET ENTRY SYSTEM . . . . . . . . . . . . . . . . . . . . . 59
                              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
                                        TIMESHEET ENTRY JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
                                    Timesheet concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
                                    Timesheet entry workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
                                    Model/View/Control architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
                                    fETSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
                                        CHARGE AUTHORIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
                                        AMENDED TIMESHEETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
                                    fETSLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
                                    dCAValidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
                                    fExpenseCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
                                    dlgLoginMaint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
                                    dlgSubmitConfirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
                                    fSubTotalRept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


ETS SYSTEMS MANUAL                                                   4/10/01                                                                           PAGE 7
A-Frame Technical Documentation, #6201
                                                                                                                      TABLE OF CONTENTS




                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
                                        DATA MAPPINGS AND STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . .100
                                    fTimesheetRept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
                                    dlgETSMsgBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
                                        DATA MAPPINGS & STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . .104
                       THE ENTER EXPENSE REPORT SYSTEM . . . . . . . . . . . . . . 105
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
                                        SECTION SUMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
                                        EXPENSE ENTRY JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
                                    fExpEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
                                    dlgSubmitExpenseConfirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
                                        DATA MAPPINGS & STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . .112
                                    fEXPLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
                                    fSubTotalRept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
                       OTHER USER FUNCTIONS: THE FILE MENU . . . . . . . . . . . 121
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
                       SUPERVISOR APPROVAL. . . . . . . . . . . . . . . . . . . . . . . . . . . 122
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
                                        OTHER ADMINISTRATIVE FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
                                        SUPERVISOR APPROVAL JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . .123



ETS SYSTEMS MANUAL                                                   4/10/01                                                                           PAGE 8
A-Frame Technical Documentation, #6201
                                                                                                                    TABLE OF CONTENTS




                                       SUPERVISOR APPROVAL WORKFLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
                                    fETSAppr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
                                    fEXPAppr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
                       LABOR CHARGE AUTHORIZATION . . . . . . . . . . . . . . . . . . . 132
                            Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
                                       LCA JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
                                       USER ACCESS TO LCA AND THE TOOLS MENU . . . . . . . . . . . . . . . . . . . . . .133
                                    Loading the LCA Treeviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
                                    fLCASystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
                                    fLCAWizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
                                    pLCAWizardWBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
                                    pLCAWizardIndiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
                                    pLCAWizardSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153


ETS SYSTEMS MANUAL                                                  4/10/01                                                                          PAGE 9
A-Frame Technical Documentation, #6201
                                                                                                                     TABLE OF CONTENTS




                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
                             dlgCABSMsgbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
                       ADMINISTRATIVE FUNCTIONS: THE TOOLS MENU . . . . . 155
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
                                        TOOLS MENU JAVA FRAME CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
                                    dlgETSMessageBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
                                    fAlterApprover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
                                    fReptByPrj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
                                    Labor Charge Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
                                    The WBS3 Wizard Sub-system . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
                                        FWIZARDMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
                                        PWBS3MAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
                       THE LINK LINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                                        SECTION SUMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
                                        THE LINK LINE PROCESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
                                        LINK LINE JAVA CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177



ETS SYSTEMS MANUAL                                                   4/10/01                                                                          PAGE 10
A-Frame Technical Documentation, #6201
                                                                                                                     TABLE OF CONTENTS




                                    fProcessDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
                                    fETSDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
                                    fProcessExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
                                    fEXPDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
                                    fLinkLineEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
                                    fLinkLineBatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
                       RMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
                                Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
                       A-FRAME CLASS REFERENCE . . . . . . . . . . . . . . . . . . . . . . 202
                                Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
                                        APRIL 5, 2001 RELEASE NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
                                    afDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204



ETS SYSTEMS MANUAL                                                   4/10/01                                                                          PAGE 11
A-Frame Technical Documentation, #6201
                                                                                                                   TABLE OF CONTENTS




                                  afEnv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
                                  cRequestMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
                                  cRequestTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
                                      STORED PROCEDURES & DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . .206
                                  DBInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
                                  cDataComp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
                                  cDataRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
                                  cDataRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
                                  cDataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
                                  cDataTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212


ETS SYSTEMS MANUAL                                                 4/10/01                                                                          PAGE 12
A-Frame Technical Documentation, #6201
                                                                                                                     TABLE OF CONTENTS




                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
                                    cSetLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
                                    cSetMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
                                    cSet SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
                                    fReportData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
                                        EXAMPLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
                                        CHECKLIST FOR USING FREPORTDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
                       TETRA TECH CUSTOM CLASS REFERENCE . . . . . . . . . . . 224
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
                                        APRIL 5, 2001 RELEASE NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
                                    cACCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
                                    cAcctCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
                                    cChargeAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233


ETS SYSTEMS MANUAL                                                   4/10/01                                                                          PAGE 13
A-Frame Technical Documentation, #6201
                                                                                                                   TABLE OF CONTENTS




                                      STORED PROCEDURES & DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . .233
                                  cChargeAuthRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
                                  cChargeAuthRemoteInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
                                  cDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
                                  cInv.Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
                                  cLogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
                                      STORED PROCEDURES & DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . .240
                                  cLoginRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
                                  cLoginRemoteInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
                                      METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
                                  cUniqline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
                                  dlgLoginMaint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
                                  TtESTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249


ETS SYSTEMS MANUAL                                                 4/10/01                                                                          PAGE 14
A-Frame Technical Documentation, #6201
                                                                                                                     TABLE OF CONTENTS




                                    TtESTrackRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
                                    TTCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
                                    TTCommonRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
                                    TTCommonRemoteInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
                                        METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
                       ETS CUSTOM CLASS REFERENCE . . . . . . . . . . . . . . . . . . . 261
                             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
                                        APRIL 5, 2001 RELEASE NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
                                    cBatchThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
                                    cBuildETSDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
                                        FORMATTING THE LINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
                                        ADDITIONAL BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
                                    cBuildEXPDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
                                        BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283
                                    cDocDiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
                                        OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
                                        ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
                                        STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
                                        DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284


ETS SYSTEMS MANUAL                                                   4/10/01                                                                          PAGE 15
A-Frame Technical Documentation, #6201
                                                                                                                   TABLE OF CONTENTS




                                  cETS_OB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
                                  cLCATreeThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
                                  cTimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
                                  CheckAuthThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
                                  dCAValidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
                                  dlgSubmitConfirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
                                  dlgsubmitEXPConfirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
                                  ETSCalendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
                                  ETSCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
                                  ETSCommonRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
                                      OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298
                                      ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298
                                      BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298
                                      STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298
                                      DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299


ETS SYSTEMS MANUAL                                                 4/10/01                                                                          PAGE 16
A-Frame Technical Documentation, #6201
                                                                                                                  TABLE OF CONTENTS




                                  ETSCommonRemoteInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
                                     METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
                                  ETSController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
                                  ETSInboxModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
                                  ETSInboxReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
                                  ETSInboxViewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
                                  ETSInboxViewerInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
                                     METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
                                  ETSInboxWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
                                  ETSInboxWriterInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322
                                     METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322
                                  ETSLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323


ETS SYSTEMS MANUAL                                                4/10/01                                                                          PAGE 17
A-Frame Technical Documentation, #6201
                                                                                                                  TABLE OF CONTENTS




                                  ETSReptTimesheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
                                  ETSTaskApprove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
                                     TIMESHEET APPROVAL WORKFLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329
                                     EXPENSE APPROVAL WORKFLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333
                                     OTHER FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
                                  ETSTaskApproveRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
                                  EXPRept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fAbout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fAlterApprover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fAmendmentSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fETSChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fETSDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fETSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fETSLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fEXPAppr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fEXPDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
                                  fExpenseCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fEXPEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fEXPLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fExpenseReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fLCASystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fLinkLineBatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fLinkLineEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fProcessDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fProcessExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
                                  fReprintExpense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
                                  fReprintOriginalTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344



ETS SYSTEMS MANUAL                                                4/10/01                                                                          PAGE 18
A-Frame Technical Documentation, #6201
                                                                                                                  TABLE OF CONTENTS




                                  fReptByPrj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
                                  fSubTotalRept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
                                  fSuprAppr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
                                  LawsonRemote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
                                  LawsonRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
                                  LCAModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
                                  LCAReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
                                  LCAViewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
                                  LCAWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
                                  TimesheetModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
                                     ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
                                     OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
                                     BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
                                     STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
                                     DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
                                  TimesheetReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361



ETS SYSTEMS MANUAL                                                4/10/01                                                                          PAGE 19
A-Frame Technical Documentation, #6201
                                                                                                                    TABLE OF CONTENTS




                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
                                    TimesheetViewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
                                    TimesheetViewerInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
                                       METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
                                    TimesheetWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
                                       ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
                                       BUSINESS RULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
                                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
                                       DATA MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
                                    TimesheetWriterInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
                                       OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
                                       METHOD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
                       STORED PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
                            Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
                                       APRIL 5, 2001 RELEASE NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
                                    ETS Custom Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 372
                                       TT_ETS_ALTERNATESUPERVISOR_ASSIGN . . . . . . . . . . . . . . . . . . . . . . . .373
                                       TT_ETS_ALTERNATESUPERVISOR_CANDIDLIST . . . . . . . . . . . . . . . . . . . .374
                                       TT_ETS_CACHE_EMPLOYEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375
                                       TT_ETS_CHARGE_AUTH_INDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
                                       TT_ETS_CHARGE_AUTH_WBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
                                       TT_ETS_CODE_TO_ACCTDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
                                       TT_ETS_CREATEWEEKENDINGDATES . . . . . . . . . . . . . . . . . . . . . . . . . . .382
                                       TT_ETS_CYCLE_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383
                                       TT_ETS_DECISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384
                                       TT_ETS_FINDALTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
                                       TT_ETS_GA_DEPTSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
                                       TT_ETS_GET_SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
                                       TT_ETS_INBOX_LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390
                                       TT_ETS_INDIV_CACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393
                                       TT_ETS_LCA_AMEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394
                                       TT_ETS_LCA_BLACKOUT_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
                                       TT_ETS_LCA_DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398
                                       TT_ETS_LCA_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400


ETS SYSTEMS MANUAL                                                  4/10/01                                                                          PAGE 20
A-Frame Technical Documentation, #6201
                                                                                                               TABLE OF CONTENTS




                                     TT_ETS_LCA_SELECT_PROJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
                                     TT_ETS_LCA_SELECT_WO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407
                                     TT_ETS_LCA_SELECT_BLACKOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413
                                     TT_ETS_LCA_DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418
                                     TT_ETS_LCA_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418
                                     TT_ETS_LINKLINEBATCH_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
                                     TT_ETS_LOAD_TIMESHEET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .422
                                     TT_ETS_REPT_BY_PRJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423
                                     TT_ETS_REPTTIMESHEET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .424
                                     TT_ETS_SUBMITORAPPROVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .425
                                     TT_ETS_TASK_INDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430
                                     TT_ETS_WEEKLYTIMESHEETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .432
                                     TT_EXP_CODE_TO_ACCTDEF_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . .433
                                     TT_EXP_HINT_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .435
                                  Tetra Tech Custom Stored Procedures . . . . . . . . . . . . . . . . . . . . . 436
                                     TT_ACCT_FUND_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .437
                                     TT_ACCT_FUND_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438
                                     TT_ACCT_LINE_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .439
                                     TT_APP_WBS_KEYMODEL_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .441
                                     TT_APP_WBS_KEYMODEL_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .443
                                     TT_AUUNIQTMSH_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .445
                                     TT_EMPLOYEE_NAMES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .446
                                     TT_ENTERPRISE_SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448
                                     TT_INDIV_SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .450
                                     TT_TSS_LOGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .451
                                     TT_TSS_LOGIN_CHANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .455
                                     TT_TSS_ROLE_INDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456
                                     TT_UNIQTMSH_ACT_DEACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459
                                     TT_UNIQTMSH_BY_INDIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459
                                     TT_UNIQTMSH_UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459
                                     TT_USERDATA_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460
                                     TT_USEROPTION_SELECT_OPTKWRD . . . . . . . . . . . . . . . . . . . . . . . . . .461
                                     TT_WORKITEMS_SELECT_INSTANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .462
                                  A-Frame Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
                                     AF_GNRLASOC_SELECT_INSTANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . .464
                                     AF-GNRLTEXT_UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .465
                                     AF_GNRLTEXT_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466
                                     AF_GNRLTYPE_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
                                     AF_LOCKTABLE_RELEASE_ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
                                     AF_TABLEMAINT_SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .468
                                     AF_TASKS_SELECT_USERDESIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
                                     AF_USERCOND_SELECT_BYKEYWORD . . . . . . . . . . . . . . . . . . . . . . . . . .471
                                     AF_USERDATA_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472
                                     AF_USERDATA_SELECT_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .473
                                     AF_WORKTRX_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474
                                     AF_WORKTRX_SELECT_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476


ETS SYSTEMS MANUAL                                              4/10/01                                                                        PAGE 21
A-Frame Technical Documentation, #6201
                                                                                               TABLE OF CONTENTS




                       LIST OF DIAGRAMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
                       LIST OF SCREENSHOTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
                       INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480




ETS SYSTEMS MANUAL                                         4/10/01                                                       PAGE 22
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 23
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 24
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 25
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 26
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 27
A-Frame Technical Documentation, #6201
                                                   TABLE OF CONTENTS




ETS SYSTEMS MANUAL                       4/10/01                PAGE 28
A-Frame Technical Documentation, #6201
                                            A-Frame Stored Procedures 463




                                  4/10/01                          P a g e 29
ETS SYSTEMS MANUAL
A-Frame Technical Documentation
                                            A-Frame Stored Procedures 463




                                  4/10/01                          P a g e 30
ETS SYSTEMS MANUAL
A-Frame Technical Documentation
                                            A-Frame Stored Procedures 463




                                  4/10/01                          P a g e 31
ETS SYSTEMS MANUAL
A-Frame Technical Documentation
OVERVIEW                                               Introduction to Tetra Tech System Suite




                                                                                   S      E C T I O N




                                                                                      OVERVIEW
                                                                               CHAPTER1




Introduction to Tetra Tech System Suite
                  No further technical documentation of ETS is scheduled, so this section is incom-
                  plete.

                  Overall system architecture
                  WorkMovr architecture
                  Overview of WorkMovr workflow architecture.

                  N-tier approach
                  Overview of N-Tier approach, including pertinent diagrams.

                  Workflow
                  Entire system suite workflow overview
                  “Tetra Tech Suite Flowchart” on page 1-34

                  Data flow
                  TT Suite Data flow diagram

                  Documentation Plan diagram
                  Overall documentation plan diagram for the Tetra Tech System Suite and how the
                  individual modules (ETS Systems) fit into the whole

                  Related Systems
                  Introduction to related modules and any necessary information from the standpoint
                  of ETS. Include hyperlinks here to related documents and other modules




ETS SYSTEMS MANUAL                                 4/10/01                                       Page 32
A-Frame Technical Documentation #6201
OVERVIEW                                             Introduction to Tetra Tech System Suite




                  Lawson

                  CABS

                  CodaRep

                  CODA

                  Process and data diagrams
                  Tetra Tech Application Suite Flowchart




ETS SYSTEMS MANUAL                                4/10/01                             Page 33
A-Frame Technical Documentation #6201
                                                                                            Tetra Tech Systems Suite Applications Flow
                                                                                                                                                                          LAW

                                                                                                                                                                      Lawson
                                                                               Data                                                                                     API
                                                                                                                                 Data Integrity
                                                                                                                                                                                                                                 OVERVIEW




                                                                             Migration
                                                                                                                                  Application
                                                                  Person 1                                                          (DIA)                                                          LAW

                                                                                                                                                                                              Lawson
                                                                                                                                                      Document:
                                                                                                          WorkMovr
                                                                                                                                                        Labor          ETS

                                                                                                                                CODASYNCH




ETS SYSTEMS MANUAL
                                                                                                                                                                             Admin
                                                                                                                                                                                                          DIAGRAM1.1TETRA




                                                                                                                                  Elements




A-Frame Technical Documentation #6201
                                                                       Coda (Automated)
                                                      Access           Processing System
                                                                                                                                                          Elements                   A.S.P.     Crystal
                                                                             (CPS)                                                                                     CABS
                                                                                                          CODAREP                                                                               Reports
                                                                                                                                   CODALINK
                                        Person 1                                                                                                                          Admin
                                                                                                                                                          Document:
                                                                                         CODA
                                                                                                                                                           Invoice
                                                                                Callable
                                                                                 Link




                    4/10/01
                                                                                                                                CODA
                                                                                                                     CODA
                                                                                         CODA                                  EXTRACT


                                                                               Link Table
                                                                                                                                              Person 1
                                                   Key                                             CODA                                                                                Document:
                                                                                                                                          Wm Table                                     Revenue
                                                                                                                                                                  MUDRIVER
                                                   Application
                                                                                                                                         UNIQCODA

                                                   Manual                                CODA
                                                   Operation                                                                                         Wm Table
                                                                                                                                                                                                          TECH SUITE FLOWCHART




                                                                                 CODA                                                                UNIQBILL
                                                    API
                                                                               Financials

                                                   Tetra Tech                                                                                        Wm Table

                                                    A-Frame Software                                                                                 UNIQCOST

                                         CODA      CODA
                                                                                                                                                                                                                                 Introduction to Tetra Tech System Suite




                    Page 34
                                         LAW                                                                                REVDRIVER                Wm Table
                                                    Lawson

                                                                                                                                                     UNIQRVNA
OVERVIEW                                                                           Introduction to ETS




Introduction to ETS
                  The Electronic Timesheet System is a module in the Tetra Tech Systems Suite, the
                  corporate-wide accounting system.
                  Tetra Tech employees use ETS to record their hours and create their weekly
                  Timesheets and Expense Reports. ETS receives information from several other
                  modules in the Suite in order to set up its accounts and ensure proper employee pay-
                  ment and Project billing.

                  System objectives
                  ETS’ main purpose is to produce the Link Lines, which include the Credit Line, or
                  payroll liability line, and the Debit Line, or the Project billing and job costs line. In
                  the process, ETS must balance the lines before payroll is made or Projects are billed.
                  ETS’ design goals have been to develop a program which may be used easily and
                  quickly from remote job sites and branch locations, and validates data at entry. This
                  “true-time” validation is a critical step in reducing costly errors throughout the TT
                  System Suite and expediting client billing.

                  Specific goals
                  • Data verification at entry
                  • Elimination of manual transcription tasks and time delays in moving physical
                    paper.
                  • Customization of validations
                    Validations are adjustable for either Individual, Enterprise, or Project and Work
                    Breakdown level. Project managers may authorize and budget labor charges by
                    either each Individual, or by Project.
                  • Project control
                    Projects are better controlled with prior labor authorization enforced by ETS
                  • Faster accounting reports
                  • Integration with other Tetra Tech systems
                    ETS uses the same technical infrastructure as the Contract Administration and
                    Billing System (CABS) and links with the CODA Accounting System. Projects are
                    set up in CABS, and Labor Charge Authorization occurs in ETS.
                  • DCCA compliance

                  Validations
                  The system includes various checks and balances, including validations for:
                  •   California labor law
                  •   Corporate and Enterprise pay codes, preference settings, and policies
                  •   Supervisor approvals
                  •   Labor Charge Authorization
                  •   Link Line processing



ETS SYSTEMS MANUAL                                   4/10/01                                        Page 35
A-Frame Technical Documentation #6201
OVERVIEW                                                                            Introduction to ETS




                  System functions
                  ETS includes the following sub-systems and functions:
                  • Login
                  • Inbox
                  • Timesheet Entry system
                    • Calendar subsystem
                    • Project charge authorization
                  • Enter Expense Report system
                  • Review and rework of existing Timesheets & Expense Reports
                  • Amended Timesheet & Expense Report Entry
                  • Labor Charge Authorization
                  • Supervisor Approval and alternate approval
                  • Workflow process and validations
                  • Link Line collapsing, balancing, and processing
                  • CODA Import Process
                  • CODA Import Repository
                  • Reporting and audit history

                  Data tables
                  ETS shares the majority of tables with CABS. Timesheet validation, correction,
                  Supervisor Approval, and related routing specifics are handled in the same workflow
                  database as the CABS task instances and routing. In this way, a manager has a single
                  Inbox for all Project-related work.
                  Tetra Tech uses many of WorkMovr’s standard tables. For complete documentation
                  of Tetra Tech’s database, see WorkMovr Database Manual and Tetra Tech Data Map-
                  ping.
                  For more information on how data is housed and retrieved throughout the applica-
                  tion, see the Data Mappings section of each function and class.



                  USER tables
       NOTE       This section is incomplete and does not include an explanation of the asoc and data tables
                  used routinely in ETS. Updated documentation is not scheduled.
                  In addition to common WorkMovr entity tables such as INDIVIDUALS, ENTER-
                  PRISE, GROUPS, and TASKS, which contain custom Tetra Tech data, USER tables
                  hold Tetra Tech-specific settings, preferences, and permissions on both on an Enter-
                  prise and individual level.
                  These tables include:
                  • USERCOND
                  • USERDATA
                  • USERASOC


ETS SYSTEMS MANUAL                                    4/10/01                                        Page 36
A-Frame Technical Documentation #6201
OVERVIEW                                                                      Introduction to ETS




                  USERCOND
                  USERCOND sets up keywords and values used throughout the Tetra Tech suite.
                  [Example rows insert here.]
                  USERDATA
                  USERDATA contains the latest data on all preferences, such as permissions, individ-
                  ual passwords, and Enterprise Settings. For instance, the rows in Table 1.1 from
                  USERDATA define
                  •   Whether Enterprise #51141 will generate automatic Timesheets
                  •   Whether this Enterprise will allow Additional Time
                  •   Whether this Enterprise allows charging for Computer Usage
                  •   If so, what amount this Enterprise charges for Computer Usage
                  •   Which Lawson database to connect to
                  •   The Lawson IP address for this Enterprise

                  For a complete list of all possible Enterprise Settings, see TtESTrackRemote, the
                  class that loads Enterprise Settings to the system, and Stored Procedure (SP)
                  TT_Enterprise_Settings


Table 1.1   USERDATA
   This excerpt from USERDATA shows some settings for Enterprise “51141.”

Prim_       Table_            Row_
key         numb              key       Data_condition       Data_value       Setting
57895       ENTERPRISE        51141     AUTOGENTMS           AUTOGENYES       YES -- Generate auto
                                                                              Timesheets
58654       ENTERPRISE        51141     EPSADDTMLN           EPSADDTNO        NO -- Do not allow
                                                                              Additional Time
58672       ENTERPRISE        51141     EPSCULLCRT           EPSCULLYES       Computer Usage --
                                                                              Create Link Lines
58671       ENTERPRISE        51141     EPSCULLHRT           2.85             Computer Usage Hourly
                                                                              Rate
52766       ENTERPRISE        51141     EPSINLLCRT           EPSINLLYES       Indirect Computer
                                                                              Usage -- Create Link
                                                                              Lines
52602       ENTERPRISE        51141     ETSINDCMUS           INCMUSENO        NO -- No Computer
                                                                              Usage for Indirect
76818       ENTERPRISE        51141     ETSPRPCMUS           PRCMUSENO        NO-No Computer Usage
                                                                              for Proposal
95153       ENTERPRISE        51141     LAWSONDB             Lawson           Assigns this Enterprise’s
                                                                              LawsonDB
95152       ENTERPRISE        51141     LAWSONIP             209.204.173.68   The Lawson IP address




                  USERDATA also holds data about individuals, including passwords, employee pay
                  codes, and Lawson Employee Number.




ETS SYSTEMS MANUAL                                 4/10/01                                      Page 37
A-Frame Technical Documentation #6201
OVERVIEW                                                                               Introduction to ETS




Table 1.2   USERDATA
   Excerpt showing individual 12543’s settings
Prim_       Table_             Row_       Data_                 Data_                   Setting
key         numb               key        condition             value
86762       INDIVIDUAL         12543      DBPASSWRD             rbeckett                password
86724       INDIVIDUAL         12543      DBUSERID              RBeckett                UserID
86800       INDIVIDUAL         12543      EMPNUMB               E03432                  Employee number
77898       INDIVIDUAL         12543      ETSALTAPRV            3006                    Alternate approver
77900       INDIVIDUAL         12543      ETSALTEND             11/20/1999              Date to end
                                                                                        authorization for this
                                                                                        alternate approver
77899       INDIVIDUAL         12543      ETSALTSTRT            11/11/1999              Date to start auth. for
                                                                                        this alternate approver
52586       INDIVIDUAL         12543      LACCHEMPST            BE45                    This individual has a
                                                                                        BE45 Employee
                                                                                        Status Code
52584       INDIVIDUAL        12543       LACCHHOMED            PITT                    Home Department
52585       INDIVIDUAL        12543       LACCHSUPID            AFDEV                   Supervisor
102296      INDIVIDUAL        12543       LACPLEVEL             PLevel                  Professional level
102295      INDIVIDUAL        12543       LACSTAT               STAT_CODE
102297      INDIVIDUAL        12543       LACWRKSTAT            CA                      Work state
117077      INDIVIDUAL        12543       SYSTEMPROP            Java Version = 1.1.4    Java system on
                                                                / Java Compiler =       client’s machine
                                                                null / Java Vendor
                                                                = Microsoft Corp. /
                                                                Java Class Version =
                                                                45.3
17220       INDIVIDUAL         12543      TSEAUTOTS             TSEAUTOYES              YES-Generate an auto
                                                                                        Timesheet



                  USERDATA holds all fund types. For all possible fund types available in ETS, see
                  “ETS Fund Types” on page 4-88
                  USERDATA records all decisions -- i.e. whether a Timesheet has been approved or
                  not. At approval, a row is written to USERDATA with the Timesheet’s status.

                  Unique tables
                  In addition to the common WorkMovr tables, ETS uses two unique tables:
                  • UNIQTMSH
                    Holds all Timesheet and Expense lines.
                  • PAYCYCLES
                    Holds Tetra Tech’s pay cycle information for each year
                  UNIQTMSH
                  The UNIQTMSH table is the fundamental transaction record of the system. There
                  is a record written for every person, for every day, for every Project, for every Worko-
                  rder, for every WBS3 Code and every hours type, etc.
                  Specifically, if any data element changes, then a new record is written.



ETS SYSTEMS MANUAL                                    4/10/01                                              Page 38
A-Frame Technical Documentation #6201
OVERVIEW                                                                        Introduction to ETS




                  For example, NUS alone may generate more than 30,000 Timesheet records every
                  month.
                  Timesheets and Expense Entry Reports both use UNIQTMSH, with the
                  User_designator column identifying each one.
                  • Timesheets have a user_designator of Timesheet
                  Expenses have a user_designator of EXPENSE
                  For the table schema and more information, see “UNIQTMSH” on page -517 in
                  DataMapping22_3c.pdf.
                  PAYCYCLES
                  The PAYCYCLES table contains the Timesheet’s DocCode, Period, Year and Paycy-
                  cle. These values are used when posting the Link Lines to CODA. See “Pay codes”
                  on page 14-278. For the table schema, see “PAYCYCLES” on page -456 of
                  DataMapping22_3c.pdf.

                  CodaRep tables
                  CODAREP, or Coda Repository, also has unique tables. They are: UNIQLNKLIN,
                  UNIQLNKQTY, and UNIQLNKHDR. CodaRep offers temporary storage of the
                  Link Lines prior to posting to CODA.

                  RMI call tracking and queueing
                  ETS includes two tracking processes in its RMI workflow. These processes are ongo-
                  ing during every RMI call to the App Server.
                  RMI requests
                  Each time an RMI call is made to the App Server, cRequestTrack tracks the
                  request and how much time the system takes to complete it.
                  Workflow queueing
                  To prevent bottlenecks during calls from various clients to the App Server, the sys-
                  tem puts each request in a separate queue, assigning it a queue_numb. This allows sev-
                  eral clients to connect to the server at the same time since no client is in line in a
                  queue behind another. This is performed by methods in cETS_OB, and cObj-
                  Queue. cETS_OB opens connections between the client and Remote side. When it
                  opens a connection, it also connects the client to a new queue which is active during
                  the whole session. When the client logs out, cETS_OB breaks the connection to the
                  queue so another client may use it.
    Example       Here’s a code example of the requests. This excerpt is from cChargeAuth.
                  private void LoadAuth(String sIndiv)
                       {
                            cDataRoot root;
                            GetRemoteStub();
                            try{
                                 String sReq = reqMaker.sGetRequest("CHARGEAUTHREMOTE:GET-
                  AUTH");
                                 String sQueue = (String)afEnv.oGetObject("QUEUENUMB");




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 39
A-Frame Technical Documentation #6201
OVERVIEW                                                                 Introduction to ETS




                              cObjQueue_Stub queue = (cObjQueue_Stub)afEnv.oGetOb-
                  ject(sQueue);

                                 remote.GetAuth(sIndiv, sReq, sQueue);
                                 root = (cDataRoot)queue.getRequest(sReq);


                              reqMaker.CompleteRequest(sReq, new Inte-
                  ger(root.vRecords.size()).toString(), "0");
                                 htIndivAuth.put(sIndiv, new cDataComp(root));
                            }catch(java.rmi.RemoteException e) {}



                  Process and Architecture Diagrams
                  Included in this release:
                  •   “Tetra Tech Suite Flowchart” on page 1-34
                  •   “Timesheet Entry Workflow” on page 1-41
                  •   “Timesheet Entry MVC Architecture” on page 4-70
                  •   “Supervisor Approval Workflow” on page 7-124
                  •   “Loading the LCA Treeviews” on page 8-135




ETS SYSTEMS MANUAL                               4/10/01                              Page 40
A-Frame Technical Documentation #6201
                  ETS Systems Manual




                                                                                                                     ETS Timesheet Entry
                                                                                                                        Process Flow
                                                                             Inbox
                                                   ETS Login            Choose timesheet
                                                                                                                                                                                                                                                                      OVERVIEW




                                                                              entry

                                                                                                                                                                           Contract Administation Billing System (CABS)
                                                                                                                                                                           Work Breakdown Structure
                                                                                                                   Indirect Charge               For Indirect charge, no
                                                                                                                  billed to Tetra Tech          data is input from CABS.        Client #1




ETS SYSTEMS MANUAL
                                                Timesheet Entry
                                                                                                                                                     Retrieves project          Client Contract #1
                                                                                                                                                          charge




A-Frame Technical Documentation #6201
                                                                                                                      Direct Charge                        auth
                                                                                                                   billed to the project               from CABS                            Work Order #1
                                                                                                                                                                                                                                                DIAGRAM1.2TIMESHEET




                                                                             NO, don't bill
                                                                           against this project
                                                                                                                                                                                            Work Order #2
                                                                                        YES, this project
                                                                                        is open for billing
                                                                                                                                                                                                       Charge Status
                                                                                                                                                                                                        1. Open for labor
                                                                                                                                                                                                        2. Closed for sub
                                                                                                                                                                                                        3. Closed for ODC (other direct cost)
                                                                                                                                                                                                        4. Open for invoicing




                    4/10/01
                                                                    ADD                           Retrieves Labor charge validation               LCA Labor                                            Computer Usage
                                                                                                                                                                                                        1. YES [default]
                                                                                                          for this Individual                   Charge Auth Sub                                         2. NO
                                                        User adds a timesheet entry.                                                                System                                              3. Mandate YES




                                                                                                                                                                                                        WBS3


                                                                                                                                                                                                        WBS3
                                                                  SUBMIT
                                        If NO, return
                                                                                                                                                                                                                                                ENTRY WORKFLOW




                                          to ENTRY
                                                        User submits timesheet after
                                                                                                                                                                                Client Contract #2
                                                        week's entries are complete.                                                                                                                           Charge status and
                                                                                                                                                                                                        Computer Usage may be
                                                                                                                                                                                Client Contract #3         specified at either the
                                                                                                                                                                                                      Project or Work Order level

                                                                                                                                                                                Client #2
                                                                 APPROVE
                                                                                                                                             SEND TO CODA
                                                                                                  If YES, queue for Link
                                                        Supervisor either approves or                 Line processing.                                                          Client #3
                                                                                                                                           Link Line Processing
                                                                                                                                                                                                                                                                      Introduction to ETS




                                                             rejects timesheet.




                    Page 41
                  SourceSafe\A-FrameDevelopers\Shelley Hoose\Timesheet Entry Process Data Flow
THE LOGIN                                                                                      Overview




                                                                                S      E C T I O N     1




                                                                                       THE LOGIN
                                                                                CHAPTER2




                  ETS has its own Login screen but uses several other login-related classes common to
                  many of the Tetra Tech system suite applications.




Overview
                  Login’s main purpose is to validate the user ID and password and to call the Inbox
                  classes. Based on the individual logged in, the Login classes retrieve “individual pref-
                  erences” to determine the appropriate Inbox to launch.
       NOTE       The Login has undergone a complete redesign since this section was completed.


                  Login Java classes
                  Global classes
                  The following classes are instantiated as soon as ETS is launched and are used
                  throughout the session in all sub-systems.
                     TTCommon
                        Located on the client side. Holds a mirror of the data in TTCommonRemote.
                     TTCommonRemote
                        Located on the App Server. Holds data used by all Tetra Tech-related applica-
                        tions, including individual, clients, departments, enterprises and invoice level
                        information.
                     ETSCommon
                        ETSCommon and ETSCommonRemote is loaded as soon as the application is
                        launched. Holds a mirror of the data in ETSCommonRemote.
                     ETSCommonRemote
                        Located on the App Server. Holds data used by ETS in processing Timesheet
                        and expense entries.



ETS SYSTEMS MANUAL                                   4/10/01                                       Page 42
A-Frame Technical Documentation #6201
THE LOGIN                                                                               Overview




                  Login
                     fTTWMLogin
                        The login screen
                     cLogin
                        Called by fTTWMLogin to validate password and User ID
                     cLoginRemote
                        Remote side of cLogin. Includes Stored Procedures to access the database

                  Lawson API
                     LawsonRequest
                        Retrieves employee information from Tetra Tech’s Lawson human resource
                        database. Located on the client side.
                     LawsonRemote
                        Located on the Remote side to mirror the data held in LawsonRequest and
                        to make the Stored Procedure calls.




ETS SYSTEMS MANUAL                                4/10/01                                   Page 43
A-Frame Technical Documentation #6201
THE LOGIN                                                                                fTTWMLogin




fTTWMLogin
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . L O G I N
                  P U B L I C C L A S S F TTWML O G I N E X T E N D S F R A M E


The Login screen
GUI Navigation    • Clicking on the executable file


Figure 2.1 THE LOGIN SCREEN




       NOTE       The Login has undergone a complete redesign since this section was completed. Updated
                  documentation is not scheduled at this time.


                  Overview
                  This is the initial login screen for ETS.
                  It calls the INI file, initializes global classes TTCommon and ETSCommon to retrieve
                  all necessary data, and calls the login classes to authenticate the Password, User ID,
                  and to determine whether the user is a regular employee, an administrator, or a super-
                  visor. Based on the individual’s role and preferences, it launches the appropriate
                  Inbox.




ETS SYSTEMS MANUAL                                    4/10/01                                    Page 44
A-Frame Technical Documentation #6201
THE LOGIN                                                                               fTTWMLogin




                  Attributes
                  See Javadocs.

                  Imports
                  aframe.workmovr.afdb
                  aframe.workmovr.afenv
                  iaframe.afdev.dml.cDataRow
                  aframe.afdev.dml.cDataRoot
                  aframe.afdev.orb.App Server
                  aframe.afdev.fileio.DiskIO
                  customers.tetratech.ets.ETS
                  customers.tetratech.ets.dlgETSMsgbox
                  customers.tetratech.ttdev.common.cLogin
                  customers.tetratech.ets.ETSInboxViewer_Stub




                  As of N-Tier redevelopment
                  The Login classes have gone through major revisions. Several methods have been
                  rewritten or removed. Updated documentation of the Login classes is not scheduled.
                  Among the changes are:
                  Removed methods
                  • LaunchfromWeb()
                  • Launch()
                    Functionality in this method is now in new method LoadINI().
                  • vAutoLogin()
                  • bSetup1024800, bSetup640, bSetmode()
                    Replaced by new method CenterScreen()
                  New methods
                  • CenterScreen()
                    Retrieves user screen dimensions to put the login frame in the center. This func-
                    tion existed in fTTWMLogin()
                  • ExitETS()
                    Calls cLogin to release the queue. This function existed in WindowClosing
                    event.
                  • Initialize()
                    Now initializes the program environment, putting the Login frame on the screen
                    and connecting to the App Server. These functions existed in Launch().
                  • LoadingImage()
                    Loads the Tetra Tech logo
                  • LoadINI()
                    Reads parameters from INI file and sets the user type. Replaces Launch(). No
                    longer classifies users.


ETS SYSTEMS MANUAL                                 4/10/01                                      Page 45
A-Frame Technical Documentation #6201
THE LOGIN                                                                                     fTTWMLogin




                  • Setup()
                    Calls LoadingImage()
                  • vSetupLogin()
                    Sets up user and password to connect to database. Calls LoadINI() to set up
                    parameters.
                  Revised methods
                  • Login()
                    Login() has been substantially revised. Among the changes are:
                        • It no longer calls afTaskLauncher and afWorkItemsLauncher to
                          supporting launching the Inbox or tasks to show in the Inbox. It now calls
                          fETSInbox directly.
                        • The function of determining individual preferences (regular employee or
                          Supervisor) by calling ETSInboxViewer has been moved to
                          fETSInbox.


                  At application launch
                  The INI file
                  The command line no longer contains the server and database information; it now
                  contains the INI file, which identifies the server name, database, and App Server
                  applicable to the user. The java file DiskIO (aframe.afdev.fileio.dis-
                  kio.java) reads the INI file.
                  Servers and Databases
                  At application launch, fTTWMLogin reads the INI file to determine the server, App
                  Server and database. The default database is CODAREP to prevent file transfer to
                  the real CODA before the system goes to production. Otherwise, the system uses
                  whatever the INI file specifies.
                  TetraTech uses the following servers and databases:
                        DEVSRV
                           TtTest, TtISGTest, TTCorpTest
                        ISGMSQL1
                           TtISGProd
                        MPSSQL1
                           TtMPSProd
                        NUSMSQL2
                           TtNUSDev
                        TTMSQL1
                           TtCorpProd, TtDIVProd
                  Auto Login
                  Determines if this is an auto login. If so, it will automatically log in the user with user
                  ID tetratech and password superuser.
                  User’s Role
                  Reads the tag to determine the user’s role, i.e. whether or not the user is a supervisor,
                  Project administrator, TSE administrator, or regular employee.


ETS SYSTEMS MANUAL                                    4/10/01                                         Page 46
A-Frame Technical Documentation #6201
THE LOGIN                                                                                 fTTWMLogin




                  INI Default
                  The default is set for ETS.ini. The alternative is ETSAdmin.ini which, if omit-
                  ted, results in the default. End users’ shortcuts may have only the exe file name.
                  Launching from the Web
                  The file INI is not applicable for web launching, so all server and database informa-
                  tion is included in the HTML tags. LaunchFromWeb() is the default when the user
                  is on the Web.

                  Calling the login classes
                  Calls cLogin and cLoginRemote to verify user name and password. If the login
                  returns successful, the system saves the individual number (Indiv_numb from INDI-
                  VIDUAL) to afEnv.bSetINDIVTK. AfEnv has a static string that holds this value
                  as long as the session is open.
                  Once the login is complete, the system tracks this Indiv_numb. Each time the user
                  makes a change or saves data, the system then calls afEnv.sGetINDIVTK() to
                  make sure the data is saved or changed for the applicable individual.

                  Preparing to launch the Inbox
                  Getting individual preferences
                  The system retrieves the user’s preferences in order to know how to launch the Inbox
                  and what tasks to put in it.
                  fTTWMLogin uses GetRemoteStub to access the ETSInboxViewer and
                  ETSInboxWriter objects. The client has access only to these two public objects.
                  The Viewer accesses the Reader and the Reader accesses ETSInboxModel,
                  where the preferences are cached. Using the Indiv_numb authenticated by the login,
                  the Viewer retrieves the user’s preferences from the Model and passes them back
                  to fTTWMLogin.
                  The individual’s ep_numb is saved to afEnv.bSetENTPRISETK.
                  Loading Lawson information
                  Tetra Tech’s Lawson human resource database determines:
                  •   if the user is a valid employee
                  •   if the user is regular employee or a supervisor
                  •   the employee’s status or pay code
                  •   the employee’s supervisor

                      Hourly rate
                         Hourly rate is confidential and is not cached, requiring a live database connec-
                         tion at the time that the Link Lines are built. (See “fProcessDocs” on
                         page 10-179 for more information.)
                         This employee data is updated at regular intervals by a top administrator using
                         the Lawson Synchronization tool (fLawsonSync) to download information
                         from Lawson to the USERDATA table in the WorkMovr database. A cDa-
                         taRow is written for each employee.
                      Lawson historic data




ETS SYSTEMS MANUAL                                   4/10/01                                      Page 47
A-Frame Technical Documentation #6201
THE LOGIN                                                                                 fTTWMLogin




                         Lawson can keep track of historic data, so the weekending date should be
                         passed every time LawsonDB is accessed. The default is the current weekend-
                         ing.
                  Showing the pending Inbox
                  Calls Viewer.PassPendingInboxByPreference() to show the Inbox
                  according to individual preference. (For a discussion of individual preferences, see
                  “Assign/allocate” on page 14-310 in the documentation on ETSInboxModel.)
                  If the preference is ASSIGN, calls the Reader.getPendingAssigned() to
                  retrieve a subset of cInboxSet by ASSIGNED_TO column. If the preference is
                  ALLOCATE, calls Reader.getPendingAllocated() to retrieve a subset by
                  Workqueue column. This way, supervisors can see not only tasks assigned to them-
                  selves but also the tasks assigned to other employees who are using this Workqueue.

                  Launching the Inbox
                  Once the system has the individual preferences, it is ready to build the Inbox.
                  For supervisors and administrators
                  The Inbox for supervisors and administrators contains the Tools Menu with various
                  administrative functions not included in the regular employee’s Inbox.
                  For regular employees
                  If the user is not a supervisor or administrator, the system suppresses the Tools
                  Menu, launching only the File and Help menus.

                  Business Rules
                  Login
                  Login name and password are not case-sensitive.

                  Stored Procedures
                  none

                  Data Mappings
                  cLogin and cLoginRemote hold the data.




ETS SYSTEMS MANUAL                                  4/10/01                                         Page 48
A-Frame Technical Documentation #6201
THE INBOX                                                                                 Overview




                                                                             S      E C T I O N    1




                                                                                     THE INBOX
                                                                              CHAPTER3




                  .


Overview
                  The N-tier version of the Inbox is under development and is not fully documented
                  with this release. Included here are draft notes as of March 28, 2001.
       NOTE       This section has not undergone a technical review.


                  Loading the Inbox in the N-Tier system
                  Each time the App Server is rebooted, it instantiates and pre-loads an InboxModel
                  with all pending tasks in the system.
                  This allows the system to filter at login the pre-published InboxModel based on
                  this user’s individual preferences. It then displays a subset of the Inbox Model as
                  this individual’s Inbox, instantiated on the client machine as the InboxViewer.



                  Inbox Java classes
                      fETSInbox
                        Custom ETS Inbox new with the N-Tier release
                      ETSInboxModel
                        Contains cDataSets with all individual settings needed to build the Inbox
                        for all individuals for the period of one week
                      ETSInboxReader
                        Retrieves subsets from the Model and returns them to the Viewer
                      ETSInboxViewer




ETS SYSTEMS MANUAL                                   4/10/01                                   Page 49
A-Frame Technical Documentation #6201
THE INBOX                                                                                  Overview




                        Contains hashtables populated with subsets from the cDataSets in the
                        Model. These subsets are specific to the user and contain the only data the
                        user has access to.
                    ETSInboxWriter
                        Refreshes the ETSInboxViewer and ETSInboxWriter.
                        The frame in which the user inputs time, called by fETSEntry


                  Process
                    TtESTrack
                        A track to retrieve Enterprise Settings
                    TtESTrackRemote
                        Holds the Enterprise Settings data on the App Server
                    cChargeAuth
                        Holds charge authorization on the client machine
                    cChargeAuthRemote
                        Holds charge authorization on the Remote App Server
                    CheckAuthThread
                        A thread used during Timesheet and Expense Report entry to retrieve the indi-
                        vidual’s charge authorization information from the remote side held in the
                        remote object LCAViewer.
                    dlgLoginMaint
                        Dialog box allowing the user to change passwords




ETS SYSTEMS MANUAL                                  4/10/01                                    Page 50
A-Frame Technical Documentation #6201
THE INBOX                                                                                 fETSInbox




fETSInbox
The Inbox
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS . I N B O X
                  P U B L I C C L A S S F ETSI N B O X E X T E N D S F R A M E


         Event    • Logging in with more than one pending item

Figure 3.2 THE INBOX




                  Attributes
                  See Javadocs.
                  ;

                      Imports
                      import aframe.workmovr.afdb.afDB
                      import aframe.workmovr.afenv.afEnv;

                      import aframe.afdev.dml.cDataComp;
                      import aframe.afdev.dml.cDataRoot;
                      import aframe.afdev.dml.cDataSet;
                      import aframe.afdev.dml.cDataRow;
                      import aframe.afdev.orb.cRequestMaker;
                      import aframe.afdev.orb.cObjQueue_Stub;




ETS SYSTEMS MANUAL                                    4/10/01                                 Page 51
A-Frame Technical Documentation #6201
THE INBOX                                                                      fETSInbox




                  Imports
                  import aframe.afdev.library.fReportData;

                  import customers.tetratech.cabs.wizards.fWizardMain;

                  import customers.tetratech.login.fTTWMLogin;

                  import customers.tetratech.ets.ETSInboxViewer_Stub;
                  import customers.tetratech.ets.ETSInboxWriter_Stub;
                  import customers.tetratech.ets.dlgETSMsgbox;
                  import customers.tetratech.ets.cTimesheetDetails;

                  import customers.tetratech.ets.approval.fSuprAppr;
                  import customers.tetratech.ets.approval.fETSAppr;
                  import customers.tetratech.ets.approval.fEXPAppr;

                  import customers.tetratech.ets.expense.fEXPEntry;

                  import customers.tetratech.ets.tools.fReprintExpense;
                  import customers.tetratech.ets.tools.fReprintOriginalTS;
                  import customers.tetratech.ets.tools.fAmendmentSelect;
                  import customers.tetratech.ets.tools.fExpenseCreate;
                  import customers.tetratech.ets.tools.fAlterApprover;

                  import customers.tetratech.ets.reports.fReptByPrj;

                  import customers.tetratech.ets.lca.fLCASystem;

                  import customers.tetratech.ets.timesheet.fETSEntry;

                  import customers.tetratech.ets.process.fAutoValidate;
                  import customers.tetratech.ets.process.fTimeSheetSetup;
                  import customers.tetratech.ets.process.fProcessDocs;
                  import customers.tetratech.ets.process.fProcessExp;
                  import customers.tetratech.ets.process.fTimeSheetSetup;

                  import customers.tetratech.ets.settings.fAbout;

                  import customers.tetratech.ttdev.common.cLoginRemote_Stub;
                  import customers.tetratech.ttdev.common.dlgLoginMaint;
                  import customers.tetratech.ttdev.common.cLogin;

                  import symantec.itools.awt.BorderPanel;




ETS SYSTEMS MANUAL                                    4/10/01                     Page 52
A-Frame Technical Documentation #6201
THE INBOX                                                           fETSInbox




                  Imports
                  import symantec.itools.awt.StatusBar;
                  import symantec.itools.multimedia.ImageViewer;
                  import symantec.itools.awt.MultiList;
                  import symantec.itools.awt.util.ProgressBar;
                  import symantec.itools.util.Timer;

                  Class-level variables
                        private ETSInboxViewer_Stub InboxViewer;
                        private ETSInboxWriter_Stub Inbox Writer;
                        private cLoginRemote_Stub login Remote;
                        private cRequestMaker reqMaker;
                        private cObjQueue_Stub queue;
                        private cTimesheetDetails Time Details;

                        private String sQueue;
                        private String sIndiv;

                        private cDataComp dcViewOptions;
                        private cDataComp dcInbox;
                        private cDataRow drIndivSettings;
                  Cursors
                      public static Cursor cWait;
                      public static Cursor cDef;
                  Launchable Screens
                      private fETSEntry fETS;
                      private fEXPEntry fEXPEnt;
                      private fETSAppr fApprove;
                      private fSuprAppr fSuperApprove;
                      private fEXPAppr fExpAppr;
                      private fAutoValidate fAutoVal;
                      private fTimeSheetSetup fTimeSheet;
                      private fProcessDocs fCODADoc;
                      private fProcessExp fCODAExp;
                      private fTimeSheetSetup fTimesheet;
                      private fWizardMain fWizard;
                      private fReptByPrj fRpt;
                      private fExpenseCreate fExpCreate;
                      private fAbout about;
                      private fReprintOriginalTS fOTS;
                      private fReprintExpense fEXP;
                      private fLCASystem LCA;
                      private fAmendmentSelect fSelect;
                      private fAlterApprover fAlt;




ETS SYSTEMS MANUAL                                  4/10/01             Page 53
A-Frame Technical Documentation #6201
THE INBOX                                                                                    fETSInbox




                  Internal variables
                       private int iSecRemaining = 0;
                       private int iSecTotal = 0;


                  Overview
                  This is ETS’ new custom Inbox. It replaces fWorkitems and fUnivInbox, two
                  generic A-Frame inbox classes.
                  For data retrieval and storage related to the Inbox, see the ETSInbox classes, starting
                  with ETSInboxModel.

                  The menus
                  The Inbox includes three menus:
                  • File menu
                    • Change Password
                    • Login As...
                    • Amend Timesheet/Expense Report
                    • Create Expense Report
                    • Reprint Original/Amended Expense
                    • Reprint original/Amended Timesheet
                    • Export Inbox
                  • Tools menu
                    • Delete Empty Timesheet/Expense
                    • Designate Alternate Approvers
                    • Labor Charge Authorization
                    • Report By WBS
                    • WBS3 Wizard
                  • Help menu

                  Accessibility options
                  Tools menu
                  The Tools Menu contains mid-level administrative tools, and is available only to the
                  following individuals:
                  •   Supervisor
                  •   LCA administrators
                  •   ETS administrators
                  •   Contract administrators
                  •   Program managers
                  •   Project managers
                  View options
                  View options include:
                  • Work Assigned to Me
                  • Work Assigned to my employees
                       • Removed for regular employees
                  • All Work Available



ETS SYSTEMS MANUAL                                  4/10/01                                       Page 54
A-Frame Technical Documentation #6201
THE INBOX                                                                                     fETSInbox




                          • Removed for ETSAdmin

                    Web mode
        NOTE        As of March 28, 2001, some functions have been temporarily disabled when called from
                    the web.
 Setup menu()       Checks if the user is in web mode. In web mode, the system adds “Via the Web” to
                    the menu bar and the following menu items are disabled
                      Disabled Tools Menu items
                          •   Create Expense Report
                          •   Delete Empty Timesheet
                          •   Select Alternate Approver
                          •   ReptByWBS
                      Disabled File Menu items
                          • Amended Timesheet or Expense

                    Loading the Inbox according to preference
     Initialize()   Called by fTTWMLogin to load the Inbox.
                    • Instantiates all the Login classes and cTimesheetDetails

        Setup()     Called by fTTWMLogin
                    • Determines view options and role of user to launch the appropriate Inbox

       Reload()     Called by fTTWMLogin to load the Inbox with the user’s tasks
                    • Calls InboxViewer according to type of user
                        • If sLoadType = ASSIGNED, calls INBOXVIEWER:PassInbox
                        • If sLoadType = SUPERVISOR, calls
                            INBOXVIEWER:PassInboxSupervisor
                        • Else, calls INBOXVIEWER:PassInboxAll
                    • Calls DisplayInbox()
DisplayInbox()      Sets the columns. Determines whether the tasks are Amended or Original.
                          • If sType starts with AMEND, set the columns name to “Amended"
                          • Else, set to “Original”

                    Inbox columns
                    Display columns have changed and are renamed.
Table 3.1   MULTILIST COLUMNS
   The multilist columns have been changed.
Current                                                                                 Removed
Columns             Description                        Difference                       columns
Week                Date of Timesheet or other task.   Was part of the “Description”    task ID
                                                       column
Employee            Employee’s name                    Was part of “Workpacket          Description
                                                       Description” column




ETS SYSTEMS MANUAL                                     4/10/01                                        Page 55
A-Frame Technical Documentation #6201
THE INBOX                                                                                        fETSInbox




Table 3.1   MULTILIST COLUMNS
   The multilist columns have been changed.
Current                                                                                    Removed
Columns          Description                           Difference                          columns
Emp. Number      Employee’s Lawson-assigned            New. Replaces the task ID           Workpacket
                 number                                column.                             Description
Task             Description of task                   Was “Description.” Simplified to    Work Queue
                                                       include only the task itself, not
                                                       the date.
Assigned To      Name of supervisor for this task      Same.                               Last Action
Days Open        Number of days the task has been      New. Replaces “Days Left.”          Last User
                 pending
Last Updated     The date this task was added to the   Was “Last Action.”                  Target Date
                 Inbox
                                                                                           Days Left




                  Launching tasks from the multilist
                  The Inbox calls the appropriate class according to keyword:
Table 3.2   TASKS KEYWORDS AND CLASSES LAUNCHED
Task chosen by user                              Keyword                Class launched
Timesheet entry                                  TSEENTRY               fETSEntry
Expense entry                                    EXPENTRY               fEXPEntry
ETS Timesheet supervisor approval                TSESUPAPRV             fSuperApprove
ETS expense supervisor approval                  ETSEXPAPRV             fExpAppr
ETS accounting rejected expense supervisor       ETSEXPARJT             fExpAppr
approval
ETS administrator manually correcting            TSEAMCTSD              fETSEntry
Timesheet data
ETS automatic validation of Timesheets           TSEVTSA                No longer operational. Returns a
                                                                        message: "Auto Validate has been
                                                                        removed"
ETS correct and review Timesheets                TSECREVTS              fETSEntry
ETS correct and review expenses                  ETSEXPRWRK             fEXPEntry
ETS creating Timesheets                          AUTOGENTMS             "Still need to convert
                                                                        fTimeSheetSetup"
ETS import to CODA                               TSEIMPCODA             fProcessDocs
ETS account approval and import to CODA          ETSEXPACTI             fProcessExp




                  Reloading the Inbox with pending tasks
                  The Inbox includes all pending tasks for the logged-on user. Once the user com-
                  pletes a task and refreshes the Inbox, any new “successor” tasks for this user that
                  were created by having completed the initial task appear in the Inbox.




ETS SYSTEMS MANUAL                                     4/10/01                                           Page 56
A-Frame Technical Documentation #6201
THE INBOX                                                                                        fETSInbox




                  For example, once the Employee completes an Enter Time task, a Supervisor
                  Approval task is created and appears in that Employee’s Supervisor’s Inbox.



                  Logging out
                  The Inbox now includes a Logout button. Logging out is important as it releases the
                  user from the server, and finalizes the session.
     ExitETS()    Calls Loginremote.releaseQueue(sQueue) to release the queue
                  .
                  Table 3.3      REFRESHING THE INBOX
                        End users Supervisors/Administrators have different Inboxes according to their
                        individual preferences.
                      Inboxes                Parameters                        Task Status
                                                                               Initialized     Completed
                      End user               Individual whose Indiv_numb       Add             Remove
                                             equals the assigned_to value of
                                             this task
                      Supervisors/           Individuals whose Workqueue       Add             Remove
                      Administrators         equals the work_queue value of
                                             this task


                  Table 3.4     REFRESH INBOX CHANGES AT USER ACTION
                        When the user completes a task and clicks RELOAD, the following tasks are removed
                        or added to the Inbox.
                      Completed User Action        Remove from Inbox             Add to Inbox
                      Auto Timesheet               n/a                           Enter Timesheet
                      Create Timesheet             n/a                           Enter Timesheet
                      Create Amended Timesheet     n/a                           Enter Amended Timesheet
                      Submit Timesheet             Enter Timesheet/Enter         Supervisor Approve
                                                   Amended Timesheet             Timesheet
                      Supervisor Approve           Supervisor Approve            Import Timesheet to
                      Timesheet (Approve)          Timesheet                     CODA
                      Supervisor Approve           Supervisor Approve            Rework Timesheet
                      Timesheet (Rework)           Timesheet
                      Submit Reworked              Rework Timesheet              Supervisor Approve
                      Timesheet
                      Import Timesheet to          Import Timesheet to           n/a
                      CODA                         CODA
                      Create Expense Report        n/a                           Enter Expense Report
                      Create Amended Expense       n/a                           Enter Amended Expense
                      Report                                                     Report
                      Submit Expense Report        Enter Expense Report/         Supervisor Approve
                                                   Enter Amended Expense         Expense
                                                   Report




ETS SYSTEMS MANUAL                                       4/10/01                                         Page 57
A-Frame Technical Documentation #6201
THE INBOX                                                                                  fETSInbox




                  Table 3.4  REFRESH INBOX CHANGES AT USER ACTION
                     When the user completes a task and clicks RELOAD, the following tasks are removed
                     or added to the Inbox.
                  Completed User Action        Remove from Inbox           Add to Inbox
                  Supervisor Approve           Supervisor Approve          Account Expense Report
                  Expense (Approve)            Expense                     Approval and Import to
                                                                           CODA

                  Supervisor Approve           Supervisor Approve          Rework Expense Report
                  Expense (Rework)             Expense
                  Submit Reworked Expense      Rework Expense Report       Supervisor Approve
                  Report                                                   Expense
                  Account Expense Report       Account Expense Report      Accounting Rejected
                  approval and Import to       Approval and Import to      Expenses -- Rework
                  CODA                         CODA
                  Accounting Rejected          Accounting Rejected         Account Expense Report
                  Expenses -- Rework           Expenses -- Rework          Approval and Import to
                  (approve)                                                CODA
                  Accounting Rejected          Accounting Rejected         Rework Expense Report
                  Expenses -- Rework           Expenses -- Rework
                  (Rework)




                  Business Rules
                  none

                  Data Mappings
                  none

                  Stored Procedures
                  none




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 58
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                   Overview




                                                                                 S   E C T I O N




                                               THE TIMESHEET ENTRY SYSTEM
                                        CHAPTER4




                  The Timesheet Entry System is the largest module in ETS and also forms the foun-
                  dation for the Enter Expense Report system.
                  This chapter covers Timesheet Entry. Enter Expense and its associated functions are
                  covered in “The Enter Expense Report System” on page 5-105. Administrative and
                  supervisorial functions are documented in Sections 7 through 10.
       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.



Overview
                  The Timesheet Entry (TSE) and Enter Expense Reports (EER) programs are avail-
                  able to all employees, using a mixture of public and private networks. Each Tetra
                  Tech company has its own segregated system, each with a unique centralized data-
                  base. The application runs on a browser as a thin client program, and supports three
                  different screen resolutions.
                  TSE and EER are essentially the same program, constructed in a modular fashion.
                  An individual can toggle back and forth between them.
                  Both Timesheets and Expense Reports are managed on a weekly basis. The first day
                  of the week may vary between Enterprises and is an Enterprise Setting (Weekending
                  Date).

                  Timesheet Entry Java classes
                  Frame classes
                    fETSEntry
                        The main frame used for Timesheet Entry
                    fETSLine
                        The frame in which the user inputs time, called by fETSEntry
                    fTimesheetRept


ETS SYSTEMS MANUAL                                  4/10/01                                      Page 59
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                  Overview




                        The frame class used throughout the system to preview either Timesheets or
                        Expenses.
                    fSubTotalRept
                        Shows Timesheet and Expense Report subtotals


                  Data retrieval
                    TimesheetModel
                        Holds private Timesheet data on the Remote App Server. Contains methods to
                        access the database for updating and refreshing.
                    TimesheetReader
                        Contains methods to read the TimesheetModel and retrieve subsets from
                        the Model to populate the TimesheetViewer.
                    TimesheetViewer
                        Contains public hashtables with all the Timesheet and Expense data for that
                        user for the current week.
                    TimesheetWriter
                        Contains methods to refresh the TimesheetViewer and the Model.

                  Process
                    TtESTrack
                        A track to retrieve Enterprise Settings
                    TtESTrackRemote
                        Holds the Enterprise Settings data on the App Server.
                    cChargeAuth
                        Holds charge authorization on the client machine
                    cChargeAuthRemote
                        Holds charge authorization on the Remote App Server
                    ETSReptTimesheet
                        Contains variables to load the multilist. No longer used
                    EXPRept
                        A thread to retrieve and process data to build the multilist. No longer used
                    ETSReptTimesheet
                        Creates the Timesheet object that is displayed by fTimesheetRept
                    CheckAuthThread
                        A thread used during Timesheet and Expense Report entry to retrieve the indi-
                        vidual’s charge authorization information from the remote side held in the
                        remote object LCAViewer.




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 60
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                  Timesheet concepts




                  Lawson API
                    LawsonRequest
                        Retrieves employee information from Tetra Tech’s Lawson human resource
                        database. Located on the client side.
                    LawsonRemote
                        Located on the Remote side to mirror the data held in LawsonRequest and to
                        make the Stored Procedure calls.

                  Utilities & dialog boxes
                    ETSCalendar
                        A utility to return the date by weekday
                    dlgETSMsgBox
                        A generic dialog box
                    dlgSubmitConfirm
                        A dialog box to confirm Timesheet submission
                    dCAValidation
                        A dialog box to inform a California employee whether or not her Timesheet
                        has passed California labor law




Timesheet concepts
                  ETS workflow begins with the creation of the Annual Timesheet and Expense
                  Report Workpacket (WORKPACKET) and the weekly Workpacket Sections
                  (WPSECTIONS) instances. From these, an individual’s Timesheet and Expense
                  Report is created.

                  Required input values
                  • Individual number (for example: 12543)
                  • Weekending date (for example: 08/27/2000)




                  Data Structure
                  Annual Individual Timesheet
                  An individual’s annual generic Timesheet is represented by a WORKPACKET row.
                  Each column is defined as following:


ETS SYSTEMS MANUAL                                 4/10/01                                  Page 61
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                         Timesheet concepts




                     • wp_numb:the next available unique number
                     • description:individual’s employee number + individual’s name + year of the
                        Timesheet
                     • wp_bus_type:the type code of the GNRLTYPE row which has WPBTYPE as the
                        type_kword and TIMEXPENSE as the user_designator
                     • user_designator: TSEYEAR
                     • user_reference:year of the Timesheet

                  Each individual has one annual generic Timesheet per year. A GNRLASOC row is
                  created to establish the relationship between the individual and the annual generic
                  Timesheet.



Table 4.1 WORKPACKET
   Rob Beckett’s annual generic Timesheet
 wp_
 numb         description                         wp_bus_type         user_designator   user_reference
 82946        E03432 : Beckett, Robert 2000       15024               TSEYEAR           2000

Table 4.2   GNRLTYPE
   Defines this as a Timesheet Entry Workpacket
 type_code      type_kword      description            user_designator
 15024          WPBTYPE         Timesheet Entry        TIMEXPENSE

Table 4.3   GNRLASOC
   Establishes a relationship between the Workpacket and individual
 prim_key     table_numb_1          row_key_1      table_numb_2        row_key_2
 82947        WORKPACKET            82946          INDIVIDUAL          12543

Table 4.4   INDIVIDUAL
   Defines the individual as Rob Beckett
 Indiv_numb          First_name            Last_name
 12543               Rob                   Beckett




                 The Generic Weekending Dates
                 The generic weekending dates Timesheets are represented as WPSECTIONS rows.
                 Each weekending date can have up to two WPSECTIONS rows, one for Original and
                 one for Amended. These two WPSECTIONS rows both have the weekending date
                 (formatted as YYYYMMDD) as the User_reference, but the keywords for
                 User_designator column are different:
                  • Original: TIMESHEXP



ETS SYSTEMS MANUAL                                     4/10/01                                   Page 62
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                      Timesheet concepts




                  • Amended: AMENDEDETS


Table 4.5  WPSECTIONS
   One row is written each to define a week’s Original and Amended Timesheets
 wpsect_                                       wpsect_
 numb         description                      bus_type      user_designator    user_reference
 107202       Amended Timesheet and            78384         AMENDEDETS         20000827
              Expenses for Weekending 08/
              27/2000
 93527        Timesheet and Expenses for       16240         TIMESHEXP          20000827
              Weekending 08/27/2000


Table 4.6   GNRLTYPE
   Defines these rows as Original or Amended generic Timesheets
 type_code      type_kword         description                                    user_designator
 16240          WPSCTBTYPE         Timesheet and Expense Report                   TIMESHEXP
 78384          WPSCTBTYPE         Amended Timesheet and Expense Report           AMENDEDETS




                 The Timesheet instance
                 By linking the generic weekending date WPSECTIONS row to the generic annual
                 individual Timesheet Workpacket, a new Timesheet instance is created. For exam-
                 ple, this GNRLASOC row represents Rob Beckett’s Original Timesheet for week-
                 ending 08/27/2000.
                 If you need an Amended Timesheet instead, simply replace the row_key_1 with the
                 Amended WPSECTIONS row’s wpsect_numb.
                 Please note, this GNRLASOC row also represents the Expense Report instance for
                 the same individual and the weekending date.


 Table 4.5 GNRLASOC
    Timesheet instance
  prim_key     table_numb_1                 row_key_1        table_numb_2           row_key_2
  106929       WPSECTIONS                   93527            WORKPACKET             82946




                  The Generic ETS tasks
                  Before an individual may enter time, the Timesheet instance needs to be attached to a
                  particular task.
                  There are nine ETS tasks. Four are Timesheet-related and the other five are Expense
                  Report-related.




ETS SYSTEMS MANUAL                                 4/10/01                                       Page 63
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                       Timesheet concepts




Table 4.7  GNRLTYPE
   With Type_kword TASKBTYPE, all Timesheet and Expense-related types have a User_designator of
   ETSTASKS.
 type_code      type_kword      description                                user_designator
 15974          TASKBTYPE       Timesheet and Expense Report Entry         ETSTASKS


Table 4.8    TASKS
   All possible tasks that may be linked to a Timesheet instance
 task_                                                         task_
 numb       description                                        bus_type        user_designator
 28534      Enter Expense Report                               15974           EXPENTRY
 45829      Supervisor Approve Expense Report                  15974           ETSEXPAPRV
 45834      Account Expense Report Approval and Import to      15974           ETSEXPACTI
            CODA
 15975      Enter Timesheet                                    15974           TSEENTRY
 15980      Import Timesheet to CODA Automatically             15974           TSEIMPCODA
 15979      Supervisor Approve Timesheet                       15974           TSESUPAPRV
 16606      Correct and Review Timesheet                       15974           TSECREVTS
 45833      Correct and Rework Expense Report                  15974           ETSEXPRWRK
 45840      Accounting Rejected Expenses -- Rework             15974           ETSEXPARJT




                 The task instance
                 To create a specific task instance, a GNRLASOC row is written to link the generic
                 task to the Timesheet instance. The following example row represents a task to enter
                 Rob Beckett’s 08/27/2000 Original Timesheet.
Table 4.9   GNRLASOC
   The task instance
prim_key      table_numb_1      row_key_1      table_numb_2        row_key_2    description
106930        TASKS             15975          GNRLASOC            106929       08/27/2000 -- Enter
                                                                                Time

                 UNIQTMSH lines
                 The Timesheet and expense line information is saved in the UNIQTMSH table.
                  • indiv_numb: the individual number of this Timesheet or Expense Report’s owner
                  • row_key: the Timesheet instance’s GNRLASOC prim_key
                  • user_designator: TIMESHEET for Timesheet lines, EXPENSE for Expense Report
                    lines




ETS SYSTEMS MANUAL                                   4/10/01                                     Page 64
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                       Timesheet concepts




Table 4.10 UNIQTMSH
   Three rows show each Timesheet line as entered by the individual
                              Project_nu    work_orde       wbs3_code
prim_key     indiv_numb       mb            r_numb          _numb       work_date   labor_type
107076       12543                                                      08/23/00    35JURYDUTY
107084       12543                                                      08/25/00    25HOLIDAY
107085       12543                                                      08/24/00    40BEREAVE

labor_        labor_         charge_          hours_      computer_u            amoun
sub_type      code           department       type        sage          hours   t        quantity
                             1301             1                         3.5     0        1
                             1301             1                         8       0        1
                             1301             1                         8.5     0        1



User_designator
Timesheet
identifies these                                                                        user_
three entries as
Timesheet                                               row_ke descrip user_            referenc
entries.                                table_numb      y      tion    designator       e
A User_-
                                        GNRLASOC        106929         Timesheet        PITT
designator of                           GNRLASOC        106929         Timesheet        PITT
EXPENSE would
designate this as                       GNRLASOC        106929         Timesheet        PITT
an Expense
Report entry.




                    Distinguishing between Timesheet and Expense Report
                       information
                    Timesheets and Expense Reports share the same annual generic Timesheet (WORK-
                    PACKET), generic weekending date (WPSECTIONS), and Timesheet instance
                    (GNRLASOC). But the generic tasks for Timesheets and Expense Reports are dif-
                    ferent, so the task instances will be different.
                    UNIQTMSH’s User_designator value separates the Timesheet lines and Expense lines
                    although they share the same row_key (the prim_key of the Timesheet instance).




ETS SYSTEMS MANUAL                                     4/10/01                                      Page 65
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                    Timesheet entry workflow




Timesheet entry workflow
                  Once a Timesheet Entry task instance has been created, individuals may begin enter-
                  ing time. Timesheet entry includes various validations and charge authorizations. Fol-
                  lowing Timesheet submission, a series of successor tasks are created with the final
                  successor task being a successful Import Timesheet to CODA.
                  The basic workflow is constructed at run time by generating successor task instances
                  on the completion of a particular task instance.
                  Individual and Supervisor setup
                  All individuals are set up in INDIVIDUALS and assigned to GROUPS, and each
                  Group has a Supervisor. This relationship defines the individual’s appropriate Super-
                  visor for approval.
                  Each individual is assigned to a Home Department. A Supervisor in that Department
                  includes the Departmental Workqueue in his or her Preferences
                  .


Table 4.11 GROUPS
 prim_       group_bus_                                  group_alloc
 key         type              group_perm_type           _type           description    user_ designator
 1300        2355                                                        Gaithersburg   GBRG
 1301        2355                                                        Pittsburgh     PITT



Table 4.12 GNRLTYPE
   Defines a Group Business Type of "Department"
 type_code        type_keyword                      description                user_designator
 2355             GROUPBTYPE                        TtNUS Department           DEPARTMENT



Table 4.13 USERCOND
   Shows the relationship keyword for Home Department
 prim_key         cond_keyword            cond_value       description
 pppp             USRASOCREL              HOMEDEPT         Home Department for this Individual



Table 4.14 USERKWORD
   Defines the relationship keyword for a Home Department
 prim_key         user_keyword          description                                userkw_type
 nnnn             HOMEDEPT              Home Department for this Individual        USERCONDKW




ETS SYSTEMS MANUAL                                     4/10/01                                     Page 66
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                  Timesheet entry workflow




Table 4.15 USERASOC
   Creates the link between the individual and the Group
                                     row_                       row_
 prim_key       table_1              key        table_2         key    sequence     relationship
 aaaa           INDIVIDUAL           3000       GROUPS          1300   1            HOMEDEPT
 bbbb           INDIVIDUAL           3001       GROUPS          1300   2            HOMEDEPT
 cccc           INDIVIDUAL           1304       GROUPS          1301   1            HOMEDEPT


                  Automatic Timesheet setup
                  Each week, Timesheets are created, usually automatically for all Employees in an
                  entire Enterprise. Individuals are flagged with a preference indicating that they
                  require a Timesheet every weekly or monthly period.
                  Every period, a supervisor runs the auto Timesheet application to create Timesheet
                  automatically for each individual in a given Enterprise. If the appropriate WPSEC-
                  TIONS is not already set up, the program will automatically create it.
                  Expense Reports
                  Individuals with Timesheets are offered the option of completing Expense Reports.
                  If the individual fills any data in the EER, then the system initiates the EER Supervi-
                  sor Approval task instance sequence.
                  Timesheet entry
                  At Timesheet entry, ETS performs two main validations: Project charge authoriza-
                  tion, and labor charge authorization. Project charge authorization is set up in CABS.
                  Labor Charge Authorization (LCA) is a subsystem of ETS.
                    Labor charge authorization
                          ETS validates against the LCA subsystem at Timesheet entry to ensure that the
                          individual is authorized to charge labor against a Project. Projects, Workorders,
                          and WBS3s are displayed to the user to input time only if that user is autho-
                          rized to charge against them. The Projects must be open for labor for
                          Timesheets, and open for invoicing for Expenses.
                    Project charge authorization
                         Once the user has chosen a Project to log time against, ETS validates the
                         choice against the data in CABS to ensure that this Project is open for labor.
                         Projects closed for labor appear on the input screen (fETSLine) with a red
                         background and cannot be chosen.
                  If the individual is from California, the system also validates the hours by California
                  labor law. Other validations include those specific to each Enterprise’s pay codes.
                  Workqueues
                  Once the Timesheet passes validations and charge authorization checks, the individ-
                  ual submits a Timesheet, and a Supervisor Approval task is created and put in the
                  individual’s Supervisor’s Workqueue. Workqueues are attached to the Department
                  office where particular Administrators are located.



ETS SYSTEMS MANUAL                                    4/10/01                                       Page 67
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                         Model/View/Control architecture




                  Timesheets are allocated to the Workqueue of the Department, which has responsi-
                  bility for the Project. Workqueue assignment does not prohibit an authorized Super-
                  visor from reviewing Timesheets from individuals in her Group, who may be
                  temporarily assigned to other Departments.
                  Charge authorization
                  When the user clicks on ADD in the main entry screen, the system loads fETSLine,
                  the ETS Line Detail screen , where the user actually enters time. This screen contains
                  a series of dropdown boxes with Charge Type, Project, Workorder, etc. so the user
                  can choose the proper Project against which to bill time.
                  To load these dropdown boxes, the system invokes the Charge Authorization func-
                  tion which operates in the background to determine allowable, or authorized,
                  Projects against which this individual may bill.
       NOTE       Note that charge authorization and Labor Charge Authorization are two different functions.
                  Charge authorization comes from CABS and defines which Projects, Workorders, etc. are
                  open for labor or invoicing. Labor Charge Authorization is an ETS sub-system and allows
                  Administrators to authorize individuals to bill against specific Projects, Workorders, or
                  WBS3s.

                  Functions and permissions
                  Individual “preferences” are set up which define an individual’s “role” and therefore
                  an individual’s permissions. See Getting individual preferences in the Login section.
                  Link line processing and importing to CODA
                  Once the Timesheet or Expense has passed all approvals, it is ready to Import to
                  CODA. This involves the creation, collapsing, and balancing of the Link Lines. If this
                  is successful, the transaction information is transferred to CODA, using the CODA
                  Import Repository (CODAREP). See document #5238.
                  Tetra Tech manually starts the Link Line process batch once weekly.
                  Amended Timesheets
                  Once a Timesheet is sent to CODA, it is considered POSTED and may not be
                  edited. If an individual needs to correct a Timesheet or Expense Report after sending
                  it CODA, an Amended Timesheet or Expense Report is created. See See Amended
                  Timesheets in this section.


Model/View/Control architecture
                  The N-Tier system uses RMI to retrieve and save data to the database. Four types of
                  classes are used in a typical App Server request: the Model, Viewer, Reader, and
                  Writer.
                  The Model is private, resides on the App Server and contains all the data for all indi-
                  viduals for all Projects for the current week.
                  The Viewer is public and resides on the client machine to hold a selective extract
                  from the Model specific to the logged-on individual.
                  The Reader is private and provides methods to read the Model and retrieve sub-
                  sets to save to the Viewer for the use by the user.



ETS SYSTEMS MANUAL                                    4/10/01                                        Page 68
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                   Model/View/Control architecture




                  The Writer is public and provides methods to refresh the Viewer and the Model
                  when the user makes an entry.
                  Following is a diagram on the Timesheet Entry System, Model/View/Control archi-
                  tecture.




ETS SYSTEMS MANUAL                               4/10/01                                   Page 69
A-Frame Technical Documentation #6201
                                        ETS Systems Manual




                                                                                                                        Timesheet Entry System
                                                                                                                     Model/View/Control Architecture

                                                             Client Side                                                                               App Server                                                               Databases
                                                                                                                                                    on the Middle Tier                                                      WorkMovr and Lawson

                                                                                                                                      App Server




ETS SYSTEMS MANUAL
                                                                                                                       TimesheetViewer                                                          TimesheetModel
                                                         fETSntry                                                           public                                                                  private
                                                                                                                                                   Saves subsets




A-Frame Technical Documentation #6201
                                                            or
                                                                                                                                                   to Viewer
                                                        fEXPEntry                                                     Contains Individual                                                       Contains cDataSets
                                               Timesheet or Expense Entry                                             subset from Model                                                         with all Timesheet
                                                                                                                                                                                                                                                                                 THE TIMESHEET ENTRY SYSTEM




                                                                                                                                                                                                                                                        DIAGRAM4.3TIMESHEET




                                                                                                                                                                                                                         Adds an
                                                       screens                                                        saved in hashtables.                                                      and Expense data           entry
                                                                                                                                                                                                on all Individuals for    for the
                                                  ADD                SAVE                                                                             TimesheetReader
                                                                                                                                                                                                the period of one          User
                                                                                                                                                           private                              week.
                                                                                                                                                                                 Retrieves
                                                                                                                                                                                 data
                                                                                                                                                     Reads the Model and         subsets                                            WorkMovr Database
                                        1. Calls ETS Line
                                        Detail screen to                                                                                             provides methods to         from
                                        allow user to input hours                      4. Clicking on SAVE                                           retrieve subsets from       Model




                    4/10/01
                                                                                       sends the request                                             the cDataSets in the
                                                                                       to the Writer                 Adds an entry for the User      Model and save them
                                                                                                                                                     to the Viewer.


                                                         fETSLine                                                       TimesheetWriter
                                                            or                                                              public
                                                         fEXPLine
                                             User inputs hours or expenses                                           Refreshes the Viewer
                                                          here                                                       Refreshes the Model                           Adds an Entry for the User

                                                    ADD               DONE



                                                                                        3. DONE                                                                                                                                      Lawson Database
                                                                                        returns the
                                                                                        user to the                       Public                                      Private/Protected
                                                      2. Clicking on ADD
                                                      verifies , then writes            main Entry
                                                      the entry                         screens.


                                                                                                                             Lawson API retrieves employee data directly from Lawson
                                                                                                                                                                                                                                                        ENTRY MVC ARCHITECTURE
                                                                                                                                                                                                                                                                                 Model/View/Control architecture




                    Page 70
                                        SourceSafe\A-Frame Developers\Shelley Hoose\ETS Timesheet User Process.vsd
THE TIMESHEET ENTRY SYSTEM                                                                          fETSEntry




fETSEntry
Timesheet Entry Screen
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . T I M E S H E E T
                  P U B L I C C L A S S F ETSE N T R Y E X T E N D S F R A M E


GUI Navigation    • Choosing Enter Time from Inbox

      Called by   •   fETSAppr
                  •   fSuprAppr
                  •   fETSLine
                  •   fETSInbox

       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.




Figure 4.3 THE TIMESHEET ENTRY SCREEN




ETS SYSTEMS MANUAL                                     4/10/01                                          Page 71
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                    fETSEntry




                  Attributes
                  See Javadocs


                  Imports
                  import aframe.workmovr.afenv.afEnv;

                  import aframe.workmovr.afutils.afFormat;
                  import aframe.workmovr.afutils.afComments;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataComp;

                  import aframe.afdev.common.cMathOper;

                  import customers.tetratech.ets.ETSCommon;
                  import customers.tetratech.ets.ETSController_Stub;
                  import customers.tetratech.ets.dlgETSMsgbox;
                  import customers.tetratech.ets.CheckAuthThread;
                  import customers.tetratech.ets.ETSCalendar;

                  import customers.tetratech.ets.api.LawsonRequest;
                  import customers.tetratech.ets.api.ETSTaskApproveRemote_Stub;

                  import customers.tetratech.ets.inbox.fETSInbox;

                  import customers.tetratech.ets.tools.fSubTotalRept;
                  import customers.tetratech.ets.tools.fExpenseCreate;

                  import customers.tetratech.ets.reports.ETSReptTimesheet;
                  import customers.tetratech.ets.reports.fTimesheetRept;

                  import customers.tetratech.ets.process.fAutoValidate;

                  import customers.tetratech.ttdev.library.cChargeAuth;
                  import customers.tetratech.ttdev.common.TtESTrack;
                  import customers.tetratech.ttdev.common.cLoginRemote_Stub;




                  Overview
                  fETSEntry is the initial screen used to enter Timesheet information. Before
                  launching the screen, it determines the type of user, and then displays or hides certain
                  functions.

                  Display modes
                  fETSntry enables or disables certain buttons depending on the display mode
                  passed in by the individual preference settings.



ETS SYSTEMS MANUAL                                   4/10/01                                       Page 72
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                  fETSEntry




                  Table 4.16 DISPLAY MODES
                  Mode key      Mode         User              Display description
                  0             Regular      Regular           All buttons enabled except Show
                                             employee          Change
                  1             Supervisor   Supervisor or     All buttons disabled except Show
                                             Administrator     Change and CLOSE so modification is
                                                               not possible
                  2             Correction   Regular           All buttons enabled except Show
                                             employee          Change
                  3             View         Supervisor        All buttons disabled except Show
                                                               Change and CLOSE so modification is
                                                               not possible

                  Display modes allow users access to the functions appropriate for each user. Four
                  modes exist, two for use by regular Employees, and two for use by supervisors.
                  Employees have access to all functions except the function SHOW CHANGE,
                  which allows the user to updates and revisions that have been made.

                  Show Change function
                  Supervisors and administrators may not make any changes, so all buttons are disabled
                  except the SHOW CHANGE button and CLOSE.
                  SHOW CHANGE is only enabled when this entry screen is launched from the
                  Supervisor Approval screen’s “View Timesheet” button. In all other cases, the
                  SHOW CHANGE button is disabled, whether the user is a regular employee or a
                  supervisor. This allows supervisors to enter time into their own Timesheets.

                  Loading the multilist
                  The process of loading the multilist is under development, so this section will be
                  updated and revised in future releases.
                  Prior to N-Tier
                  Starts EXPRept to get all the information about this task, passing in the task’s User
                  Designator. Once the Thread is complete, prepares to set up the screen. Goes to
                  afEnv to get the cETS, TTComm, and ETSComm objects. Calls TtESTrack, the
                  thread class to retrieve and process the Enterprise Settings data. Populates the local
                  variables sEndDate, sIndivNumb, sWPSection_Instance, and sIn-
                  divName with the ETSThread data.
                  Sets up the calendar and calls ETS to load the entries cached in ETSntries to the
                  multilist.
                  N-Tier development notes
                  fETSEntry now contains methods and variables to load the data to the multilist
                  directly without the use of ETS, ETSThread or ETSntries. New methods
                  include: LoadTimesheetlines(), FormatTimesheetData(), and For-
                  matLine().




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 73
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                    fETSEntry




                  Entering Time
                  To enter time, the system calls fETSLine. This screen contains a series of dropdown
                  boxes with Charge Type, Project, Workorder, etc. so the user can choose the proper
                  Project against which to bill time.
                  To load these dropdown boxes, the system invokes the Charge Authorization func-
                  tion which functions in the background to determine allowable, or authorized,
                  Projects against which this individual may bill.
                  Add mode
                  When the user clicks the ADD button, fETSLine opens in Add Mode, calling
                  vAddMode().
                  Update mode
                  To update a previous entry (prior to Timesheet submission), the user highlights the
                  line to change and clicks MODIFY. Before opening fETSLine to allow the user to
                  modify the entry, the system calls ETSntries to retrieve task and Project informa-
                  tion and calls cChargeAuth to get charge type information. Charge authorization
                  is checked at this time to ensure that the user is still authorized to charge against the
                  Project.
                  If the user is no longer authorized to charge against the Project, an error message
                  appears and fETSLine does not open. If the user is authorized, the system calls
                  fETSLine.vUpdateMode().

                  Sub-totaling the time
                  Calls fSubTotalRept

                  Previewing Timesheet
                  Calls fTimesheetRept

                  Submitting the Timesheet
                  When user clicks on SUBMIT WEEK, a series of validations and approvals are set in
                  motion.
                  1. Validating hour type by status code and Enterprise
                  Calling the method bValidHourType(), the system validates the Employee’s
                  hours according to pay code and Enterprise. Based on these parameters, the system
                  uses different rules for validation. See Business Rules in this section for rules
                  enforced by these methods.
                     • For status codes ending in CA, the system calls the
                        bValidHourTypeForCA() method
                     • For Enterprise TtNUS:
                         • with a status code is BNPO or BEPO, the system calls the
                              bValidHourTypeForBNPO() method.
                           • with a status code of BE45, the system calls the
                              bValidHourTypeForNUSBE45() method
                    California employees
                        Calls bValidHourTypeForCA()


ETS SYSTEMS MANUAL                                   4/10/01                                        Page 74
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                  fETSEntry




                        If the user is a California employee, the “Validate for California Hours” button
                        is displayed. When the user clicks on this button, the California Validation
                        screen is launched. See “dCAValidation” on page 4-92 for business rules.
                  2. Confirming the submission
                  Before accepting a Timesheet submission, the system double checks that the
                  Employee intended submittal, calling “dlgSubmitConfirm” on page 4-97
                  dlgSubmitConfirm returns a value for iResult.
                       • If successful, iResult = 1
                  A successful result calls bSubmitWeek(). If bSubmitWeek() returns successful
                  as well, fETSEntry closes the entry screen.
                  3. Starting Supervisor Approval
                      Calls bSubmitWeek() Updates the Model. Calls the API ETSTaskAp-
                      proval.bSubmitWeek.
                  Once a Timesheet is submitted, the Supervisor Approval process is begun.
                  ETSTaskApproval creates a successor task called “Supervisor Approve
                  Timesheet” to go in the supervisor’s Inbox.

                  Refreshing LCA
                  Refreshes the labor charge authorization information for this individual to ensure up-
                  to-date authorizations.

                  Refreshing the Model
                  vRefreshModel() is called by fETSLine before closing that screen, so the
                  TimesheetModel is updated with the new entries. Checks to see if this is the cur-
                  rent weekending. If not, this Timesheet is Amended and the data is not in the
                  Model, since the Model only contains data for the current week’s transactions. If
                  the weekending matches, the system goes ahead and updates the Model.
                  As of N-Tier
                  LineUpdateThread is no longer used to update the Model. The methods vRe-
                  freshData() and vRefreshModel() have been replaced by SaveLines()
                  which calls TimesheetWriter to update the Model and UNIQTMSH.
                  Deleting entries
                  Entries are deleted row by row from the hashtable in TimesheetViewer by call-
                  ing tt_UNIQTMSH_ACT_DEACT.

                  Creating Expense Reports
                  Allows the user to create an Expense Report for the current week.



                  Changing passwords
                  CHANGE PASSWORD is included on this frame since users who have only one
                  pending task do not see the Inbox.




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 75
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                    fETSEntry




                  Comments
                  Comments are saved to the GNRLCMNT table associated to the task in a GNR-
                  LASOC row. To save and load comments, the system calls ETSControl-
                  ler:UpdateComment and ETSController:GetComment(). See Data
                  Mappings in “ETSController” on page 14-307.



                  Charge Authorization
                  Charge authorization is a function that runs in the background during Timesheet and
                  Expense entry, Supervisor Approval, LCA, and Link Line processing.
                  Charge authorization should not be confused with Labor Charge Authoriza-
                  tion(LCA), a separate ETS sub-system. (See the Labor Charge Authorization on page
                  8-132 section. The Charge Authorization classes control the charge authorization for
                  all Projects, Workorders and WBS3s, attaching data to the Projects, such as Com-
                  puter Usage, Charge Department, and whether the Project is open for labor or
                  invoicing. This data is saved in ChargeAuthRemote. Charge authorization is
                  always retrieved and stored by individual.

                  The difference between 2-tier and N-Tier
                  Two-tier did not include the separate subsystem Labor Charge Authorization (LCA),
                  so all billing and authorization functions were in these Charge Authorization classes.
                  With N-Tier, the added functionality of setting authorized starting and ending dates
                  as well as blackout dates (dates in which a particular individual is not allowed to bill
                  time against a Project) has been added. The addition of these functions has resulted
                  in the creation of the new LCA subsystem.

                  Charge authorization Java classes
                  cChargeAuth
                  cChargeAuthRemote
                  CheckAuthThread



                  Amended Timesheets
                  Amending Timesheets has the potential to create significant operational and financial
                  integrity problems, so amending Timesheets is a core part of the system.
                  Amended Timesheets are processed differently for Exempt and NonExempt
                  employees. For example, Exempt employees may receive an Effective Rate. This
                  means that the system must determine the Effective Rate, the actual rate, and the
                  actual number of hours reported all from the Original Timesheet.
                  Until the Timesheet or Expense Report has been APPROVED, it is considered in
                  process. Authorized individuals may still make adjustments or changes, without any
                  adverse affect on other systems of data.




ETS SYSTEMS MANUAL                                   4/10/01                                        Page 76
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                fETSEntry




                  After the Timesheet or Expense Report has been APPROVED, the CODA posting
                  is automatically invoked, and so the Timesheet or Expense Report is “frozen” and
                  cannot be updated. The ADD/MODIFY/DELETE buttons are grayed out.
                  To amend an APPROVED or POSTED Timesheet or Expense Report, the system
                  opens a new Workpacket Section (WPSECTIONS), and duplicates the original
                  entries. Authorized individuals may then make changes to the duplicate entries, and
                  send the Timesheet or Expense Report through the validation and Approval process,
                  as with an original entry.
                  On Posting to CODA, the system calculates the “difference” between the original
                  and amended records, and posts this “difference” entry to CODA. The Effective
                  Rate is recalculated, based on the hours worked by a fixed salaried employee. Origi-
                  nal payroll rates are used in posting the amended Timesheet or Expense Report.
                  For more information on Amended Timesheets and posting to CODA, see
                  Amended Timesheets in the Link Lines section.



                  Business Rules
                  Amended Timesheets and Expenses
                  Users may not delete lines from Amended Timesheets or Expenses, so the DELETE
                  button is disabled for all Amended tasks. If Original, the DELETE button is
                  enabled.
                  California employees
                  The “Validate California Hours” button is only available when the employee status
                  code ends with CA.
                  TtNUS Employees
                    BE45 Pay Codes
                         No additional compensation is allowed until the total number of regular
                         worked hours in a week exceeds 40 hours.
                    BEPO and BNPO Pay codes
                     1 The total number of regular worked hours in a week should not exceed 40
                         Hours for Non-Exempt employees.
                     2 No overtime is allowed until the total number of regular worked hours in a
                         week exceeds 40.

                  Stored Procedures
                  none




ETS SYSTEMS MANUAL                                  4/10/01                                        Page 77
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                     fETSEntry




                  Data Mappings
 Comments
 Comments are saved in the database to a row in GNRLCMNT linked with the task instance in
 GNRLASOC. The comment is identified with the individual in the column Add_indiv, and the date
 the comment was made is logged.
 An instance of cDataRow is instantiated on the App Server, retrieving all pertinent information
 from each table.
 Table 4.17 GNRLCMNT
    Sample rows in GNRLCMNT where comments are cached
  Prim_      Table_            Row_                                         Add_
  key        numb              key       Cmnt_text                          indiv     Add_datetime
  22509      GNRLASOC          20168     Rain prevented completion of       3006       1999-03-04
                                         this job in the time allowed.                14:57:11.037
  22510      GNRLASOC         20168      Finally finished it.               3006      1999-03-06
                                                                                      14:58:52.743

 Table 4.18 GNRLASOC
               Table_            Row_      Table_              Row_
  Prim_key     numb_1            key_1     numb_2              key_2       Description
  20168        TASKS             15975     GNRLASOC            20167       Enter Timesheet for Weekending
                                                                           02/20/1999

 Table 4.19 GNRLASOC
  Prim_key        Table_numb_1                   Row_key_1             Table_numb_2      Row_key_2
  20168           TASKS                           15975                GNRLASOC          20167




ETS SYSTEMS MANUAL                                   4/10/01                                         Page 78
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                          fETSLine




fETSLine
ETS Line Item Details Screen
                  E T S L I N E I T E M D E TA I L S S C R E E N
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . T I M E S H E E T
                  P U B L I C C L A S S F ETSL I N E E X T E N D S F R A M E


GUI Navigation    • Choosing Add or Modify from the Timesheet Entry Screen

       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.


Figure 4.4 ETS LINE SCREEN




                  Attributes
                    See Javadocs

                  Imports
                  import aframe.workmovr.afenv.afEnv;
                  import aframe.workmovr.afutils.afFormat;




ETS SYSTEMS MANUAL                                    4/10/01                                          Page 79
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                    fETSLine




                  Imports

                  import aframe.afdev.common.cMathOper;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataComp;

                  import aframe.afdev.orb.cRequestMaker;

                  import customers.tetratech.ets.TimesheetWriter_Stub;
                  import customers.tetratech.ets.ETSCommon;
                  import customers.tetratech.ets.dlgETSMsgbox;
                  import customers.tetratech.ets.ETSCalendar;
                  import customers.tetratech.ets.Timesheet.fETSEntry;

                  import customers.tetratech.ets.api.LawsonRequest;

                  import customers.tetratech.ttdev.common.TTCommon;
                  import customers.tetratech.ttdev.library.cChargeAuth;
                  import customers.tetratech.ttdev.common.TtESTrack;




                  Business Rules
                  Amended Timesheets
                  Users cannot save any Amended Timesheet lines without reason codes.
                  Displaying Charge Types
                  Projects, Workorders, and WBS3s are displayed to the user only if that user is autho-
                  rized to charge against them. The Projects must be open for labor for Timesheets,
                  and open for invoicing for Expenses.
                  Choosing Charge Types
                  The user must actually choose a WBS3 level task to prevent hours being billed to the
                  wrong WBS3. When the user chooses Charge Type of 05DIRECT, the system auto-
                  matically sets the boolean bWBS3Selected to FALSE. This way, the system dis-
                  plays an error message if the user has not actually clicked in the choice box. After
                  clicking in the choice box, the boolean is set to TRUE. For INDIRECT charge types,
                  the boolean is just set to TRUE.
                  Charging labor and logging time
                    Project charge authorization
                        The system allows a user to log hours against a Project only if the individual is
                        authorized to bill against that Project, and only if the Project is actually open



ETS SYSTEMS MANUAL                                  4/10/01                                       Page 80
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                       fETSLine




                        for labor. If these conditions are not met, the user receives an error message
                        and the time is refused.
                    Labor charge authorization
                        Before the user can ADD time, the system validates the weekday to ensure the
                        Project is open for labor on that particular day and not blacked out for that
                        individual.
                    Duplicate entries
                        The system checks for duplicate entries on the same day and returns a warning
                        message to the user if it detects one. Duplicate entries are, however, accepted if
                        the user chooses to continue.
                  Charge Department
                    Charge department must be entered
                        The system will not accept an entry with an empty Charge Department text
                        field. If this field is empty, the user receives an error message with instructions
                        to contact his/her supervisor. This prevents the Link Line process from fail-
                        ing.
                    Default Charge department
                        The default Charge Department is the individual’s home department. If the
                        Charge Department is set to HOME, the field is disabled and the user may not
                        change it.
                        Corporate’s default Charge Department is always the HOME department.
                  Computer usage
                  A Project may override the default Enterprise Settings for charging Computer Usage.
                    TtNUS Computer Usage default
                        TtNUS’ Computer Usage setting defaults to YES.
                  Acquisition
                  Time must be set to Regular.
                  Fast Track
                  Fast Track is disabled and unavailable.
       NOTE       In N-Tier, both Fast Track and Override Validation are removed entirely.


                  Overview
                  fETSLine is the screen in which the user actually adds time worked. Prior to enter-
                  ing time, the user must choose the Charge Type, Project, and WBS3. The system then
                  verifies that the user is authorized to bill hours against this particular Project. If not,
                  the system refuses the entry.
                  The user then enters time worked according to the type of hours logged, such as
                  Regular, Makeup, or Overtime. For a listing of all hours types, see the table Hours
                  Types.




ETS SYSTEMS MANUAL                                    4/10/01                                         Page 81
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                    fETSLine




                  Add and Update Modes
                  fETSLine may be opened in either one of two modes: ADD or UPDATE. For Add
                  Mode, the system displays and enables the button ADD. For Update mode, the sys-
                  tem displays and enables the button UPDATE.
                  The Update Mode is the same as the AddMode, except first the screen is cleared, all
                  existing settings are reloaded, and the label on fETSLine is set to UPDATE.
                  Loading the choice boxes by Charge Type
                  fETSLine first loads the screen’s choice boxes, based on the Charge Type the user
                  chooses. The user must choose a Charge Type and, if applicable, a Project, Worko-
                  rder, and WBS3 prior to logging any time.
                  The system also calls cChargeAuth, the class that caches information about
                  whether the Project is actually open for labor.
                  If the user makes a different Charge Type selection, the system calls
                  chcChargeType_ItemStateChanged() to refresh the screen with the new
                  data.
                    DIRECT, Direct Overhead, Piece Work, Proposal
                        These four Charge Types all have associated Projects that need to be loaded
                        into the choice boxes. Each Project then has its own Workorders, and each
                        Workorder has its own WBS3s.
                        1.0 The user chooses one of these four Charge Types, and the system loads
                            all available Projects under that Charge Type.
                        2.0 The user then chooses the Project, and the system loads all available
                            Workorders under that Project.
                        3.0 The user then chooses the Workorder, and the system loads all available
                            WBS3s under that Workorder.
                        4.0 The user finally chooses the WBS3 against which s/he is logging time.

Figure 4.5 CHOOSING THE CHARGE TYPE
                     Choosing a Charge Type of either Direct, Piece Work, Proposal, or Direct Overhead
                     loads the Project choice box with all applicable Projects.




ETS SYSTEMS MANUAL                                  4/10/01                                       Page 82
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                        fETSLine




Figure 4.6 CHOOSING THE PROJECT
                     With a Charge Type of DIRECT, the user then has a choice of all possible Projects
                     against which time may be billed. Here, the user chooses “Beach Medical.”




Figure 4.7 CHOOSING THE WORKORDER
                     After the Project is chosen, the system loads all related Workorders




Figure 4.8 CHOOSING THE WBS3
                     The user then chooses the specific WBS3 against which s/he will bill time.




                        PROPOSAL
                          A choice of Charge Type Proposal may result in an empty Proposal list. If no
                          proposal exists, the system inserts NONE.



ETS SYSTEMS MANUAL                                    4/10/01                                        Page 83
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                  fETSLine




                        CHARGE AUTHORIZATION
                          If a Project/proposal/SBA exists, the system checks to see if it is open for
                          labor. If sOpenLabor = OVERLAB, the system sets the background to
                          RED to alert the user that it is not open for labor. When open for labor, the
                          background remains white. WHITE is the default.
                        RETRIEVING THE PROJECT, WORKORDER, AND WBS3
                          Based on the Project’s description, the system calls cChargeAuth.get-
                          Workorder() to get the Project’s status. Then based on the Project and
                          the Workorder number, it retrieves a list of all WBS3-level tasks attached to
                          the Workorder (cChargeAuth.getWBS). After these are loaded, the sys-
                          tem retrieves the settings for Computer Usage.
                        COMPUTER USAGE
                          Calls cChargeAuth and passes in the Project number because each Project
                          has its own Computer Usage setting.
                          Computer Usage is also an Enterprise Setting, and each Enterprise has its
                          own default settings, either YES or NO. A Project also has default Com-
                          puter Usage settings which can override the default Enterprise Setting.
                          If Computer Usage is allowed for this Project, the choice box appears on the
                          GUI.
                        CHARGE DEPARTMENT
                          Each Project has a setting defining which departments are authorized to
                          charge against this Project. This is accessed by calling cCharge-
                          Auth.getChrgDept().
                        RESPONSIBLE DEPARTMENT
                          Calls cChargeAuth.getRespDept(). Each Project may have three or
                          four Charge Departments, but may have only one Responsible Department.
                          The default Responsible Department is the Home Department, although
                          the user may change this setting. The Responsible Department is originally
                          set up in CABS.

                    Indirect Charge Type
                        Indirect Charge Types do not have Project, Workorder, or WBS3s associated
                        to them. They do, however, include Computer Usage and Charge Department
                        settings.
                        Indirect also includes a subtype dropdown list that is loaded when the user
                        chooses INDIRECT as the Charge Type.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 84
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                  fETSLine




Figure 4.9 CHOOSING INDIRECT LOADS THE SUB-TYPE CHOICE BOX




                        CHARGE DEPARTMENT
                          Calls sGetIndDept() to get the Enterprise setting for the default Charge
                          Department for Indirect charges.
                          The Corporate Charge Department is always the Home Department.
                          If the Enterprise’s Charge Department is the Home Department (keyword:
                          INCHRGHOME), the choice box is unavailable to the user so it cannot be
                          changed
                        COMPUTER USAGE
                          Calls bGetIndCompUse() to get the Computer Usage settings for this
                          Project. For Indirect charge types, the Enterprise can specify a default Com-
                          puter Usage setting that overrides the Project setting.
                          To disallow Computer Usage, the keyword is INCMUSENO.
                          To allow Computer Usage, the keyword is INCMUSEYES.
                          For NUS, Indirect Computer Usage defaults to YES.

                    Business Development (BD) Charge Type
                           Business Development has a subtype dropdown list. It does not contain
                           Projects but may contain SBAs, Workorders and WBS3-level tasks.
       NOTE       Business Development has been removed from the current N-Tier release.
                        COMPUTER USAGE
                          If Computer Usage is not allowed, the keyword is BDCMUSENO.
                        CHARGE DEPARTMENT
                          The Charge Department choice box is unavailable to the user, and the
                          default is the Home Department.
                    Acquisition Charge type
                        The Charge Department and Computer Usage choice boxes are not visible.
                  Time
                  Time logged must be Regular.
                  Calendar
                  The calendar is merely a memo and is not linked to any entry information. It defaults
                  to the current month and year.



ETS SYSTEMS MANUAL                                  4/10/01                                     Page 85
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                     fETSLine




                  Fast Track
                  Currently disabled (and removed from the 12/23/00 Test Release).
                  Adding time
                  When the user clicks ADD, the system adds an entry and updates the total and the
                  labels. First it validates the weekday for charge authorization, then retrieves the spe-
                  cific task and Project information input by the User.
                    Hours entry box
                        The “Hours” entry box accepts any number of hours in half-hour increments, with
                        no validation on minimum or maximum. No rounding is done, but the user is
                        prompted to change the hours to the nearest half-hour.
                    Validating the weekday
                        Before the user can add time, the system verifies that the Project’s charge
                        authorization is valid for the date and weekday chosen. Verification is neces-
                        sary at this point because, even though an individual is authorized to charge
                        against a Project, each Project has start and end dates, and a supervisor may
                        also set blackout days. If the weekday returns as unauthorized, the system
                        returns an error message.
                    Retrieving the Project information
                        If the weekday returns authorized for this particular Workorder, the system
                        retrieves the rest of the Project information, including the WBS3 level, Charge
                        Department, and Computer Usage settings.
                        It calls the Lawson API to get the labor code’s Professional Level and the time
                        type (Regular, Overtime, Additional Compensation, etcetera).
                    Saving the entries to the database
                        Calls the method bWriteAddEntry(). The system first checks that there
                        are no entries for particular Charge Types
                        .
                  Table 4.20 BLANK ENTRIES ACCORDING TO CHARGE TYPE
                  Charge Type                    Variables must be blank
                  Direct, Overhead and Proposal
                  05DIRECT                       sIndirect
                  60OVERHEAD
                  10PROPOSAL
                  Non-Worked Hours -- all settings must be blank
                  20PTO                          sIndirect
                  25HOLIDAY                      sCurProjNumb
                  30FLOAT                        sCurWONumb
                  35JURYDUTY                     sCurWBSNumb
                  40BEREAVE                      sLaborCode
                  45MILITARY                     sComputer
                  55ACQ
                  Indirect




ETS SYSTEMS MANUAL                                   4/10/01                                        Page 86
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                     fETSLine




                  Table 4.20 BLANK ENTRIES ACCORDING TO CHARGE TYPE
                  Charge Type                    Variables must be blank
                  15INDIRECT                     sCurProjNumb
                                                 sCurWONumb
                                                 sCurWBSNumb
                                                 sLaborCode


                    Building the charge string
                           The charge string is a concatenation of the Charge Type, business and
                           Project Workorder saved to the User_reference column of UNIQTMSH. This
                           string then appears on the user’s Timesheet, rather than showing all the
                           details.
                    Finding duplicate rows
                         Once the account string is built, the system checks to see if there are duplicate
                         rows for the same day. If so, the user receives a warning. If the user chooses to
                         add a duplicate row, however, the system will accept it.
                    Getting reason code for Amended Timesheets
                         If this Timesheet is Amended, the system retrieves the reason code.
                    Updating the database and the Model
                         If all checks and verifications are complete, the Timesheet is saved to the data-
                         base in UNIQTMSH, calling TT_UNIQTMSH_update.
                    Refreshing fETSEntry
                         Calls vLineClosing() to refresh the parent screen with the user’s entries.
                         The system also sets bRefreshModel = TRUE if entries have been made, to
                         direct the parent class to update the TimesheetModel.


                  UPDATE mode
                  fETSLine opens in UPDATE mode if set by the parent class, fETSntry. This
                  mode is used to edit previously-added entries. UPDATE mode follows the same
                  workflow as ADD mode except it first loads all existing settings back into the frame.
                  First the system clears the screen and sets the button label to UPDATE. Then it calls
                  vShowLine() to display the choice boxes. The user may change the Charge
                  Department, Project, hours, or any other settings.
                  Amended Timesheets
                  For Amended Timesheets, the system loads the Reason Code choice box which con-
                  tains any necessary description on the reason for amending the Timesheet. The user
                  may not save any Amended Timesheet lines without reason codes. The rest of the
                  workflow is the same.

                  Stored Procedures
                  none


ETS SYSTEMS MANUAL                                   4/10/01                                       Page 87
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                   fETSLine




                  Data Mappings
                    Charge types
                        All possible charge types, listed in USERCOND with Cond_keyword CHARGE-
                        TYPE.

Table 4.21 USERCOND
Prim_                           Cond_                                       User_         User_
key         Cond_keyword        value              Description              designator    reference
21594       CHARGETYPE          05DIRECT           Direct                   1130          D
21596       CHARGETYPE          15INDIRECT         Indirect                 1130          I
21598       CHARGETYPE          25HOLIDAY          Holiday                  5102          H
21600       CHARGETYPE          35JURYDUTY         Jury Duty                5106          J
27335       CHARGETYPE          50PIECEWRK         Piece Work               5106          PIECE
27346       CHARGETYPE          55ACQ              Special Project /        9200          ACQ
                                                   Acquisition
39761       CHARGETYPE          60OVERHEAD         Direct Overhead          1130          O
54116       CHARGETYPE          65BD               Business Development     1135          BD
21595       CHARGETYPE          10PROPOSAL         Proposal                 1130          P
21597       CHARGETYPE          20PTO              Paid Time Off            5100          T
21599       CHARGETYPE          30FLOAT            Floating Holiday         7102          F
21601       CHARGETYPE          40BEREAVE          Leave / Bereavement      5106          B
21602       CHARGETYPE          45MILITARY         Military Leave           5106          M



                    ETS Fund Types
                  When users enter time, they must bill their labor to a specific fund. These funds are
                  defined in FUNDS with Fund_type 25621.


                  Table 4.22 ALL TIMESHEET ENTRY FUND TYPES
                     From FUNDS with Fund_type 25621, defined in GNRLTYPE as Timesheet Entry
                     Transaction Definitions
                  Fund_numb        Description                      Fund_type      User_designator
                  25644            Timesheet Direct Labor Hours     25621          TSEHOURS
                  25967            Timesheet Indirect - Technical   25621          TSEINDTECH
                                   Admin
                  25971            Timesheet Indirect - Training    25621          TSEINDTRNG
                  25975            Timesheet Indirect - Misc.       25621          TSEINDMISC
                  28318            job 1                            25621          1
                  45705            Timesheet Entry Computer         25621          TSECUCHRG
                                   Usage Charges
                  46278            Timesheet Additional Time        25621          TSEADDTME
                  51581            ETS Direct Hours for GandA       25621          GAAHOURS
                                   Departments




ETS SYSTEMS MANUAL                                   4/10/01                                      Page 88
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                               fETSLine




                  Table 4.22 ALL TIMESHEET ENTRY FUND TYPES
                     From FUNDS with Fund_type 25621, defined in GNRLTYPE as Timesheet Entry
                     Transaction Definitions
                  Fund_numb        Description                      Fund_type   User_designator
                  53719            ETS Indirect Computer Usage      25621       TSEIDCUCRG
                  55556            Timesheet Acquisition            25621       TSEACQUHRS
                  66329            Timesheet Business               25621       TSEBDMSC
                                   Development - Misc.
                                   Marketing
                  76950            Indirect Premium Overtime        25621       TSEINDPMOT
                  81190            Timesheet Entry Direct           25621       TSEDRCTOVH
                                   Overhead
                  81192            Timesheet Indirect -             25621       GAAINDADMN
                                   Administration (G&A)
                  81262            Timesheet Piece Work - Aeral     25621       TSEPCEAER
                  81295            Timesheet Piece Work - Aeral     25621       GAAPCEAER
                                   (G & A)
                  81355            Timesheet Holiday Labor          25621       GAAHOLHRS
                                   Hours (G & A)
                  81477            Timesheet Indirect - Technical   25621       GAAINDTECH
                                   Admin (G & A)
                  81592            ETS Indirect Computer Usage      25621       GAAIDCUCRG
                                   (G & A)
                  25645            Timesheet Proposal Labor         25621       TSEPROPHRS
                                   Hours
                  25647            Timesheet Indirect -             25621       TSEINDSUPR
                                   Supervision
                  25649            Timesheet Paid Time Off          25621       TSEPTOHRS
                                   Labor Hours
                  25651            Timesheet Holiday Labor          25621       TSEHOLHRS
                                   Hours
                  25653            Timesheet Floating Holiday       25621       TSEFLHLHRS
                                   Labor Hours
                  25655            Timesheet Jury Duty Labor        25621       TSEJRYDHRS
                                   Hours
                  25657            Timesheet Bereavement Labor      25621       TSEBERVHRS
                                   Hours
                  25659            Timesheet Military Labor         25621       TSEMILTHRS
                                   Hours
                  25965            Timesheet Indirect - Marketing   25621       TSEINDMARK
                  25969            Timesheet Indirect - Repair &    25621       TSEINDMANT
                                   Maintenance
                  25973            Timesheet Indirect -             25621       TSEINDREPD
                                   Reproduction
                  25977            Timesheet Indirect -             25621       TSEINDADMN
                                   Administration
                  54296            Timesheet Business               25621       TSEBDDSEL
                                   Development - Direct Selling




ETS SYSTEMS MANUAL                                   4/10/01                                 Page 89
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                     fETSLine




                  Table 4.22 ALL TIMESHEET ENTRY FUND TYPES
                     From FUNDS with Fund_type 25621, defined in GNRLTYPE as Timesheet Entry
                     Transaction Definitions
                  Fund_numb         Description                       Fund_type     User_designator
                  54298             Timesheet Business                25621         TSEBDSHOW
                                    Development - Trade Show
                  54300             Timesheet Business                25621         TSEBDADVTS
                                    Development - Advertising
                  54302             Timesheet Business                25621         TSEBDPLAN
                                    Development - Market
                                    Planning
                  55554             Timesheet Piece Work - Other      25621         TSEPCEWRK




                    Charge departments
                          The “Charge Department” is the Department that is charged with the cost of
                          this work. For example, the individual may have a special skill set, and may be
                          on loan from her Home Department.
                        The “Charge Department” is driven from the USERASOC table, of those
                        Departments authorized to charge against the Project or Workorder. These
                        departments are set up in CABS.
                        DIRECT & INDIRECT
                          Direct charges are charges billed directly against the Project. Indirect charges
                          are a Tetra-Tech expense.
                          When the Charge Type is DIRECT, the authorization relationship is set up in
                          a row in USERASOC, as follows.

Table 4.23 USERASOC
   Multiple Departments (Groups) may charge against a Project (Workpacket).
                             row_                              row_       sequenc
prim_key      table_1        key        table_2                key        e         relationship
1410          GROUPS         1303       WORKPACKET             1103       1         CHARGEOK
1411          GROUPS         1301       WORKPACKET             1103       2         CHARGEOK
1412          GROUPS         1304       WORKPACKET             1104       1         CHARGEOK
1413          GROUPS         1300       WORKPACKET             1101       1         CHARGEOK
1414          GROUPS         1302       WORKPACKET             1101       2         CHARGEOK
1415          GROUPS         1301       WORKPACKET             1101       3         CHARGEOK


                            When the Charge Type is INDIRECT, the Department choice box may be
                            either the Home Department, or the Charge Department, depending on the
                            Enterprise Setting.

                    Regular/Overtime choice box


ETS SYSTEMS MANUAL                                   4/10/01                                       Page 90
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                 fETSLine




                        The data comes from USERCOND, with the CODA “Quantity Position” key-
                        word.
Table 4.24 USERCOND
   Shows the Quantity Position descriptions
                cond_                                              user_
prim_key        keyword           cond_value   description         designator        user_reference
2630            QTYPOSITN         1            Regular                               R
2631            QTYPOSITN         2            Premium Overtime                      O
2632            QTYPOSITN         3            Double-Time                           S
2636            QTYPOSITN         4            Make-up Time                          M
2637            QTYPOSITN         5            Additional                            AC
                                               Compensation

                    Computer Usage
                        The data comes from USERCOND with the “Computer Usage” keyword.

Table 4.25 USERCOND
   Showing Computer Usage descriptions
prim_    cond_                cond_                                    user_           user_
key      keyword              value              description           designator      reference
xxxx     COMPUTRUSE           COMPUSEYES         Yes - Computer                        Y
                                                 Usage Charged
yyyy     COMPUTRUSE           COMPUSENO          No - Computer Usage                   N
                                                 Not Charged


Table 4.26 USERKWORD
   Shows the keyword reference for “Computer Usage” descriptions
prim_key         user_keyword            description                   userkw_type
zzzz             COMPUTRUSE              Computer Usage charged        USERCONDKW




ETS SYSTEMS MANUAL                                 4/10/01                                     Page 91
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                 dCAValidation




dCAValidation
California Overtime Validation Screen
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . T I M E S H E E T
                  P U B L I C C L A S S D CAV A L I D A T I O N E X T E N D S D I A L O G


GUI Navigation    • Clicking on Validate CA hours button on Timesheet Entry Screen

Figure 4.10 CALIFORNIA OVERTIME VALIDATION SCREEN




       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.


                  Overview
                  California’s law on pay and overtime hours must be applied to all California-based
                  employees. If an employee has CA appended to his/her pay code (for example,
                  BHCA, WHCA, SHCA), California overtime validation is launched.
                  The Timesheet Entry screen for non-California employees does not display the Vali-
                  date CA Hours button.
                  When user clicks on Validate CA Hours in Timesheet Entry screen, the system calls
                  vValidateHours().




ETS SYSTEMS MANUAL                                    4/10/01                                       Page 92
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                              dCAValidation




                  vValidateHours
                  Will total all different kinds of hours and do IF/ELSE to check all the conditions.



                  Business Rules
                  California overtime law is validated through a series of if/else statements.
                  • Checkbox 1: The total Regular worked hours per day may not exceed 8 hours
                  • Checkbox 2: The total of Regular worked hours plus Make-up hours may not
                    exceed 11 hours per day
                  • Checkbox 3: The total of Regular worked hours plus Make-up hours may not
                    exceed 40 hours per week
                  • Checkbox 4: Overtime is allowed only after Regular Worked Hours exceeds 8 per
                    day, or week-to-date accumulated Regular Worked hours exceeds 40
                  • Checkbox 5: Premium (time-and-a-half) time is due for all hours worked over 8
                    hours in a work day
                  • Checkbox 6: Double Time is due for all hours worked beyond 12 hours in a work
                    day

                  On the 7th day:
                  • Checkbox 7: Earn premium (time-and-a-half) for the first 8 hours worked on the
                    7th consecutive workday in a work week
                  • Checkbox 8: Earn double for all hours worked beyond 8 hours on the 7th
                    consecutive workday in a work week


                  Data Mappings
                  n/a

                  Stored Procedures
                  none




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 93
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                             fExpenseCreate




fExpenseCreate
Create Expense Report Screen
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . TO O L S
                  EXTENDS FRAME

       NOTE       Updated documentation is not scheduled.


GUI Navigation    • Clicking New Expense Report in the Timesheet Entry Screen
                  • Choosing Create Expense Report from the Administration Menu

Figure 4.11 CREATE EXPENSE REPORT SCREEN




                  Overview


                  Business Rules
                  (if any)

                  Attributes
                  See Javadocs.


                  Imports
                  import statements here


                  Data Mappings
                  n/a

                  Stored Procedures
                  n/a


ETS SYSTEMS MANUAL                                   4/10/01                                    Page 94
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                dlgLoginMaint




dlgLoginMaint
Login Maintenance Screen
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . T T D E V. C O M M O N
                  PUBLIC C LASS DLGLOGINMAINT EXTENDS D IALOG

GUI Navigation    • Clicking on Change Password in the Timesheet Entry screen.
                  • Choosing File>ChangePassword from the Inbox
                  • Choosing File>Change Password from fCABSMain
                  •
       NOTE       Updated documentation is not scheduled.


Figure 4.12 LOGIN MAINTENANCE SCREEN




                  Overview
                  Not fully documented.

                  Business Rules
                  Verifies password before accepting new password.




ETS SYSTEMS MANUAL                                   4/10/01                                      Page 95
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                     dlgLoginMaint




                  Attributes
                  See Javadocs.


                  Imports
                  Java standard import statements only




                  Data Mappings
                  n/a

                  Stored Procedures
                  n/a




ETS SYSTEMS MANUAL                                   4/10/01           Page 96
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                           dlgSubmitConfirm




dlgSubmitConfirm
ETS Confirm Submit Week Screen

                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . T I M E S H E E T
                  PUBLIC CLASS DLGSUBMITCONFIRM EXTENDS D IALOG


GUI Navigation    • Clicking on Submit Week button on Timesheet Entry screen



Figure 4.13 ETS CONFIRM SUBMIT WEEK SCREEN




                  Attributes
                  See Javadocs.


                  Imports
                  import customers.tetratech.ets.ETS;

                  import aframe.workmovr.afenv.afEnv;

                  import customers.tetratech.ets.ETS;

       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.


                  Overview
                  This dialog box appears when the user clicks on SUBMIT WEEK on the Timesheet
                  Entry screen and after the individual’s Timesheet has gone through the validation
                  process. (Expenses use another dialog box to confirm: dlgSubmitExpConfirm.)
                  It includes methods to update the Regular hours and Non-Regular Hours.
                  If the user clicks on YES, iResult is set to 1, and the screen closes.
                  If NO, iResult is set to 2.



ETS SYSTEMS MANUAL                                      4/10/01                                     Page 97
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                   dlgSubmitConfirm




                  If CANCEL, iResult is set to 10.
                  The value of iResult is then returned to fETSEntry so it can either complete or
                  cancel the SUBMIT WEEK request.

                  Business Rules
                  none

                  Stored Procedures
                  n/a

                  Data Mappings
                  none




ETS SYSTEMS MANUAL                               4/10/01                                   Page 98
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                 fSubTotalRept




fSubTotalRept
ETS Time Breakdown and Subtotals Screen

                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS . TO O L S
                  F S U B TO TA L R E P T E X T E N D S F R A M E


       NOTE       Updated documentation is not scheduled.

GUI Navigation    • Clicking on SUB-TOTALS on the Timesheet Entry, Expense Reports, and
                    Supervisor Approval screens

      Called by   •   fETSAppr
                  •   fEXPAppr
                  •   fEXPEntry
                  •   fETSEntry
                  •   fETSLine
                  •   fETSReview

Figure 4.14 ETS TIME BREAKDOWN AND SUB-TOTALS




       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.


                  Overview
                  This class is accessed by several screens, including Timesheet entry, Expense Reports,
                  and Supervisor Approval.
                  The user clicks on SUBTOTAL, is presented with an empty screen, and then chooses
                  the column, or entry from the multilist, that s/he wants subtotaled.



ETS SYSTEMS MANUAL                                   4/10/01                                       Page 99
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                                 fSubTotalRept




       NOTE       This class was written prior to implementation of the DML, so did not take advantage of the
                  DML layer and objects. With the recent revision, the ETS objects are replaced by a
                  cDataset dcData.
                  vBuildSubTotals() has been substantially revised.

                  Attributes
                  See Javadocs.

                  Imports
                  import aframe.afdev.dml.cDataComp;
                  import aframe.afdev.dml.cDataRow;

                  import aframe.workmovr.afenv.afEnv;

                  import aframe.workmovr.afutils.afFormat;

                  import customers.tetratech.ets.reports.ETSReptTimesheet;

                  import customers.tetratech.ttdev.library.cChargeAuth;

                  Workflow
                  The system loops through the lines column by column, so whether the user has cho-
                  sen a particular column or not, the cell is looped through and then assigned a value of
                  NULL.
                  Loading the list
                  vLoadFieldList() determines if this is an Expense or Timesheet, then loads the
                  choice box accordingly.
                  Subtotaling
                  Loops through hashtable, adding the sum by day. Depending on the Charge Type,
                  the subtotal is created in a different way (subtotaling by Proposal and also by
                  Project). Using the key from the hashtable, the system subtotals each DIRECT type.
                  Data passed also includes charge type, and charge departments.
                  For Timesheets, hours are included; for Expenses, there are no hours to total. Once
                  the hashtable is totaled, it is displayed to the multilist.
                  Exporting
                  When user clicks on EXPORT, the system calls fReportData in to save the file in
                  one of several export formats.

                  Business Rules
                  none

                  Data Mappings and Stored Procedures
                  none



ETS SYSTEMS MANUAL                                    4/10/01                                        Page 100
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                               fTimesheetRept




fTimesheetRept
Timesheet Preview Screen
                  P A C K A G E : C U S T O M E R S . T E T R A T E C H . E TS . R E P O R TS
                  P UB L I C CL A S S FTI ME S HE E TRE P T E X TE ND S F RA M E
GUI Navigation    • Clicking on Preview Timesheet from fETSEntry
                  • From the Administration menu, choosing Reprint Timesheet
                  •
       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Updated documentation is not scheduled.




      Called by   •   ETSReptTimesheet
                  •   fETSEntry
                  •   fEXPExpense
                  •   fETSReptSlct
                  •   fETSReview

Figure 4.15 TIMESHEET PREVIEW SCREEN




                  Attributes




ETS SYSTEMS MANUAL                                    4/10/01                                    Page 101
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                           fTimesheetRept




                  See Javadocs.


                  Imports
                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;

                  import aframe.workmovr.afutils.afFormat;
                  import customers.tetratech.ets.ETS;

                  import customers.tetratech.ets.reports.ETSReptTimesheet;
                  import customers.tetratech.ttdev.library.cChargeAuth;




                  Overview
                  This is the frame class to preview either Timesheets or Expenses and is used by vari-
                  ous GUIs throughout the system.
                  The regular user may choose Preview Timesheet from fETSEntry or the Supervi-
                  sor can chose Reprint Timesheet from the Administration menu.

                  N-Tier development notes
                  This class has been revised. Among the changes are:
                  Removed methods
                  • bSetupTimesheet()
                  New methods
                  • Setup()
                    This method now includes functions that were in bSetupTimesheet(). This
                    includes getting the Timesheet parameters from the cDataRow drTaskDe-
                    tails to set up the Timesheet.

                  V.2.2 production revisions
                  As of 12/12/00, audit history was added to the 2-Tier application. This has not yet
                  been incorporated into N-Tier. The Preview screen formally displayed only the most
                  recent action or change to the Timesheet. It now displays the entire history of
                  changes, and a description column has been added to display the employee’s reason
                  for the change.This data is saved to AUUNIQTMSH for audit purposes.
                  This audit history required another column since the rows were deactivated and
                  could not be in the sub-total column.

                  Workflow
                  Parameters include the Workpacket section and weekending date received from
                  fETSEntry before showing the Timesheet. fETSEntry sets SetPreview-
                  Mode() to TRUE and calls Setup().
                  The system aligns pixels as every single x-y coordinate must be lined up.


ETS SYSTEMS MANUAL                                  4/10/01                                    Page 102
A-Frame Technical Documentation #6201
THE TIMESHEET ENTRY SYSTEM                                                     fTimesheetRept




                  For Timesheets
                  For Timesheets, it calls ETSReptTimesheet to build the object.
                  For Expenses
                  If it’s an Expense, it calls EXPRept.

                  Business Rules
                  Timesheet audit history
                  The Preview Timesheet displays every change made by the employee during
                  Timesheet entry prior to Timesheet submission.

                  Data Mappings
                  none

                  Stored Procedures
                  none




ETS SYSTEMS MANUAL                                  4/10/01                                 Page 103
A-Frame Technical Documentation #6201
                                        ETS Systems Manual


                                                                                                        Supervisor Approval Process Flow
                                                      Client                                                  DECISION REQUIRED:
                                                                                                              All decisions saved to USERDATA
                                                                                                                        If REWORK                                                            If APPROVE
                                                                                       If REWORK                                                              If APPROVE

                                                             fETSntry                 fEXPntry                             fETSAppr                          fEXPAppr                         fProcessDocs                fProcessExp
                                                                                                                                                                                              Import Timesheet to     Account Expense Report




ETS SYSTEMS MANUAL
                                                   Timesheet Entry screen        Expense Entry screen              Timesheet Approval screen         Expense Approval screen
                                                                                                                                                                                              Coda Automatically     Approval and Import to Coda
                                                                                                                                                                                                                                                                          SUPERVISOR APPROVAL




                                                             SUBMIT                    SUBMIT                        REWORK        APPROVE            REWORK         APPROVE                      IMPORT             REWORK          IMPORT




A-Frame Technical Documentation #6201
                                                                                                                                                     Creates new tasks and places in Inbox
                                                                                                                                                                                                                                                   DIAGRAM7.4SUPERVISOR




                                                                                                                                          ETSTaskApprove
                                                                                                                                          SubmitOrApprove()
                                                                                              Gets Indiv_numb                            Used for all Submit and
                                                             TTCommon                                                                       Approve Tasks
                                                                                         Gets Supervisor                             Calls Remote to complete all                                                         Import to CODA
                                                                                    Checks valid employee status                     tasks and create new tasks.                                                               END




                    4/10/01
                                                                                                                                   Calls Remote for all db tasks

                                                Calls Remote to Get Indiv_numb                                     Gets alt supervisor


                                                                                                                                          ETSTaskApprove
                                                                                                                                              Remote                                                                            App Server on
                                                                                                                                          SubmitOrApprove()                    Calls TT_TT_ETS_SubmitOrApprove to complete       Middle Tier
                                                                                                                                     ü       Completes all tasks               tasks and create new tasks based on successors
                                                     TTCommon Remote                       Lawson API
                                                                                                                                     ü       Creates new tasks
                                                                                         true time = FALSE                                                               Calls TT_ETS_Decision to record
                                                                                                                                     ü       Records decisions                decision to USERDATA
                                                                                                                                     ü       Finds alt. supervisor
                                                                                                                                                                                                                                                   APPROVAL WORKFLOW




                                           KEY
                                                                                                                                                          Calls TT_ETS_FindAlter                                        Databases
                                                    Timesheets
                                                                                                                                                            to get alt supervisor
                                                                                                                           Gets supervisor
                                                                                                                                                                                                                    WorkMovr and Lawson
                                                    Expenses
                                                                                                                                                                                                                                                                          Overview




                    Page 124
                                                                                                                     Checks valid employee status
                                                    Controller classes                                                  cached in USERDATA

                                                    Model classes
                                                                                             Lawson                                                                                       WorkMovr
LABOR CHARGE AUTHORIZATION                                                                   Overview




                                                                                  S   E C T I O N




                                           LABOR CHARGE AUTHORIZATION
                                    CHAPTER8




Overview
                  The Labor Charge Authorization subsystem of ETS allows Tetra Tech supervisors
                  and project managers to view all current labor authorizations and to add or modify
                  labor authorizations on either the Project or Workorder level. Adding several
                  employee authorizations to multiple Workorders simultaneously is possible through
                  the multi-select function.
                  The user also sets parameters defining the dates that an individual may charge against
                  a particular Project. These parameters include:
                        • the starting date
                        • the ending date
                        • any blackout dates

                  An administrator accesses the main screen from the Tools menu in the Inbox. Only
                  administrative and supervisorial-level users have access to the Tools menu and there-
                  fore to the LCA system.



                  LCA Java classes
                    fLCASystem
                        The main frame accessed by user. This screen displays existing authorizations
                        by either Employee, Project Manager, or Work Breakdown Structure mode.To
                        add new authorizations, fLCASystem calls fLCAWizard.
                    fLCAWizard
                        The main Wizard frame holding the two Wizard panels
                    pLCAWizardWBS
                        Embedded panel in fLCAWizard and the first panel of two in the Wizard
                        system. Allows the user to select Projects or Workorders for labor authoriza-
                        tion.


ETS SYSTEMS MANUAL                                  4/10/01                                     Page 132
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                                   Overview




                    pLCAWizardSummary
                        Builds an LCA summary report
                    pLCAWizardIndiv
                        Called by fLCAWizard when the user clicks NEXT. Allows the user to select
                        individuals and start and end dates for labor authorization.
                    dlgCABSMsgbox
                        Standard CABS message box

                  Process
                    cLCATreeThread
                        Loads the treeviews in fLCASystem and fLCAWizard with Projects and
                        Workorders

                  Data housing
                  Labor charge data is retrieved and housed in the LCA MVC classes:
                    LCAViewer
                    LCAReader
                    LCAWriter
                    LCAModel


                  User access to LCA and the Tools menu
                  ETS filters the logged-on users to determine which menu items will be available to
                  which users. The following table details which individuals have access to the Tools
                  menu, which contains LCA and other administrative functions.


Table 8.1   TOOLS MENU ACCESSIBILITY TABLE
                                                                         ETS             Project
Function                                Administrator       Supervisor   Administrator   Manager
Designate alternate approver            x                   x            x
Report by WBS                           x                                x
Reprint Timesheet                       x                                x
Reprint Expense                         x                                x
WBS3 Wizard                             x                                x
About ETS                               x                   x            x
Send to QA                              x                   x            x
Send Enhancement                        x                   x            x               x




ETS SYSTEMS MANUAL                                      4/10/01                                Page 133
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                             Loading the LCA Treeviews




Loading the LCA Treeviews
                  Treeviews with Projects/Workorders/WBS3s are loaded to both fLCASystem,
                  cLCAWizardWBS, and cLCAWizardIndiv.
                  Following is a diagram illustrating how the treeviews are loaded.




ETS SYSTEMS MANUAL                                  4/10/01                               Page 134
A-Frame Technical Documentation #6201
                                                                                                Labor Charge Authorization
                                                                                                  Loading the Treeviews

                                              CLIENT                                                                                                                                                                          APP SERVER
                                                                                                                                                                                                                             on the Middle Tier
                                        fLCASystem
                                        Project Manager MODE                                                                                                                                     App Server




ETS SYSTEMS MANUAL
                                          LoadProjectManager()
                                          loads all project managers




A-Frame Technical Documentation #6201
                                          LoadIndivProjects()
                                          Loads all projects for selected manager                                                                                                                                                                         CABS
                                                                                                                                                                         cLCATreeThread
                                                                                                                                                                                                                                                                                                                LABOR CHARGE AUTHORIZATION




                                                                                                                                                                                                                                                      WBS Classes
                                        Work Breakdown Structure MODE                                                                                                                                                                              Called by LCAThread to
                                                                                                                                                                                                                                                                                        DIAGRAM8.5LOADING THE




                                                                                                                                                                                                                         htDepts                      load Projects and
                                          LoadDeptProjects()                                                                                                                                                                                       Workorders from CABS
                                          Loads all projects for that dept                                                                                                                                               htIndivs
                                                                                                                                                                                                                         htSetCache
                                        Employee MODE

                                          LoadDeptIndividuals()                                                                                                                                                                                    Calls WBS classes and




                    4/10/01
                                          Loads all Indivs for a given Dept                                                                                                                                                                    SP TT_APP_WBS_KeyModel_1




                                                                                                             setProjByDept()
                                                                                                                                                      setProjByIndiv()
                                                                                                                                                                                        PrepareSet()
                                        fLCAWizardWBS
                                        Project LEVEL
                                                                                                                                                                                                                                                                             WorkMovr
                                          LoadProjects()
                                          Loads all projects for given dept                                                                                                                                                               Returns cIndividual.
                                                                                                                                                                                                       TTCommon                          subset by Department
                                        Workorder LEVEL                                                                                                                                                                                                                     Database
                                          LoadWorkorder()                                                                                                                                                                                                                   WorkMovr
                                                                                                                                                                                                                                                                                        LCA TREEVIEWS




                                          Loads all Workorders under a given Project
                                                                                                                                                                                                                          htDept-
                                                                                                                                                                                                                          Indivs
                                                                                                                                                                                                                                                  TTCommon Remote
                                        fLCAWizardIndiv                                                                                                                                                                   htRole-                   GetDeptIndivs()
                                                                                                                                                                                                                          RefIndivs
                                          LoadDepartments()                                                                                                                                                                                           GetRoleIndivs()
                                          Loads all departments
                                                                                                                                                                                                                                                     GetRoleRefIndivs()
                                          LoadDeptIndividuals()
                                                                                                 GetDept()
                                                                                                                               GetDeptIndividuals()
                                                                                                                                                                         GetRoleRef()
                                                                                                                                                                                                       GetIndivRoles()




                                          Loads all Individuals in a given Dept
                                                                                                                                                                                                                                                                                                                Loading the LCA Treeviews




                    Page 135
                                                                                       Public                                                                                                                                            Private/Protected
LABOR CHARGE AUTHORIZATION                                                                fLCASystem




fLCASystem
Labor Charge Authorization System screen
                  P A C K A G E C U S T O M E R S . T E T R A T E C H . E TS . L C A
                  P U B L I C C L A S S F LCA E X T E N D S J A V A . A W T . F R A M E



GUI Navigation    • Choosing LCA Labor Charge Authorization from the Tools Menu




Figure 8.24 ETS LABOR CHARGE AUTHORIZATION MAIN SCREEN
                     Work Breakdown Structure mode




                  Attributes
                    See Javadocs.

                  Imports
                  import aframe.workmovr.afenv.afEnv;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;



ETS SYSTEMS MANUAL                                  4/10/01                                   Page 136
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                            fLCASystem




                 Imports
                 import aframe.afdev.dml.cDataSet;
                 import aframe.afdev.dml.cDataComp;
                 import aframe.afdev.dml.cDataTree;
                 import aframe.afdev.comp.SetGrid;
                 import aframe.afdev.orb.cObjQueue_Stub;
                 import aframe.afdev.orb.cRequestMaker;
                 import aframe.workmovr.afutils.afFormat;

                 import customers.tetratech.ets.lca.cLCATreeThread;
                 import customers.tetratech.ets.lca.fLCAWizard;
                 import customers.tetratech.ets.lca.LCAViewer_Stub;
                 import customers.tetratech.ets.lca.LCAWriter_Stub;
                 import customers.tetratech.ttdev.common.cLogin;
                 import customers.tetratech.ttdev.common.TTCommon;
                 import customers.tetratech.cabs.dlgCABSMsgbox;

                Classes
                   private fLCAWizard fLCAWiz;
                   private LCAWriter_Stub LCAWriter;
                   private TTCommon TTComm;
                   private cLogin curLogin;
                   private cLCATreeThread LCAThread;
                   private SetGrid sgGrid;
                   private LCAViewer_Stub LCAViewer;
                   private cRequestMaker reqMaker;
                   String sQueue;
                   cObjQueue_Stub queue;
                   Toolkit tk = getToolkit();
                   private dlgCABSMsgbox msgBox;

                Data housing
                   private String sIndivNumb = "";

                   private cDataComp dcLCAMode;
                   private cDataComp dcProjMans;
                   private cDataComp dcDepartments;
                   private cDataComp dsAuthLCA;
                   private cDataComp dcDisplayDetails;
                   private cDataTree daTree;
                   private cDataSet dsChanges;
                   private cDataSet dsDeletes

                Mode variables
                   private boolean bAdmin = false;
                   private String sMode = "";




ETS SYSTEMS MANUAL                                 4/10/01                Page 137
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                             fLCASystem




                  Cursors
                    public static Cursor cWait;
                    public static Cursor cDef;


                  Overview
                  fLCASystem is the first screen in the LCA system and displays current authoriza-
                  tions based on the mode the user selects.
                  To add or edit authorizations, fLCASystem calls fLCAWizard.

                  Initialization
                  At initialization, fLCASystem calls TTCommon, LCAViewer, LCAWriter and
                  starts cLCATreeThread.

                  User preference views
                  The system then assigns the boolean bAdmin according to the status of the user.
                        • If bAdmin = TRUE, the user is an LCA administrator
                        • If bAdmin = FALSE, the user is not an LCA administrator

                  Calls LoadProjectManager() to load project managers if Project Manager
                  mode has been selected.


  LoadProject-    Tests for bAdmin = TRUE or FALSE
     Manager
                  • If TRUE, calls BuildProjectManagers
                  • If FALSE, calls BuildIndivProjectManager()

                  Building the multilist for LCA administrators
  BuildProject-   Gets the data to populate dcProjMans, the cDataComp object holding a list of all
     Managers     project managers. Calls TTComm.getRoleRefIndividuals for a list of all indi-
                  viduals with the roles of PROGRAMMGR and PROJECTMGR.
                  For LCA administrators:
                  • The parameter passed is sRoleRef (the role_desig column of cDataComp
                    cRoleIndiv on page 15-457)
                  • The return set is all individuals from cRoleIndiv assigned a project manager
                    or program manager role.

                  Building the multilist for non-LCA administrators
                  Calls TTComm.getIndivRoles(sIndivNumb)
     BuildIndi-   For non-LCA administrators:
  vProjectMan-
         ager()
                  • The parameter passed is the Indiv_numb (sIndivPrim)
                  • The return set is all roles for that individual from cRole Indiv




ETS SYSTEMS MANUAL                                4/10/01                                   Page 138
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                                fLCASystem




                  Selecting an LCA mode
                  A user accesses LCA in one of three modes:
                  • Employee
                     This mode allows the user to assign or change authorizations to Employees.
                  • Project manager
                     This mode allows program and project managers to see a list of their own
                     projects, and to then assign or change authorizations on a Project level. The sys-
                     tem reads the Participants settings from CABS to determine the project or pro-
                     gram manager associated to a given project.
                  • Work breakdown structure
                     This mode allows the user to view all Projects by Home Department, select a
                     Project, and then see a list of all employees authorized to work on this Project.
                     The user first selects a Responsible Department and then a Project from that
                     department.


       LoadL-           Loads the three different modes into new cDataComp dcLCAMode
     CAMode()

                  Table 8.2   LCA MODES
                  Column           Description                           Keyword
                  1                Project Manager / Program Manager     PROJMAN
                  2                Employee                              EMPLOYEE
                  3                Work Breakdown Structure (WBS)        WBS
                                   This column loaded to screen

DisplayLCASe-           Hides the multilist and treeview while the user chooses a mode. According to
         lect()         the mode keyword, displays a screen message to the user on how to proceed.


                  Loading projects
                  In the first pass, all authorized Projects are loaded, according to the mode chosen by
                  the user. Then labor charge authorizations are loaded.

DisplayLCADe-     Loads the multilist with appropriate detail depending on the mode.
         tail()
                        PROJECT MANAGER MODE
                          Calls LoadIndivProjects(). This method loads the multilist with all
                          Projects under this user. See “ETS Labor Charge Authorization Main
                          Screen” on page 8-136 for a view of Project Manager mode.
                        EMPLOYEE MODE
                          Calls LoadDeptIndividuals(). Shows mlEmployees. This method
                          loads the multilist with all employees in a specific department.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 139
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                             fLCASystem




Figure 8.25 LABOR CHARGE AUTH SYSTEM IN EMPLOYEE MODE

                                                                               When the mode
                                                                               Employee is chosen,
                                                                               the user is prompted
                                                                               to select a Home
                                                                               Department.


                                                                               The system then
                                                                               displays a list of all
                                                                               employees in that
                                                                               department.


                                                                               The user selects an
                                                                               employee, clicks
                                                                               AUTHORIZATIONS,
                                                                               and all authorizations
                                                                               specific to this
                                                                               particular employee
                                                                               are displayed.




                        WORK BREAKDOWN STRUCTURE MODE
                         Calls LoadDeptProjects(). Hides mlEmployees. This method loads
                         the multilist with all Projects.

     LoadIndi-           Used for Project Manager mode. Loads all Projects under a specific Project
    vProjects()          Manager (individual).
                        • Calls LCAThread.setProjByIndiv(sIndiv). Returns dsProject
                        • Calls BuildTree() which builds the treeview from dsProject, dsWO
                          and dsWBS3.

 LoadDeptIndi-           Used for Employee mode. Loads all individuals in a given Home Department.
     viduals()          • Calls TTCommon.getDeptIndividuals(sDeptPrim) and creates
                          new cDataComp dcDisplayDetails to display three columns from
                          “cDataComp cIndividual” on page 15-447 which includes all
                          individuals in a particular Department. The three columns are

                  Table 8.3   dcDisplayDetails
                     Two sample rows
                  Prim_key         Description                  Ref
                  16604            Jerald Holzinger             E99742
                  3006             Francis Drake                E66565



    LoadDept-           Used for Work Breakdown Structure mode. Loads all Projects under a given
     Projects()         Home Department.




ETS SYSTEMS MANUAL                                    4/10/01                                   Page 140
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                               fLCASystem




                        • Calls LCAThread.“setProjByDept()” on page 14-291(sDept).
                          This returns data to populate or append to htDepts, a list of all authorized
                          projects for a given department.
                        • Calls BuildTree()

                  Once the multilist is loaded according to mode, the user chooses a Project or
                  Employee, and then clicks AUTHORIZE.
                  • If in Project mode, a list of authorized projects under that project manager is
                    loaded.
                  • If in Employee mode, a list of authorized projects against which this employee is
                    authorized to charge is loaded.
                  Loading employee authorizations
                  Authorizations are also loaded based on the mode.
  LoadAuthori-    Calls LoadAuthorizations()
      zations()
                    If Project or WBS modes
                        • Calls LoadLCA_WBS()


 LoadLCA_WB             Loads authorizations according to Project or Workorder level, depending on
         S()            the user’s choice. Requires as a parameter sType (either WORKORDER or
                        PROJECT). See “Building the fLCASystems treeview” on page 14-290
                        WORKORDER LEVEL
                          If sType = WORKORDER
                          • Calls LCAViewer.GetLCAWorkorder(sType, sPrim,
                             sProjPrim, sReq, sQueue) to load all authorized Workorders
                             under a given Project. The return value contains a subset of cLCA by
                             WO_numb and populates cDataSet woSet
                        PROJECT LEVEL
                          If sType = PROJECT
                          • Calls LCAViewer:GetLCA:Project
                          Instantiates dsAuthLCA. to load a subset of Project authorizations.
                    If Employee mode
                        • Calls LoadLCA_Indiv()

LoadLCA_Indi            • Calls LCAViewer:“GetLCA()” on page 14-356 with a parameter of
         v()               INDIVIDUAL. The Viewer calls the Reader, the Reader calls the Model,
                           and cLCA is returned to populate htbyIndiv on the Viewer.

                  Adding a labor authorization
                  The user clicks on ADD, and the system calls fLCAWizard, the class that allows the
                  user to add or edit labor authorizations.
                  fLCAWiz.Initialize();
                  fLCAWiz.Setup();
                  fLCAWiz.setVisible(true);




ETS SYSTEMS MANUAL                                 4/10/01                                        Page 141
A-Frame Technical Documentation #6201
LABOR CHARGE AUTHORIZATION                                                                fLCASystem




                  Deleting a labor authorization
                  The delete function has been removed.

                  Business Rules
                  Changing modes
                  When users switches modes, if there have been changes the system prompts them
                  whether or not they wish to save the changes.
                  Deleting authorizations
                  Deleting, or inactivating, authorizations is no longer allowed because any existing
                  authorization had a window in which it was open. To delete, or end, an authorization,
                  the user should change the END DATE to today’s date or whatever is applicable.
                  LCA access
                  Only LCA administrators, project managers, or program managers have access to
                  LCA. This access is determined at login when the Inbox is built. If access is allowed,
                  the TOOLS Menu is present on the Inbox.



                  Data Mappings
                  n/a

                  Stored Procedures
                  n/a




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 142
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                    Overview




                                                                                  S   E C T I O N




                                         ETS CUSTOM CLASS REFERENCE
                                 CHAPTER14




Overview
                  This section documents classes specific to ETS. Classes are listed alphabetically.
                  Most classes extending Frame, or classes with a graphical interface, are documented
                  in the functional sections of this manual and not in this section.
                  For information on
                  • A-Frame generic classes related to Tetra Tech, see A-Frame Class Reference on
                    page 12-202
                  • Tetra Tech custom classes used in ETS, see Tetra Tech Custom Class Reference
                    on page 13-224




                  April 5, 2001 Release Notes
                  This section now includes classes that support the Login, the Inbox, Timesheet
                  Entry, Enter Expense Reports, Supervisor Approval, the Link Lines, Labor Charge
                  Authorization, and the administrative functions in the Tools Menu.
                  As of this release, any further documentation of ETS is not scheduled.

                  Classes documented in this release
                  • For a list of fully-documented classes that support the Login, see Login Java
                    classes.
                  • For a list of classes that support the Inbox, see Inbox Java classes
                  • For a list of classes that support Timesheet Entry, see Timesheet Entry Java
                    classes
                  • For a list of classes supporting Enter Expense Report, see Expense Entry Java
                    classes
                  • For a list of classes supporting Supervisor Approval, see Supervisor Approval Java
                    classes


ETS SYSTEMS MANUAL                                  4/10/01                                      Page 261
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                  Overview




                  • For a list of classes supporting Labor Charge Authorization, , see LCA Java classes
                  • For a list of classes supporting the Link Lines, see Link Line Java Classes
                  • For a list of classes supporting the administrative functions in the Tools Menu, see
                    Tools Menu Java frame classes.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 262
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                cBatchThread




cBatchThread
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS . P R O C E S S
                  PUBLIC CLASS CBATCHTHREAD EXTENDS THREAD


      Called by   •   cBuildETSDoc
                  •   cBuildEXPDoc
                  •   fLinkLineBatch
                  •   fProcessDocs
                  •   fProcessExp
       NOTE       The Link Line process has undergone a complete redesign since this section was
                  completed. Further documentation is not scheduled.


                  Overview
                  cBatchThread runs during the batch link line process, reading the list of
                  Timesheets or Expenses chosen by the Administrator in fLinkLineBatch, and passing
                  this information to fProcessDocs. fProcessDocs then begins the link line pro-
                  cess.
                  Based on the Administrator’s choice of either Timesheets or Expenses, and Original
                  or Amended, the fLinkLineBatch choice box is populated with tasks to process.
                  When the user then checks START, cBatchThread launches.


                  Main methods
       getSet()   Creates a subset of tasks to process based on the Administrator’s choice. The Admin-
                  istrator may choose to process just one or few from the list in the choice box.
          run()   Launched when START is pressed. Goes through each task one by one, to determine
                  if it is a Timesheet or Expense and retrieving the necessary keys (sTask
                  Instance and sWpnum) required by fProcessDocs to begin the link line pro-
                  cess. fProcessDocs then launches the process in the same way as if the Adminis-
                  trator had chosen to process Link Lines from the Inbox.
   setCommon      Preloads the charge types and accompanying account strings that are used to deter-
                  mine the formatting of each line
      vInternal   Reads the GUI for the internal value chosen by the Administrator and sets the sys-
                  tem to the value

                  Business Rules
                  none



                  Attributes




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 263
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                    cBatchThread




                  See Javadocs


                  Imports
                  import java.util.Enumeration;
                  import java.awt.Label;
                  import symantec.itools.awt.util.ProgressBar;
                  import aframe.afdev.dml.*;
                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;
                  import customers.tetratech.ets.process.fProcessDocs;
                  import customers.tetratech.ets.ETSCommon;
                  import customers.tetratech.ttdev.common.TTCommon;
                  import customers.tetratech.ets.ETSThread;




                  Stored Procedures

                  TT_EXP_Code_To_AcctDef_select



                  Data Mappings
                  Timesheet variables
                  Calls SP TT_ETS_Code_To_AcctDef and creates multiple cDataRows with the
                  following columns for each output row:
                  chrg_type
                  Option_keyword from USEROPTION
                  sub_type
                  Option_value from USEROPTION
                  Fund_Desc
                  Description from FUNDS
                  Fund_Desig
                  User_designator from FUNDS
                  Fund_Prim
                  Fund_numb from FUNDS


                  Expense variables
                  Calls SP TT_EXP_Code_To_AcctDef_select and creates a cDataRow with the fol-
                  lowing columns for each output row:
                  ExpType_Desc
                  The Expense Charge Type from the Description column in USERCOND
                  Fund_Desig



ETS SYSTEMS MANUAL                                 4/10/01                            Page 264
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                               cBatchThread




                  User_designator from FUNDS
                  Charge_Keyword
                  Cond_value from USERCOND
                  ExpType_Keyword
                  Cond_Value from USERCOND
                  ExpCode_Value
                  Option_value from USEROPTION




ETS SYSTEMS MANUAL                             4/10/01         Page 265
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                  cBuildETSDoc




cBuildETSDoc
                  P A C K A G E : C U S T O M E R S . T E T R A T E C H . E TS . P R O C E S S
                  P U B L I C C L A S S C B U I L D ETSD O C E X T E N D S
                    J AVA.LANG.O BJECT

      Called by   • fProcessDocs

                  See ETS Javadoc cBuildETSDoc for detailed documentation on this class’ meth-
                  ods. The Javadoc includes specifics on how each type of line is formatted, according
                  to the Account Code Definition.



                  Imports
                  import customers.tetratech.ets.*;
                  import customers.tetratech.codalink.CODALink;
                  import customers.tetratech.ets.api.LawsonRequest;
                  import customers.tetratech.acctcode.cUNIQLINE;
                  import customers.tetratech.acctcode.cDocument;
                  import customers.tetratech.acctcode.cAcctCode;
                  import customers.tetratech.ttdev.common.TtESTrack;
                  import customers.tetratech.ttdev.common.TTCommon;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;
                  import aframe.workmovr.afutils.afFormat;

                  import aframe.afdev.dml.*;
                  import aframe.afdev.common.cMathOper;

                  import java.util.*;

       NOTE       The Link Lines process has undergone a redesign since this section was completed.


                  Overview
                  cBuildETSDoc applies the business rules to the Timesheet Link Line creation pro-
                  cess, and creates the Link Line document to send to CODAREP.
                  The Link Line process formats each individual line, computes all hours, applies Addi-
                  tional Compensation, Effective Rate, and Additional Time as appropriate, balances
                  the lines, collapses them, and formats the resulting Link Lines.
                  Each charge type (direct, indirect, etc.) requires the creation of an individual line for
                  both the Credit and Debit side. Each line is an instance of cUniqline. After bal-
                  ancing and collapsing, all cUniqlines are combined into an instance of cDocu-
                  ment, the document that is sent to CODA.

                  The Link Line Creation Process
                  The Timesheet lines are totaled, balanced, and formatted in three passes.



ETS SYSTEMS MANUAL                                     4/10/01                                      Page 266
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                             cBuildETSDoc




                  Initializing
                  cDocument is instantiated, and the document information is loaded using SP
                  TT_ETS_Cycle_Info. This information includes the Document Date (the weekend-
                  ing date), the Document DocCode, Period, Year and Paycycle is extracted from PAY-
                  CYCLES based on the weekending date.
                  Enterprise Settings are loaded, cAcctCode is initialized to format the lines, and all
                  variables, vectors, and hashtables are created to hold the data.
                    The Lawson API
                        The system calls LawsonRemote to retrieve employee information from
                        Tetra Tech’s Lawson human resource database.
                        PROCEDURE
                          SP TT_ETS_CACHE_EMPLOYEE, called by LawsonRemote
                        CONNECTION INFORMATION
                           Server IP address and port
                           according to Enterprise Setting, cached in USERDATA with keyword LAW-
                           SONIP
                           Database Name
                           according to Enterprise Setting, cached in USERDATA with keyword LAW-
                           SONDB
                           User ID
                           AFRAME
                           Password
                           PHAEDRA
                           Procedure
                           USP_CABS_EMPLOYEE. Parameters are employee number and company
                           number.
                        CACHING
                          Lawson caches the following information for inclusion in the Link Line:
                           Home Department
                           Cached in USERDATA with a keyword LACCHHOMED
                           Supervisor ID
                           Cached in USERDATA with a keyword LACCHSUPID
                           Employee Status
                           Cached in USERDATA with a keyword LACCHEMPST

Table 14.1 DATA RETURNED FROM LAWSON
   The following data returns from Lawson and is cached in USERDATA with a table_numb of individual and
   a row_key of Indiv_numb to identify the settings for this particular individual.
Column Name             Description                                 Cached Keyword
First_Name                                                          INDIV table
Last_Name                                                           INDIV table
EMPLOYEE                Employee Number                             Indiv
DEPARTMENT              Home Department                             LACCHHOMED
OT_PLAN_CODE            Employee status code, or pay code           LACCHEMPST
SUPERVISOR              Supervisor Employee Number                  LACCHSUPID



ETS SYSTEMS MANUAL                                  4/10/01                                     Page 267
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                              cBuildETSDoc




Table 14.1 DATA RETURNED FROM LAWSON
   The following data returns from Lawson and is cached in USERDATA with a table_numb of individual and
   a row_key of Indiv_numb to identify the settings for this particular individual.
Column Name              Description                                 Cached Keyword
TT_Hourly_Rate           Hourly Rate                                 <Confidential
                                                                     Information>
PLevel                   Project level                               LACPLEVEL
work_state               Work state                                  LACWRKSTAT
Emp_Status               Employee Status                             LACCHEMPST
IM_SUPER                 Supervisor ID



                  Pass One: Timesheet Row Processing
                  1.     Instantiating cUniqline
                           1.1   A cUniqline object is created for each line in the Timesheet. This
                                 instance contains Elements, References, hours, amount, etc. that build
                                 the basis for each line. This object is created based on the Charge Type
                                 the user chooses (Direct, Indirect, Overhead, etc.).

                                 Most Charge Types are hard-coded into the system. Hard-coded
                                 Charge Types are visible under the Fixed Association tab of the screen
                                 Account Definition Association. (This function is now part of ETSAd-
                                 min and is not documented here.)
                                 Charge Sub-Types are user-defined, such as Indirect, Business Devel-
                                 opment and Piece Work and are visible under the Customized Associa-
                                 tion tab on the above screen.

                  Table 14.2 CHARGE TYPES AND KEYWORDS
                       USERCOND Table with Cond_keyword CHARGETYPE
                  Charge Keyword                       Charge Type Description
                  05DIRECT                             Direct
                  10PROPOSAL                           Proposal
                  15INDIRECT                           Indirect
                  20PTO                                Paid Time Off
                  25HOLIDAY                            Holiday
                  30FLOAT                              Floating Holiday
                  35JURYDUTY                           Jury Duty
                  40BEREAVE                            Bereavement Leave
                  45MILITARY                           Military Leave
                  50PIECEWRK                           Piece Work
                  55ACQ                                Acquisition
                  60OVERHEAD                           Direct Overhead
                  65BD                                 Business Development




ETS SYSTEMS MANUAL                                   4/10/01                                     Page 268
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                 cBuildETSDoc




                            1.2    The Hours and Hours Type entered by the user are accepted without
                                   validation (California-based employees’ hours were already validated
                                   prior to submission as were hours for NUS BNPO/BEPO and NUS’
                                   BE45 pay codes).

                  Table 14.3 HOURS TYPES
                       Extracted from USERCOND with Cond_keyword QTYPOSITN. See also “Hours_type
                       from UNIQTMSH point to a row in USERCOND to identify the type of hours.”
                       on page 10-183
                                                      Quantity
                  Hour Type          Hour Code        Position        Description
                  1                  R                1               Regular
                  2                  O                2               Premium Overtime
                  3                  D                3               Double Time
                  4                  M                4               Make-up Time
                  5                  AC               5               Additional
                                                                      Compensation

                            1.3    Hourly Rate is part of the line and comes from the Lawson setting for
                                   this employee. This information is confidential and is accessed directly
                                   from the Lawson database during the Link Line process.
                            1.4    The Description is the description entered by the user, converted to
                                   UPPER CASE.
                            1.5    The Computer Usage Charge for each line is based on the user’s
                                   selection. The options are CU Yes or CU No. These values are stored
                                   in USERCOND.

                  Table 14.4 COMPUTER USAGE VALUES
                       USERCOND stores values for Computer Usage choices
                  Prim_ke
                  y               Cond_keyword       Cond_value           Description
                  14931           COMPUTRUSE         COMPUSEYES           Yes - Computer Usage Charged
                  14932           COMPUTRUSE         COMPUSENO            No - Computer Usage Not
                                                                          Charged

                            1.6    The Element Level for all lines is set to 5, meaning that the charge
                                   details are defined down to the fifth CODA Element position.

                  2.     Totaling and Collapsing
                         The system updates the totals for each line, then collapses the lines.
                            2.1    If the employee is based in California, only the California totals are
                                   updated.
                            2.2    Total Regular Hours are computed. This includes all Worked Hours.
                                   To determine Worked Hours, the system excludes all non-Worked
                                   Hours.




ETS SYSTEMS MANUAL                                        4/10/01                                   Page 269
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                             cBuildETSDoc




                  Table 14.5 NON-WORKED HOURS
                     Hours not in this list are Worked Hours.
                  Keyword                 Description
                  TSEADDTME               Timesheet Additional Time
                  TSEPTOHRS               Timesheet Paid Time Off Labor Hours
                  TSEHOLHRS               Timesheet Holiday Labor Hours
                  TSEFLHLHRS              Timesheet Floating Holiday Labor Hours
                  TSEJRYDHRS              Timesheet Jury Duty Labor Hours
                  TSEBERVHRS              Timesheet Bereavement Labor Hours
                  TSEMILTHRS              Timesheet Military Labor Hours
                  GAAHOLHRS               Timesheet Holiday Labor Hours (G & A)
                  GAAFLHLHRS              Timesheet Floating Holiday (G&A)
                  GAAJRYDHRS              Timesheet Entry Jury Duty Hours (G&A)
                  GAABERVHRS              Timesheet Entry Bereavement Leave (G&A)
                  GAAMILTHRS              Timesheet Entry Military Leave (G&A)



                           2.3   Creates Computer Usage Link Line if necessary
                                 The system checks to see if the Timesheet lines contain Computer
                                 Usage. If so, both Debit and Credit Computer Usage lines are created
                                 based on the Charge Type and the Enterprise Setting as to whether or
                                 not Computer Usage is allowed.
                           2.4   Determines if Effective Rate applies
                                 If an Effective Rate applies and the Hours Type is Paid Time Off (key-
                                 word TSEPTOHRS), then the Total Paid Time Off Hours Total is
                                 incremented.
                                 If an Effective Rate is required, the Effective Hours Total is incre-
                                 mented. For calculations, see 7. Applying Effective Rate on page 14-
                                 275 in this section.
                           2.5   Collapses the lines
                                 The collapsing process performs a case-sensitive comparison of all
                                 Timesheet Line code to locate exact duplicates, which it then consoli-
                                 dates. The Collapsing Key is (Hours Type, Account Code Transac-
                                 tion Keyword, Line Description, Element 1, Element 2,
                                 Element 3, Element 4, Element 5, Element 6, Reference 1,
                                 Reference 2, Reference 3, Reference 4. )

                           2.6   Creates Additional Time link line if necessary
                                 If Additional Time has been turned on in Enterprise Settings,
                                 AddTime lines are created. See Additional Time in this section for
                                 applicable equations.




ETS SYSTEMS MANUAL                                    4/10/01                                   Page 270
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                              cBuildETSDoc




                  Pass Two: Calculating and Formatting the Lines
                    1. Calculating the lines
                        The Line type (Computer Usage, Additional Time, etc.) and Hour Type (Regu-
                        lar Time, Premium Overtime) determine the lines' total amount.

                        COMPUTER USAGE LINES
                          Both Debit and Credit lines are calculated based on the Enterprise Setting
                          for Computer Usage hourly rate.
                             Total Amount = Enterprise Computer Usage Hourly Rate * Hours

                        NON-COMPUTER USAGE LINES
                          Non-computer usage lines include user-input lines and a line for Additional
                          Time if applicable, also called an “Additional Line.” The Additional Line may
                          be either a Credit or a Debit line.
                           Default hourly rate
                           By default, the Actual Hourly Rate equals the employee's regular hourly rate.
                           If the line doesn't match any cases below, the default rate is used.
                           • Hour Type = 1 (Regular)
                           • Hour Type = 4 (Make-up)
                           • Hour Type = 5 (Additional Compensation)

                          Regular Hours: Type 1
                           All lines are calculated based on employee's regular hourly rate
                           Actual Hourly Rate = Employee Regular Hourly Rate
                           Actual Hours = Hours

                           Premium Overtime: Type 2
                           Debit Lines
                              Only NUS BNPO charges premium rate to the Project or job #. All other
                              Enterprises charge the regular rate.
                              NUS-BNPO
                                Actual Hourly Rate = 1.5 * Employee Regular Hourly Rate
                              Others
                                Actual Hourly Rate = Employee Regular Hourly Rate
                                Actual Hours = Hours
                              Exception
                                Indirect Premium Overtime:
                                Transaction keyword: TSEINDPMOT
                                When the employee logs Premium Overtime, the employee is paid Pre-
                                mium Overtime, but the Project is billed straight time (except for
                                NUS). To balance the lines, another Debit line is created.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 271
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                   cBuildETSDoc




Table 14.6 INDIRECT PREMIUM OVERTIME LINES
   The system generates two Debit Indirect OT lines to balance the Debit and Credit sides.
                                                   Overtime         Overtime            Total Overtime
                    Hourly Rate                    Hours            amount              amount
CREDIT SIDE (employee pay)
              1.5 * Regular Rate                   10               $150.00             $150.00

DEBIT SIDE (Project billing)
               1 * Regular Rate                    10               $100.00
               .5 * Regular Rate                   10               $50.00              $150.00

                                 Actual Hourly Rate = 0.5 * Employee Regular Hourly Rate
                                 Actual Hours = Hours
                           Credit Lines
                              Only Non-Exempt (the 2nd letter of employee code is not "E") and
                              BEPO employees are eligible for Premium Overtime pay.
                              If the employee code ends with PO or CA, which stands for Premium
                              Overtime and California respectively, the actual hourly rate equals regular
                              hourly rate times one and a half.
                                  Actual Hourly Rate = 1.5 * Employee Regular Hourly Rate
                                  Actual Hours = Hours
                              If the 2nd and 3rd letters are "SA" in the employee code, this employee is
                              salaried and is not eligible for Premium Overtime, so the systems zeros
                              out these hours.
                                  Actual Hourly Rate = Employee Regular Hourly Rate
                                  Actual Hours = 0

                           Double Time - Type 3
                           Debit Lines
                              Only NUS BNPO charges double rate to the Project or job number. All
                              other Enterprises charge regular rate.
                              NUS-BNPO
                                 Actual Hourly Rate = 2 * Employee Regular Hourly Rate
                              Others
                                 Actual Hourly Rate = Employee Regular Hourly Rate
                                 Actual Hours = Hours
                              Exception
                                 Indirect Premium Overtime:
                                 Transaction keyword: TSEINDPMOT
                                 When the employee logs Premium Overtime, the employee is paid Pre-
                                 mium Overtime, but the Project is billed straight time (except for
                                 NUS). To balance the lines, another Debit line is created.




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 272
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                               cBuildETSDoc




Table 14.7 INDIRECT DOUBLE TIME LINES
   The system generates two Debit Indirect Double Time lines to balance the Debit and Credit sides.
                                                   Overtime        Overtime             Total Overtime
                    Hourly Rate                    Hours           amount               amount
CREDIT SIDE (employee pay)
              2 * Regular Rate                     10              $200.00              $200.00

DEBIT SIDE (Project billing)
               1 * Regular Rate                    10              $100.00
               1 * Regular Rate                    10              $100.00              $200.00


                                 Actual Hourly Rate = Employee Regular Hourly Rate
                                 Actual Hours = Hours



                           Credit Lines
                              Only California Non-Exempt employees are eligible for Double Time.
                              The systems tests that their employee codes end in CA and that the sec-
                              ond letter is not E (Exempt). If the employee fits into the California Non-
                              Exempt category, the hourly rate is equal to two times the regular hourly
                              rate.
                                  Hourly Rate = 2 * Employee Regular Hourly Rate
                              If the 2nd and 3rd letters of the employee code are SA, this employee is
                              salaried and is not eligible for double overtime, so the rate is the straight
                              rate.
                                  Actual Hourly Rate = Employee Regular Hourly Rate
                                  Actual Hours = Hours
                              Once the actual hour rate and actual number of hours are defined, the
                              amount of this line is calculated as
                                  Amount = Actual Hourly Rate * Actual Hours

                    2. Adjusting the quantity position
                        For non-NUS BNPO employees, resets the line quantity position
                        to “1.” for Regular Time. All Enterprises, except NUS BNPO, bill the Project
                        (the Debit side) the Regular Rate whether or not the employee is being paid
                        Premium Overtime, Double Time, or any other special rate.


                    3. Formatting the lines
                        Uses the Account Code API (cAcctCode on page 13-228) to format the
                        lines by their transaction keywords. (Based on the Charge Type, the system
                        locates the transaction keywords.)




ETS SYSTEMS MANUAL                                   4/10/01                                      Page 273
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            cBuildETSDoc




                    4. Creating Regular offset lines (employee pay)
                        CA EMPLOYEES
                          If the employee code ends with CA, the system creates the regular offset line
                          using the total number of hours the employee has entered as “Regular.”
                        BE45 & _ESA EMPLOYEES
                           More than 40 regular hours
                           The system creates a 40-hour regular offset line
                           Less than 40 regular hours, except TT1 and TT7
                           If Regular hours are less then 40 hours and the company reference code is
                           not TT1 or TT7, the system creates a regular offset line.
                              8*number of days worked
                           Less than 40 regular hours, all other Enterprises
                          For other companies, the system uses the total number of hours the
                          employee has entered as “Regular.”
                        ALL OTHER PAY CODES
                          For all other types of employees, the system uses the total number of hours
                          the employee has entered as “Regular.”

                    5. Creating Additional Compensation lines for NUS-BE45 employees
                        When Additional Compensation lines exist, creates the line with a Quantity
                        Position of 2.


                    6. Creating overtime lines
                        CALCULATING ELIGIBLE OVERTIME HOURS
                          An employee is ineligible for Premium Overtime if:
                          • The employee is NUS-BE45
                          • The total number of worked hours does not exceed 40
                          • The employee is _ESA
                          For other employees, total eligible Premium Overtime hours is the differ-
                          ence between total worked hours and the Overtime threshold.
                        CREATING THE LINES
                           CA Employees
                           Builds a Premium Overtime line and a Double Time line based on the pre-
                           mium and double hours the employee inputs.
                           All other employees
                           Premium Overtime lines are built if
                             • The total Worked Hours exceed the Overtime Threshold. All hours
                               over this threshold are built at the Premium Overtime rate. Any other
                               hours are built as a straight Additional Line (Additional Time).
                           Premium Overtime lines are not built if
                             • The total Worked Hours do not exceed the Overtime Threshold even
                               if the Total Hours do. This means the employee logged some Non-
                               Worked hours which are not eligible for overtime.
                               In this case, all hours that exceed the threshold are built as straight
                               Additional Time, and no Premium Overtime lines are created.



ETS SYSTEMS MANUAL                                   4/10/01                                   Page 274
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                 cBuildETSDoc




                              • All hours are Non-Worked hours. No premium or straight additional
                                 hours are allowed.

                        BUILDING THE DEBIT SIDE
                          Builds the Debit side of Premium OT and the Credit side of straight Addi-
                          tional Lines to keep the lines balanced.
                    7. Applying Effective Rate
                        • Applies only to NUS BESA or BE45
                        Adjusts to Effective Rate when the total hours on the employee's timecard is
                        over 40. Only non-Computer Usage and non-Premium Overtime lines are
                        adjusted to Effective Rate.
                        For more information, see Effective Rate in ETS Labor Law.
                        THE CREDIT SIDE
                          does not apply
                        THE DEBIT SIDE
                          Applied to following pay types, retrieved from GNRLDESIG, with
                          Desig_category FUNDDESIG.
                  Table 14.8 GNRLDESIG
                  Desig_category        Desig_value              Description
                  TMSHDESIG             TSEPTOHRS                Timesheet Paid Time Off Labor Hours
                                        TSECUCHRG                Timesheet Entry Computer Usage Charges
                                        GAACUCHRG                G&A Computer Usage Charge
                                        TSEIDCUCRG               ETS Indirect Computer Usage
                                        GAAIDCUCRG               G&A Indirect Computer Usage
                                        TSEPROPCU                ETS Proposal Computer Usage
                                        GAAPROPCU                G&A Proposal Computer Usage

                        CALCULATION
                          fEffHrRate =
                          (fTotEffAmount - fPTOAmount)/(fTotEffHours - fPTOHours)

                           Effective Rate = (Total Effective Amount - PTO Amount) / (Total Effective Hours -
                           PTO Hours)
                           PTO Amount = Amount sum of all PTO Debit lines (the transaction keyword equals
                           "ESEPTOHRS")
                           Total Effective Amount = Amount sum of all non-computer usage Credit lines
                              This excludes the following transaction keywords
                                  • TSECUCHRG
                                  • GAACUCHRG
                                  • TSEIDCUCRG
                                  • GAACUCHRG
                                  • TSEPROPCU
                                  • GAAPROPCU
                           PTO Hours = Hour sum of all PTO Debit lines


ETS SYSTEMS MANUAL                                    4/10/01                                       Page 275
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                               cBuildETSDoc




                               (the transaction keyword equals ESEPTOHRS)
                            Total Effective Hours = Hour sum of all non-PTO Debit lines
                               (the transaction keywords excludes TSEPTOHRS)


                      8. Balancing Lines
                          The system compares the sub-total of the Debit amount to the sub-total of the
                          Credit amount. In case there is an amount difference caused by rounding, the
                          system tries to adjust the Credit line's amount and tries balancing again. This
                          balance and adjust routine is done up to 20 times. If the lines still cannot be
                          balanced, the whole process returns as failed to fProcessDocs.


                    Pass Three: Adding balanced lines to the document
                    All balanced lines are added to cDocument, which is returned to fProcessDocs
                    for sending to CODA.



                    Formatting the lines
                    The ETS Javadoc documents how each line is formatted. Because the Javadoc is fre-
                    quently regenerated, it is not hyperlinked to this document. Following is a reference
                    table detailing which java file and method enforces the formatting of each type of
                    line.
                    See ETS Javadoc and then search for the java file and method listed below.


Table 14.1 REFERENCE KEYS TO ETS JAVADOC FOR THE FORMATTING THE LINK LINES
Credit
/Debit     Charge Type            Keyword              Class and method in ETS Javadoc
DEBIT
           Direct                 05DIRECT            cBuildETSDoc.DIRCT05
           Direct Overhead        TSEDRCTOVH          cBuildETSDoc.OVERHEAD60
           Proposal               TSEPROPHRS          cBuildETSDoc.PROPOSAL10
           PaidTimeOff            TSEPTOHRS           cBuildETSDoc.PTO20
           Holiday                TSEHOLHRS or        cBuildETSDoc.HOLIDAY25
                                  GAAHOLHRS
           Floating Holiday       TSEFLHLHRS or       cBuildETSDoc.FLOAT30
                                  GAAFLHLHRS
           Jury Duty              TSEJRYDHRS' or      cBuildETSDoc.JURYDUTY35
                                  GAAJRYDHRS
           Bereavement            TSEBERVHRS or       cBuildETSDoc.BEREAVE40
                                  GAABERVHRS
           Military Leave         TSEMILTHRS or       cBuildETSDoc.MILITARY45
                                  GAAMILTHRS
           Acquisition            TSEACQUHRS          cBuildETSDoc.ACQ55



ETS SYSTEMS MANUAL                                    4/10/01                                     Page 276
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                      cBuildETSDoc




Table 14.1 REFERENCE KEYS TO ETS JAVADOC FOR THE FORMATTING THE LINK LINES
Credit
/Debit     Charge Type           Keyword          Class and method in ETS Javadoc
DEBIT
           Indirect Computer     TSEIDCUCRG or   cBuildETSDoc.cBuildIndCULine
           Usage                 GAAIDCUCRG
           Direct Computer
           Usage                 TSECUCHRG       cBuildETSDoc.cBuildCULine
           Proposal Computer     TSEPROPCU or    cBuildETSDoc.cBuildProposalCULine
           Usage                 GAAPROPCU
           Double Time           TSEINDPMOT      cBuildETSDoc.cDoubleOTRow
           Premium Overtime      TSEINDPMOT      cBuildETSDoc.cPremOTRow
           Piece Work            n/a             cBuildETSDoc.cFormatPieceWork
           Business              Depends on      cBuildETSDoc.cFormatBD
           Development           subtype
           Indirect              Depends on      cBuildETSDoc.cFormatINDIRECTLINE
                                 subtype
Credit/ Additional Time          TSEADDTME       cBuildETSDoc.AddTimeRow
Debit
CREDIT
        Direct Computer          TSECUCHRG       cBuildETSDoc.cBuildCUCredit
        Usage
        Employee pay             TSEHOURS        cBuildETSDoc.cBuildETSDoc.cOffSet
                                                 Row
           Proposal Computer     TSEPROPCU or    cBuildETSDoc.cBuildProposalCUCred
           Usage                 GAAPROPCU       it




ETS SYSTEMS MANUAL                               4/10/01                              Page 277
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                              cBuildETSDoc




Additional Business Rules
       NOTE       Most business rules related to payroll are documented in ETS Labor Law, document
                  #6200. This Labor Law document is targeted for a non-technical audience and includes
                  Tetra Tech’s pay policies as reflected in ETS.
                  Some overlap exists between these two documents. In many cases, this document links
                  directly to pertinent sections in ETS Labor Law.



                  Pay codes
                  For information and business rules on all the employee pay codes, see Employee
                  Types in ETS Labor Law.
                  Weekending date
                  The document date is set to the weekending date. If the time is for weekending on
                  02/12/2000, then the document date is set to 2/12/2000 regardless of when the
                  document was actually created.
                  Overtime threshold
                  The Overtime threshold is set to 40 hours per week by default. The threshold is
                  changed to 45 for pay codes of BE45, WE45 and ME45. The system ignores the first
                  position of the employee code, so the rule is enforced where the last three digits of
                  the employee code is “E45.”
                  Pay cycle
                  A pay cycle is one week.
                  Hours type
                  The Hours Type entered by the user is accepted by the system without validation.
                  This means that by default, the system will allow users to decide whether their hours
                  should be considered as Regular, Overtime, or some other type.
                  Computer Usage
                  The employee may record his/her hours as Computer Usage is the Enterprise allows
                  for it. The employee’s choice is cached in USERDATA.
                  Computer Usage includes four types: Direct, Indirect, Bid and Proposal, and Busi-
                  ness Development. Under Enterprise Settings, Computer Usage defaults to ON, so
                  an absent setting or setting error turns on Computer Usage.
                  For information on policies and business rules related to Computer Usage, see Com-
                  puter Usage in ETS Labor Law.
                  Once an Enterprise chooses whether or not to bill for Computer Usage for these
                  four types, a row is created in USERDATA to record its settings.




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 278
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                cBuildETSDoc




        NOTE      Previous version settings for Indirect and Direct Computer Usage are inactive and include
                  keywords EPSCULLCRT and EPSINCCLCRT. These two settings and keywords were
                  replaced by the four below.

                  Table 14.9 USERDATA
                     The USERDATA table with Data_condition EPSCULLCRT holds the value for each
                     Enterprise as to whether or not it may bill for Computer Usage.
Prim_key      Table_numb                Row_key                Data_condition        Data_value
72383         ENTERPRISE                2800                   ETSPRPCMUS            PRCMUSENO
72384         ENTERPRISE                2800                   ETSBDCMUS             BDCMUSENO
47620         ENTERPRISE                2800                   ETSINDCMUS            INCMUSEYES
49719         ENTERPRISE                2800                   ETSDIRCMUS            CMUSEYES



                  California Overtime Pay
                        APPLICABLE ENTERPRISES
                          all
                        APPLICABLE PAY CODES AND HOURS
                        • all non-salaried pay codes ending in CA (California)
                        • Worked Hours only
                          Worked Hours are retrieved from ETSnter.sChargeType and include
                          • 05DIRECT
                          • 15INDIRECT
                          • 60OVERHEAD
                          • 10PROPOSAL
                          • 50PIECEWORK
                          • 55ACQ
                          • 65BD
                  Because CA employees' Timesheet line hour types are validated prior to submission,
                  the Link Line process does not revalidate these hours. For the validation rules, see
                  the “dCAValidation” on page 4-92 in the Timesheet Entry section.


                  Additional Time
                  Additional Time is a balancing tool to help balance the lines for salaried employees
                  who log either less than or more than 40 hours per week. An extra AddTime
                  cUniqline is created for either the Debit or the Credit side, as needed. This
                  amount is then added or subtracted from the Additional Time account 6000.
                  More business rules and pay examples are documented in ETS Labor Law. See Addi-
                  tional Time, ETS Labor Law.
                    Applicable Pay Codes
                        _ESA and _E45
                    Applicable Enterprises
                        Additional Time is an Enterprise Setting. It defaults to NOT ALLOWED, so
                        an absent setting or setting error turns off Additional Time.



ETS SYSTEMS MANUAL                                   4/10/01                                       Page 279
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                             cBuildETSDoc




                        Enterprise Settings for Additional Time are cached in USERCOND with
                        Cond_keyword = EPSADDTMLN
                  Table 14.10 USERCOND
                     With Cond_keyword EPSADDTMLN
                  Prim_key      Cone_keyword           Cond_value        Description
                  46271         EPSADDTMLN             EPSADDTYES        Additional Time -- Create Link
                                                                         Lines
                  46272         EPSADDTMLN             EPSADDTNO         Additional Time -- Omit Link
                                                                         Lines

                        If Cond_value = EPSADDTYES, the system checks the pay code to see if Addi-
                        tional Time applies. If the employee pay code is _ESA or _E45, Additional
                        Time is implemented.
       NOTE       No AddTime for NUS BE45 and BESA Credit Line since NUS uses Effective Rate


                    Equations
                        CREDIT SIDE
                           more than 40 hours per workweek
                           Total Number of Hours less 40 equals the number of additional hours to
                           create.
                              TotalHours - 40 = TotalAddHours

                        PAID HOURS ADJUSTMENT
                           when Less than 5 days worked
                           If the Number of Days total is less than 5, then the paid hours amount is
                           adjusted.
                           Paid Hours equals Number of Days multiplied by 8 hours per day.
                           PaidHours = NumDays * 8

                        DEBIT SIDE
                           less than 40 hours
                           If the Total Hours during the week are less than 39.9, a Debit line of Addi-
                           tional Time may be required. The number of paid hours defaults to 40
                           hours.
                           Paid Hours minus total hours recorded equals Additional time amount
                           PaidHours - TotalHours = TotAddHours



                  Additional Compensation
                  Additional Compensation is a Time Type, like Regular or Overtime, and is paid to the
                  employee at the Regular rate. For more information, see Additional Compensation in
                  ETS Labor Law.
                    Applicable pay codes



ETS SYSTEMS MANUAL                                  4/10/01                                      Page 280
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                               cBuildETSDoc




                        BEST and BE45
                    Applicable Enterprises
                           NUS only




                  Stored Procedures
                  TT_ETS_Cycle_Info
                  TT_ETS_GA_DeptSettings
                  TT_ETS_Code_To_AcctDef

                  Data Mappings
                  PayCycles
                     See SP “TT_ETS_Cycle_Info” above.
                  sCond_Value
                  See SP TT_ETS_GA_DeptSettings above.
                  Charge Types and Account Codes
                  See SP TT_ETS_Code_To_AcctDef above.




ETS SYSTEMS MANUAL                             4/10/01         Page 281
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                               cBuildEXPDoc




cBuildEXPDoc
                  C U S T O M E R S . T E T R A T E C H . E TS . P R O C E S S
                  PACKAGE: PUBLIC CLASS EXTENDS J AVA.LANG.O BJECT

      Called by   • fProcessExp
       NOTE       The Link Lines process has undergone a complete redesign since this section was
                  completed. Further documentation is not scheduled.


                  Overview
                  cBuildEXPDoc is the key control class that creates ETS link lines for Expense
                  Reports. Called by the GUI fProcessExp, cBuildEXPDoc applies the business
                  rules and calls the necessary formatting classes and other supporting classes to build
                  the Link Lines.
                  cBuildEXPDoc totals, collapses and balances first the Debit, then the Credit lines.
                  Since these lines are Expense and reflect the employee’s actual expenses with no
                  hours, it is rare that the lines do not balance. If, however, they do not balance, the
                  system uses the same method as cBuildETSDoc to try to balance 20 times.
                  Once balanced, the system calls cAcctCode to format the lines.
                  After formatting, it returns the completed instance of cDocument to fProces-
                  sExp.

                  Business Rules
                  Document date
                  The document date is set back one week because Tetra Tech processes Expenses for
                  the previous week. (as opposed to Timesheets which are processed for the current
                  week.)
                  Default hour type
                  The system sets all hours to Regular, or Quantity Position 1.
                  Balancing the line
                  In case there is a difference between the Credit and Debit sides caused by rounding,
                  the system tries to adjust the amount and tries balancing again. This balance and
                  adjust routine is done up to 20 times. If the lines still cannot be balanced, the process
                  is returned as failed to fProcessExp.
                  Formatting the line
                  See cBuildEXPDoc.cFormatUNIQLINE in the ETS Javadoc.




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 282
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                cBuildEXPDoc




                  Imports
                  import customers.tetratech.ets.*;
                  import customers.tetratech.codalink.CODALink;
                  import customers.tetratech.ets.api.LawsonRequest;

                  import customers.tetratech.acctcode.cUNIQLINE;
                  import customers.tetratech.acctcode.cDocument;
                  import customers.tetratech.acctcode.cAcctCode;
                  import customers.tetratech.ttdev.common.TtESTrack;
                  import customers.tetratech.ets.api.LawsonRequest;
                  import customers.tetratech.ttdev.common.TTCommon;
                  import customers.tetratech.ets.ETSCommon;
                  import customers.tetratech.ets.ETSCalendar;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;
                  import aframe.workmovr.afutils.afFormat;
                  import aframe.afdev.dml.*;




                  Stored Procedures
                  TT_ETS_Cycle_Info
                  TT_EXP_Code_To_AcctDef_select



                  Data Mappings
                  Pay cycle variables
                  Post_Period
                  Post_Year
                  PayCycle
                     From PAYCYCLES. See “TT_ETS_Cycle_Info” on page 15-383




ETS SYSTEMS MANUAL                                  4/10/01                     Page 283
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                    cDocDiff




cDocDiff
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS . P R O C E S S
                  P U B L I C C L A S S C D O C D I FF


      Called by   • fProcessDocs
                  • fProcessExp
       NOTE       The Link Lines process has undergone a complete redesign since this section was
                  completed. Further documentation is not scheduled.


                  Overview
                  cDocDiff displays the Original Timesheet or Expense and the Amended
                  Timesheet or Expense so an Administrator can compare the two prior to the pro-
                  cessing of Link Lines.



                  Attributes
                  See Javadocs


                  Imports
                  import customers.tetratech.acctcode.cUNIQLINE;
                  import customers.tetratech.acctcode.cDocument;
                  import customers.tetratech.acctcode.cAcctCode;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afutils.afFormat;




                  Stored Procedures
                  none

                  Data Mappings
                  DocCodes
                  Original Timesheet and Expenses and Amended Timesheet and Expenses are given
                  different DocCodes. After retrieving the Original Timesheet or Expense, cDocDiff
                  assigns a new DocCode to the Amended Timesheet or Expense.
                  Original Timesheets are assigned a DocCode in PAYCYCLES below. The DocCode
                  for Timesheets is either PRTCB or PRTCA and changes every other week. Because
                  employees are paid every other week, each employee’s Timesheet will always have the
                  same DocCode.



ETS SYSTEMS MANUAL                                    4/10/01                                   Page 284
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                             cDocDiff




Table 14.11 PAYCYCLES
   Assigns a DocCode to all Original Timesheets
PostDate                          DocName           Period    Cycle         Year
2000-09-10 00:00:00               PRTCB             12        19            2000
2000-09-17 00:00:00               PRTCA             12        19            2000
2000-09-24 00:00:00               PRTCB             12        20            2000
2000-10-01 00:00:00               PRTCA             12        20            2000
                                  DocCode




                  Amended Timesheets and Original and Amended Expenses receive a hard-coded
                  ”DocCode.
                  Table 14.12 DOCCODES
                      For Expenses and Amended Timesheets and Expenses
                  Document                        DocCode             How assigned
                  Original Timesheet              PRTCB or PRTCA      Retrieved from PAYCYCLES
                  Original Expense                PREXP               Assigned in
                                                                      cBuildEXPDoc
                  Amended Timesheet               PRADJ               Assigned in cDocDiff
                  Amended Expense                 PRADJEXP            Assigned in cDocDiff




ETS SYSTEMS MANUAL                                 4/10/01                               Page 285
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                               ETSCommon




ETSCommon
                  P A C K A G E : C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C C L A S S ETSC O M M O N E X T E N D S J A V A . L A N G . T H R E A D


       NOTE       ETS has undergone a complete redesign since this section was completed. Further docu-
                  mentation is not scheduled.



                  Overview
                  ETSCommon is request-based and holds data used by ETS in processing Timesheet
                  and expense entries.
                  The data in ETSCommon resides on the client machine, holding exactly the same data
                  as ETSCommonRemote located on the App Server.
                  To see how the data is held, see ETSCommonRemote.



                  Attributes
                  Imports
                  import aframe.workmovr.afenv.afEnv;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataComp;

                  import aframe.afdev.orb.cObjQueue_Stub;
                  import aframe.afdev.orb.cRequestMaker;

                  import customers.tetratech.ets.cETS_OB;


                  Business Rules
                  n/a

                  Stored Procedures
                  none

                  Data Mappings
                  See ETSCommonRemote.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 297
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                      ETSCommonRemote




ETSCommonRemote
                  P A C K A G E : C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C C L A S S ETSC O M M O N R E M O T E E X T E N D S A -
                    F R A M E . A F D E V. O R G . A F P U B O B J E C T
                  Implements ETSCommonRemoteInter, java.io.Serializable

      Called by   • ETSCommon
                  • ETSCommonRemoteInter
       NOTE       ETS has undergone a complete redesign since this section was completed. Further
                  documentation is not scheduled.


                  Overview
                  ETSCommonRemote holds data used by ETS in processing Timesheet and expense
                  entries. It is called by ETSCommon.
                  The data in ETSCommonRemote is loaded by request and resides on the Middle
                  Tier, or App Server. This data is copied exactly to ETSCommon on the client
                  machine.

                  Attributes
                  Imports
                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestTrack;
                  import aframe.afdev.orb.cObjQueue;

                  import aframe.afdev.dml.cDataComp;
                  import aframe.afdev.dml.cDataRow;
                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;


                  Business Rules
                  none



                  Stored Procedures
                  AF_Tablemaint_select
                  TT_USEROPTION_select_optkwrd
                  AF_USERCOND_select_bykeyword
                  TT_Enterprise_Settings




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 298
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSCommonRemote




                  Data Mappings
       NOTE       The shaded cells are retrieved by the system and held in memory.

                      Business Development Types
                        Calls Stored Procedure TT_USEROPTION_select_optkwrd. Saves the data as
                        cDataComp cBD.
                  .
Table 14.20 USEROPTION
   Business Development is retrieved from USEROPTION with Option_keyword 65BD
Prim-key     Option_keyword        Option_value               Description           User-reference
54119        65BD                  BDADVTS                    Advertising           AD
54117        65BD                  BDDIRCTSEL                 Direct Selling        DS
66327        65BD                  BDMISCMKTG                 Misc. Marketing       MM
54120        65BD                  BDMKTPLAN                  Market Planning       MP
54118        65BD                  BDTRDSHOW                  Trade Show            TS
prim_key                           option_value               description           user_reference



                      Charge Types
                        Calls Stored Procedure af_tablemaint_select. Saves the data as cDataComp
                        cChargeType.

Table 14.21 USERCOND
   The Charge Type is retrieved from USERCOND with Cond_keyword CHARGETYPE.
Prim_
key        Cond_keyword       Cond_value            Description                         User_reference
27335      CHARGETYPE         50PIECEWRK            Piece Work                          PIECE
27346      CHARGETYPE         55ACQ                 Special Project / Acquisition       ACQ
39761      CHARGETYPE         60OVERHEAD            Direct Overhead                     O
54116      CHARGETYPE         65BD                  Business Development                BD
21595      CHARGETYPE         10PROPOSAL            Proposal                            P
21597      CHARGETYPE         20PTO                 Paid Time Off                       T
21599      CHARGETYPE         30FLOAT               Floating Holiday                    F
21601      CHARGETYPE         40BEREAVE             Leave / Bereavement                 B
21602      CHARGETYPE         45MILITARY            Military Leave                      M
prim_ke                       cond_value            description                         user_reference
y



                      Computer Usage
                        Calls Stored Procedure AF_USERCOND_select_bykeyword. Saves the data as
                        cDataComp cComputer.


ETS SYSTEMS MANUAL                                  4/10/01                                          Page 299
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            ETSCommonRemote




Table 14.22 USERCOND
   Computer usage defines whether or not a Project may be billed for computer usage and is retrieved from
   USERCOND with Cond_keyword COMPUTRUSE.
Prim_                                                                                      User_
key        Cond_keyword        Cond_value        Description                               reference
14931      COMPUTRUSE          COMPUSEYES        Yes - Computer Usage Charged              Y
14932      COMPUTRUSE          COMPUSENO         No - Computer Usage Not Charged           N
prim_k                         cond_value        description                               user_reference
ey



                    Expense Charge Type
                        Calls Stored Procedure af_tablemaint_select. Saves the data as cDataComp
                        cExpChrgType.

Table 14.23 USERCOND
   The Expense Charge Type is retrieved from the USERCOND table with cond_keyword EXPCRGTYPE.
                                                                    User_               User_
Prim-key       Cond-keyword       Cond_value         Description    designator          reference
21610          EXPCRGTYPE         05DIRECT           Direct         1130                D
21611          EXPCRGTYPE         15INDIRECT         Indirect       1130                I
53523          EXPCRGTYPE         25BIDPROP          Bid &          NULL                BP
                                                     Proposal
53524          EXPCRGTYPE         35BD               Business       NULL                BD
                                                     Development
prim_key                          cond_value         description    user_designator     user-reference



                    Expense Reasons
                        Calls Stored Procedure af_tablemaint_select. Saves the data as cDataComp
                        cEXPReason.



Table 14.24 USEROPTION
   The Expense Reason is retrieved from USEROPTION with User_keyword ADJRSNEXP and
   User_designator RSNCODES.
Prim-key         Option_keyword            Option_value       Description              User_designator
79902            ADJRSNEXP                 MISC               Misc                     RSNCODES
79900            ADJRSNEXP                 WRONGPROJ          Wrong Project            RSNCODES
79901            ADJRSNEXP                 WRONGTASK          Wrong task               RSNCODES
prim_key                                   option_value       description



                    Expense Type


ETS SYSTEMS MANUAL                                  4/10/01                                              Page 300
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            ETSCommonRemote




                        Calls Stored Procedure af_tablemaint_select. Saves the data as cDataComp
                        cExpType.
                        .
Table 14.25 USERCOND
   Expense Types are retrieved from USERCOND with Cond_keyword EXPTYPE.
              Cond_          Cond_                                  User_                  User-
Prim-key      keyword        value        Description               designator             reference
53531         EXPTYPE        BPTEP        Bid & Proposal Travel     25BIDPROP              NULL
                                          (Employee Paid)
53561         EXPTYPE        DMEP         Direct Misc. (Employee    05DIRECT               NULL
                                          Paid)
53567         EXPTYPE        ISUEP        Indirect Supplies         15INDIRECT             NULL
                                          (Employee Paid)
53571         EXPTYPE        INDRE        Indirect Recruitment      15INDIRECT             NULL
                                          Expense (Employee Paid)
53635         EXPTYPE        BDTEP        Business Development      35BD                   NULL
                                          Travel (Employee Paid)
53532         EXPTYPE        BPOEP        Bid & Proposal Other      25BIDPROP              NULL
                                          (Employee Paid)
53563         EXPTYPE        INDTEP       Indirect Travel           15INDIRECT             NULL
                                          (Employee Paid)
53565         EXPTYPE        INDEEP       Indirect Education &      15INDIRECT             NULL
                                          Training (Employee
                                          Paid)
53636         EXPTYPE        BDOEP        Business Development      35BD                   NULL
                                          Other (Employee Paid)
prim_key                     cond_value   description               user_designator        user_
                                                                                           reference




                    htHints
                        Calls “TT_Enterprise_Settings” on page 15-448 and saves the data as
                        htHints.


                    Expense Code Hints
                        Creates sub-set from htHints and saves the data as cDataComp
                        cHints. For data mappings, see htHints in TT_EXP_Hint_Select.

Table 14.26 C HINTS
UO_Prim                 Expcode                    Exptype                   HintText
54715                   BPTAI                      BPTEP                     Test description
Prim_key from           option_value from          cond_value from           Gnrl_text from
USEROPTION              USEROPTION                 USERCOND saved as         GNRLTEXT
                                                   sExpType




ETS SYSTEMS MANUAL                                 4/10/01                                             Page 301
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                      ETSCommonRemote




                    Indirect Charge Types
                        Calls Stored Procedure af_tablemaint_select. Saves the data as cDataComp
                        cChargeType.

                  Table 14.27 USEROPTION
                     Indirect charge type are defined in USEROPTION with Option_keyword 5INDIRECT.
                  Prim_key      Option_keyword      Option_value            Description
                  87353         15INDIRECT          INDBDEV                 Business Development
                  21603         15INDIRECT          INDLABADMN              Administration
                  21605         15INDIRECT          INDLABMISC              Miscellaneous
                  21604         15INDIRECT          INDLABMKTG              Marketing
                  21606         15INDIRECT          INDLABREPR              Repair and Maintenance
                  21607         15INDIRECT          INDLABRPRO              Reproduction
                  21608         15INDIRECT          INDLABSUPR              Supervision
                  21609         15INDIRECT          INDLABTADM              Technical Administration
                  21610         15INDIRECT          INDLABTRNG              Training
                  Prim_key                          Option_value            Description



                    Labor Codes
                        Calls Stored Procedure TT_USEROPTION_select_optkwrd. Saves the data as
                        cDataComp cLaborCode.



Table 14.28 USEROPTION
   Labor codes are defined in USEROPTION where Option_keyword is the labor code itself, and the
   User_designator = ‘RSNCODES.’
                                        Option_
Prim_key         Option_keyword         value          Description          User_reference
21603            15INDIRECT             INDLABAD       Administration       A
                                        MN
21604            15INDIRECT             INDLABMKT      Marketing            A
                                        G
21605            15INDIRECT             INDLABMIS      Miscellaneous        A
                                        C
21606            15INDIRECT             INDLABREP      Repair and           A
                                        R              Maintenance
21607            15INDIRECT             INDLABRPR      Reproduction         A
                                        O
21608            15INDIRECT             INDLABSUP      Supervision          A
                                        R
21609            15INDIRECT             INDLABTAD      Technical            A
                                        M              Administration




ETS SYSTEMS MANUAL                                 4/10/01                                        Page 302
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSCommonRemote




Table 14.28 USEROPTION
   Labor codes are defined in USEROPTION where Option_keyword is the labor code itself, and the
   User_designator = ‘RSNCODES.’
                                          Option_
Prim_key         Option_keyword           value             Description         User_reference
21610            15INDIRECT               INDLABTRN         Training            A
                                          G
25358            1130                     INCTD             Inception to Date   NULL
                                                            Value
27336            50PIECEWRK               PIECEAERA         Aerial Splice       AERIAL
                                          L
27338            50PIECEWRK               PIECESPED         Place Small Ped.    SMPED
prim_key         LABOR CODE               option_value      description         user_reference



                  Labor Codes also include the non-Tetra Tech Project level. Calls Stored Procedure
                  TT_USEROPTION_select_optkwrd and saves the data initially as a cDataRow
                  cRow, then adds it to cLaborCode.
Table 14.29 USEROPTION
   Non_Tetra Tech Project levels are defined in USEROPTION with Option_keyword 1130NONTT
                Option_
Prim_key        keyword                  Option_value         Description            User_reference
103524          1130NONTT                G 13                 Grade 13b              NULL
105587          1130NONTT                G12                  Grade 12               NULL
2931            1130NONTT                g4                   Grade 4                NULL
2935            1130NONTT                G4                   Programmer Grade 3     NULL
2932            1130NONTT                Gr8                  Grade 8                NULL
2933            1130NONTT                PG1                  Programmer Grade 1     NULL
prim_key                                 option_value         description            user_reference



                    Piece Work
                         Calls Stored Procedure TT_USEROPTION_select_optkwrd. Saves the data as
                         cDataComp cPieceWork.
                         .
Table 14.30 USEROPTION
   Piecework is an Indirect Charge type defined in USEROPTION with Option_keyword 50PIECEWRK
Prim_          Option_                  Option_
key            keyword                  value               Description             User_reference
27336          50PIECEWRK               PIECEAERAL          Aerial Splice           AERIAL
27343          50PIECEWRK               PIECECERTI          Certification           CERTI
27341          50PIECEWRK               PIECEGG             Place Guy Guard         GUGU
27340          50PIECEWRK               PIECELPED           Place Large Ped.        LAPED
27339          50PIECEWRK               PIECEMPED           Place Med. Ped.         MEPED
27345          50PIECEWRK               PIECEOTH            Other                   OTH



ETS SYSTEMS MANUAL                                      4/10/01                                       Page 303
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSCommonRemote




Table 14.30 USEROPTION
   Piecework is an Indirect Charge type defined in USEROPTION with Option_keyword 50PIECEWRK
Prim_          Option_                  Option_
key            keyword                  value              Description               User_reference
27338          50PIECEWRK               PIECESPED          Place Small Ped.          SMPED
27342          50PIECEWRK               PIECESYSW          System Sweep              SYSW
27337          50PIECEWRK               PIECEUG            UG Splice                 UG
27344          50PIECEWRK               PIECEVER           Vertical Ground           VER
Prim_key                                option_value       description               user_reference



                    cReason
                         The Reason code, like the Expense Reason code, is retrieved from USEROP-
                         TION with User_keyword ADJRSNEXP and User_designator RSNCODES. See
                         cExpReason.


                    Time Conditions
                         Calls Stored Procedure AF_USERCOND_select_bykeyword. Saves the data as
                         cDataComp cTimeCond.
Table 14.31 USERCOND
   Time conditions define the Time Type and are identified in USERCOND with Cond_keyword QTYPOSITN
Prim_key      Cond_keyword                Cond_value       Description                    User_reference
2630          QTYPOSITN                   1                Regular                        R
2631          QTYPOSITN                   2                Premium Overtime               O
2632          QTYPOSITN                   3                Double Time                    D
81845         QTYPOSITN                   4                Make-up Time                   M
87112         QTYPOSITN                   5                Additional Compensation        AC
prim_key                                  cond_value       description                    user_reference




ETS SYSTEMS MANUAL                                     4/10/01                                             Page 304
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                     ETSCommonRemote




   htRespDept
         Identifies the responsible department or Charge Department,
 Table 14.32 USERDATA
    Charge Dept is retrieved from USERASOC with table_numb_1 GROUPS, table_numb_2
    WORKPACKET and relationship RESPONSIBL.
               Table_           Row_        Table_               Row_
  Prim_key     numb_1           key_1       numb_2               key_2          Relationship
  119434       GROUPS           1300        WORKPACKET           119428         RESPONSIBL
  119473       GROUPS           1300        WORKPACKET           119471         RESPONSIBL
  117644       GROUPS                       WORKPACKET           107456         RESPONSIBL
  107616       GROUPS           1301        WORKPACKET           107614         RESPONSIBL
  83898        GROUPS           1301        WORKPACKET           83892          RESPONSIBL
  83932        GROUPS           1322        WORKPACKET           83926          RESPONSIBL
  83950        GROUPS           1301        WORKPACKET           83944          RESPONSIBL
  83972        GROUPS           1301        WORKPACKET           83966          RESPONSIBL
  110675       GROUPS           1301        WORKPACKET           110673         RESPONSIBL
  110731       GROUPS           1301        WORKPACKET           110725         RESPONSIBL
  110835       GROUPS           1301        WORKPACKET           110829         RESPONSIBL
                                row_key_1                        row_key_2


 Table 14.33 GROUPS
    Defines the responsible GROUP
                                    Group_
  Prim_key      Description         bus_type          User_designator        User_reference
  1300          Gaithersburg        2355              NULL                   GBRG

 Table 14.34 WORKPACKET
  Prim_key       Description     Wp_bus_type            User_designator        User_reference
  119428         Intel           47990                  NULL                   INTELT
                 Technology




ETS SYSTEMS MANUAL                                4/10/01                                       Page 305
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                ETSCommonRemoteInter




ETSCommonRemoteInter
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C I N T E R F A C E ETSC O M M O N R E M O T E I N T E R E X T E N D S
                     JAVA.RMI.R EMOTE


      Called by   • ETSCommonRemote

       NOTE       ETS has undergone a complete redesign since this section was completed.


                  Overview
                  The interface class that specifies the methods for ETSCommonRemote.

                  Method Specifications
                  See Javadocs.


                  Imports
                  import aframe.afdev.dml.cDataRow;




ETS SYSTEMS MANUAL                                 4/10/01                                     Page 306
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                             ETSController




ETSController
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C C L A S S ETSC O N T R O L L E R E X T E N D S
                     A F R A M E . A F D E V. O R B . A F P U B O B J E C T
                      implements ETSControllerInter, java.io.Serializable


       NOTE       ETS has undergone a complete redesign since this section was completed. Further docu-
                    mentation is not scheduled.

      Called by   •   ETSCommon
                  •   cETS_OB
                  •   ETSControllerInter
                  •   fETSAppr
                  •   fEXPAppr
                  •   fEXPEntry
                  •   fLCAAudit
                  •   ETSReptTimesheet
                  •   EXPRept
                  •   fETSChange
                  •   fETSEntry

                  Attributes
                  See Javadocs


                  Imports
                  import aframe.afdev.orb.afPubObject;
                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestTrack;
                  import aframe.afdev.orb.cObjQueue;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataComp;

                  import aframe.workmovr.afdb.afDB;




                  Overview
                  ETSController is on the Remote side and is used throughout the system for rou-
                  tine updates to, and retrievals from, the database.
                  It uses several stored procedures to either retrieve or save data.

                  Business Rules


ETS SYSTEMS MANUAL                                   4/10/01                                    Page 307
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                ETSController




                  none

                  Stored Procedures
       NOTE       Stored Procedures with hyperlinks indicate those that are currently documented as part of
                  either Timesheet Entry or Link Lines processing.
                  TT_ETS_Task_Indiv
                  AF_Tablemaint_select
                  AF_GNRLTEXT_select
                  TT_ETS_LCA_Audit
                  TT_AUUNIQTMSH_Select
                  TT_USEROPTION_select_optkwrd
                  AF_TASKS_select_userdesig


                  The following SPs are called from ETSController but are not
                    currently used by N-Tier.
                  •   TT_ETS_Get_Settings
                  •   TT_Indiv_Settings
                  •   TT_ETS_ReptTimesheet
                  •   AF_WORKTRX_select_2


                  Data Mappings
                  See the above SPs.




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 308
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSInboxModel




ETSInboxModel
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS
                  P U B L I C C L A S S ETSI N B O X M O D E L
                  implements afPubMaint


      Called by   • ETSInboxWriter
                  • ETSInboxReader


                  Attributes
                  See Javadocs.


                  Imports
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataRow;

                  import aframe.afdev.orb.afPubMaint;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;




                  Overview
                  ETSInboxModel is a private class accessed only by ETSInboxWriter and
                  Reader when logging in and launching the Inbox. On the booting of the App
                  Server, this class is populated with a series of cDataSets containing all individual
                  settings needed to build the Inbox for all individuals. This information covers the
                  period of the current week.
                  Loading and refreshing the InboxModel
                  Each time the App Server is rebooted, it instantiates and pre-loads an InboxModel
                  with all pending tasks in the system.
                  This way, when the user logs in, the system filters the pre-loaded InboxModel
                  based on this user’s individual preferences. It then displays a subset of the Inbox
                  Model as this individual’s Inbox, instantiated on the client machine as the Inbox-
                  Viewer.
                  When a user logs onto the system, the Viewer calls the Reader which accesses
                  ETSInboxModel to retrieve the specific cDataSets applicable to the user.
                  When the user adds, changes or deletes tasks, the Writer refreshes ETSInbox-
                  Model to reflect the change.
                  The Model performs all the database calls.



ETS SYSTEMS MANUAL                                    4/10/01                                  Page 309
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                               ETSInboxModel




 ReloadInbox()    • Calls SP TT_ETS_Inbox_Load to load the Model with all pending tasks for all
                    individuals and saves it to cDataSet cInboxset

      FindSet()   • Retrieves a subset of cInboxset based on Indiv_numb to load an individual’s
                    Inbox
                  Individual preferences
                  All employees are assigned one of two possible preferences: Assign/Allocate
                  which identify the individual as either a regular employee or a supervisor; and all oth-
                  ers, which identify the individual’s name, company, home department, etc.
                  In addition, all Tetra Tech databases have a backdoor UserID for all Tetra Tech
                  supervisors so the Model can load all possible Inbox preference settings for all indi-
                  viduals. This speeds individual logins as it readies the Model to create a Supervisor
                  Inbox if necessary. This ID is in User_reference INDIVIDUAL, and is either AFAD-
                  MIN or AFDEV.
                      Assign/allocate
                         This preference determines the content of the user’s Inbox.
                         The system retrieves the preference from TTCommon, calling SP
                         TT_TSS_Login which loads them from GNRLPREF and stores them in
                         stLogin.
                        If the Pref_value is 01FIRST, the system generates the keyword ASSIGN,
                        meaning that the Inbox will include only tasks assigned to this individual. For
                        any other value, the system assigns the keyword ALLOCATE, meaning that this
                        individual is a supervisor, administrator or Project manager and therefore
                        should receive all work allocated to him/her which will include all the tasks of all
                        individuals they are responsible for.
                        ASSIGN
                           When the preference keyword is ASSIGN, the system shows all tasks linked
                           to that individual in Assigned_to in WORKITEMS.
                        ALLOCATE
                           When the preference keyword is ALLOCATE, the system locates all tasks in
                           that individual’s Workqueue, identified by the value of Queue_numb in WOR-
                           KITEMS.
                      Other individual preferences
                         TT_ETS_Inbox_Preference also retrieves the Indiv_numb, name, company,
                         home department, role, etcetera.

                  .

                  Business Rules
                  Amended Timesheets and Expenses
                  Amended transactions require a live “true-time” database connection to LawsonDB.

                  Stored Procedures


ETS SYSTEMS MANUAL                                   4/10/01                                        Page 310
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                        ETSInboxModel




                  TT_ETS_Inbox_Load

                  Data Mappings
                  none




ETS SYSTEMS MANUAL                      4/10/01          Page 311
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            ETSInboxModel




cDataSet cIndivSetting
          The second part of TT_ETS_Inbox_Preference gets the rest of the individual Settings for
          all individuals.
          It also locates the individual’s role. If a GNRLASOC row exists associating this individual
          with a management or administrative role, the Model populates these variables.
          If GNRLASOC prim_key = NULL, then isrole = NO, otherwise YES
          If GNRLASOC prim_key = NULL, then Project_admin = N; otherwise Y
Table 14.35 CINDIVSETTINGS
 Variable               Sample Value           Table Name             Column
 indiv_numb             12543                  INDIVIDUAL             Indiv_numb
 name                   Rob Beckett            INDIVIDUAL             First_name, Last_name
 indiv_ref              rbeckett               INDIVIDUAL             User_reference
 work_queue             24123                  GNRLASOC               Row_key_1
 company                TtNUS                  ENTERPRISE             Description
 company_ref            TT7                    ENTERPRISE             User_reference
 company_numb           2800                   ENTERPRISE             Ep_numb
 home_dept-ref          PITT                   GROUPS                 User_reference
 home_dept              Pittsburg              GROUPS                 Description
 home_dept_numb         1301                   GROUPS                 Group_numb
 isrole                 YES or NO              GNRLASOC               Determined by the value of
                                                                      Row_key_2
 Project_admin           Y or N                GNRLASOC               Determined by the value of
                                                                      Row_key_2


Table 14.36 GNRLASOC
   Individuals 27754 and 114773 hold management roles, as Row_key_2 links them to ROLES to define
   them. If no GNRLASOC rows exist defining this association, the individuals are regular employees.
 Prim_key          Table_numb_1         Row_key_1            Table_numb_2        Row_key_2
 114933            INDIVIDUAL           114773               ROLES               114932
 116548            INDIVIDUAL           27754                ROLES               112810

Table 14.1 ROLES
   Defines the roles
 Role_nu                                  Role_bus_          User_
 mb           Description                 type               designator        User_reference
 114932       Project Manager II          20454              ProjectMGR        PMII
 112810       Project Administrator       20454              CTRCTADMIN        NULL




ETS SYSTEMS MANUAL                                 4/10/01                                         Page 312
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                         ETSInboxModel




cDataSet cInboxSet
          Calls AF_WORKITEMS_Select_Allocate_Tasks to locate all tasks assigned to this individ-
          ual in order to populate the Inbox.
          NOTE: cInboxSet is not yet mapped. It will include a row from WORKITEMS.




  cDataSet cIndivWorkqueues
Table 14.37 GNRLASOC
   A sample of Workqueue preferences
 Prim_key         Table_numb_1                     Row_key_1     Table_numb_2       Row_key_2
 24123            WorkqueueS                       16243         INDIVIDUAL         19248
 24125            WorkqueueS                       60002         INDIVIDUAL         19248
 prim_key                                          queue_numb                       indiv_numb

Table 14.38 WORKQUEUES
 Queue_                                     Queue_t Auto_job-          User_desi
 numb         Description                   ype     queue              gnator      User_reference
 16243        Pittsburgh Department TSE                 AUTOJBQYES                 PITTQUEUE
              Workqueue

Table 14.1 INDIVIDUAL
 Indiv_numb         First_name          Last_name          Indiv_bus_type       Indiv_dbuserid
 19248              Brad                Peterson                                bPeterson




                  WORKITEMS
                  Each row in WORKITEMS is a pending task. The Instance_numb is the Prim_key of
                  GNRLASOC for that task Instance. The Queue_numb contains the Queue_numb for
                  this task’s Supervisor, meaning this task will be in that individual’s Workqueue.



ETS SYSTEMS MANUAL                                   4/10/01                                  Page 313
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                                     ETSInboxModel




Table 14.39 WORKITEMS
   If Queue_numb matches queue_numb of Supervisor’s Queue_numb, this task shows up in the
   Supervisor’s Inbox
              Item_     Instance_key
Prim_key      rush      word         Instance_numb                Description             Queue_numb
81927                   TASKS              81924                  Expenses Rework :       16243
                                                                  06/05/1988
                                           Task Instance                                  cIndivWorkq
                                           (sGNRLASOC)                                    ueues, subset
                                                                                          by Indiv_numb

                                                                  Last_action
Queue_desc            Wp_numb         Wp_desc                     _date_time       Last_action     Last_user
Pittsburgh            49524           E03432 : Beckett, Robert 2000-10-05          REASSIGN
Department TSE                                                 14:17:32.013p
Workqueue

                                                                                                    User_dat
Last_user Target_date           Assigned_entity      Assigned_to                 User_date_1        a_2
3006         NULL               INDIVIDUAL           12543                       NULL               NULL
                                                     Indiv_numb. All tasks
                                                     assigned to this indiv
                                                     will show up in Inbox.

User_data     User_data        User_data                                        Add_datetim
_3            _4               _5           Active           Add_indiv          e                 Add_zone
NULL          NULL             NULL         1                3006               1999-12-30        HOTEL
                                                                                11:59:58.290

Updt_indiv                    Update_datetime            Update_zone
3006                          2000-10-05 14:17:32.303    HOTEL




ETS SYSTEMS MANUAL                                      4/10/01                                           Page 314
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSInboxReader




ETSInboxReader
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS
                  P U B L I C C L A S S ETSI N B O X R E A D E R


       NOTE       The Inbox has undergone a complete redesign since this section was completed. Further
                  documentation is not scheduled.


      Called by   • ETSInboxViewer


                  Overview
                  ETSInboxReader is a private class that gets subsets from ETSInboxModel, and
                  returns them to ETSInboxViewer. When the user logs on, the Viewer initializes,
                  calling the Reader to get the sub cDataSets relating to that user.
                  The Reader retrieves that individual’s settings and pending tasks from the Model.
                  It also retrieves the individual’s Workqueues as there may be several assigned to the
                  same individual. These Workqueue settings are returned to the Viewer as a vector.
                  Pending assigned tasks
                  If the preference is ASSIGN, the Reader retrieves a subset of cInboxSet by
                  ASSIGNED_TO column and also gets a subset of cIndivWorkqueues by
                  Indiv_numb to get the Workqueues. This is returned to fTTWMLogin in preparation
                  of building the Inbox by preference.
                  Pending allocated tasks
                  If the preference is ALLOCATE, the Reader calls getPendingAllocated() to
                  retrieve a subset by Workqueue column.

                  Business Rules
                  Preference settings
                  In the event of an error, the Reader returns to the Viewer a default preference
                  setting of ASSIGN, so the individual will have only his/her own tasks in the Inbox.

                  Attributes
                  See Javadocs.


                  Imports
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;
                  import aframe.afdev.orb.PubList;




ETS SYSTEMS MANUAL                                    4/10/01                                   Page 315
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                        ETSInboxReader




                  Stored Procedures
                  none

                  Data Mappings
                  none




ETS SYSTEMS MANUAL                      4/10/01           Page 316
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSInboxViewer




ETSInboxViewer
                  C U S T O M E R S . TE T R A T E C H . E TS
                  P U B L I C C L A S S ETSI N B O X V I E W E R E X T E N D S
                     A F R A M E . A F D E V. O R B . A F P U B O B J E C T
                  I M P L E M E N TS E T S I N B O X V I E W E R I N T E R


       NOTE       The Inbox has undergone a complete redesign since this section was completed. Further
                  documentation is not scheduled.



      Called by   • ETSInboxWriter
                  • fTTWMLogin
                  • cUnivInbox


                  Overview
                  ETSInboxViewer is a public class accessed directly by the client machine. The
                  Viewer contains hashtables populated with subsets from the cDataSets in the
                  Model. These subsets are specific to the user and contain the only data the user has
                  access to.
                  When the user logs on, the Viewer is initialized and calls the Reader to retrieve
                  the subset data from the Model. The Viewer then populates the following hashta-
                  bles, and returns the data to the GUI:
                  • Hashtable htQueuesByIndiv
                     Individual’s Workqueues
                  • Hashtable htInboxByIndiv
                     All Inbox settings for the user
                  • Hashtable htIndivSetting
                     Individual’s ASSIGN or ALLOCATE preferences. For information on these pref-
                     erences, see ETSInboxModel
                  • Hashtable htIndivPref


                  Business Rules
                  none



                  Attributes




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 317
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                    ETSInboxViewer




                  See Javadocs.


                  Imports
                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestTrack;
                  import aframe.afdev.orb.cObjQueue;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;
                  import aframe.afdev.dml.cDataSet;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.workmovr.afenv.afEnv;




                  Stored Procedures
                  none

                  Data Mappings
                  none




ETS SYSTEMS MANUAL                                  4/10/01           Page 318
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                      ETSInboxViewerInter




ETSInboxViewerInter
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C I N T E R F A C E ETSI N B O X V I E W E R I N T E R E X T E N D S
                     JAVA.RMI.R EMOTE


       NOTE       The Inbox has undergone a complete redesign since this section was completed.




      Called by   • ETSInboxViewer


                  Overview
                  The interface class that specifies the methods in ETSInboxViewer

                  Method Specifications
                  See Javadocs.


                  Imports
                  import aframe.afdev.dml.cDataRow;




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 319
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSInboxWriter




ETSInboxWriter
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS
                  P U B L I C C L A S S ETSI N B O X W R I T E R E X T E N D S
                     A F R A M E . A F D E V. O R B . A F P U B O B J E C T



       NOTE       The Inbox has undergone a complete redesign since this section was completed. Further
                  documentation is not scheduled.


      Called by   •   ETSInboxWriterInter
                  •   ETSTaskApprove
                  •   fTimesheetSetup
                  •   fAmendmentSelect
                  •   fExpenseCreate
                  •   fTimesheetCreate


                  Overview
                  The Writer serves the function of refreshing ETSInboxViewer and ETSIn-
                  boxModel. When the user adds, deletes or changes information, the Writer
                  retrieves the current data from the Model, updates it, and clears the cache on the
                  Viewer.
     Remove()     Calls RemoveServer()
RemoveServer      Calls SP TT_ETS_TaskInstance_Deact to deactivate the row in the database, and
          ()      model.Remove to remove the task from the Inbox.




                  Business Rules
                  Depends on the calling method.



                  Attributes




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 320
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                  ETSInboxWriter




                  See Javadocs.


                  Imports
                  import aframe.afdev.orb.afPubObject;
                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestTrack;

                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataRoot;

                  import aframe.workmovr.afdb.afDB;




                  Stored Procedures
                  TT_ETS_GetNewInboxRow
                     This SP is used for both methods Add() and AddTask(). The method Add()
                     is generic. AddTask() is used for adding “Enter Expense Report” Task.

                  Data Mappings
                  n/a




ETS SYSTEMS MANUAL                                  4/10/01                          Page 321
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                       ETSInboxWriterInter




ETSInboxWriterInter
                  P A C K A G E : C U S T O M E R S . TE T R A T E C H . E TS
                  P U B L I C I N T E R F A C E ETSI N B O X W R I T E R I N T E R E X T E N D S
                     JAVA.RMI.R EMOTE


       NOTE       The Inbox has undergone a complete redesign since this section was completed.




      Called by   • ETSInboxWriter


                  Overview
                  The interface class that specifies the methods in ETSInboxWriter.

                  Method Specifications
                  See Javadocs.


                  Imports
                  import aframe.afdev.dml.cDataRow;




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 322
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSLoad




ETSLoad
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS
                  P U B L I C C L A S S ETSL O A D

      Called by   • none at this time


                  Attributes
                  See Javadocs


                  Imports
                  import java.util.Vector;
                  import aframe.afdev.fileio.DiskIO;
                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataSet;
                  import aframe.afdev.orb.cRequestMaker;
                  import aframe.workmovr.afenv.afEnv;
                  import customers.tetratech.ets.cETS_OB;

                  import java.lang.Math;

                  import customers.tetratech.ttdev.common.cLoginRemote_Stub;
                  import customers.tetratech.ets.lca.LCAViewer_Stub;
                  import customers.tetratech.ttdev.library.cChargeAuthRemote_Stub;


                  Overview
                  Not documented here.

                  Business Rules
                  (if any)



                  Stored Procedures
                  n/a

                  Data Mappings
                  n/a




ETS SYSTEMS MANUAL                                   4/10/01                          Page 323
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                         ETSReptTimesheet




ETSReptTimesheet
                  P A C K A G E : C U S T O M E R S . TE T R A TE C H . E T S . R E P O R TS
                  P U B L I C C L A S S ETSR E P T T I M E S H E E T


      Called by   •     fETSAppr
                  •     fTimesheetRept
                  •     fETSEntry
                  •     fReprintOriginalTS
                  •
       NOTE       Timesheet Entry has undergone a complete redesign since this section was completed.
                  Further documentation is not scheduled.
                  .


                  Attributes
                  See Javadocs


                      Imports
                      import aframe.workmovr.afenv.afEnv;

                      import aframe.workmovr.afutils.afBC39;
                      import aframe.workmovr.afutils.afFormat;

                      import aframe.afdev.common.cMathOper;

                      import aframe.afdev.dml.cDataRow;
                      import aframe.afdev.dml.cDataRoot;
                      import aframe.afdev.dml.cDataSet;
                      import aframe.afdev.dml.cDataComp;

                      import aframe.afdev.orb.cRequestMaker;
                      import aframe.afdev.orb.cObjQueue_Stub;

                      import customers.tetratech.ets.api.LawsonRequest;
                      import customers.tetratech.ets.dlgETSMsgbox;
                      import customers.tetratech.ets.ETSController_Stub;
                      import customers.tetratech.ttdev.common.cLoginRemote_Stub;




ETS SYSTEMS MANUAL                                      4/10/01                                 Page 324
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                       ETSReptTimesheet




                  Overview
                  This class creates the Timesheet object that is displayed by fTimesheetRept

                  As of N-Tier release
                  Among the N-Tier changes in this class:
                  Removed methods
    bCheckUs-       Checked for duplicates
        Dup()
                  New methods
       Setup()      Now retrieves the individual information and puts in new cDataRow drIndi-
                    vidual. This replaces the bReport() call to ETSControl-
                    ler:TT_Indiv_Settings.
                  Revised methods
     bReport()      No longer performs database calls by calling ETSControl-
                    ler:TT_Indiv_Settings to locate the individual’s Home Department, or
                    TT_ETS_ReptTimesheet to get the Project data.
                     Instead the data is passed directly from variables in fETSEntry.


                  Workflow
                  Retrieving the data
                  It takes the Project ID as a parameter and calls ETSController:
                  TT_Indiv_Settings to find the individual’s Home Department. It also calls ETSCON-
                  TROLLER:TT_ETS_ReptTimesheet to get a list of related details for the project. All
                  these are saved to a vector.
                  Amended or Original Timesheets
                  The system checks if this is an Amended Timesheet and sets bAmend = TRUE or
                  bAmend = FALSE. This is in order to retrieve the report based on the week and to
                  set the correct title at the top of the report.
                  Printing the Timesheet
                  Once you the Report data is set up, an image is created. This image includes bar
                  codes with the Workpacket primary key is printed as the barcode.
                  Audit history
                  Calls ETSController:TT_AUUNIQTMSH_Select to get the audit history. This
                  is included on the Timesheet.
                  Signatures
                  A place for hand-signatures is created on the Timesheet only if it is has passed Super-
                  visor Approval. At this time, Tetra Tech has not yet implemented an electronic signa-
                  ture program.
       NOTE       A pending enhancement for electronic signatures is planned.


                  Business Rules


ETS SYSTEMS MANUAL                                  4/10/01                                      Page 325
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                      ETSReptTimesheet




                  Official paper Timesheets
                  If the user is a regular Employee and chooses Preview Timesheet or Print Timesheet,
                  the system labels the Timesheet “Reprint Original Timesheet” to distinguish it from
                  an official Timesheet.
                  If the user is a Supervisor who has approved the Timesheet, the system automatically
                  print the Timesheet and labels it “Original Timesheet.”
                  For Amended Timesheets, the headers will say either “Reprint Amended Timesheet”
                  or “Original Amended Timesheet”, depending on the user.
                  Signatures
                  A place for signatures is only printed on approved Original Timesheets.

                  Stored Procedures
                  Calls ETSController to do the database calls.

                  Data Mappings
                  none




ETS SYSTEMS MANUAL                                 4/10/01                                    Page 326
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSTaskApprove




ETSTaskApprove
                  C U S T O M E R S . T E T R A T E C H . E TS . A P I
                  P U B L I C C L A S S ETSTA S K A P P R O V E



      Called by   •   cETS_OB
                  •   ETSTaskApproveInter
                  •   ETSTaskApproveRemote
                  •   fETSAppr
                  •   fEXPAppr
                  •   fEXPEntry
                  •   fAutoValidate
                  •   fProcessDocs
                  •   fProcessExp
                  •   fETSEntry
       NOTE       Supervisor Approval has undergone a complete redesign since this section was completed.
                  Further documentation is not scheduled.


                  Attributes
                  See Javadocs


                  Imports
                  import java.util.Vector;
                  import java.util.Enumeration;

                  import aframe.workmovr.afenv.afEnv;
                  import aframe.workmovr.afutils.afFormat;

                  import aframe.afdev.orb.AppServer;

                  import customers.tetratech.ttdev.common.TTCommon;

                  import customers.tetratech.ets.api.LawsonRequest;
                  import customers.tetratech.ets.ETSCommon;
                  import customers.tetratech.ets.dlgETSMsgbox;
                  import customers.tetratech.ets.ETSInboxWriter_Stub;
                  import customers.tetratech.ets.cETS_OB;

                  import customers.tetratech.ttdev.common.cLoginRemote_Stub;

                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataSet;

                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestMaker;




ETS SYSTEMS MANUAL                                    4/10/01                                    Page 327
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSTaskApprove




                  Business Rules
                  Validating employee status
                  For Timesheet Approval, the system checks the individual’s employee status by
                  checking the cached data in USERDATA prior to creating any task assignations. If
                  this employee is not valid, the system exits the program.
                  For Expenses Approval, the system does not validate employee status.
                  Updating the individual for audit history
                  Each time a decision is made and recorded from the client machine, to the App
                  Server, and then to the database, the Indiv_numb making the decision is included in
                  the cDataRow as updt_indiv, and attached to the affected database rows. This
                  ensures a tracking history for audit purposes.
                  Expenses Approval
                  Expenses must be approved first by a supervisor, then by an accountant before
                  importing to CODA.

                  Overview
                  ETSTaskApprove is the main class directing the workflow of the Supervisor
                  Approval function in ETS. It includes methods to process Supervisor Approval and
                  submit Timesheets and Expenses.

                  Creating successor tasks
                  One of the elements of the approval process is the completion of the current task
                  and the subsequent creation of “successor” tasks. Currently, the creation of successor
                  tasks are accomplished in two ways:
                     • by calling the new method ETSTaskApproveRemote.
                       SubmitOrApprove()
                     • by using the traditional WorkMovr approach which includes checking for
                       prerequisites and creating a successor task in the table SUCCESSRS.

                  All tasks use the method SubmitOrApprove() except “Import to CODA” and
                  “Accounting Approve Expenses” which use traditional WorkMovr’s successor work-
                  flow.

                  Recording the decision
                  Because approval processes require a decision, the system writes a row to USER-
                  DATA to record the approval or rejection for audit purposes. To record the decision
                  requires the use of special approval/rejection keywords for each task. These are
                  assigned a value in USERDATA of either TRUE or FALSE, depending on whether
                  the decision was approved or rejected.

                  Expenses
                  Expenses follow the same workflow with the exception that expense keywords are
                  used to identify expense processes, and additional functions are implemented. The
                  methods that address expense processing are:


ETS SYSTEMS MANUAL                                  4/10/01                                     Page 328
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSTaskApprove




                  • bSubmitExpense
                  • bApproveExpenses
                  • bAcctApproveExpense


                  Timesheet approval workflow
                  When an individual clicks on SUBMIT WEEK in the Timesheet Entry screen, a
                  series of checks and tasks are set into motion before the Timesheet is accepted for
                  submission.
                  Submitting a Timesheet includes two main functions:
                  • Completing the current Timesheet task
                  • Creating a Supervisor Approval task

                  Timesheet submission
                  At Timesheet submission, fETSEntry calls ETSTaskApprove.bSubmit-
                  Week.The system first identifies the individual’s supervisor and alternate supervisor,
                  if any, in order to create a Supervisor Approval task for the supervisor.
 bSubmitWeek             GETTING THE SUPERVISOR
                            The system calls sGetSupervisor which uses the Lawson API to
                            retrieve the supervisor reference number. The supervisor is located using the
                            employee’s Indiv_numb, held in the cDataRow drTaskDetails with
                            other Timesheet data used during this session.
                            Lawson TRUE TIME is set to FALSE, so that future requests for the super-
                            visor will access the now-cached version.
                            Also retrieves the Enterprise Settings for alternate supervisors, supplying the
                            parameter sCompanyRef. If the company’s Enterprise Setting does not
                            allow alternate supervisors, the system just returns the supervisor reference
                            to bSubmitWeek. Otherwise, it calls sGetAltSupervisor.
                         GETTING THE ALTERNATE SUPERVISOR
                            If the Enterprise allows alternate supervisors, the system calls the Remote
                            method remote.sGetAlt documented in ETSTaskApproveRemote in
                            this section.It returns the value as sRet to bSubmitWeek.
                         CREATING THE NEW SUPERVISOR APPROVAL TASK
                           Calling TTCommon
                           sAssignPrim = TTComm.getIndividual().Find("ref", sSuper-
                           Ref).sGetColumn("prim_key")

                           The system calls TTCommon to retrieve the supervisor’s Indiv_numb by the
                           employee number. This is because the Lawson call returns only Tetra Tech’s
                           employee number (cached in the User_reference column of INDIVIDUAL),
                           not the Indiv_numb needed by the system to perform the GNRLASOC task
                           assignment. (GNRLASOC’s structure performs associations using a
                           TABLE/Prim_key pair, and the Indiv_numb is the Prim_key from INDIVID-
                           UALS.

                           Creating a specific task description



ETS SYSTEMS MANUAL                                   4/10/01                                      Page 329
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                              ETSTaskApprove




                           The system now creates a description of the new task, attaching the week-
                           ending date to the description from TASKS, and saves it to sDesc. See
                           sDesc in the Data mappings section of this class.
                           Assigning the successor task
                           Assigns the successor task variable sSucTaskKey to TSESUPAPRV, the
                           TASKS table User_designator for Timesheet supervisor approval.

                  Table 14.40 TIMESHEET AND EXPENSE ENTRY SUCCESSOR TASK KEYWORDS
                     Used for Timesheet and Expense approval tasks
                  Keyword                 Successor task
                  EXPENTRY                Enter Expense Report
                  ETSEXPAPRV              Supervisor Approve Expense Report
                  ETSEXPACTI              Account Expense Report Approval and Import to CODA
                  TSEENTRY                Enter Timesheet
                  TSEIMPCODA              Import Timesheet to CODA Automatically
                  TSESUPAPRV              Supervisor Approve Timesheet
                  TSECREVTS               Correct and Review Timesheet
                  ETSEXPRWRK              Correct and Rework Expense Report
                  ETSEXPARJT              Accounting Rejected Expenses -- Rework

                   CHECKING VALID EMPLOYEE STATUS
                      The system now checks the return values from TTCommon to ensure that
                      the individual is a valid employee. If not, the program exits.
                   TIMESHEET SUBMISSION
                      If the individual is returned as a valid employee, Timesheet submission
                      begins.The system writes a new cDataRow with the following columns, and
                      then calls the Remote at ETSTASKAPPROVE:SubmitOrApprove.
Table 14.41 CDATAROW row
   Contains the task Instance, the successor task, and the task description.
taskInstanceNumb          assignTo            desc       successorKey      updt_indiv     Updt_zone
sTaskNumb                 sAssignPrim         sDesc      sSucTaskKey       afEnv.sGetIND afEnv.sGetLOC
                                                                           IVTK          ALZONE



                           The SubmitOrApprove() method on the Remote calls an SP that actu-
                           ally does the work to complete and remove the current “Enter Time” task
                           from the individual’s Inbox and initiate and add a “Supervisor Approval”
                           task to the supervisor’s Inbox.
                           The column above updt_indiv, retrieves the Indiv_numb from afEnv to save
                           the completion of this individual’s task to the database. If this number is not
                           saved as part of the cDataRow, the database assigns a default number of
                           00001, making it impossible to track or audit the supervisor approval of this
                           task later.
                           The Updt_zone column is used at each Enterprise’s discretion and allows
                           them to identify their location in some way. (This field is used differently by
                           all Enterprises.)



ETS SYSTEMS MANUAL                                    4/10/01                                     Page 330
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            ETSTaskApprove




                  Supervisor Approval
                  Once the Timesheet is in the supervisor’s Inbox, it may either be approved or
                  rejected.
                  When the supervisor approves or rejects the Timesheet, clicking on either the
                  APPROVE button or REWORK button in fETSAppr, the system calls bAp-
                  proveWeek.
bApproveWeek          TIMESHEET APPROVAL
                         If approved, this method immediately sets in motion the next successor task
                         “Import Timesheet to CODA” identified by TASKS User_designator as TSE-
                         IMPCODA. This keyword is assigned to the successor task key: sSuc-
                         TaskKey = TSEIMPCODA.
                         A cDataRow row is built containing the task Instance, the successor task,
                         the supervisor’s decision and other data retrieved from afEnv. This row is
                         then sent to the Remote to write it to the database.

Table 14.42 cDataRow row
   The cDataRow built when the supervisor approves the Timesheet
   The task Instance number (taskInstance) is the current task (Supervisor Approval), so the Workpacket can
   be tracked later and the current task can be completed.
taskInstance     successor     updt_                           TRUE_                  FALSE_
Numb             Key           indiv          updt_zone        Keyword                Keyword
sTask            sSucTask      afEnv.sGetIN   afEnv.sGetLO     TSESUPRAPR             TSESUPRREW
Numb             Key           DIVTK          CALZONE
                                                               Timesheet Entry        Timesheet Entry
                                                               Supervisor Approval    Supervisor Rework


                            Recording the decision
                            All tasks which result in a decision must be recorded, so the Supervisor
                            Approval decision is saved to a row in USERDATA.
                            If the supervisor approves the Timesheet, the successor task is “Import
                            Timesheet to CODA” with sSucTaskKey = TSEIMPCODA. The system
                            records the decision, assigning the
                                True_keyword = TSESUPRAPR
                                False_Keyword =TSESUPRREW
                            (If the decision is to reject, the keywords are reversed.)




ETS SYSTEMS MANUAL                                   4/10/01                                       Page 331
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                            ETSTaskApprove




          .
Table 14.43 USERDATA
   USERDATA row recording the supervisor’s decision to approve.
 Prim_                            Row_
 key          Table_numb          key         Data_condition      Data_value   Active       Add_indiv
 102185       GNRLASOC            102160      TSESUPRAPR         TRUE           1          3006
                                              Assigning Supervisor Approval a value of TRUE


Table 14.44 GNRLASOC
   The associated task Instance which can be tracked back from Row_key_2 in USERDATA above to the
   GNRLASOC row identifying the Timesheet Instance.
 Prim_key       Table_numb_1        Row_key_1      Table_numb_2       Row_key_2         Description
 102160         TASKS               15979          GNRLASOC           102146            Supervisor Approval
                                                                                        - 06/11/2000




                        TIMESHEET REJECTION
                           If rejected, the Timesheet is returned to the individual and following three
                           variables are again assigned:

                  Table 14.45
                  Variable               Value                       Description
                  sAssignPrim            Indiv_numb                  The individual’s number
                  sdesc                  Description from TASKS      The task description with the
                                         with weekending date        weekending date added
                  sSucTaskKey            TSECREVTS                   Rework: Correct and Review


                  A new cDataRow row is built. This task’s cDataRow includes an sTaskNumb
                  that matches the original Enter Timesheet task, because this task is assigned back to
                  the individual with the description changed to “Correct and Rework.” A column for
                  Queue-numb is included so the task goes back to the individual’s Workqueue, and the
                  TRUE/FALSE values are set to the opposite of their values for Supervisor Approval.
       NOTE       The Queue_numb column is used only at Supervisor rejection (not at approval) because
                  the Import to CODA tasks are automatically picked up by the Link Line batch program
                  which does not check for workqueues.
                  At rejection, the successor task is “Correct and Review Timesheet” with sSuc-
                  TaskKey = TSECREVTS.The system records the decision, assigning the
                                True_keyword = TSESUPRREW
                                False_Keyword =TSESUPRAPR




ETS SYSTEMS MANUAL                                   4/10/01                                          Page 332
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                           ETSTaskApprove




Table 14.46 cDataRow row
   Built when the Supervisor has rejected the Timesheet, and Correct and Review is the task
                                                                                successor
 taskInstanceNumb            assignTo          desc                             Key
 21467                       12543             Correct and Review - " +         TSECREVTS
                                               cETS.sEndingDate
 sTask                       sAssignPrim       sdesc                            sSucTask
 Numb                                                                           Key

 queue_                  updt_             updt_                TRUE_            FALSE_
 numb                    indiv             zone                 Keyword          Keyword
 Queue_numb column       12543             NUS                  TSESUPRREW       TSESUPRAPR
 from WORKITEMS
 cETS.sWorkqueue         afEnv.sGetINDI    afEnv.sGetLOCA       hard coded       hard coded keyword
                         VTK               LZONE                keyword


Table 14.47 GNRLASOC
                Table_
 Prim_key       numb_1        Row_key_1       Table_numb_2          Row_key_2     Description
 21467          TASKS         16606           GNRLASOC              16242         Rework : Correct and
                                                                                  Review - 01/15/1999




                        WRITING THE DECISION TO THE DATABASE
                         Once this cDataRow is constructed, the system calls the Remote with
                         ETSTASKAPPROVE:SubmitOrApprove() to save the data to the data-
                         base.

                  Exiting the program
                  Prior to exiting the program, the system calls cLoginRemote to release the queue
                  established for this session during Login.



                  Expense approval workflow
                  Expense approval is based on Timesheet approval. Only the ways in which this pro-
                  cess differs are documented here.
                  The Expenses approval process requires approval by both the supervisor and an
                  accountant. If the supervisor approves it, it goes to the accountant for approval and
                  Import to CODA. If the supervisor rejects it, it goes back to the individual. These
                  Accountant approval and Import to CODA functions are performed on the same
                  screen, so no additional screens are needed.


ETS SYSTEMS MANUAL                                    4/10/01                                    Page 333
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSTaskApprove




                  Expense submission
                  When the individual clicks on SUBMIT EXPENSES in fEXPEntry, the system
                  calls ETSTaskApprove.bSubmitExpense to begin Expense approval process-
                  ing.
   bSubmitEx-              • A Lawson check to determine valid employee status is not performed for
       pense                   Expense approval.
                           • The system substitutes the Supervisor Expense successor task keywords.
                           • An additional approval task is required (Accounting Approval).
                         At Expense submission, the successor task is “Supervisor Approve Expenses”
                         with sSucTaskKey = ETSEXPAPRV. This places a Supervisor Approve
                         task in the supervisor’s Inbox
                        Following is a list of Expense successor tasks and their keywords.
                        .
Table 14.48 EXPENSE SUCCESSOR TASKS
                 Task                   Decision/   Successor         Successor
Task             keyword                Status      Task              Keyword            Action
Expense submission
Submit      EXPENTRY                    SUBMIT      Supervisor        ETSEXPAPRV         To Supervisor
Expenses                                            Approve Expense
                                                    Report
Expenses         ETSEXPRWRK             SUBMIT      Supervisor        ETSEXPAPRV         To Supervisor
Rework                                              Approve Expense
                                                    Report
Supervisor Approve Expense Report
From Submit                   REJECT                ETS Expense       ETSEXPRWRK         Returns to
Expenses:     ETSEXPAPRV                            Report Needs                         individual
From                                                Correction
Accountant
Reject:       ETSEXPARJT
                              APPROVE      Account Expense            ETSEXPACTI         To
                                           Report Approval                               Accountant
                                           and Import to
                                           CODA
Accountant Expense Report Approval and Import to CODA
             ETSEXPACTI       REJECT       Accounting                 ETSEXPARJT         Returns to
                                           Rejected Expenses                             Supervisor
             ETSEXPACTI       APPROVE      Import to CODA             ETSEXPACTI         Accountant
                                                                                         Imports to
                                                                                         CODA on the
                                                                                         same screen
                                                                      sSucTaskKey




                  Supervisor approval
                  The first step calls bApproveExpenses.



ETS SYSTEMS MANUAL                                   4/10/01                                   Page 334
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                       ETSTaskApprove




     bApprove
     Expenses           Similar to bApproveWeek.
                        SUPERVISOR EXPENSE APPROVAL
                          If the supervisor approves it, the successor task is “Account Approve
                          Expenses and Import to CODA” with sSucTaskKey = ETSEXPACTI.
                          The system records the decision and creates a cDataRow row, assigning
                          the
                              True_keyword = ETSEXPAPRD
                              False_Keyword = ETSEXPCRCT
                        SUPERVISOR EXPENSE REJECTION
                          If the supervisor rejects it, the successor task is “Expense Rework” which
                          sends the task back to the individual with sSucTaskKey = ETSEX-
                          PRWRK.
                          A cDatarow row is written to record the decision, reversing the above
                          True and False keywords.
                              True_keyword = ETSEXPCRCT
                              False_Keyword = ETSEXPAPRD

                  Accountant approval
                  Accountant Expense Approval and Import to CODA are both performed on the
                  same screen.
                  Timesheet Entry’s Import to CODA screen has no REJECT button. The user can
                  only collapse the lines and complete the task.
                  EER’s Import to CODA screen offers the user two tasks:
                     • Accountant approval
                     • Collapse and Import to CODA

                  Once the supervisor approves an Expense, it goes to the one screen where it is both
                  approved and sent to CODA. These two are part of batch process.




ETS SYSTEMS MANUAL                                 4/10/01                                    Page 335
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                          ETSTaskApprove




Figure 14.51THE ACCOUNT EXPENSE REPORT APPROVAL SCREEN
                     This screen allows the accountant to perform both approval and Import to CODA
                     functions.

                                                                                        The accountant
                                                                                        may choose
                                                                                        either to approve
                                                                                        or to Rework



                                                                                        To choose
                                                                                        approval, the
                                                                                        accountant
                                                                                        selects LINES
                                                                                        ACCEPTED.




                  The process begins with bAcctApproveExpense.
bAcctApprove
     Expense            ACCOUNTANT EXPENSE APPROVAL
                          If the accountant approves it, the successor task is “Import to CODA” with
                          sSucTaskKey = ETSEXPACTI. This is successor task does not generate
                          a new task in the Inbox, but instead just automatically begins the Import to
                          CODA process.
                          A cDatarow row is written, assigning the keywords:
                              True_keyword = ETSEXPACAC
                              False_Keyword = ETSEXPACRW

                        ACCOUNTANT EXPENSE REJECTION
                          If the accountant rejects it, the successor task is “Accounting Rejected
                          Expenses” with sSucTaskKey = ETSEXPARJT. This task goes back to
                          the supervisor.
                        A cDatarow row is written, assigning the same keywords as approval, but
                        reversed:
                             True_keyword = ETSEXPACRW
                             False_Keyword = ETSEXPACAC
                        If the supervisor in turn rejects it (the most common scenario), it again returns
                        to the individual.



ETS SYSTEMS MANUAL                                  4/10/01                                       Page 336
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                         ETSTaskApprove




                  Other functions
                  Auto validation
                  Called by the method bApproveAutoValidate(). No longer in use
                  Creating successor tasks through WorkMovr
                  The SUCCESSR table in WorkMovr tracks tasks to ensure completion before assign-
                  ing a successor task.
  bCreateSuc-     Used in Accountant Approval and Import to CODA.
         ess()
 bCheckPreq()     The system first calls bCheckPreq() which calls SP AF_TSKINPRE_condmet to
                  ensure all prerequisites have been completed. If so, the system completes this task.
                  In addition to locating the supervisor in the event the task is rejected, the system
                  cleans up USERDATA, changing the value to COMPLETE, and deactivates the row.
                  Then, based on either approval or rejection, it inserts the appropriate keywords into
                  USERDATA.
                  The system then retrieves the WORKPACKET number to find the Supervisor
                  Approval task. Based on the prim_key, it locates the Original task number. Based on
                  the task number, it locates the successor task. Creates a new successor task and puts
                  it to the queue.
                  Locking the workitem
      bUnlock
     WorkItem     Releases the lock on the Inbox row so the task can be edited.

                  Stored Procedures
                  none

                  Data Mappings
                  See also ETSTaskApproveRemote.




ETS SYSTEMS MANUAL                                  4/10/01                                     Page 337
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                              ETSTaskApprove




                  Assigning a Supervisor Approval task
                  sAssign_Prim is assigned to Row_key_2 of GNRLASOC below in Table 14.51


 Table 14.49 GNRLASOC
    Assignation of this Supervisor Approval task is performed in this GNLRASOC row where Row_key_1 is
    the task Instance and the tables are GNRLASOC:INDIVIDUAL
  Prim_key              Table_numb_1            Row_key_1            Table_numb_2        Row_key_2
  83711                 GNRLASOC                83709                INDIVIDUAL          3006


 Table 14.50 GNRLASOC
    The task Instance
  Prim_key              Table_numb_1            Row_key_1            Table_numb_2        Row_key_2
  83709                 TASKS                   15975                GNRLASOC            83705

       .
 Table 14.51 GNRLASOC
    This GNRLASOC row with tables TASKS: INDIVIDUAL assigns to this individual the right to perform a
    Supervisor Approval task.
                        Table_
  Prim_key              numb_1          Row_key_1       Table_numb_2     Row_key_2        Description
  77944                 TASKS           15979           INDIVIDUAL       3006
                                                                         sAssignPrim

 Table 14.52 TASKS
    Identifies the associated task as Supervisor Approval
                                                        Task_bus_
  Task_numb       Description                           type          User_designator    User_reference
  15979           Supervisor Approve Timesheet 15974                  TSESUPAPRV         NULL

                                                                      sSucTaskKey

 Table 14.53 INDIVIDUAL
    Identifies the supervisor as Frank Drake.
  Indiv_numb      First_name      Last_name         Indiv_bus_type     Indiv_dbuserid     User_reference
  3006            Frank           Drake             2320               Tetra Tech         AFDEV
  Indiv_numb                                                                              Ep_numb returned
  cached in                                                                               by Lawson
  TTCommon




ETS SYSTEMS MANUAL                                       4/10/01                                   Page 338
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                     ETSTaskApproveRemote




ETSTaskApproveRemote
                  PA C K A G E C U S T O M E R S . T E T R A T E C H . E TS . A P I P U B L I C C L A S S
                  P U B L I C C L A S S ETSTA S K A P P R O V E R E M O T E E X T E N D S
                     A F R A M E . A F D E V. O R B . A F P U B O B J E C T
                  implements ETSTaskApproveInter, java.io.Serializable

      Called by   • ETSTaskApprove
                  • cETs_OB
       NOTE       Supervisor Approval has undergone a complete redesign since this section was completed.


                  Attributes
                  See Javadocs


                  Imports
                  import aframe.afdev.orb.afPubObject;
                  import aframe.afdev.orb.PubList;
                  import aframe.afdev.orb.cRequestTrack;

                  import aframe.workmovr.afdb.afDB;
                  import aframe.afdev.dml.cDataRow;
                  import aframe.afdev.dml.cDataSet;

                  import customers.tetratech.ets.ETSInboxWriter;




                  Overview
                  This class performs the remote tasks for ETSTaskApprove, which handles the pri-
                  mary functions of Supervisor Approval.

                  Workflow
                  The workflow is performed in ETSTaskApprove. The Remote checks the applica-
                  tion workflow and the database to see if data needs to be either inserted or updated,
                  and to which table. Calls a number of SPs to perform these tasks.
                  Timesheet or Expense approval
     SubmitOr
     Approve()          Used by both Timesheets and Expenses. Calls SP
                        TT_ETS_SubmitOrApprove to complete tasks and create successor tasks.
                        Checks for the existence of FALSE and TRUE keywords to determine if an
                        approval or reject decision has been made. If so, calls TT_ETS_Decision to
                        record the decision.
                        Calls InboxWriter.Remove and InboxWriter.Add to remove the old
                        task from the Inbox and add the new.



ETS SYSTEMS MANUAL                                     4/10/01                                         Page 339
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                                  ETSTaskApproveRemote




                  Getting the alternate supervisor
       sGetAlt
    Supervisor    Retrieves the Enterprise Setting for the individual’s linked Enterprise to determine if
                  it allows alternate supervisors. If so, it locates the alternate supervisor.Calls the SP
                  TT_ETS_FindAlter


                  WorkMovr successor task procedure
                  WorkMovr’s traditional way of completing and creating successor tasks is being
                  phased out. See Creating successor tasks through WorkMovr in ETSTaskApprove.
                  Methods that support this procedure are
                  •   bAssigntask
                  •   bCheckPreq
                  •   bResetUSERDATA()
                  •   sGetQueue



                  Business Rules
                  none



                  Stored Procedures
                  TT_ETS_SubmitOrApprove
                  TT_ETS_Decision
                  AF_Tablemaint_select
                  AF_USERDATA_Select_value
                  TT_ETS_FindAlter

                  Inactive SPs
                  These SPs are still in the code but are being phased out. They support the former
                  WorkMovr method of creating successor tasks.
                  • TT_WORKQUEUES_Select_ref
                    Called by sGetQueue
                  • TT_Assign_task
                    Called by bAssignTask()
                  • AF_TSKSCR_createscrtasks
                    Called by bCreateSuccess()
                  • AF_activate_deactivate
                    Called by bResetUSERDATA()
                  • AF_USERDATA_update_value
                    Called by bResetUSERDATA()
                  • AF_TSKINPRE_condmet
                    Called by bCheckPreq()



ETS SYSTEMS MANUAL                                   4/10/01                                      Page 340
A-Frame Technical Documentation #6201
ETS CUSTOM CLASS REFERENCE                                    ETSTaskApproveRemote




                  • AF_WorkItems_Select_inst
                    Called by sGetWorkItem()
                  • AF_WORKTRX_insert
                    Called by bAssignTask and bCompleteTask



                  Data Mappings
                  See the active SPs.




ETS SYSTEMS MANUAL                             4/10/01                      Page 341
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                                          Overview




                                                                               S   E C T I O N




                                                               STORED PROCEDURES
                                                       CHAPTER15




Overview
                  The Tetra Tech suite makes use of a variety of SQL Stored Procedures (SPs) to
                  retrieve data from the WorkMovr database. These SPs are both standard A-Frame
                  SPs and Tetra Tech specific SPs. Among the Tetra Tech-specific SPs are several used
                  only by ETS.
                  A-Frame SPs are identified by an “AF” prefix; Tetra Tech SPs by a “TT” prefix, and
                  SPs used only by ETS have a TT-ETS prefix. They are documented in the following
                  order:
                  ETS Custom Stored Procedures
                  Tetra Tech Custom Stored Procedures
                  A-Frame Stored Procedures

                  April 5, 2001 Release Notes
                  Stored Procedures used by Supervisor Approval, the Link Lines, Labor Charge
                  Authorization, and administrative functions in the Tools Menu are fully documented
                  at this time. Those used by the Login, Inbox, Enter Expense Report, Timesheet
                  Entry System are partially documented with this release, due to ongoing develop-
                  ment of these sub-systems.
                  Stored Procedures used by other sub-systems of ETS will not be documented, as
                  continued documentation of this manual is not scheduled at this time.


       NOTE       Undocumented SPs are bulleted.

                  Login
                  cLoginRemote
                  TT_TSS_Login
                  TT_TSS_Login_Change
                  TT_USERDATA_Insert


ETS SYSTEMS MANUAL                                 4/10/01                                    Page 368
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                                        Overview




                  Inbox
                  ETSInboxModel
                  TT_ETS_Inbox_Load
                  ETSInboxViewer
                    • TT_ETS_Load_Inbox_Indiv
                    • TT_ETS_Load_Indiv_MyEmps

                  ETSInboxWriter
                    • TT_ETS_TaskInstanceDeact
                    • TT_ETS_Inbox_Load_Inst

                  Timesheet Entry
                  TTCommonRemote
                  AF_Tablemaint_select
                  TT_Employee_names
                  TT_TSS_Role_Indiv
                  AF_USERCOND_select_bykeyword


                  ETSCommonRemote
                  af_tablemaint_select
                  TT_USEROPTION_select_optkwrd
                  AF_USERCOND_select_bykeyword
                  TT_EXP_Hint_Select

                  ETSController
                  TT_ETS_Task_Indiv
                  AF_TableMaint_Select
                  AF_GNRLTEXT_Update
                  AF_GNRLTEXT_select
                    • TT_ETS_LCA_Audit
                    • TT_AUUNIQTMSH_Select
                  TT_Indiv_Settings
                  TT_USEROPTION_select_optkwrd
                  AF_TASKS_select_userdesig

                  TimesheetModel
                    • TT_ETS_Load_Timesheet


                  TimesheetWriter
                    • tt_UNIQTMSH_ACT_DEACT
                    • TT_UNIQTMSH_update


                  LawsonRequest
                  The following CABS SPs are not documented in the ETS Systems Manual.


ETS SYSTEMS MANUAL                               4/10/01                                   Page 369
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                                          Overview




                  •   USP_CABS_EMPLOYEE
                  •   USP_CABS_EMP_BY_DEPT
                  •   USP_CABS_EMP_BY_EMST
                  •   USP_CABS_EMP_BY_COMPANY
                  •   TT_ETS_Indiv_Cache


                  LawsonRemote
                  af_tablemaint_select
                  TT_ETS_CACHE_EMPLOYEE

                  TTESTrackRemote
                  AF_USERCOND_select_bykeyword
                  AF_TableMaint_Select
                  TT_Enterprise_Settings


                  Charge Authorization
                  cChargeAuthRemote
                  TT_ETS_Charge_Auth_WBS
                  TT_ETS_Charge_Auth_Indiv


                  Enter Expense Reports
                  See Timesheet Entry’s SPs

                  Supervisor Approval
                  TT_ETS_SubmitOrApprove
                  TT_ETS_Decision
                  AF_Tablemaint_select
                  AF_USERDATA_Select_value
                  TT_ETS_FindAlter


                  The Link Lines
                  The following Stored Procedures supporting the building of the Link Lines are fully
                  documented in this section.
                  TT_ETS_Code_To_AcctDef
                  TT_ETS_Cycle_Info
                  TT_ETS_GA_DeptSettings
                  TT_ETS_LinkLineBatch_Select
                  TT_ETS_Task_Indiv
                  TT_EXP_Code_to_AcctDef_select
                  TT_ACCT_Fund_List
                  TT_ACCT_Fund_Select
                  TT_Acct_Line_List
                  AF_GNRLTEXT_Update
                  AF_GNRLTEXT_select


ETS SYSTEMS MANUAL                                 4/10/01                                    Page 370
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                                        Overview




                  Labor Charge Authorization
                  LCAModel
                  AF_Tablemaint_select
                  TT_ETS_LCA_Select_Proj
                  TT_ETS_LCA_Select_WO
                  TT_ETS_LCA_Select_BlackOut

                  LCAWriter
                  TT_ETS_LCA_BLACKOUT_insert
                  TT_ETS_LCA_Amend
                  TT_ETS_LCA_DELETE
                  TT_ETS_LCA_INSERT



                  Select alternate approver
                  fAlterApprover
                  TT_ETS_AlternateSupervisor_CandidList
                  TT_ETS_AlternateSupervisor_Assign

                  Create WBS report
                  ReptbyPrj
                    • TT_ETS_Rept_By_Proj

                  WBS3 Wizard
                  These SPs are part of the CABS system, so are not documented here, except for the
                  following:
                  WBSModel
                  TT_APP_WBS_KeyModel1
                  TT_APP_WBS_KeyModel_2




ETS SYSTEMS MANUAL                                4/10/01                                   Page 371
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                 ETS Custom Stored Procedures




ETS Custom Stored Procedures
              The following SPs are documented in this section.

               • TT_ETS_AlternateSupervisor_Assign          •   TT_ETS_SubmitOrApprove
               • TT_ETS_AlternateSupervisor_CandidLi        •   TT_ETS_Task_Indiv
                 st                                         •   TT_EXP_Code_To_AcctDef_select
               • TT_ETS_Charge_Auth_Indiv                   •   TT_EXP_Hint_Select
               • TT_ETS_Charge_Auth_WBS
               • TT_ETS_Code_To_AcctDef
               • TT_ETS_CreateWeekEndingDates
               • TT_ETS_Cycle_Info
               • TT_ETS_Decision
               • TT_ETS_FindAlter
               • TT_ETS_GA_DeptSettings
               • TT_ETS_Get_Settings
               • TT_ETS_Inbox_Load
               • TT_ETS_Indiv_Cache
               • TT_ETS_LCA_Amend
               • TT_ETS_LCA_Amend
               • TT_ETS_LCA_Blackout_insert
               • TT_ETS_LCA_Delete
               • TT_ETS_LCA_Insert
               • TT_ETS_LCA_Select_BlackOut
               • TT_ETS_LCA_Select_Proj
               • TT_ETS_LCA_Select_WO
               • TT_ETS_LinkLineBatch_Select
               • TT_ETS_Load_Timesheet
               • TT_ETS_ReptTimesheet




ETS SYSTEMS MANUAL                                4/10/01                               Page 372
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                   ETS Custom Stored Procedures




TT_ETS_AlternateSupervisor_Assign
      Called by   fAlterApprover

                  Overview
                  This SP assigns the given individual the role of alternate supervisor for a specific
                  period of time. It writes three rows to the database.

                  Parameters
                  @indiv char(10),
                  @altIndiv char(10),
                  @fromDate char(10),
                  @toDate char(10),
                  @updtIndiv char(10),
                  @zone char(10)

                  Data mappings

Assigning the alternate approver
Table 15.1 USERDATA
   Writes a row with Table_numb = INDIVIDUAL, Row_key = Indiv_numb, Data_condition =
   ETSALTAPRV, and Data_value = @altIndiv.
 Prim_key         Table_numb            Row_key                Data_condition     Data_value
 77898            INDIVIDUAL            12543                  ETSALTAPRV         19248
 @prim1                                 @indiv                                    @altIndiv



Assigning the starting date
Table 15.2 USERDATA
   Writes a row with Table_numb = INDIVIDUAL, Row_key = Indiv_numb, Data_condition =
   ETSALTSTRT, and Data_value = the starting date
 Prim_key         Table_numb            Row_key                Data_condition     Data_value
 77898            INDIVIDUAL            12543                  ETSALTSTRT         11/11/99
 @prim2                                 @indiv                                    @fromDate



Assigning the ending date
Table 15.3 USERDATA
   Writes a row with Table_numb = INDIVIDUAL, Row_key = Indiv_numb, Data_condition = ETSALTEND,
   and Data_value = the ending date
 Prim_key         Table_numb            Row_key                Data_condition     Data_value
 77898            INDIVIDUAL            12543                  ETSALTEND          11/18/99
 @prim3                                 @indiv                                    @toDate




ETS SYSTEMS MANUAL                                   4/10/01                                      Page 373
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                       ETS Custom Stored Procedures




TT_ETS_AlternateSupervisor_CandidList
      Called by   • fAlterApprover

                  Overview
                  This SP returns a list of individuals who have a "supervisor approval timesheet" task
                  preference.

                  Parameters

                  none

                  Data mappings
Locating which individuals are designated as supervisors

Table 15.4 GNRLASOC
   Locates all rows where Row_key_1 = TASKS Prim_key and tables are TASKS: INDIVIDUAL.Saves to
   stIndiv.
 Prim_key              Table_numb_1        Row_key_1               Table_numb_2       Row_key_2
 21979                 TASKS               15979                   INDIVIDUAL         21974
 24095                 TASKS               15979                   INDIVIDUAL         19248
 17200                 TASKS               15979                   INDIVIDUAL         12543
 77944                 TASKS               15979                   INDIVIDUAL         3006




Table 15.5 TASKS
   Locates all rows where User_designator = TSESUPAPRV
 Prim_key                Description                            Task_bus_type       User_designator
 15979                   Supervisor Approve Time Sheet          15974               TSESUPAPRV


Table 15.6 INDIVIDUAL
   Locates all rows where Indiv_numb = GNRLASOC Row_key_2. .
 Indiv_numb            First_name          Last_name               Indiv_bus_type     User_reference
 21974                 Joan                Rowe                    2320               E95842
 19248                 Brad                Peterson                2320               101987
 12543                 Rob                 Beckett                 2320
 3006                  Francis             Drake                   2320               AFDEV




ETS SYSTEMS MANUAL                                    4/10/01                                   Page 374
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                   ETS Custom Stored Procedures




TT_ETS_Cache_Employee
       Called by    • LawsonRemote
                    • fLawsonSync

                    Overview
                    This SP returns a given individual’s Lawson data.

                    Parameters
                    @EmpNo (varchar(10)=’%’

                    Data mappings


Table 15.7 CDATASET stIndiv
 First_Name          Last_Name          Employee       Supervisor       Department
 Rob                 Beckett            E03432         AFDEV            PITT



 Emp_Stat            Stat_Code          PLevel         Work_State
 BE45                STAT_CODE          PLevel         CA


Table 15.8 INDIVIDUAL
   Excerpt from INDIVIDUAL for Indiv_numb 15243.
 Indiv_numb          First_name           Last_name    User_reference
 15243               Rob                  Beckett      E03432


Table 15.9 USERDATA
 Prim_key          Table_numb        Row_key       Data_condition         Data_value
 52585             individual        12543         LACCHSUPID             AFDEV
 52584             individual        12543         LACCHHOMED             PITT
 52586             individual        12543         LACCHEMPST             BE45
 102295            individual        12543         LACSTAT                STAT_CODE
 102296            individual        12543         LACPLEVEL              PLevel
 102297            individual        12543         LACWRKSTAT             CA




ETS SYSTEMS MANUAL                                    4/10/01                             Page 375
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                     ETS Custom Stored Procedures




TT_ETS_Charge_Auth_Indiv
      Called by    • cChargeAuthRemote

                   Overview
                   This SP returns a list of Projects, Workorders, and WBS3s that an individual is allowed to
                   charge against. Also, lists the Project's Computer Usage setting’s Charge Department.
                   It is called to refresh the screen and retrieve all Employees authorizations at the
                   Project level.

                   Parameters
                   @indiv_numb char(10)

                   Data mappings


Table 15.10 USERASOC
   (a) Given an Indiv_numb of 53466, locates all Projects with which this individual has a relationship
   CHARGEOK.
 Prim_            Table_                              Table_               Row_
 key              numb_1               Row_key_1      numb_1               key_2         Relationship
 72508            INDIVIDUAL           53466          WORKPACKET           39056         CHARGEOK
 Auth_Prim                             Indiv_numb


Table 15.11 GNRLTYPE
   (bb) Identifies the type of Workpacket
 Type_code              Type_kword             Description         User_designator       User_reference
 2310                   WPBTYPE                Project             PROJECT               CABSPRJTYP
                                                                   WP_Type


Table 15.12 WORKPACKET
   (b) Locates the Project description
 Prim_key         Description                  Wp_bus_type         User_designator      User_reference
 39056            Arizona Dust Analysis        2310                NULL                 AZDust
 Proj_numb        Proj_Desc                                        Proj_Desig           Proj_Ref


Table 15.13 USERASOC
   (k) Identifies the Responsible Department.
 Prim_       Table_                             Table_             Row_
 key         numb_1        Row_key_1            numb_1             key_2                 Relationship
 39061       GROUPS        1301                 WORKPACKET         39056                 RESPONSIBL
                           Resp_Dept




ETS SYSTEMS MANUAL                                       4/10/01                                     Page 376
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                   ETS Custom Stored Procedures




Table 15.14 USERDATA
   The default Computer Usage choice for this Project.
 Prim_key        Table_numb             Row_key          Data_condition        Data_value
 39891           WORKPACKET             39056            PRJCMPUDEF            CUSENO
                                                                               CompUse_Default


Table 15.15 USERDATA
   Locates whether or not Computer Usage is allowed by finding all rows with Data_condition
   PRJCMPUALD and the same Proj_numb.
 Prim_key             Table_numb            Row_key           Data_condition      Data_value
 39890                WORKPACKET            39056             PRJCMPUALD          CUSEALWD
                                                                                  CompUse_Allowed




ETS SYSTEMS MANUAL                                  4/10/01                                      Page 377
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                    ETS Custom Stored Procedures




TT_ETS_Charge_Auth_WBS
      Called by   • cChargeAuthRemote

                  Overview
                  Given Project and individual number, this SP returns the Workorders and WBS3s
                  this individual is authorized to bill against.

                  Parameters
                  • @proj_prim char(10),
                  • @indiv_numb char(10)

                  Data Mappings
                  Returned information includes:
                  •   Charge Department description
                  •   Charge Department reference
                  •   Charge Department number,
                  •   WorkOrder description
                  •   WorkOrder reference
                  •   WorkOrder number
                  •   WBS3 description,
                  •   WBS3 reference
                  •   WBS3 number
                  •   Open for labor
                  •   Open for invoicing

                  Workorder, WBS3, and Charge Department variables

 Table 15.16 USERASOC
    USERASOC contains a row for each project against which this individual is authorized to bill time. The
    relationship is CHARGEWO to define the authorization.
  Prim_     Table_                Row_      Table_                Row_
  key       numb_1                key_1     numb_2                key_2               Relationship
  121414    INDIVIDUAL            12543     WORKPACKET            14695               CHARGEWO
  120396    INDIVIDUAL            12543     WORKPACKET            63884               CHARGEWO
  14977     INDIVIDUAL            12543     WORKPACKET            8884                CHARGEWO
                                                                  Proj_prim

 Table 15.17 GNRLASOC
    (D) Locates Workorder from Proj_prim above.
  Prim_ Table_            Row_          Table_      Row_                       User_        User_
  key   numb_1            key_1         numb_2      key_2      Description     designator   reference
  8901     WP             8899          WORK        8884       Ionized Water   NULL         IONSH2O
           SECTIONS                     PACKET                 Analysis                     ANL

  WO_n                    WO_Sect                              WO_Desc         WO_desig     WO_Ref
  umb



ETS SYSTEMS MANUAL                                   4/10/01                                         Page 378
A-Frame Technical Documentation #6201
STORED PROCEDURES                                                  ETS Custom Stored Procedures




Table 15.18 USERASOC
   (X). Locates the authorization with relationship “CHARGEOK.”
 Prim_          Table_             Row_             Table_         Row_
 key            numb_1             key_1            numb_2         key_2                Relationship
 14976          INDIVIDUAL         12543            GNRLASOC       8901                 CHARGEOK
 Auth_prim                                                         WO_Numb


Table 15.19 USERASOC
   (F). Locates the Charge Department (in GROUPS) from Proj_prim.
 Prim_            Table_             Row_       Table_                   Row_
 key              numb_1             key_1      numb_2                   key_2     Relationship
 8895             GROUPS             1302       WORKPACKET               8884      CHARGEOK


Table 15.20 GROUPS
   (G). Locates the Charge Department’s variables
 Group_numb            Description           Group_bus-type     User_designator      User_reference
 1302                  Atlanta               2355               USERDESIG            ATL
 Chrg_Dept_            ChargDept_Desc                           Chrg_Dept_Desig      Charge_Dept_Ref
 Numb


Table 15.21 GNRLASOC
   (E). Identifies the WBS3s where Row_Key_1 is WBS3_Sect, the generic WBS3.
                                                                           User_
 Prim_       Table_     Row_      Table_      Row_                         desig    User_
 key         numb_1     key_1     numb_2      key_2      Description       nator    reference
 8902        WPSECTI    8900      GNRL        8901       H2O Sample                 H2OSMPLFLD
             ONS                  ASOC                   Gathering and
                                                         Field
                                                         Measurement
 8958        WPSECTI    8900      GNRLAS      8901       Lab Tests and              LBTSTCHM12
             ONS                  OC                     Chemical
                                                         Analysis
 WBS3_                  WBS3_                 WO_        WBS3_Desc         WBS3_    WBS3_Ref
 Numb                   Sect                  Numb                         Desig




ETS SYSTEMS MANUAL                                    4/10/01                                     Page 379
A-Frame Technical Documentation #6201
STORED PROCEDURES                                             ETS Custom Stored Procedures




Table 15.22 WPSECTIONS
   The row with User_designator GNRCWBS3 defines a generic Workorder.
 Wpsect_numb          Description         WPsect_numb      User_designator
 8899                 Generic Workorder   2360             GNRCWO
 WO_Sect




Table 15.23 WPSECTIONS
   The row with User_designator GNRCWBS3 defines a generic WBS3
 Wpsect_numb          Description         WPsect_numb      User_designator
 8900                 Generic WBS3        2361             GNRCWBS3
 WBS3_Sect



Open for labor or invoicing variables
If User_event is OPENLAB or OPENSUB for the Workorder’s WO_Numb, and the individual is
authorized as set up above, the Workorder may be charged against.

Table 15.24 USERTRX
 Prim_key             Table_numb          Row_key          User_event
 18795                GNRLASOC            8901             CLOSEDINVC
 18794                GNRLASOC            8901             CLOSEDODC
                                                                             Locates all rows
 18792                GNRLASOC            8901             OPENLAB           where Row_key
                                                                             = WO_Numb and
 18793                GNRLASOC            8901             OPENSUB           User_event is a
                                          WO_Numb                            closed or open
                                                                             keyword.




ETS SYSTEMS MANUAL                               4/10/01                               Page 380
A-Frame Technical Documentation #6201
                                                                                                           LIST OFDIAGRAMS




LIST OF DIAGRAMS

                                  1.1 Tetra Tech Suite Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
                                  1.2 Timesheet Entry Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
                                  4.3 Timesheet Entry MVC Architecture . . . . . . . . . . . . . . . . . . . . . . 70
                                  7.4 Supervisor Approval Workflow . . . . . . . . . . . . . . . . . . . . . . . . 124
                                  8.5 Loading the LCA Treeviews . . . . . . . . . . . . . . . . . . . . . . . . . . . 135




ETS SYSTEMS MANUAL                                           4/10/01                                                            PAGE 477
A-Frame Technical Documentation, #6201
                                                                                                                        LIST OF SCREENSHOTS




LIST OF SCREENSHOTS



                  Figure 2.1 The Login Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
                  Figure 3.2 The Inbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
                  Figure 4.3 The Timesheet Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
                  Figure 4.4 ETS Line Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
                  Figure 4.5 Choosing the Charge Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
                  Figure 4.6 Choosing the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
                  Figure 4.7 Choosing the Workorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
                  Figure 4.8 Choosing the WBS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
                  Figure 4.9 Choosing Indirect loads the Sub-Type choice box . . . . . . . . . . . . 85
                  Figure 4.10 California Overtime Validation Screen . . . . . . . . . . . . . . . . . . . . 92
                  Figure 4.11 Create Expense Report Screen . . . . . . . . . . . . . . . . . . . . . . . . . 94
                  Figure 4.12 Login Maintenance screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
                  Figure 4.13 ETS Confirm Submit Week Screen. . . . . . . . . . . . . . . . . . . . . . . 97
                  Figure 4.14 ETS Time Breakdown and Sub-Totals . . . . . . . . . . . . . . . . . . . . 99
                  Figure 4.15 Timesheet Preview screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
                  Figure 4.16 ETS generic message box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
                  Figure 5.17 Expense Report Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . 107
                  Figure 5.18 Submit Expense Confirm screen . . . . . . . . . . . . . . . . . . . . . . . 111
                  Figure 5.19 Expense Report Line Item Detail Screen . . . . . . . . . . . . . . . . . 113
                  Figure 5.20 Expense Amount Breakdown and Sub-Totals . . . . . . . . . . . . . 120
                  Figure 7.21 Supervisor Timesheet Approval . . . . . . . . . . . . . . . . . . . . . . . . 125
                  Figure 7.22 Expense Report Approval screen . . . . . . . . . . . . . . . . . . . . . . . 129
                  Figure 7.23 Expense approval confirm screen . . . . . . . . . . . . . . . . . . . . . . 131
                  Figure 8.24 ETS Labor Charge Authorization Main Screen. . . . . . . . . . . . . 136
                  Figure 8.25 Labor Charge Auth System in Employee mode . . . . . . . . . . . . 140
                  Figure 8.26 LCA Wizard, home frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
                  Figure 8.27 LCA Wizard, screen one. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
                  Figure 8.28 Labor Charge Auth screen, panel two . . . . . . . . . . . . . . . . . . . 150
                  Figure 9.29 Error Dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
                  Figure 9.30 Dialog box to confirm deletion . . . . . . . . . . . . . . . . . . . . . . . . . 157
                  Figure 9.31 The Timesheet is not empty error message . . . . . . . . . . . . . . . 158
                  Figure 9.32 Designate Alternate Approver Screen . . . . . . . . . . . . . . . . . . . 159
                  Figure 9.33 Create Report by Project screen . . . . . . . . . . . . . . . . . . . . . . . 162
                  Figure 9.34 WBS3 Wizard Screen on opening . . . . . . . . . . . . . . . . . . . . . . 166
                  Figure 9.35 The fWBS3Main frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
                  Figure 9.36 The pWBS3Main frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
                  Figure 10.37 The Timesheet Lines prior to collapse . . . . . . . . . . . . . . . . . . 174


ETS SYSTEMS MANUAL                                                      4/10/01                                                      PAGE 478
A-Frame Technical Documentation, #6201
Figure 10.38 The Resulting Link Lines after collapse . . . . . . . . . . . . . . . . .               176
Figure 10.39 The Account String on the Resulting Link Lines. . . . . . . . . . .                     177
Figure 10.40 The Link Line Creation Screen. . . . . . . . . . . . . . . . . . . . . . . .            179
Figure 10.41 Comparing the Original and Amended Timesheets . . . . . . . .                           187
Figure 10.42 Expense Report Approval and Link Line Creation . . . . . . . . .                        189
Figure 10.43 The Multilist Displaying the Expense Report Link Lines. . . . .                         190
Figure 10.44 The original and amended Expense Reports compared . . . .                               195
Figure 10.45 The fLinkLineEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   197
Figure 10.46 The fLinkLineBatch frame . . . . . . . . . . . . . . . . . . . . . . . . . . .          199
Figure 12.47 fReportData frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     217
Figure 12.48 User modification of the export data. . . . . . . . . . . . . . . . . . . .             219
Figure 12.49 The Exporting Data from a Record Result set . . . . . . . . . . . .                     221
Figure 13.50 One row in the Resulting Link Lines is a cUniqline. . . . . . . . .                     246
Figure 14.51 The Account Expense Report Approval screen . . . . . . . . . . .                        336




                                                                      4/10/01                              Page
ETS SYSTEMS MANUAL
A-Frame Technical Documentation
                                                                                                                INDEX




INDEX


Numerics                                    listing of Charge types and              as part of Link Line build 266
01FIRST                                           keywords 268                       calculating for Link Line 280
   generates preference "assign" 310                                                 creating lines for NUS-BE45 in Link
05DIRECT                                A                                                  Line build 274
                                                                                     listing of all Hours types 269
   in Expense Reports 116               About ETS
   listing of Charge types and                                                    Additional Time
                                            user accessibility table 133
         keywords 268                                                                added or subtracted from account
                                        Account Code API                                 6000 279
10PROPOSAL                                 See cAcctCode 273
   listing of Charge types and                                                       as part of Link Line build 266
                                        Account Code Definitions                     as Worked Hours 270
         keywords 268                       loaded by cACCommon 227                  business rules and how calculated
15INDIRECT                                  retrieved by                                 for Link Line 279–280
   in Expense Reports 116                         TT_ACCT_Fund_List 437              creating AddTime line in Link Line
   listing of Charge types and              retrieved by                                 build 270
         keywords 268                             TT_ACCT_Fund_Select 438            Enterprise Settings 251, 280
20PTO                                       screen in ETS 174                        formatting of Link Line location in
   listing of Charge types and          Account code lines                               ETS Javadoc 277
         keywords 268                       from TT_ACCT_Line_List 439            Administrative Functions
25BIDPROP                               Account codes                                 Settings Menu 174
   in Expense Reports 116                   Data mappings                         AF_Tablemaint_select
25HOLIDAY                                    in Link Lines 433                        ETSCommonRemote 298
   listing of Charge types and               loading definitions from
                                                USERDATA 438
                                                                                      from LawsonRemote 345
         keywords 268
30FLOAT                                      loading prior to Link Line           AF_TASKS_select_userdesig
   listing of Charge types and                  processing 381                        in ETSController 308
         keywords 268                        loading to cACCommon 437             AF_USERCOND_select_bykeyword
35BD                                    Account string                                ETSCommonRemote 298
   in Expense Reports 116                   as part of Link Line 176              AFADMIN
35JURYDUTY                              Account type                                  backdoor User ID 310
   listing of Charge types and             stored in TTCommon 258                 AfEnv
         keywords 268                   Accountant approval 335                       storing Indiv_numb 47
40BEREAVE                                   during expense approval               Alternate approver
   listing of Charge types and                   process 333                         Data mappings
         keywords 268                       of expense reports 122                    assigning 373
45MILITARY                              Accounting                                    loading 385
   listing of Charge types and              faster reports 35                        loading the choice boxes 160
         keywords 268                   Acquisition                                  methods for locating and
50PIECEWRK                                  business rule during timesheet                saving 160
   listing of Charge types and                    entry 81                           validations 161
         keywords 268                       Charge Type loaded during                when used 160
55ACQ                                             timesheet entry 85              Amended Expense Reports
   listing of Charge types and              formatting of Link Line location in      See Expense Reports, amended
         keywords 268                             ETS Javadoc 276                 Amended Timesheet
60OVERHEAD                                  listing of Charge types and              See Timesheet, amended
   listing of Charge types and                    keywords 268                    App Server
         keywords 268                   Add mode                                     with RMI and overall ETS
65BD                                        in entering time 74, 82                       workflow 68
                                        Additional Compensation                   AppServer


ETS SYSTEMS MANUAL                                                                                            P a g e 480
A-Frame Technical Documentation #6201
                                                                                                                    INDEX




    See App Server                            listing of Worked Hours 270             Calendar
Assign/allocate                               listing of Worked Hours for                ETS calendar description 85
    See Preferences                                 G&A 270                              ETSCalendar 296
Audit history                             BESA                                        California
    in previewing timesheets 102              creating offset lines in Link Line         and Double Time in Link Line
    in timesheet preview and print 325            build 274                                    build 273
    recording all decisions 328           BEST                                           applicable pay codes and hours for
Auto Login                                    and Additional Compensation 281                  overtime pay 279
    See Login, auto                       BHCA                                           employees and California law 92
Auto validation                               and California law 92                      totaling amounts for the Link
    no longer used 337                    Blackouts                                            Line 269
Automatic Timesheet                           See Also LCA                               validation
    See Timesheet, automatic                   blackouts                                   button availability 77
AUUNIQTMSH                                    validating weekdays during                   during timesheet entry 74
    audit history in previewing                    timesheet entry 86                      of hours for Link Line build 279
         timesheets 102                       validation during timesheet entry 81    California Overtime Validation
                                          BNPO                                           Screen 92
B                                             charging premium overtime to            cChargeAuth
                                                   project 271                           called while loading Projects 82
Backdoor UserID 310                           hours validation in Link Line              in Expense Reports 115
bAdmin                                             process 269                        cDoctoSend 176
    assigning preference in LCA               rules in timesheet entry 77             cDocument 237
        system 138                            validating hours at timesheet           Charge authorization
bApprove                                           entry 74
                                                                                         2-tier and N-tier difference 76
    flag in supervisor approval 127       bOKtoDelete
    method in supervisor approval of                                                     cChargeAuth 230
                                              boolean in Deleting empty                  Data mappings
          expense reports 130                     timesheets and expenses 158              loading Individual
Barcodes                                  Business Development                                authorizations 232
    in timesheet reports 325                  formatting of Link Line location in          loading Individual auths 376
Batch process                                       ETS Javadoc 277                        loading Workorders, WBS3s 378
    Administrator choice in Link Line         listing of charge types and                difference with LCA 76
        build 173                                   keywords 268                         in workflow 67–68
    cBatchThread 263                          loading for Indirect during timesheet      invoked to load choice boxes 74
    Expenses 190                                    entry 85                             listing of Java classes 76
    TT_ETS_LinkLineBatch_Select 41        Business Development Types                     methods for loading 231
        9                                   in ETSCommon Remote 299                      open for invoicing variables 380
BE45                                      Business Rules                                 open for labor variables 380
    and Additional Compensation 77,           See Business Rules in each class           overview 76
        281                                       section                                validating dates 233
    creating offset line in Link Line                                                 Charge Department
         build 274                        C                                              default in timesheet entry 81
    hours validation in Link Line         CABS                                           definition and data storage 90
         process 269
                                              and cLogin 239                             entering during timesheet entry 81
    validating hours at timesheet
                                              data tables used with ETS 36               loading
         entry 74
                                              definition 35                                during timesheet entry 84
BEPO                                                                                       for business development during
                                              in ETS workflow 67
    hours validation in Link Line                                                             timesheet entry 85
         process 269                      cAcctCode
                                                                                           for Indirect during timesheet
    rules in timesheet entry 77               Account Code API 228                            entry 85
    validating hours at timesheet             and the Link Line 267                   Charge string
         entry 74                             formatting as part of Link Line
                                                                                         building during timesheet entry 87
Bereavement                                       build 273
                                                                                         definition 87
    formatting of Link Line location in   Cache                                       Charge types
          ETS Javadoc 276                     Lawson caching for initializing for
                                                                                         Data mappings
    listing of Charge types and                  ETS 267
                                                                                           in expense entry 118
          keywords 268                    Calculating                                      in Link Lines 433
                                              the Link Line 271


ETS SYSTEMS MANUAL                                                                                                P a g e 481
A-Frame Technical Documentation #6201
                                                                                                                       INDEX




    loading prior to Link Line               default settings during timesheet            and double ledger system 173
       processing 381                              entry 81                               building based on Direct charge
   Direct 175                                how cached and business rules                     type 175
   in ETSCommon Remote 299                         on 278                                 for POT in Link Line build 275
   in Expense Reports 115                    listing of computer usage choices            purpose of ETS 35
   in Link Lines                                   available to user 269               Decisions
    Computer Usage Link Lines 270            loading                                      recording decisions
    formatting of 174                           of business development during                (TT_ETS_Decision) 384
    formatting of cUniqlines 245                    timesheet entry 85
                                                                                       Delete Empty Timesheet or
    loaded in cBatchThread 263                  of Indirect during timesheet
                                                    entry 85                              Expense
    Sub-types in Link Line process 268
                                                of project during timesheet entry 84      error messages 157
    Timesheet row processing 268
   in Timesheet Entry                        non-computer usage lines 271                 methods to delete 158
    choosing from dropdown box 80            table of all Indirect and Direct             validations 158
    displaying authorized only 80                 settings 279                         Departments
    loading dropdown boxes 74            Corporate                                        stored in TTCommon 257
   keywords 268                              default Charge Department 81              Designate alternate approver
   Loading the choice boxes 82           Costpools                                        See Alternate approver
   table of all possible charge              Data mappings                             Direct 277
        types 88                                loading to cWBSModel 443                  formatting of Link Line location in
CODA                                     Credit Lines                                          ETS Javadoc 276
   conversion of weekdays to CODA            and double ledger system 173                 in Link Lines
        weekdays by                          building for Direct charge type 175           building of Link Line 175
        ETSCalendar 296                      indirect Double Time in Link Line            listing of Charge types and
   integration with Tetra Tech                    build 273                                     keywords 268
        applications 35                      indirect POT in Link Line build 272          loading Charge Types during
   sending Resulting Link Lines to           purpose of ETS 35                                  timesheet entry 82
        CODA 177                         cUniqline                                     Direct Computer Usage
CodaRep                                      formatting based on Charge                   formatting of Link Line location in
   and cBuildETSDoc 266                           Type 245                                    ETS Javadoc 277
   as part of ETS workflow 68                in cBuildETSDoc 266                       Direct Overhead
   data tables 39                            Timesheet row processing for Link            formatting of Link Line location in
   definition 39                                  Line 268                                      ETS Javadoc 276
   sending balanced lines to 177                                                          listing of Charge types and
                                                                                                keywords 268
Code                                     D                                                loading Charge Types during
   examples for using
                                         Data                                                   timesheet entry 82
       fReportData 218
                                             export                                    Display Modes
Collapsing                                      fReportData 218                           table of definitions 73
   collapsing key for Link Lines 270         retrieval 5
   how done and displayed 176
                                                                                       DocCodes
                                             tracking historic data through               and PAYCYCLES 39
   in Link Line process 176, 269                   Lawson 47                              and the Link Line 39, 267
Comments                                     validation at entry 35                       assignation for amended timesheets
   how saved in timesheet entry 78       Data mappings                                        and expenses 284
   loaded to database by                    definition 5
       AF_GNRLTEXT_select 466
                                                                                       Document date
                                             how documented in this book 5                from TT_ETS_Cycle_Info 267
   saved to database by AF-                  See also WorkMovr Database and
       GNRLTEXT_Update 465                                                                weekending date for Expense
                                                 Tetra Tech Data Mapping,                     Reports 282
Computer Usage                                   Release 2.2.3C 5                         weekending date for
   and Link Line build 270               Data tables                                          Timesheets 278
   based on user’s selection in Link         used in ETS 36                            Document Line 176
       Line 269                          Days open
   calculating for Link Line 271
                                                                                       Double Time
                                             on timesheet. See Inbox                      and California law validation 93
   Computer Usage Enterprise                    days open
       Settings 253                                                                       calculating for Link Line 272
                                         dCAValidation 92–93                              formatting of Link Line location in
    for link lines 251                   DCCA compliance 35
   data storage and keyword 91                                                                 ETS Javadoc 277
                                         Debit Lines                                      indirect lines for Link Line build 273


ETS SYSTEMS MANUAL                                                                                                  P a g e 482
A-Frame Technical Documentation #6201
                                                                                                                   INDEX




  listing of all Hours types 269               loading during timesheet entry 84       Multilist 109, 190
Duplicate timesheet entries                   Department type 252                      reason codes 115, 117
    See Timesheet Entry, duplicates           ETS Hints 252                            submission 117
                                              expense hints 117                        submission workflow 334
E                                             how defined in USERDATA 37               successor task keywords 334
                                              Indirect billing department 252          successor tasks 110
Effective Rate
                                              Indirect Computer Usage 253              validation 110
    and amended timesheets 76
                                               Link line creation 252                  variables 264
    and Link Line build 270
                                              retrieved by TtEStrack 248               workflow 67, 115
    applicable pay types 275
                                              retrieved by TtESTrackRemote 250     Expense type
    calculation 275
                                              retrieved in ETSCalendar 296             in ETSCommon Remote 300
    in building of Link Line 266
                                              server IP address 267                    See Also Expense Reports
    when to apply 275
                                              Timesheet cycles 251                      Charge types
Elements 174                                                                       Expenses approval
                                              weekdays 251
    dependent on charge type 174           ETS Javadoc 3, 4                            See Supervisor Approval
    level for Link Line build 269                                                       Expense approval business rule
                                           ETS Labor Law 3, 4
Employee codes                                                                     Export
                                           ETS Line Item Details Screen
    ending in PO and CA in Link Line                                                   data
        build 272                             See fETSLine 79
                                                                                        fReport Data 216
Employee mode                              Exempt
    in LCA                                    and amended timesheets 76
                                           Expense Charge type                     F
     introduction 139
                                              in ETSCommon Remote 300              Fast Track
     methods to load multilist 139
Employee pay                                  See Also Expense Reports                 disabled in current release 86
    formatting of Credit Link Line loca-       Charge types                            in timesheet entry 81
        tion in ETS Javadoc 277
                                           Expense Code Hints                      fETSEntry
    See Also Regular Offset Lines for         in ETSCommon Remote 301                  refreshing 87
        Link Line build                    Expense hints                           fETSLine
Employee Status                               See Expense Reports                      add and update modes 74
    where cached for ETS                       hints                               File Menu
        initializing 267                   Expense Reasons                             list of functions 121
Employees                                     in ETSCommon Remote 300              fLinkLineBatch
    Data mappings                             See Also Expense Reports
                                               reason codes
                                                                                       with cBatchThread 263
     loading employees to                                                          fLinkLineEdit
        ETSCommonRemote 446                Expense Reports 189
                                              amended                                  to modify or adjust lines 177
End dates                                                                          Floating Holiday
                                               and reason codes 115
    and Project authorization 86                                                       formatting of Link Line location in
                                               assignation of doc codes 284
    Data mappings                                                                            ETS Javadoc 276
     assigned during alternate approver        business rules 117
                                               link line process 195                   listing of Charge types and
       process 373
    loading valid Project start and end       and UNIQTMSH 39                                keywords 268
         dates in cChargeAuth 233             balancing the Link Line 282              listing of Worked Hours 270
                                              batch process 190                        listing of Worked Hours for
Enterprise
                                              building of Link Lines 282                     G&A 270
    stored in TTCommon 258
                                              business rules 117                   Formatting
Enterprise Settings
                                              charge types 115                         the Link Lines 271
   Additional Time 280
                                              creating from fETSEntry screen 75    fProcessDocs
    Additional Time link lines 251
                                              Data mappings                            and batch link line process 263
    alternate approvers 126
                                               charge types 118                        part of Link Line process 173
    and the Link Line process 267
    Automatic Timesheet                       definition of APPROVED 77            fProcessExp 189
         generation 253                       document sent to CODA 190            fTimesheetRept 101–103
    complete listing in                       Expense Approval and Link Line       Fund types
         TT_Enterprise_Settings 253                Creation screen 189                 loaded by cACCommon to build Link
    Computer Usage                            formatting the Link Line 282                  Lines 226
     for Direct 253                           hints 117                                table of all ETS fund types 88
     in Link Line build 270                   in Link Line 177
     link lines 251                           loading the treeview 116


ETS SYSTEMS MANUAL                                                                                               P a g e 483
A-Frame Technical Documentation #6201
                                                                                                                        INDEX




G                                               listing of all Hours types 269            default 47
G&A departments                                 quantity position in Link Line 273        in ETS 44, 46
    TT_ETS_GA_DeptSettings 387                  See also Quantity Position            Invoice Level
                                                table of all types 91                     stored in TTCommon 258
General Ledger
    expense report account                htHints                                     Invoicing
        numbers 105                             in ETSCommon Remote 301                   Projects open for invoicing
GNRLASOC                                                                                     See Projects
    assignment of supervisor approver     I
         tasks 338                        Import to Coda                              J
    definition of alternate                  Credit Line 173                          Java
         approvers 160                       Debit Line 173                               cLoginRemote checking client
    used in Timesheet data                      Import to Coda Automatically 173              version 242
         structure 62                           in overall ETS workflow 68            Javadoc
GNRLCMNT                                        screen 174                                See ETS Javadoc
    holding comments from timesheet                                                   Jury Duty
                                                supervisors’ tasks 122
         entry 76, 78                                                                     formatting of Link Line location in
                                          Inbox
GNRLTEXT                                                                                        ETS Javadoc 276
                                                data held in InboxModel 309
    expense hints 117                           Data mappings                             listing of Charge types and
GROUPS                                           loading all pending tasks 390                  keywords 268
    assignation 66                              days open for each task 56                listing of Worked Hours 270
    in workflow 66                              Java classes 49                           listing of Worked Hours as
                                                                                                G&A 270
                                                loading and refreshing 309
H                                               loading in 3-tier 49
Hints                                           refreshing                            L
    Data mappings                                according to preference 57           Labor Charge Authorization
     loading hints 435                           at user action with successor            See LCA
                                                    task 57                           Last Action
    Enterprise Settings 252
                                                 with pending tasks 56
Holiday                                                                                   column removed from multilist 56
                                                showing pending 48
    floating holiday Worked Hours for                                                 Last Updated
                                                supervisors’ tasks 122
          G&A 270                                                                         new column in Inbox multilist 56
    formatting of Link Line location in   Indirect
                                                                                      Launch
          ETS Javadoc 276                       formatting of Link Line location in
                                                                                          launching ETS from the Web 47
    listing of Charge types and                       ETS Javadoc 277
                                                listing of Charge types and           Lawson
          keywords 268                                                                    and confidential hourly rate for Link
    listing of Worked Hours 270                       keywords 268
                                          Indirect billing department                         Line 269
    listing of Worked Hours for                                                           Data mappings
          G&A 270                            Enterprise Settings 252
                                                                                             loading an Individual’s Lawson
Home Department                           Indirect Charge Types                                 data 375
    assignation and keywords for 66             in ETSCommon Remote 302                   data returned 267
    default during timesheet entry 81           loading during timesheet entry 84         loading data during login 47
    where cached for ETS                  Indirect Computer Usage                         loading data from
        initializing 267                        formatting of Link Line location in            LawsonRemote 345
Hourly Rate                                         ETS Javadoc 277                       synchronization tool 47
    as part of Link Line 269              Indirect Computer Usage Link line               tracking historic data 47
    data returned from Lawson 268            creation                                 Lawson API
    default hourly rate for                  Enterprise Settings 252                      and the Link Line process 267
        employee 271                      Indiv_numb                                      and timesheet entry validation 86
    how cached 47                            stored in AfEnv 47                       LawsonDB
Hours Type                                Individual                                      retrieved by LawsonRemote 346
    accepted by system without                  loading individual data from          LawsonRemote 345–346
        validation 278                               LawsonRemote 345                     and the Link Line process 267
    and Link Line process 269                   stored in TTCommon 258                LCA 132–154, 349–358
    choosing during timesheet entry 81    INDIVIDUALS                                     adding a labor authorization 141
    default setting for Expense                 setting up in workflow 66                 adding dates in N-Tier 76
        Reports 282                       INI                                             blackouts 357


ETS SYSTEMS MANUAL                                                                                                  P a g e 484
A-Frame Technical Documentation #6201
                                                                                                                    INDEX




    See also Blackouts                       balancing 177                            listing of all Hours types 269
   business rules 142                        balancing and adjust routine 276     Military Leave
   Data mappings                             batch process 199, 263                   formatting of Link Line location in
    amending authorizations 394               data mappings loading pending                 ETS Javadoc 276
    deleting authorizations 398                  tasks 419                            listing of Charge types and
    inserting authorizations 400             business rules in                              keywords 268
    loading blackouts 413                         cBuildETSDoc 266                    listing of Worked Hours 270
    loading costpools and                    calculating process 271                  listing of Worked Hours for
       enterprises 443                       cDocument to send to CODA 237                  G&A 270
    loading projects 403                     collapsing 176, 269
    loading treeview primary keys to
                                                                                  Model/View/Control architecture
                                              collapsing key 270                    diagram in timesheet entry 70
       cWBSModel 441
                                             Credit Line 175                        in timesheet entry workflow 68,
    loading Workorders 407
   deleting a labor authorization 142        Debit Line 175                                134
   determining user’s role 148               Document Line 176                    Multilist
   in workflow 67                            Elements 174                           in Link Line 174
                                             employee pay or Regular Offset           in timesheet entry
   Java classes 132
   LCAThread building the                        Lines 274                              loading the multilist 73
        treeview 289                         Expense Lines 177                        loading in Expense Entry 109
   levels                                    Expense Reports                      MVC
    project 141                               balancing 282                           See Model/View/Control architecture
    workorder 141                             formatting the line 282
                                             Failure to balance
   listing all program managers 139                                               N
                                              Expense Reports 190
   loading
                                              timesheets 180                      Non-Exempt
    authorizations 352
    by CheckAuthThread 294
                                             formatting                               and amended timesheets 76
                                              process 271                             and POT for Link Line build 272
    multilist in pLCAWizardWBS 149
                                              reference keys to ETS Javadoc for   Non-Worked Hours
    project/program managers 138                 details on each account code
    treeview employee                                                                 listing of all Non-Worked Hours 270
                                                 line 276
       authorizations 141                    Import Timesheet to Coda             N-Tier
    treeview’s Home Departments 151               Automatically 179, 197              and Charge Authorization 76
    treeviews 134                            in overall ETS workflow 68               and LCA 76
   loading projects (data                                                         NUS
                                             intro to process 195, 266
        mappings) 403                                                                 and Additional Time 280
                                             Java classes in 177
   methods for building the display in                                                and BNPO in Link Line build 273
        fLCAWizard 145                       manually balancing 197
                                             Multilist Display 180                    and BNPO premium rate 271
   modes 139–142                                                                      and double time in Link Line
    loading treeview with                    purpose of ETS 35
                                             References 175                                build 272
       LCAThread 291
                                             Resulting Link Lines                     business rules for pay codes 77
   navigation in fLCAWizard 145
                                              cUniqline one line of 245               calculating overtime line in Link Line
   participants settings 139                                                               build 274
   project management                         how displayed 176
                                              Link Line Creation Screen 246           computer usage default during
        requirements 146                                                                   timesheet entry 81
   refreshing                                Timesheet Lines 174
                                             totaling the lines 269                   hours validation in Link Line
    from cChargeAuth 233
                                             tracking time during batch                    process 269
    Load()method 349
                                                   process 293                        Indirect Computer Usage default
    refresh button 75
                                         LinkLines                                         setting 85
   request-based 349, 350
                                             batch process                            numbers of Timesheet records 39
   responsible department 139                                                         validation of pay codes at timesheet
   saving changes 145                         tracking time 293
                                         Login                                             entry 74
   start and end dates 151
   user accessibility table 133              auto login 46
   validation                                cLogin 239                           O
    during timesheet entry 81                login screen fTTWMLogin 44           Object Broker
    of start and end dates 152               random login 242                        cETS_OB 286
Link Lines 173–200                                                                Objectives
   account string 176                    M                                            ETS system objectives 35
   all related Stored Procedures 370     Make-up Time                             Open for invoicing


ETS SYSTEMS MANUAL                                                                                                 P a g e 485
A-Frame Technical Documentation #6201
    See Charge authorization                  PAYCYCLES table and the Link                 open for invoicing 80
      open for invoicing variables               Line 267                                 and timesheet entry
Open for labor                                TT_ETS_Cycle_Info 383                        displaying authorized 80
    charge auth during timesheet           PAYCYCLES                                       open for labor 80
        entry 84                              definition and how used 39                   open for labor in workflow 67
    See Charge authorization               Period                                         in timesheet entry
      open for labor variables
                                              pay period as part of Link Line 39,          loading choice boxes 86
OT_PLAN_CODE                                                                              loaded in cChargeAuth 231
    pay code returned from                       267
                                                                                          loading on timesheet entry
        Lawson 267                         Permissions
                                                                                               screen 82
Override Validation                           See Preferences
                                                                                      Proposal
                                           Piece Work
    in timesheet entry 81                                                                 formatting of Link Line location in
                                              formatting of Link Line location in
Overtime                                                                                        ETS Javadoc 276
                                                    ETS Javadoc 277
    California law 92                         listing of Charge types and
                                                                                          if no proposals during timesheet
    See Also Premium Overtime                                                                   entry 83
                                                    keywords 268
Overtime threshold                            loading Charge Types during
                                                                                          listing of Charge types and
    calculating Worked Hours in Link                                                            keywords 268
                                                    timesheet entry 82
         Line build 274                                                                   loading Charge Types during
                                           PLevel
    definition and how enforced 278                                                             timesheet entry 82
                                              See Project Level
                                                                                      Proposal Computer Usage
                                           Preferences
                                                                                          formatting of Credit Link Line loca-
P                                             allocated task retrieval 315                    tion in ETS Javadoc 277
Paid Time Off                                 assign/allocate 48, 310                     formatting of Link Line location in
    formatting of Link Line location in         default business rule 315                     ETS Javadoc 277
          ETS Javadoc 276                     assigned tasks retrieval 315
    listing of Charge types and               automatic timesheet setup for
          keywords 268                             Individuals 67                     Q
    listing of Worked Hours 270               getting individual preferences at       Quantity position
ParseTrack                                         login 47                               defining hours types 91
    distinguishing between Project, Pro-      loaded by ETSInboxModel 310                 for Additional Compensation Link
         posal and SBA 232                 Premium Overtime                                    Line build 274
    to parse Projects, Proposals,             calculating for Link Line 271, 274          for non-NUS BNPO employees 273
         SBAs 231                             formatting of Link Line location in     Queue
Participants settings                               ETS Javadoc 277                       in RMI workflow 39
    from CABS in LCA 139                      indirect lines in Link Line build 272       releasing the queue at exit 333
Password authentication                       listing of all Hours types 269
  in cLogin 239                            Premium overtime                           R
Passwords                                     and California law validation 93
                                                                                      Reason codes
  changing 242                             Previewing
                                                                                          amended expense reports 115
    changing not available in Expense         timesheet 74
                                                                                          amended timesheets 80, 87
          Entry 108                        Printing
                                                                                          expense reports 117
    retrieving in cLoginRemote 242            fReportData 217                         References 175
    screen to change 95                       Original Timesheets during supervi-
                                                                                      Regular Hours
Pay                                                sor approval 127
                                                                                          and Link Line process
    for employee pay, see Regular Off-     Project charge authorization
                                                                                           calculating 271
         set lines                            See Charge authorization 67
                                                                                           totaling 269
Pay Codes                                  Project level                                  listing of all Hours types 269
    business rules in Link Line               data returned from Lawson 268           Regular hours
         build 278                            See Also LCA, Levels, project
    default for Hours type in Link Line                                                   and California hours validation 93
                                           Project manager mode                       Regular offset lines
         build 274                            in LCA
    for Additional Time 279                                                               employee pay lines in Link Line
                                                introduction 139
    salaried                                    loading treeview with
                                                                                             build 274
      not eligible for POT 272                      LCAThread 291                     Report by project
Pay cycles                                      methods to load multilist 139             business rules 164
    definition 278                         Projects                                       loading and searching projects 163
    pay cycle as part of Link Line 39,        and Charge Authorization. See           Report by WBS
        267                                       Charge Authorization                    user accessibility table 133
                                              and Expense Reports                     Reprint


                                                                                                                    P a g e 486
ETS SYSTEMS MANUAL
    expense                                    in expense reports and timesheet            expense successor task
      user accessibility table 133                   entry 120                                keywords 334
    Original Timesheet                         in supervisor approval 127                  in Expense Entry 110
      printed without supervisor               in timesheet entry 74                       keywords in Expense Report 110
         approval 127                      Successor tasks                                 overview in ETS workflow 66
    Timesheet                                  See Tasks, successor                        refreshing Inbox 56
      user accessibility table 133                                                         SubmitOrApprove() method 330
                                           Supervisor 325
Responsible Department                                                              Tetra Tech
                                               data returned from Lawson 267
  in LCA 139                                   identifying in supervisor               data held in TTCommon 254
    loading during timesheet entry 84               approval 126                    Tetra Tech Suite
Resulting Link Lines                           listed in Multilist 56                  flowchart 32
    See LINK LINES, Resulting Link             Show Change in timesheet entry 73       integration with other Tetra Tech
        Lines                                                                               systems 35
                                           Supervisor Approval
RMI                                                                                 Time
                                               after timesheet submission 75
    in workflow 68                                                                     tracking in Link Line process 293
                                               creating successor tasks 328
    tracking and queueing calls 39                                                  Time types
                                               Data mappings
    tracking requests to App                                                           see Hours Types
                                                assigning a supe approve task 338
         Server 206                                                                 Timesheet
                                                creating successor tasks 425
Roles                                           loading all supervisors 374            amended
    individual role in regard to               expenses 122                                and Effective Rate 76
         permissions 68                                                                    assignation of doc codes 284
                                                accountant approval 333
    loading individuals’ roles 312              approval business rule 328                 displaying the Original and
                                                expense submission 334                        Amended 284
S                                               validations 110                            document sent to CODA 180
                                                workflow 328, 333                          how processed 76
SBA                                                                                        in overall workflow 68
    loading choice boxes in timesheet          getting supervisor
                                                Lawson true time settings 329              may not delete lines 77
         entry 231                                                                         reason code business rules 87
Send Enhancement                               in workflow 67
                                               Java classes 123                            reason codes 80
    user accessibility table 133                                                           refreshing the TimesheetModel 75
                                               loading the data 127
Send to QA                                                                                 reports 325
                                               of expense reports
    user accessibility table 133                                                           true time connection to
                                                business rules 131
Server                                                                                        LawsonDB 310
                                               printing Original Timesheets 127
    connection information for ETS 267                                                 and UNIQTMSH 39
                                               recording the decision 328, 331         automatic
Settings Menu 174                              SubmitOrApprove() method 330
    Account Code Definitions 174                                                           Enterprise Settings 253
                                               successor tasks in expense                  setting up 67
SHCA                                                reports 130                        charge string 87
    and California law 92                      timesheet                               comments
Show Change                                     editing the timesheet 127                  See also Comments. 78
    button removed from EER 108                 rejection 332                          data
    function in timesheet entry                 workflow 329                               refreshing the Model 360
         screen 73                             validations                                 retrieving through Model 360
Signatures                                      employee status 328, 330               data held in Model 359
    on Original timesheets 325, 326            view mode 127
                                                                                       definition and concepts 61–65
SQL                                            workflow 126
                                                                                           annual Timesheet 61
    Stored Procedures                          workflow diagram 124                        creation of 61
      See Stored Procedures                Supervisor ID                                   data structure 61
        section 368                            where cached for ETS                        distinguishing between Timesheet
Start dates                                        initializing 267                           and Expense Reports 65
    and Project authorization 86                                                           generic tasks 63
    Data mappings                          T                                               task instance 64
      assigned during alternate approver                                                   timesheet Instance 63
        process 373                        Tasks
                                                                                           UNIQTMSH lines 64
    loading valid Project start and end        list of all ETS-related tasks 64
                                                                                           weekending dates 62
         dates in cChargeAuth 233              successor
                                                                                       definition of APPROVED 76
Submission                                      after supervisor approval 126
                                                                                       Original
    expense reports 117                         creating successor tasks through
                                                                                           Original Timesheet Instance during
                                                   WorkMovr 337
    timesheets 74                                                                             amend 187
                                                Data mappings, creating 425
Sub-totaling                                                                               printing and reports 326


                                                                                                                  P a g e 487
ETS SYSTEMS MANUAL
    relating to amended 76                  from LawsonRemote 345                    quantity position settings 91
   POSTED definition 68                  TT_ETS_Charge_Auth_Indiv                USERDATA
   print                                    and charge authorization 235             assignment of alternate
    Audit history 325                    TT_ETS_Charge_Auth_WBS                          approvers 160
   refreshing the database 366              and charge authorization 235             caching client’s Java version 242
   reports                               TT_ETS_Cycle_Info                           caching employee information from
    object built by                                                                      Lawson 47
       ETSReptTimesheet 325
                                            in cBuildETSDoc 267
                                         TT_ETS_Indiv_Cache                          caching Lawson data 348
   row processing for Link Line 268                                                  how used in Tetra Tech
   saving entries                           in LawsonRequest 348
                                         TT_ETS_WeeklyTimesheets                         application 37
    blank entries according to Charge
                                                                                     recording decisions 328
       Type table 86                        in TimesheetModel 360
    to database 86
                                                                                 USEROPTION
                                         TT_TSS_Login
    updating the database and the                                                    storing expense codes (level 3) 119
                                            in cLoginRemote 243
       Model 87                          TT_TSS_Login_Change                     USP_CABS_EMPLOYEE
   submission                                                                      and initializing ETS 267
                                            in cLoginRemote 243
    confirming screen 75
    okay dialog box 97
                                         TT_UNIQTMSH_By_Indiv
                                            in TimesheetModel 360                V
    validations 330
    validations and approvals 74         TT_USERDATA_insert                      Validation
   variables in cBatchThread 264            in cLoginRemote 243                      and amended timesheets 77
Timesheet cycle                          TT_USEROPTION_select_optkwrd                at timesheet entry
                                            in ETSCommon Remote 298                   California hours 74
   Enterprise Settings 251
                                            in ETSController 308                      ETS objectives 35
Timesheet Entry
                                         TtESTrackRemote                              hour type 74
   audit history in previewing
                                             data mappings of all Enterprise          overview 67
        timesheets 102                                                               California Overtime Validation
   changing passwords 75                         Settings 250
                                                                                          Screen 92
   comments 76                                                                       California validation button
   deleting entries 75                   U                                                availability 77
   duplicates 81, 87                     UNIQLNKHDR                                  customizable 35
   entering time 74                          in CodaRep 39                           in Expense Reports 110
   Java classes 59                       UNIQLNKLIN                                  in Link Line process
   modifying entries 74                      in CodaRep 39                            of hours 269
   refreshing the model 75               UNIQLNKQTY                                  in timesheet entry
   workflow 66–69                            in CodaRep 39                            of weekday 86
Timesheet Lines 174                      UNIQTMSH                                     weekday 86
Tools Menu 155–172                                                                   of LCA during timesheet entry 81
                                             definition and how used 38
   Java classes 155                                                                  override in timesheet entry 81
                                             in Timesheet creation workflow 64
   list of items 155                                                                 supervisor approval
                                             loaded to supervisor approval
Totaling                                                                              valid employee status 330
                                                  system 127
   the lines for Link Line process 269                                           View mode
                                             Original Expense Report lines 192
Tracking                                                                             in supervisor approval 127
                                             Original Timesheet Lines 182
   in RMI workflow 39                        refreshing database during          vProcessAmend
   RMI requests 206                               timesheet entry 366               variables 185
Treeview                                 Update mode
   building in fLCASystems 290               in entering time 74, 82             W
   building links in LCA 290                 workflow 87                         WBS
True-time                                User ID                                     loading WBS in cChargeAuth 233
   connection to Lawson business             retrieving in cLoginRemote 242      WBS3 Wizard
        rule 348                         USERASOC                                    available functions in ETS 169
   connection to Lawson for amended          defining charge types 90                part of CABS 166
        timesheets 310                       linking Individual to Group 67          user accessibility table 133
   validation of data 35                 USERCOND                                    validations 171
TT_Enterprise_Settings                       Expense charge types 116            WBS3s
   ETSCommonRemote 298                       how used in Tetra Tech                  and timesheet entry
TT_ETS_CACHE_EMPLOYEE                              application 37                     displaying authorized 80
  and the Link Line process 267              list of charge types 88                  user must choose 80
TT_ETS_Cache_Employee                        Original Timesheet Lines 183            loaded in cChargeAuth 231


                                                                                                              P a g e 488
ETS SYSTEMS MANUAL
  loading on timesheet entry               introduction 139                    Stored Procedures 368
       screen 82                           methods to load multilist 140     Workorders
Web                                   Work state                               and timesheet entry
  launching ETS from Web 47              data returned from Lawson 268           displaying authorized 80
Week ending date                      Worked Hours                             loaded in cChargeAuth 231
  See weekending                         eligibility for POT in Link Line      loading on timesheet entry
Weekending                                     build 274                            screen 82
  in loading timesheets 361              See also Non-Worked Hours           WORKPACKET
  refreshing the TimesheetModel and      totaling for Link Line 269            creation of in workflow 61
        Viewer 365                    Workflow                                 in Timesheet creation workflow 61
  refreshing TimesheetModel during       from creation of Timesheets 65      Workqueues
        timesheet entry 75               in Expense Reports 115                and preferences 310
  retrieved in ETSCalendar 296           queueing 39                           in timesheet entry workflow 66, 67
  the Document Date in the Link          supervisor approval 126               loading the Inbox 313
        Line 267, 278                    Timesheet Entry Process               retrieved to populate Inbox 315
Weekending days                               diagram 41                     WORKTRX
  Enterprise Settings 251             WORKITEMS                                assigning work events (data
WHCA                                     data mapping of pending tasks 313         mappings) 427
  and California law 92                  Inbox rows retrieved in batch       WPSECTIONS
Work Breakdown Structure mode                process 419                       and amended timesheets 77
  in LCA                              WorkMovr 4                               creation of in workflow 61
      loading treeview with              data tables used in ETS 36            in Timesheet creation workflow 62
         LCAThread 291                   Database Manual 4
Work breakdown structure mode            Database Manual. See also
  in LCA                                     DataMapping22_3c.pdf




                                                                                                       P a g e 489
ETS SYSTEMS MANUAL

								
To top