Professional Documents
Culture Documents
Jeannie Dobney
J D Consulting Services
Introduction
If your organisation uses Oracles eBusiness Suite Projects as well as Enterprise Asset Management
(eAM i.e. plant maintenance), you may eventually wonder if and how transactions from eAM can be
assigned and interfaced to a project?
The good news is that it can be done; this is the story of one companys
1
Background
First some background:
At the time this implementation was attempted, the company was on 12.0.6 and have been using
eAM for some time.
The company uses average costing and the Inventory implementation supports the relatively
straightforward operation of an on-site warehouse. There are no bells and whistles: no system
support for rebuildables or consignment stock or anything else especially challenging.
Project Costing was being implemented primarily to support large capital works (for CIP
accounting)
Testing of P2P / supply chain integration with Projects had been completed successfully prior to
this authors involvement
Note that this article assumes that you already have at least a high level understanding of both Oracle
Projects and Enterprise Asset Management (eAM) work; it therefore focuses on getting the 2
applications to talk to one another successfully.
Application Configuration
The key eAM / PA integration set up is in an additional application: Project Manufacturing for which
Oracle provide an implementation manual. There are a number of set up screens, however the key
for us were the Project Manufacturing Parameters shown below:
In her excellent paper on Projects transactions , Dina Rotem summarises the impact of these settings
in the following table:
Page 1
GL Posting
Option
Account Option
Interface Accounting
to GL
Project Transactions
Manufacturing
N/A
All accounting
from Inventory
Accounted by
Inventory
Projects
Use Auto
Accounting
PA generates
Projects
Send Accounts to
PA
Accounted by
Inventory
Very briefly, the implication of this table is that you may choose to generate the accounting for project
related eAM transactions from either eAM or from Projects. The gotcha with the latter approach is
that all eAM transactions must then flow into GL through PA and that requires a common project
3
(sort of a dummy project used by non-project related transactions ).
Our site chose to generate the accounting from eAM, using project specific work orders. This
requires an additional project definition step for each new project, during which the appropriate WIP
class is linked to the new project (Project Parameters form in Project Manufacturing application).
Transactions
created in INV
Maintenance (eAM)
Transactions
created in eAM
Expenditure Inquiry
Windows
MTL
Transactions
Transaction Import
Process
WIP
Transactions
Transaction Interface
Cost Collector
Process
Create Accounting Process
(Cost Management SLA)
SubLedger Accounting
General Ledger
Page 2
Briefly, we needed to add project attributes to resources and departments as well as making all our
HR Organisations also Expenditure Organisations. (For further detail see also Phil Millers OAUG
5
2010 presentation Understanding the Transactional Flow.
A second challenge was in understanding that once the Cost Collector has attempted to process a
transaction, there is no way to reset the error flag at application level this must be done using SQL.
(Refer to MOS # 422044.1 for support instruction for this SQL.)
Briefly it is necessary to:
Identify the problem that caused the Cost Collector to fail and fix that first.
Once the Cost Collector has completed successfully, you can run Transaction Import from within
Projects. Note that when submitting this process, you must specify a transaction source. The
7
following diagram indicates how to understand these:
Of course, we know all of this now but our first inkling that we had a problem was when we ran the
report EXC: Transaction Exception Details by GL Period in Projects and it gave us 1,200 pages of
errors! Each line listed a Transaction ID, however we werent sure where to look for the transaction:
the report simply listed Originating Table = 2.
Eventually it emerged that this report identifies stuck transactions as being from
Table 1 = MTL_MATERIAL_TRANSACTIONS or
8
Table 2 = WIP_TRANSACTIONS.
It then became clear that we needed to understand the entire process flow now described briefly
above.
Key Learnings
eAM is a relatively new application, apparently built on the back of existing eBS architecture. As
a result, if you log an SR, it is likely to spawn other SRs related to individual system components
for what to the end-user is simply one integrated process. In our case what we thought of as
simply a problem closing the Projects period, required the involvement of the Cost Management,
Page 3
Bill of Materials and Work in Process Support teams who apparently only talked to one another
through us! Getting an end-to-end process view was almost impossible. So our recommendation
is that if you strike an integration problem, consider finding someone genuinely skilled in the end
to end flow even if they are on another continent or cost a mint and involve them early on.
The right knowledge can solve the problem quickly.
Do not underestimate the complexity of implementing Project Manufacturing, the impact of all the
possible combinations of available options makes it almost impossible for Oracle to provide
comprehensive documentation hence you are very likely to find the voluminous documentation
insufficient! (i.e. Which bit did I read in the BOM manual? Which bit was in the Inventory users
guide? Oh, and the bit about set-up was in the Cost Management Guide) Metalink is helpful
however you will need to ensure your consultants provide you documentation about how your
system derives its accounting outcomes, as well as maintenance instructions for all the
components that support those outcomes (e.g. what has to be set up for a new project, a new
9
project organisation etc) and trouble-shooting tips .
Ensure your User Acceptance Testing (UAT) focuses on end-to-end transaction flows and that
someone verifies that the accounting outcomes are correct. Include a month-end in your UAT
our problems didnt start until we tried to close Projects, even though we had successfully closed
Inventory. It then took nearly a year and several SRs to resolve those problems!
Acknowledgements
The author would like to thank Wesfarmers Resources for their willingness to share their experiences
with the wider user community via the publication of this article. We are grateful for the assistance of
10
Oracle Consultings Brian Devlin who was key to solving the eAM/ PA mystery. Doug Volz also
provided remote assistance; his help and the OAUGs conference paper repository providing access
to papers such as those from Dina Rotem cited above, once again demonstrated the value of the user
community to its members.
Author Background
Jeannie Dobney is an independent consultant with over a decades experience with the Oracle
eBusiness suite, specialising in Oracle Projects; she has held leadership positions for both AUSOUG
and the OAUG. She can be contacted via email at jdobney@bigpond.com; her earlier papers
(including an overview of eAM) may be found at her web site: jdobney.com
Page 4
Transactions
created in INV
Maintenance (eAM)
Transactions
created in eAM
Expenditure Inquiry
Windows
MTL
Transactions
Transaction Import
Process
WIP
Transactions
Transaction Interface
Cost Collector
Process
Create Accounting Process
(Cost Management SLA)
SubLedger Accounting
General Ledger
Page 5
Page 6
What about?
WMTI WIP_MOVE_TXN_INTERFACE
WMT WIP_MOVE_TRANSACTIONS
WTIE
WIP_TXN_INTERFACE_ERRORS
WT
WIP_TRANSACTIONS
WTA
WIP_TRANSACTION_ACCOUNT
SLA to GL and
Cost Collector to Projects
Narrative Version
Table
Acronym
WCTI
Application Window
Pending Resource
Transaction
Comments
Resource transaction
entered by user
Source may be a
timesheet entry or a
receiving transaction
WIP_Cost_TXN_Interface
aka Resource
Transaction interface
Cost Manager
WT and
WTA
View Resource
Transactions
(& Res Trans Distributions)
WIP_Transactions
WIP_Transaction_Accounts
Transactions will initially hit WIP_COST_TXN_INTERFACE (Pending Resource form) where they will
remain until the inventory cost manager runs, validates and costs the transactions. If successfully
validated and costed the transactions are moved to WIP_TRANSACTIONS and
WIP_TRANSACTION_ ACCOUNTS (Resources Form). Where validation errors exist the record
remains in WIP_COST_TXN_INTERFACE until the error is rectified. Once an error occurs all
subsequent transactions will back up behind the errored record and will not be processed until the
errored record is rectified and re-processed.
Once costed if the transactions are project related the cost collection manager (project cost transfer)
process will transfer the records to PA_TRANSACTIONS_INTERFACE where they will be available to
import using the PRC: Transaction Import process from the relevant source. Note the Project cost
transfer will pick up both eAM and Inventory transactions which are projects related.
So the Cost Manager does 2 things cost calculations and accounting for transactions:
COLLABORATE 12
Jeannie Dobney
Page 7
Notes
The Cost Collector which copies relevant Inventory transactions into the PA transaction
Interface, is not the same as the Cost Manager, which is an Inventory (Cost management)
process which calculates the cost of a transaction such as 8 hours of labour from Joes
timesheet.
there is a Metalink Note with more detail on this:
MOS # 412562.1 - How Cost Collector Transfers Cost To Projects
The Cost Collector log may show no transactions to process so the view
'cst_pm_pending_txn_v' may be very helpful
COLLABORATE 12
Jeannie Dobney
Page 8
WTIE
WIP_TXN_INTERFACE_ERRORS
MMTT
MTL_material_transactions_temp
MMT
MTL_material_transactions
MTA
MTL_TRANSACTION_ACCOUNT
What about?
Completion transactions?
SLA to GL and
Cost Collector to Projects
Acronym
Window
Comments
Material transaction
(e.g. stock issue to WO)
MMTT
Pending Inventory
Transaction
MTL_material_transactions_temp
Inv Transaction Interface Mgr
MMT
Material Transactions
MTL_material_transactions
Cost Manager
MTA
Material Distributions
MTL_transaction_accounts
And
Cost Collector to Projects
Notes
The MTL Material Transactions table includes:
- PM_COST_COLLECTED flag to show if Cost Collection has run successfully
COLLABORATE 12
Jeannie Dobney
Page 9
COLLABORATE 12
Jeannie Dobney
Page 10
At the Application level, to view transactions that have errored as a result of the Cost
Manager Process:
For Material Transactions:
From Project Manufacturing Responsibility:
N > Inquiry ~ Transaction Information ~ Material transactions
Ensure Transaction Date fields are cleared and select Error in the Costed
field, then click Find
For Resource Transactions
From eAM Responsibility:
N > Work Order Transactions ~ Pending Resource Transactions
Ensure Transaction Date fields are cleared and select Error in the Process
Status field, then click Find
The Errors button in the Inquiry window provides detail about specific errors
MOS # 462657.1 makes the following 2 key points relevant for trouble-shooting Pending
Transactions:
If there are uncosted / pending transactions, check that the Cost Manager is active
Cost Manager (see screen shots below)
COLLABORATE 12
Jeannie Dobney
Page 11
To find Material Transactions that have Cost Collection errors, use the Material Transactions Inquiry
form
Remove the Transaction Dates and select Error (or No) in the Transferred to Project field
(Note that the Costed field relates to the Cost Manager process not the Cost Collector process).
COLLABORATE 12
Jeannie Dobney
Page 12
To find transaction detail related to Cost Collector errors, simply run a script such as the following:
select * from mtl_material_transactions -- or WIP_TRANSACTIONS
where PM_COST_COLLECTED = 'E';
To find the Work Order related to an errored transaction, use the following SQL:
Select WO.wip_entity_name WO_Number, WO.description, WT.TRANSACTION_ID
from WIP_entities WO,
WIP_TRANSACTIONS WT
where WT.WIP_ENTITY_ID = WO.WIP_ENTITY_ID
and WT.TRANSACTION_ID = X; -- or whatever criteria
To reset the Cost Collector Flags so that the process can be called again on the same transactions
(e.g. after fixing a set up error). Refer to MOS # 422044.1 for Support instruction for this SQL.
-- Delete error messages for WIP Transactions
delete from WIP_TXN_INTERFACE_ERRORS WTIE
WHERE Error_Column = 'PM_COST_COLLECTED' and
WTIE.TRANSACTION_ID IN
(SELECT WT.TRANSACTION_ID
FROM WIP_TRANSACTIONS WT
WHERE PM_COST_COLLECTED = 'E');
-- Reset Flags
UPDATE WIP_TRANSACTIONS
SET LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATED_BY = 26941,
COLLABORATE 12
Jeannie Dobney
Page 13
LAST_UPDATE_LOGIN = 26941,
-- optionally set user ID for audit purposes
PROGRAM_UPDATE_DATE = SYSDATE,
PM_COST_COLLECTED ='N',
-- Change flag from E to N
PM_COST_COLLECTOR_GROUP_ID =NULL -- Clear Group ID
WHERE PM_COST_COLLECTED = 'E'
and wt.organization_id = :Your organization;
-- only your Inventory org / OU
The equivalent MTL scripts are
-- Delete error messages
delete from WIP_TXN_INTERFACE_ERRORS WTIE
WHERE Error_Column = 'PM_COST_COLLECTED' and
WTIE.TRANSACTION_ID IN
(SELECT MTL.TRANSACTION_ID
FROM MTL_MATERIAL_TRANSACTIONS MTL
WHERE PM_COST_COLLECTED = 'E');
-- Reset Flags
update MTL_MATERIAL_TRANSACTIONS
set pm_cost_collected = 'N',
pm_cost_collector_group_id = NULL
where pm_cost_collected = 'E'
and organization_id = :Your organization;
Dont forget to Commit!
If the Cost Collector is not the problem then it may be the Cost Manager process; this script shows
relevant MTL errors
-- MTL transactions
SELECT transaction_id txn_id, organization_id org,
substr(error_code,1,30) errc,
substr(error_explanation,1,100) erre
FROM mtl_material_transactions
WHERE costed_flag = 'E';
-- WIP Transactions
select wcti.transaction_id, WCTI.TRANSACTION_DATE, WCTI.WIP_ENTITY_NAME WO,
WTIE.ERROR_MESSAGE, WTIE.ERROR_COLUMN
FROM WIP_COST_TXN_Interface WCTI,
WIP_TXN_INTERFACE_ERRORS WTIE
WHERE WTIE.TRANSACTION_ID = WCTI.TRANSACTION_ID
and WCTI.process_status = 3
and WCTI.Organization_ID = :Your organization;
COLLABORATE 12
Jeannie Dobney
Page 14
WIP_COST_TXN_INTERFACE
process status (i.e. of the Cost Manager)
1, 'Pending',
2, 'Running',
3, 'Error',
4, 'Completed',
5, 'Warning'
WIP_TRANSACTIONS
cost_collected column may be either N or E
'N', 'Pending',
'E', 'Error',
MTL_MATERIAL_TRANSACTIONS
- costed column may be null or costed_flag = E (i.e. Cost Manager status)
and cost_collected IN (N, E)
(I.e. Cost Collector)
'N', 'Pending',
'E', 'Error',
Note that WTIE (WIP_TXN_INTERFACE_ERRORS) includes a column for the program that created
the error, by using the following it is possible to retrieve the program name:
select user_concurrent_program_name from FND_CONCURRENT_PROGRAMS_TL
where CONCURRENT_PROGRAM_ID = NNNN;
The Projects Exception Report gets its error text from function calls to
PA_EXCEPTION_REASONS_PUB.GET_EXCEPTION_TEXT
From looking at the underlying view (CST_PM_MATL_TXN_V) it would seem that if the value in
column PM_COST_COLLECTED = E, then the text says to look in the Cost Collector log. If however
the value in column PM_COST_COLLECTED = N, then the system reports an undefined error.
COLLABORATE 12
Jeannie Dobney
Page 15
Compare this with Chapter 11 of the Cost Mgmnt users Guide and Oracle Metalink Whitepaper MOS
# 961285.1
Note that the Cost Management - SLA responsibility enables users to Create Accounting transactions
for:
Inventory ( Internal Orders/Issues/Miscellaneous/Deliver into Inventory)
Receiving (Deliver to Expense Destination & Receipt into Inspection/Clearing)
Work in Process (EAM Work Orders)
Create Accounting may be run the program in Draft or Final Mode.
When run in Draft the user can view potential accounting entries.
When run in Final the user can create and transfer accounting entries to the General Ledger.
Key points from Oracle Cost Management Users Guide (specifically in reference to eAM):
If Subledger Accounting (SLA) is enabled and SLA rules are customized, then the default
accounts may not be used.
The period close process permanently closes an open period. You can no longer charge
transactions to a closed period. Once you close a period, you cannot reopen it. As a
precaution, you can do a GL transfer without closing the period.
(i.e. run Create Accounting in Draft mode).
COLLABORATE 12
Jeannie Dobney
Page 16
COLLABORATE 12
Jeannie Dobney
Page 17
Prior the first day of data entry, open the next inventory period using the Inventory Accounting
Periods window.
Attention: This process needs to be completed for each defined Inventory Organization.
What to do
Resubmit Pending
Transactions
Resubmit Pending
Transactions
Inventory Close
Reconcile Inventory
Control Account
COLLABORATE 12
Jeannie Dobney
Page 18
From the Inventory Accounting Periods window, select Pending to go to the Pending Transactions
window. From this window, you can select the Open button to link to specific windows, reports, or
pages to view pending, errored, or uncosted transactions. The windows, reports, or pages that you
link to are determined by your cursor position when you select Open.
The following table describes details of the links to windows and reports:
Type of Transaction
Links to Windows/Reports/Pages
COLLABORATE 12
Jeannie Dobney
Page 19
If there are unprocessed transactions, then one of the following messages appears:
Pending receiving transactions for this period
When you use Purchasing, this message indicates you have unprocessed purchasing
transactions in the RCV_TRANSACTIONS_ INTERFACE table. These transactions include
purchase order receipts and returns for inventory. If this condition exists, you will receive a
warning but will be able to close the accounting period. These transactions are not in your
receiving value. However, after you close the period, these transactions cannot be processed
because they have a transaction date for a closed period.
Unprocessed material transactions exist for this period
This message indicates you have unprocessed material transactions in the
MTL_MATERIAL_TRANSACTIONS_TEMP table. You are unable to close the period with this
condition. Please see your system administrator. Inventory considers entries in this table as part
of the quantity movement. Closing the period in this situation is not allowed because the resultant
accounting entries would have a transaction date for a closed period, and never be picked up by
the period close or general ledger transfer process.
Pending material transactions for this period
This message indicates you have unprocessed material transactions in the
MTL_TRANSACTIONS_INTERFACE table. If this condition exists, you will receive a warning but
will be able to close the accounting period. These transactions are not in your inventory value.
However, after you close the period, these transactions cannot be processed because they have
a transaction date for a closed period.
Uncosted material transactions exist for this period
This message indicates you have material transactions in the MTL_MATERIAL_TRANSACTIONS
table with no accounting entries (Standard Costing) and no accounting entries and no costs
(Average Costing). You are unable to close the period with this condition. These transactions are
part of your inventory value. Closing the period in this situation is not allowed because the
resultant accounting entries would have a transaction date for a closed period, and never be
picked up by the period close or general ledger transfer process.
Pending move transactions for this period
COLLABORATE 12
Jeannie Dobney
Page 20
This message indicates you have unprocessed shop floor move transactions in the
WIP_MOVE_TXN_INTERFACE table. If this condition exists, you will receive a warning but will
be able to close the accounting period. These transactions are not in your work in process value.
However, after you close the period, these transactions cannot be processed because they have
a transaction date for a closed period.
Pending WIP costing transactions exist in this period
This message indicates you have unprocessed resource and overhead accounting transactions in
the WIP_COST_TXN_INTERFACE table. You are unable to close the period with this condition.
These transactions are in your work in process value, and awaiting further processing. Closing
the period in this situation is not allowed because the resulting accounting entries would have a
transaction date for a closed period, and never be picked up by the period close or general ledger
transfer process.
Note that there is a helpful MOS Note # 462657.1, explaining how to approach problem solving
for unprocessed resource and overhead accounting transactions in the
WIP_COST_TXN_INTERFACE table. The note applies to 11i but may be helpful in any case.
Remove the Transaction Dates and select Error (or No) in the Costed field
If the inquiry returns a row, there will only ever be 1 row as the cost manager for an organization stops
as soon as it finds the first transaction that errors.
To manually submit the transaction for costing:
click Tools ~ Select All
and then
click Tools ~ Submit All
COLLABORATE 12
Jeannie Dobney
Page 21
The error transaction will be re-processed the next time the Cost Manager runs (scheduled for every 5
minutes)
To find pending Resource transactions, use the Pending Transactions form and select Error in the
Process Flag field
COLLABORATE 12
Jeannie Dobney
Page 22
To resubmit:
Click Tools ~ Submit All
Save
You will see that this action resets the status to Pending and the next time the cost manager runs
these will be re-tried.
COLLABORATE 12
Jeannie Dobney
Page 23
The author wishes to express her gratitude to Wesfamers Resources Ltd for allowing her to share
their learning with the wider user community.
2
Don't Get Lost in the Labyrinth of Supplier Cost Flows into Projects by Dina Rotem & John Sasali,
presented at OAUG 2008 conference and available from the OAUG Conference paper database.
3
Refer also to Dinas blog entry on this http://www.projectp.com/weblog/tag/oracle-projectmanufacturing/
4
Oracle provide a reference manual on Cost Management, however if you are new to this area that
may not be a good starting point! Doug Volz (www.volzconsulting.com) is an excellent source of
helpful plain English material. There is also an excellent MOS Note 865438.1: How to resolve Costing
Errors & Problems for those struggling with pending transactions.
5
Understanding the transactional flow between Purchasing, Inventory and Work in Process and
Projects by Phil Miller and available from the OAUG Conference paper repository (refer specifically to
the PowerPoint presentation).
6
Refer to the Appendix for further detail on this topic
7
The author regrets that she has misplaced the source of this helpful diagram.
8
We logged an SR asking for the detail and Oracle provided us details of the views upon which the
Exception report is based however we had to read a lot of SQL before we decoded the meaning of
1 and 2...
9
To get a sense of this complexity, have a look at Dina Rotems excellent paper Don't Get Lost in
the Labyrinth of Supplier Cost Flows into Projects, referenced earlier and available through the OAUG
conference database.
10
Doug Volzs website is www.volzconsulting.com
11
This diagram is from an original presentation by Oracles Brian Devlin.
COLLABORATE 12
Jeannie Dobney
Page 24