1.Functional Description
1.1Purpose
 This function will be used to do header level defaulting and editing.  This includes data dictionary      defaults, edits, and UDC editing.  If there 
are no errors a record will be written to the  header cache.
1.2Setup Notes and Prerequisites
used in the existing document.  This can be done by creating a math numeric work field, and on the 
event last grid record has been read, load it with the value of the line number in the business 
view column. 
 This module should be hooked up to the event grid is entered.   
 Several work fields need to be set up in your form.  They are:                                 
                             
action of the entire document A,C,D                                                                                                                                       -Edit Instruction Flag - this flag 
tells us what type of editing to do. 0=no, 1=full, 2=partial                                                                                      -Error Flag - this will hold a value of  0 if no 
errors, 1 if warnings, or 2 if errors                                                                                                     -Transaction Type - this field will hold a value based 
on the type of transaction .I=Interim Checks, ***
-Last Line Number - this will hold the value of the last line number used in your document          
 -Header Changed  Flag - this will be used on updates. if a field in the header has changed then a '1' needs to be passed                                              
                                                                             
-Processing Mode - this flag will be used to determine if we write to the detail cache. 1=write detail record (batch). this flag will be used for 
EditLine                                                                                                                                                                              
1.3Special Logic
called again within the same transaction, the job number previously assigned will be passed, 
therefore disregarding the need to assign another job number.
 Scrub and edit address book number.  Determine from the general constants which format of the 
address number is being used (an8, ssn, oemp).  Display appropriate label.  
 Retrieve necessary fields from the employee master (F060116) *** e.g. union code, ***
**** NOTE:  All fields in the header on the AS/400 for any of the TE programs need to be parms to begin doc'85(4 programs?? ).  If the values are not 
blank, edit and validate fields and write to header cache.  Fields that are in the header AND in the grid'85use db fields in header and work fields in grid 
(e.g. date worked)'85When reinquiring'85on grid rec fetched'85work date worked = BC date worked'85
All parms in header that are also in grid need to also be parms to edit line'85.If values in edit line are blank, default values from header cache'85If 
those values are still blank, set error.
Parms that are unique to the header '85do not need to be parms to edit line'85Pass these fields into end doc and write directly to db fields.
Find/Browse over EM'85will prob need to have find button on HLD'85suppress grid lines when != date worked/batch #.
PO's  set up T0500002 for mbf  which will include po's specific to te that need to be parm's to the mbf (any of the te programs)'85Each interactive 
program will have it's own set of po's..including one, version (VERS), specifying the version for the mbf.   To do this, need to set up 'dummy' app..P0500002 
and hook up T0500002 to it (find/browse w/ bsvw'85nothing else)..generate app..Set up version for app..ZJDE0001 (many more)'85CHECK THESE 
OBJECTS IN!!
How do handle po's in mbf that 1 te uses and another doesn't..??  Will I have a parm  identifying which te is calling..? (EE, Job, etc)
NER to write:
Determine Record Status Code - loading the grid
EQWO
Account Number
Rates
Tax Area 
2.Technical Specifications
2.1Parameters:
Data Item Data Structure DescriptionI/O    RequiredNotes
JOBS       szJobNumber                         I/OY             Pass Job Number created in                                                                                                
                                                                                                                                                                                 BeginDocument, if previously called; else                      
                                                                                                                                                                                                                                                                                
                                                                                                           pass zeros and this function will assign one.
ACTN     cDocAction                               IYA or 1 = Add C or 2 = Change D or 4 =Delete
EV01        cEditInstructionFlag            IY0 = No Edits 1 = Full Edits 2 = Partial Edits Note: GUI                                                    
                                                                                                  interface will all most always use the partial edit and                                                                                   
                                              the batch interface will use the full.  If blank defaults                                                                                                                                 to 
Full edits.  
EV01       cErrorFlag                                OY' ' = No Errors '1' = Warning '2' = Error
EV01          cTypeDoc                                        IYThis is the transaction type of the document. ' I' =                                                         
                                                                        Interim Checks   
AN8        mnAddressNumber              IYThis must be a valid address book number.
EM          cEmployeeMode                                INEmployee mode.  Passed in or retrieved from Payroll                                                     
                                                                            Constants.
ICU             mnBatchNumber                         IYThe batch number can be entered or automatically                                                        
                                                                                                                                                                                                                                                                                
                            
                                                                                                                                generated (based on processing option value)
DWK         JdDateWorked                      I YDate Worked  to be written to F06116 
EV01         cHeaderChangedFlag           INWhen the action code is equal to 'C' this needs to                                                         
                                                                        have a value of '1' if any fields in the header have                                                                                                                  
                                                                                                                                                                                                                                                                               
changed.  This value will be used in EndDoc.
VERS           Version                                          IYCurrently not used'85will hold all of the processing                                                      
                                                                           option values.**** 
UN              szUnionCode                            OUnion code from Employee Master (EM)
JBCD               szJobCode                                             OPosition control from EM
HCO        szHomeCompany                  OHome company from EM
HMCU                   mnDistributionRate                 OBilling rate from EM
SHFT          cshiftCode                             OShift code from EM
SHD        mnShiftDifferential                OShift differential from EM
LD           cPercentOrAmount                OPercent or amount from EM
TARA     szTaxArea                              OTax area from EM
DT            JdDateTerminated                ODate terminated from EM
PAST      cPayStatus                                 OPay status from EM
USR             szPayrollLockoutID                OPayroll lockout ID from EM
MAIL       szCheckRouteCode              OCheck route code from EM
PHRT      mnHourlyRate                                  OHourly rate from EM
LF            mnLaborDistMultiplier           OBurden factor from EM
LMTH        cLaborMethod                        OLabor distribution method from EM
WCMP         szWorkersComp                      OWorker's comp from EM
WET       csubClass                               OSub class from EM
PPRT      mnPieceRate                          OPiece rate from EM
ANPA    szSupervisor                              OSupervisor from EM
P001        szCategoryCode001             OCategory Codes  Payroll 001 from EM
P002        szCategoryCode002             OCategory Codes  Payroll 002 from EM
P003        szCategoryCode003             OCategory Codes  Payroll 003 from EM
P004        szCategoryCode004             OCategory Codes  Payroll 004 from EM
 
2.2Related Tables 
Table Table Description
 
2.3Related Business Functions
Source NameFunction Name
 
2.4Processing  
 If the job number is equal to 0 and there are no errors (cErrorFlag <> 2) then retrieve next 
number using system 00 index 4. 
 If there are no errors (cErrorFlag <> 2) then insert/update the values passed to the Header 
Cache Record .
 Based on the address book number (an8), read the em record and retrieve several fields for 
later use. NOTE:  If running the batch upload te, we will need to validate the an8 (first retrieve 
mode using co '00000').  If calling from the interactive program, either pass in flag or mode 
and if mode <> blank, we will know an8 has already been validated.  In both cases, still need to 
retrieve em fields for later use. NER (N0500009)
 **  I will call the NER to retrieve EM info in both Begin Doc and Edit Line'85.
 If the employee is terminated (past >0), display message and termination date in the header.  
 If check control number (ckcn) in F06116 != 0 and pay status (past)  in F060116 < 0, display 
error #0310 (inactive)
 Date Worked  ok if blank in the header.  (If edit line passes in blank date worked, use header 
date worked.  If blank in the detail and header date worked is blank, set error #1486 (date 
must be specified) (highlight date in GRID)). *** On ADD can key in header OR detail'85if in header 
uses that value in detail even if you key in detail.  Cannot change detail when header has 
value. If use value from header on an add'85this value goes in detail'85Can change header (and thus 
detail) on a change. 
 Batch Number  If PO not set on (to get next number), user can key in header or in grid.  Or 
form exit (?) to get next batch number (FS module).  They cannot access this form exit
D0500002A - F06116 Begin Document
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | 
|---|---|---|---|---|
| mnJobNumber | JOBS | MATH_NUMERIC | NONE | NONE | 
Special Input Expected
  | ||||
| cDocAction | ACTN | char | NONE | NONE | 
Special Input Expected
  | ||||
| cEditInstructionFlag | EV01 | char | NONE | NONE | 
Special Input Expected
  | ||||
| cErrorFlag | EV01 | char | NONE | NONE | 
Special Output Returned
  | ||||
| cTypeDoc | EV01 | char | NONE | NONE | 
Special Input Expected
  | ||||
| mnAddressNumber | AN8 | MATH_NUMERIC | NONE | NONE | 
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
  | ||||
| cModeEmployeeNumber | EM | char | NONE | NONE | 
A code that specifies the type of employee number displayed on inquiry screens. Valid values are:
   1   Display the eight-digit Address 
  | ||||
| mnBatchNumber | ICU | MATH_NUMERIC | NONE | NONE | 
A number that identifies a group of transactions that the system processes and balances as a unit. When you enter a batch, you can either 
  | ||||
| jdDateWorked | DWK | JDEDATE | NONE | NONE | 
The date used as the actual work date or pay-period ending date.  | ||||
| cHeaderChangedFlag | EV01 | char | NONE | NONE | 
Special Input Expected
  | ||||
| szVersion | VERS | char | NONE | NONE | 
Special Input Expected
  | ||||
| mnLastLineNumber | LNID | MATH_NUMERIC | OPT | NONE | 
A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
  | ||||
| B0000021 Format Subledger | ||||
| B0000564 Get Internal Next Number | ||||
| B0500022 Retrieve Number of Account Segments | ||||
| B0500220 Time Entry Cache | ||||
| B0700003 Create PrePayroll Caches | ||||
| B9800100 Get Audit Information | ||||
| B9800420 Get Data Dictionary Definition | ||||
| N0500006 Scrub and Edit DBA Code | ||||
| N0500007 Get Local Union Code | ||||
| N0500008 Scrub and Edit Shift Differential | ||||
| N0500009 Retrieve Employee Master Info | ||||
| N0500010 Validate Classification/Pay X-Ref | ||||
| N0500015 Retrieve Union Rates | ||||
| N0500016 Retrieve Occupational Rates | ||||
| N0500020 Update Payroll Lockout Code | ||||
| N0500039 Get Labor Recharge AAI | ||||
| N0500110 F06904 Retrieve Equipment Distribution | ||||
| N0500240 F0006 Time Entry - Retrieve Company | ||||
| N1300220 F1301 Retrieve Equipment Billing Rate | ||||
| X0909 Validate Subledger | ||||
| X1202 F1201 Validate Asset Number | ||||
| XX0901 Validate Account Number | 
| F06106 Employee Pay Instructions | ||||
| F06116 Employee Transaction Detail File |