Batch Cotrol Processing

Purpose of Document

This document discusses all the batch header related business functions in EnterpriseOne. This document does not cover a specific application and its set up.

Note: Batch Control Processing in Xe / ERP8 is different from that of 8.9, 8.10, 8.11, 8.11SP1, 8.12, 9.0 and 9.1 release.

Table of contents:

Overview - Brief explanation on business function

Souce Code Description Purpose Others
B0000012 GetBatchTypeConstant (Get Batch Type Constant) To determine whether "Batch Control Required" and "Manager Approval Input" are required flags based on the input batch type
N0000001 BatchOpenBatchControlProcessing (Batch Open - Batch Control Processing) Important: This Business Function is a Client-Only Interpretive Named Event Rule(NER) which will be run as Java serialized object code. This business function cannot be run through CallObject Kernel on the server because, business functions running through CallObject Kernel cannot call any Interactive Application. Thus, this business function is set as a Client-Only Interpretive NER and will be run as a Java Serialized object on the web server. This business function will call an interactive application P0011. Replace B0000042
N0000001 BatchControlProcessing (Batch Control Processing) This Business Function is a Client-Only Interpretive Named Event Rule(NER) which will be run as Java serialized object code. This business function cannot be run through CallObject Kernel on the server because, business functions running through CallObject Kernel cannot call any Interactive Application. Thus, this business function is set as a Client-Only Interpretive NER and will be run as a Java Serialized object on the web server. This business function will call an interactive application P0011
B0000004 BatchOpenOnInitialization (F0011 Write Batch Header) Tools API "Start Form Dynamic" currently used in a EnterpriseOne Business Function to handle the Batch Control form.This API is not supported in thin client environments ( i.e. HTML clients). Therefore, the Batch Control functionality was not supported for thin client environments. Simple rule is interactive application P0011 has to be called in presentation (JAS) layer so N0000001 replaces this function B0000004 in interactive applications.
B0000042 FSOpenBatch (F0011 Open Batch) This function is to call B0000004 - BatchOpenOnInitialization Not in use
B0000042 FSCloseBatch (F0011 Close Batch) This function is to call B0000008 - BatchReviseOnExit (F0011 Update on Exit). Not in use
B0000008 BatchRevisonOnExit (F0011 Update on Exit) This Business Function will close a batch header record and is designed to be executed when "Cancel" or "Close" button is pressed in either Add or Update Mode. Can be called with or without transaction processing on. Some known issue for deadlock with fix
B0000003 GetF0011BatchHeaderInfo (Get F0011 Batch Header Info) This function is to get batch header information through JDB_FetchKeyed() API and this can be used to determine the batch status from F0011 (Batch Header File)
B0000007 BatchReviseOnTransactionCommit (F0011 Update on Transaction Commitment) This Business Function will update a batch header record and is designed to be executed when "OK" is pressed in either Add or Update Mode. Called by Master Business Function

What is Batch Control?

When users create a batch of documents using an interactive application such as Journal Entries,they may want to enter the total number of documents and total amount expected for each batch. Batch Control allows users to verify the total amount expected against the total amount entered immediately after the batch is created. Batch Control is enabled by checking the Batch Control Required check box in the General Accounting Constants. With batch control enabled, as you enter your application the batch control form will display and allow you to enter the expected amounts. As you exit the application, the batch control form will again display and allow you to compare the expected amounts to actual amounts.



B0000012 - GetBatchTypeConstant (Get Batch Type Constant)

Parameter Name Data Item Data Type I/O Req Purpose
szBatchType[3] ICUT JCHAR I Y Depends on Batch Type it determines which file to read
cBatchControlRequired ICRG JCHAR O Read column values from F0009 and F41001 and return related flag
cManagemntApprovalInput IARG JCHAR O Return Y when it is supposed to do so


N0000001 - BatchOpenBatchControlProcessing (Batch Open - Batch Control Processing)

Parameter Name Data Item Data Type I/O Req Purpose
szBatchType[3] ICUT JCHAR I Y Batch Type is hard coded in a certain application you are working on.
mnBatchNumber ICU MATH_NUMERIC I/O This value can be zero or a certain batch number. If the input value is zero, get it from Next Number.
jdDateBatchJulian DICJ JDEDATE I/O
cPreviousBatchStatus IST JCHAR O When input batch number is specified. In case a certain batch is either U-In Use or P-In Posting, it issues error and exit from routine.
cPostOutOfBalance POB JCHAR N/A
cSuppressBatchControl EV01 JCHAR I Depends on application, this value is hard coded. To suppress batch control set value '1 - Suppress Batch Control'
cBatchControlCancelFlag EV01 JCHAR O

Error Code Error Detail Cause
0003 Blanks Invalid Batch Type is not specified
0068 Batch Is in Use or in Process of Posting The status of a certain batch is 'U-In Use' or 'P-In Posting'

N0000001 - BatchControlProcessing (Batch Control Processing)

Parameter Name Data Item Data Type I/O Req Purpose
szBatchType[3] ICUT JCHAR I Batch Type is hard coded in a certain application you are working on
mnBatchNumber ICU MATH_NUMERIC I Batch Number assigned via Open Batch - Batch Control Processing
cBatchControlCancelFlag EV01 JCHAR I Depends on application. Mostly this value is not handled. Only when this flag is assigned as 1 it exits from routine (so Batch Control is N)


B0000004 - BatchOpenOnInitialization (F0011 Write Batch Header)

Parameter Name Data Item Data Type I/O Req Purpose
szBatchType[3] ICUT JCHAR I Batch Type is hard coded in a certain application you are working on
mnBatchNumber ICU MATH_NUMERIC I Batch Number assigned via Open Batch - Batch Control Processing
cPreviousBatchStatus IST JCHAR I
cPostOutOfBalance POB JCHAR I
cFLAGSuppressBatchControl EV01 JCHAR I
jdBatchDate DICJ JDEDATE I
cBatchControlCancelFlag EV01 JCHAR I Depends on application. Mostly this value is not handled. Only when this flag is assigned as 1 it exits from routine (so Batch Control is N)

Error Code Error Detail Cause
0003 Blanks Invalid Batch Type is not specified
0068 Batch Is in Use or in Process of Posting The status of a certain batch is 'U - In Use' or 'P - In Posting'
078D Open for table F0011 failed OpenTable F0011 failed
078H Update to table F0011 failed UpdateTable F0011 failed
078F Insert to table F0011 failed InsertTable F0011 failed


B0000042 - FSOpenBatch (F0011 Open Batch) [Obsolete]

Parameter Name Data Item Data Type I/O Req Purpose
cPrevBatchstatus IST JCHAR I
cPostoutofbalance EV01 JCHAR I
szBatchtype[3] ICUT JCHAR I
mnBatchnumber ICU MATH_NUMERIC I
jdBatchDate DICJ JDEDATE I
cBatchControlCancelFlag EV01 JCHAR I


B0000042 - FSCloseBatch (F0011 Close Batch) [Obsolete]

Parameter Name Data Item Data Type I/O Req Purpose
mnBatchnumber ICU MATH_NUMERIC I
szBatchtype[3] ICUT JCHAR I
cPrevBatchstatus IST JCHAR I
cChangeBatchStatus EV01 JCHAR I
cDocumentInBalance EV01 JDEDATE I
cSuppressBatchControl EV01 JCHAR I
cOverrideMode EV01 JCHAR I
cSuppressDeleteFlag EV01 JCHAR I


B0000008 - BatchRevisonOnExit (F0011 Update on Exit)

Parameter Name Data Item Data Type I/O Req Purpose
mnBatchnumber ICU MATH_NUMERIC I
szBatchtype[3] ICUT JCHAR I
cPreviousBatchStatus IST JCHAR I
cFLAGBatchStatus EV02 JCHAR I
  • 1 - set batch status to value passed in
  • 2 - set status to ERROR 'E'
  • Others/Default (refer detail routine)
cFLAGTransactionInBalance EV03 JCHAR I
cFLAGSuppressBatchControl EV04 JCHAR I
cOverrideMode EV01 JCHAR I
cSuppressDeleteFlag EV01 JCHAR I

Error Code Error Detail Cause
078D Open for table F0011 failed OpenTable F0011 failed
078I Fetch from table F0011 failed JDB_FetchKeyed() is failed against F0011
078G Delete from table F0011 failed JDB_DeleteTable() F0011 failed
078H Update to table F0011 failed UpdateTable F0011 failed

B0000003 - GetF0011BatchHeaderInfo (Get F0011 Batch Header Info)

Parameter Name Data Item Data Type I/O Req Purpose
szBatchtype[3] ICUT JCHAR I/O Y Primary Key to get data from F0011
mnBatchNumber ICU MATH_NUMERIC I/O Y Primary Key to get data from F0011
cBatchStatus IST JCHAR O
cBatchApprovalStatus IAPP JCHAR O
jdBatchDate DICJ JCHAR O
mnDocumentsExpected NDO MATH_NUMERIC O
mnBatchAmountExpected AICU MATH_NUMERIC O
mnDocumentsEntered DOCN MATH_NUMERIC O
mnBatchAmountEntered AME MATH_NUMERIC O
cBalancedDocumentsFlag BAL JCHAR O
cBalancedJournalEntriesFlag BALJ JCHAR O
cPostOutOfBalanceFlag POB JCHAR O
cIncludeOnIntegrityFlag IBOI JCHAR O
szUserID[11] USER JCHAR O
szAuthorizedUserID[11] ASUR JCHAR O
cSuppressAllErrorsFlag EV01 JCHAR I For input value y or 1 it suppresses error if any

Error Code Error Detail Cause
4364 Invalid Parameter Batch Type is not specified or Batch Number is Zero
078D Open for table F0011 failed JDB_OpenTable() failed
078I Fetch from table F0011 failed JDB_FetchKeyed() Failed
0068 Batch Is in Use or in Process of Posting F0011.IST either 'U - In Use' or 'P - Posting'

B0000007 - BatchReviseOnTransactionCommit (F0011 Update on Transaction Commitment)

Parameter Name Data Item Data Type I/O Req Purpose
mnBatchnumber ICU MATH_NUMERIC I/O
szBatchtype[3] ICUT JCHAR I/O
mnTransactionAmount AME MATH_NUMERIC
mnTransactionAmountPrevious AME MATH_NUMERIC
cPreviousBatchStatus EV01 JCHAR
cFLAGBatchStatus EV01 JCHAR
cFLAGTransactionInBalance EV02 JDEDATE
cFLAGSuppressBatchControl EV03 JCHAR
cFLAGFormExitedOnAdd EV04 JCHAR
cOverrideMode EV05 JCHAR Indicate SV Form_Mode or action taken (Valid value: A - Add, C - Change, D - Delete and V - Void)
mnTotalNumberOfDocuments MATH01 MATH_NUMERIC

Error Code Error Detail Cause
4364 Invalid Parameter cOverrideMode is not in ('A', 'C', 'D', 'V')
078D Open for table F0011 failed JDB_OpenTable() failed
078I Fetch from table F0011 failed JDB_FetchKeyed() Failed
078G Delete from table F0011 failed JDB_DeleteTable() Failed
078H Update to table &1 failed JDB_UpdateTable() Failed


Pre-defined Batch Type in EnterpriseOne based on 9.1 Release
: UDC 98/IT or UDC 98/IT - Batch Type

Product Code Us Cd User Def Code Description Description Special Handling Reference
98 IT # Payroll Vouchers
98 IT #1 Payroll Vouchers X
98 IT $ Reserved for Clients
98 IT % Reserved for Clients
98 IT & A/R Drafts AR
98 IT &B Draft Register AR
98 IT + Bank Statement AR
98 IT +B Bank Statements AR
98 IT / Tenant Vouchers X AP
98 IT 0 Manufacturing Manufacturing
F41001.cisy='31 '
98 IT 1 Tenant Invoice Work Batch X AR
98 IT 2 Tenant A/R Invoices X obsolete
98 IT 2B Tenant A/R Invoices X AR
98 IT 3 Sales Report Entry X AR
98 IT 4 Pro-Forma P/R Pay Period Jrnls X
98 IT 41 Pro-Forma P/R Pay Period Jrnls X
98 IT 5 Pro-Forma Daily Timecard Jrnls X
98 IT 51 Pro-Forma Daily Timecard Jrnls X
98 IT 6 Partnership Distribution
98 IT 7 Actual Payroll Period Journals X
98 IT 8 Production FASTR
98 IT 9 Lockbox/Batch Cash Receipts AR
98 IT 9B Automatic Receipts AR
98 IT @ Reserved for Clients
98 IT A Revenue - Check Entry X Revenue
98 IT AR Asset Revaluation
98 IT B Revenue - Journal Entries
98 IT C JIB Cost Allocations
98 IT CB Cash Basis BT
98 IT D Cost Allocations/Flex Budget
98 IT DB Draft Receipts AR
98 IT E Asset Transfer
98 IT F Balance Forward A/R Update
98 IT FB Balance Forward A/R Updates
98 IT G General Accounting
98 IT H Change Orders
98 IT I Invoice Entry AR
98 IT IB Invoices AR
98 IT J JIB Invoices and Statements X
98 IT K A/P Checks (Automatic) AP
98 IT L ALRS Checks AR
98 IT M Manual & Void Checks w/Match AP
98 IT N Inventory F41001.cisy='41 '
98 IT NC Frozen Cost Update F41001.cisy='41 '
98 IT O PO/Contract Entries Purchase Order
F41001.cisy='43 '
98 IT P Actual Timecard Journals X
98 IT Q Direct Payments AP
98 IT R Cash Receipts and Adjustments AR
98 IT RB Receipts & Adjustments N AR
98 IT S Stock Transfers
98 IT ST Inter Branch Sales Transfer Sales Order
F41001.cisy='42 '
98 IT T Equipment Time Entry
98 IT U Oil & Gas Equipment Time Entry
98 IT UB Utility Billing
98 IT V Voucher Entry AP
98 IT W Manual Checks without Match AP
98 IT X Depreciation - Journal Entries
98 IT XX Detailed Currency Restatement
98 IT Y Subscription Sales Revenue
98 IT Z Disposal - Journal Entries

In case a certain batch type goes to pending for approval, refer to constant files based on batch type. In EnterpriseOne batch types are hard coded as below,

Module Type
Account Payable V, M, K, Q and /
Account Receivable +, +B, &, &B, *, DB, I, IB, L, R, RB, 1, 2B, 3, 9, 9B
Revenue A, Y
Inventory, Purchasing, Sales Order and Manufacturing N, O, ST, 0, NC
General Ledger All other batch types which are not added above

Column Description Modify through
ICRG Batch Control Required (Y/N) - G/L P0000 - System Setup
IARG Batch Management Approval Required - G/L
ICRP Batch Control Required (Y/N) - A/P P0000 - System Setup
IARP Batch Management Approval Required - A/P
ICRR Batch Control Required (Y/N) - A/R P0000 - System Setup
IARR Batch Management Approval Required - A/R


Pre-defined Batch Status
: UDC 98/IC or UDC 98/IC - Batch Status

Product Code Us Cd User Def Code Description Description Special Handling Reference
98 IC Pending Default Value
98 IT A Approved
98 IT D Posted Done
98 IT E Error
98 IT P Pending In Posting
98 IT U In Use To prevent other process handle a specific batch