Understanding Transaction Master Business Functions
Transaction master business functions provide a common set of functions that contain all of the necessary default values and editing for a transaction table in which records depend on each other. Transaction master business functions contain logic that ensures the integrity of the transaction being inserted, updated, or deleted from the database. Event flow breaks up logic. You use cache APIs to store records that are being processed. You should consider using a transaction master business function in these situations:
You accept transaction file records from a non-JD Edwards EnterpriseOne source.
Multiple applications update the same transaction file.
These transaction tables are examples of candidates for transaction master business functions:
The F0911 table accepts updates across application suites, as well as external sources.
The F06116 table accepts updates from batch, interactive, and external sources.
A master business function (MBF) can be called from several different applications. Rather than duplicating the processing options for the MBF on each application, you typically create a separate processing option template for these processing options. You can use interactive versions to set up different versions of the MBF processing options. Various calling programs then pass the version name to the version parameter of BeginDoc.
From within BeginDoc, the business function AllocatePOVersionData can be called to retrieve the processing options by version name. The processing options needed by other modules can be written to the header cache and accessed later, rather than calling AllocatePOVersionData multiple times.
The cache structure stores all lines of the transaction. Transaction lines are written to the cache after they have been edited. The EndDoc module then reads the cache to update the database.
This table describes the components of the header section:
Field Description |
Field |
Key |
Type |
Size |
---|---|---|---|---|
Job Number |
JOBS |
X |
Num |
N/A |
Document Action |
ACTN |
N/A |
Char |
1 |
Processing Options |
N/A |
N/A |
N/A |
N/A |
Currency Flag |
CYCR |
N/A |
Char |
1 |
Business View Fields |
N/A |
N/A |
N/A |
N/A |
Work Fields |
N/A |
N/A |
N/A |
N/A |
This table explains the fields:
Field Description |
Purpose |
---|---|
Job Number |
A unique system-assigned number assigned when the
BeginDoc module starts the job. This distinguishes transactions in
the cache for each job on the workstation that is using the cache.
Use next number 00/4 for the job number. If you are using a unique
cache name ( |
Document Action |
The action for the document. Values are:
|
Processing Options |
Processing option values were read in using AllocatePOVersionData, and are needed in other modules of the MBF. |
Currency Flag |
A system value that indicates whether currency is on and what method of currency conversion is used (N, Y, or Z). |
Business View Fields |
The fields required for processing the transaction and writing it to the database. All fields in the record format that are not saved in the header cache will be initialized when the record is added to the database using the APIs. |
Work Fields |
Fields that are not part of the business view (BV), but are needed for editing and updating the transaction. For example, Last Line Number is the last line number written to the detail cache. It will be stored at the header level, and retrieved and incremented by the MBF. The incremented line number will be passed to the header cache and stored for the next transaction. |
This table describes the components of the detail section:
Field Description |
Field |
Key |
Type |
Size |
---|---|---|---|---|
Job Number |
JOBS |
X |
Char |
8 |
Line Number |
(Application-specific) |
X |
Num |
N/A |
Line Action |
ACTN |
N/A |
Char |
1 |
Business View Fields |
N/A |
N/A |
N/A |
N/A |
Work Fields |
N/A |
N/A |
N/A |
N/A |
This table explains the fields:
Field Description |
Purpose |
---|---|
Job Number |
A unique number assigned when the
BeginDoc module starts the job. This
distinguishes transactions in the cache for each job on the client
that is using the cache. If you are using a unique cache name
( |
Line Number |
The number used to uniquely identify lines in the detail cache. This line number can also eventually be assigned to the transaction when it is written to the database. The transaction lines are written to the detail cache only if they are error-free. |
Line Action |
The action for the transaction line. Values are:
|
Business View Fields |
Fields required for processing the transaction that will be written to the database. All fields in the record format that are not saved in the detail cache will be initialized when the record is added to database using the APIs. |
Work Fields |
Fields that are not part of the business view, but are needed for editing and updating the transaction line. |