Common Errors in Oracle Fusion Cost Accounting

Common Errors in Fusion Cost Accounting

The purpose of this Blog is to troubleshoot Create Cost Accounting Distributions Program or Cost Processor Errors
Submit the Create Cost Accounting Distributions Program from the UI. For how to submit cost processor program verify the document : How to Create Distributions Using the UI task Create Cost Accounting Distributions in Cost Accounting Work Area Note 2255861.1
Once submitted, the program can be monitored from the “scheduled Processes” window in the Navigator home page.

  • If the program successfully completes, the status of the program will change from Processing to Completed and then to Succeeded.
    • If the process ends in a status other than success, following steps detailed in the note below will help troubleshoot and identify the reasons for failure and suggest corrective actions.

How to Troubleshoot Create Cost Accounting Distributions Program or Cost Processor Note 2257853.1

Captured Exceptions


  1. ERROR : “The outgoing inventory transaction could not be costed because a perpetual average cost was not found”

SOLUTION : There are a few initial receipt transactions that did not come with a cost. Typically, initial receipts should have their own cost so as to establish the starting perpetual average cost. If the first transaction for an item is received with no cost, to identify a starting perpetual average cost for the item, Costing provides a way for users to designate a default cost element with zero cost so that these transactions can get processed at $0 cost. This is accomplished by leveraging the default cost component mapping in the Manage Cost Component Mappings setup
Setting Up Default Cost Component
1. Navigate to Setup and Maintenance and go to the All Tasks tab.
2. Search Name = Manage Cost Component Mappings and click the Go to Task icon.
3. Search for the Component Group used by the item’s cost profile.
4. In the Cost Component Codes tab, click the Add icon and enter:
-Cost Component Source = Predefined
-Set Name = Common Set
-Cost Component Code = DEFAULT_COST_COMPONENT
-Set the desired default Cost Element.
5. Make sure to repeat for all Component Groups being used for all the perpetual average costed items.
6. Rerun the Create Cost Accounting Distributions program.
reference Note 2019261.1
Cost Processor Errors : “The incoming inventory Transaction Could not be costed because an existing layer cost was not found to use as the actual cost of the item” “The outgoing inventory transaction could not be costed because there is no layer cost..” Note 2242665.1

  1. ERROR: “The incoming inventory transaction could not be costed because an existing layer cost was not found to use as the actual cost of the item”

Cost Accounting Process
Solution:
1. Review the transaction details as shown in the “review cost accounting processes” page against this error. Query by the latest create cost accounting process’ request-id
2. For a miscellaneous receipt transaction, XYZ is entered as use item cost but there is no existing cost for this item in the system. Hence the error.
3. If this is the first transaction for this item then there will not be any existing cost to be used. If you will have other transactions later on such as PO receipts for this item in the same Valuation, when that is costed the current transactions will be costed too so there is no need for anything to do now and when those transactions arrive to be costed, the existing transactions will be costed automatically with that cost.
4. Or create a cost of this item by using steps below:
a. create a new misc receipt but make sure that a cost is entered for this item while creating the misc receipt. for example,with a qty of 1. Use the same INV org, sub-inventory, etc that was used in the earlier transaction. The transaction bringing the cost must be created in the same valuation unit.
b. Run cost processor and it will use the cost entered. Once both transactions are costed, you can issue out the same qty as in step A so that the qty on hand is brought back to the correct level.
Cost Processor Errors : “The incoming inventory Transaction Could not be costed because an existing layer cost was not found to use as the actual cost of the item” “The outgoing inventory transaction could not be costed because there is no layer cost..” Note 2242665.1

  1. ERROR: “The standard cost for this transaction does not exist”

A standard Cost is expected for the item as per the setup in Cost Profile, however a standard cost is not found. Verify the Manage Standard Costs UI for the item and confirm if the standard cost and Cost Scenario is published.

  1. ERROR: “The transaction could not be processed because the receiving transaction information is missing”

This error occurs if the Receipt Accounting Processor did not capture the Receiving Transaction information . This is possible if the receipts are stuck in Create Receipt Accounting Distributions processor.
Correct the errors in the Create Receipt Accounting Distributions processor, and then run Create Cost Accounting Distributions Processor to correct this error.

  1. ERROR: “The costing period XXXXX for the transactions is not open”

This error happens when the Cost Date for the transaction is falling in a closed Costing period . Verify if the Costing Period is open from Manage Cost Accounting Periods UI. Make sure atleast one costing period is open , and the cut off date of the cost processor includes atleast one day in this cositng period.

To understand more about cost date and transactions dates  and how they work refer to Note 1304094.1 Fusion CST: FAQ Cost Cutoff Date – Cost Date – Transaction Date- Accounting Date

  1. ERROR: “The transaction period XXXXX is closed for general ledger”

This error happens when the GL period is not open but corresponding costing period is open for the transaction being processed. Have at least one GL period open when the Cost Processor is run for the ledger associated to the Cost Organization. If the Costing periods is open for the transaction date, close the costing period and run cost processor again, the GL date for the transactions will be moved to the new costing period and open GL period .
Forexample, Current system date is in March,  transaction was created in January, back dated. But Gl period for jan is closed and costing is open. But since GL is not open for January, the transaction is not getting processed, Unable to close the Jan costing period as the transaction is pending cost processing. To come out of this dead lock, close the january costing period by ignoring the pending tranaction validation and closing the costing period. this will ensure that costing will now sweep these transactions to March and it will costed and accounted in March. Now, based on what GL period is open, the transaction will be processed in that GL period.

To avoid such issues in the future, ensure subledger periods like Costing, should be closed first before closing the corresponding GL period.

To understand more about cost date and transactions dates and how they work refer to Note 1304094.1 Fusion CST: FAQ Cost Cutoff Date – Cost Date – Transaction Date- Accounting Date

  1. ERROR: “Issue transaction was put on hold to avoid generating negative inventory”
    8. ERROR: “Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities”
    ERROR: “Issue transaction was processed to zero quantity with remaining quantities put on hold”

“Issue transaction was put on hold to avoid generating negative inventory” : CST_QTYFL_NEVER_PENDING
“Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities” : CST_CPROC_UNRESOLVED_NEG_INV

Errors 7 and 8 above, are related to same root cause. Both these messages are related to the same cause :inventory on-hand is not available in costing to complete cost processing. This is mainly seen for inventory depletion transactions like : miscellaneous issue, sales order issues, sales order picks resulting in a move order, subinventory transfers and interorg transfer:issue leg

The cost profile option, “Process Negative Quantity” will determine whether it is error# 7 or 8 . The transaction will be available in Review Cost Accounting Distributions UI with different message displayed on Transaction Errors tab depending on this setup.

  1. when cost profile is NEVER               : Issue transaction is not processed at all and this error is raised : “Issue transaction was put on hold to avoid generating negative inventory”
  2. when cost profile option is ALWAYS  : System processes the issue transaction based on the current inventory cost of the item even if it cant find a depletion layer to fulfill the issue and raises a warning message: “”Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities”. After costing the transaction “partially”, with depletion layers in cst_cost_layers is not processed fully. However the status of the transaction is ” Fully Costed “:with depletion layers missing or partially updated.
  3. There is a third option “to zero” , when this is set the error message is “Issue transaction was processed to zero quantity with remaining quantities put on hold”

In all these cases, any subsequent related transactions of transfers like the Receipt of the transfer or WIP return etc will not be Processed and the cost status will be “not processed” with error message : “The transfer receipt cannot be costed until the issue transaction is fully processed with sufficient on-hand quantity.” or “The in-transit receipt does not have an issue cost” or just ” The Receipt is missing a cost”

In the first case, the transaction is not costed and the transaction errors tab will show the error message :”Issue transaction was put on hold to avoid generating negative inventory”
In the second case, the transaction will be costed, but not all distributions will be created created and the cost layer creation is not complete. The Transaction Errors tab will have warning type of message :”Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities”

This error happens when the cost profile linked to the item and the valuation unit ( Asset or Expense) does not have on hand. This on hand calculation is different from Inventory Onhand -> Item On hand Quantities Detail page.

Review following note to confirm the issue is not related to Asset/expense flag on the subinventory : “Issue transaction was put on hold to avoid generating negative inventory” CST_QTYFL_NEVER_PENDING Note 2187643.1

For other cases follow below section :”SOLUTION for both these error types ( 7 through 10 )”

  1. ERROR “The transfer receipt cannot be costed until the issue transaction is fully processed with sufficient on-hand quantity”

Cost Accounting Distributions program
For the errors discussed above related to negative inventory onhand (7 &8):

ERROR: “Issue transaction was put on hold to avoid generating negative inventory” : CST_QTYFL_NEVER_PENDING

ERROR: “Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities” : CST_CPROC_UNRESOLVED_NEG_INV

If the issue transaction is a transfer transaction the corresponding receipt will fail with error “The transfer receipt cannot be costed until the issue transaction is fully processed with sufficient on-hand quantity” in Transaction Errors tab in Review Cost Accounting Distributions UI.

If the issue transaction is a WIP Issue, the corresponding WIP Return will also be not processed with above error message .

  1. ERROR: “The receipt is missing a cost”

This error is seen for WIP completion transactions where system is unable to calculate the cost of the finished good item on the Work order so it can cost the completions of the work order. The cost for the finished item can be derived based on the setup on cost profile for Provisional Completions , if this is @ standard cost, then system expects standard cost to be defined and published for the transaction date. If this is @ average cost, then the finished good item should have a average cost brought in via  a WIP close or any other average cost receipt ( misc receipt/po receipt) transaction and this will be used as current perp. average cost of the item to process the provisional completions ( before work order close). Refer Cost Processor Errors With The Receipt is Missing a Cost For Work Orders Note 2245288.1

The related receipt transactions of these issue transactions will error with :”The transfer receipt cannot be costed until the issue transaction is fully processed with sufficient on-hand quantity” for the Trade events ( Trade Instransit Receipt and Trade Instransit issue )
The Trade Instransit Receipt event will not be processed with error : “The in-transit receipt does not have an issue cost” as displayed in Transaction Errors tab in Review Cost Accounting Distributions UI.

The cause of the issue is that inventory processed the transactions without any errors, but costing could not process the issue transaction and the related receipt transactions fully because there is no depletion layers to be found for the issue transaction. Creating miscellaneous receipts will help process these transactions and give the missing depletion layers to proceed. Once these are processed, the material can be issued out if it is in the same valuation unit to maintain onhand balance. Or may be review further on how these transactions were created in inventory when no onhand was available. The inventory organization level setup for “allow negative onhand” does not stop transactions from processing in inventory because at the org level the item might have onhand and costing checked onhand balance at the Valuation Unit level and not organization level. Hence transaction will be processed in Inventory but fails in costing.

The Receipt Is Missing A Cost For Work In Process Material Return Transaction Note 2294631.1

Cost Processor Errors With The Receipt is Missing a Cost For Work Orders Note 2245288.1

The following enhancement bug is logged for this error for WIP Return transactions being stuck : Bug 28224130 – ALLOW WIP RETURN TXNS TO PROCESS WHEN WIP ISSUE IS COSTED BUT NOT FULLY DEPLETED

SOLUTION for all these error types ( 7 through 10 ) :

Identify missing onhand :

1) For the list of transactions with the error :

select transaction_date, transaction_id, transaction_quantity,inventory_item_id, organization_id,TRANSACTION_TYPE_ID,TRANSACTION_ACTION_ID,
TRANSACTION_SOURCE_TYPE_ID from inv_material_txns where
transaction_id in (select cte.external_system_ref_id from cst_transaction_errors cte, cst_cp_errors ce where cte.cp_error_id = ce.cp_error_id and ce.ERROR_CODE in ( ‘CST_CPROC_UNRESOLVED_NEG_INV’,’CST_QTYFL_NEVER_PENDING’) and ce.request_id = ‘&latest_request_id_of_cost_processor’)

2) For each item id returned above , run below and see the quantity onhand. it should be more than zero incase of transfers since this will also include the Receipt transaction for the transfer , zero is not good enough.

select sum(transaction_quantity) from inv_material_txns where
INVENTORY_ITEM_ID=&inv_item_id and organization_id = &inv_org_id and transaction_date <=
to_date(‘&transaction_date_from_above_query’,’YYYY-MM-DD HH24:MI:SS’)
order by transaction_date desc

You can input the transaction date to be the latest cost cut of date. Doing this will show you any transactions that were created to bring onhand that could supply the depletions needed by the issue. However, these transactions should be independent of the issue in questions , it cannot be the related receipt transaction. To verify this , its better to go one by one and check the transaction ids that brought in quantity after this transaction . Generally incase of transfers the issue and receipt transactions have same quantity with sign reversed . But in case of WIP return and WIP Issue this may not be the case .

3) To check this in the UI,

Review completed transactions, query with to_ transaction date ending in July last date ( per UTC timezone) and from_transaction date from the beginning for the specific item number.

To get item number use : select item_number from egp_system_items_b where inventory_item_id = &inv_item_id

Export the transactions in XL and review the sum total excluding the receipt transaction of the transfer that is not yet processed .

For example for -2 with x transaction_id, exclude the + 2 which is the receipt for same transfer transaction.
So excluding 2 of the receipt leg of the transfer, the sum total of transaction quantity should be more than or equal to 2 to able to deplete from your onhand balance for the org. Only then costing will be able to process the issue transaction completely. and then process the receipt .

Business Reason :  check with end user on how 2 onhand was issued on the transfer transaction when there was no onhand.

Create  Misc Receipt and Issue and process transfers :

Check the issue transaction and check available onhand, create misc receipt for the quantity on the issue for a date that is within the cut off date for the cost processor  and process the transfer issue transactions fully so that the message is resolved :”Issue transaction was put on hold to avoid generating negative inventory” or “Issue transaction is fully costed but not yet fully depleted due to unresolved negative inventory quantities” which ever is applicable.

Run Transfer Transactions from Inventory to Costing after creating miscellaneous receipts to replenish missing depletions, then run Cost Processor that includes the transaction date of the miscellaneous receipt. Only after the miscellaneous receipt is processed, will the transaction be costed fully.

If the miscellaneous receipt helps process the corresponding receipt transactions which brings the quantity back in the same valuation unit , then issue out the miscellaneous quantities to balance onhand .

If this does not bring the quantity back into the same valuation unit , identify the missing onhand using below queries for these Issue Transactions and see why onhand was not available for the issue transaction.

The following ER is logged to improve error handling for these errors:

Bug 26709856 – ER : NEED ADDTIONAL UI HELP TO RESOLVE NEGATIVE ONHAND QUANTITY RELATED ERRORS

  1. ERROR : “Distributions were not created for the COGS transaction”

Error code : CST_DPROC_UNCOSTED_COGS_TXN

This error is seen for Sales Order Cogs transactions that could not be costed because the related sales order issue could not be costed. The Sales order issue transaction is failing with error “The outgoing inventory transaction could not be costed because there is no layer cost for the item”. And the transaction that brought the layer used for sales order depletions is also not costed due to no actual cost found .

Review below notes for more information related to the error :

Cost Processor Errors : “Distributions Were Not Created For The COGS Transaction” “The outgoing inventory transaction could not be costed because there is no layer cost for the item”  Note 2374018.1

Cost Processor Errors : “The incoming inventory Transaction Could not be costed because an existing layer cost was not found to use as the actual cost of the item” “The outgoing inventory transaction could not be costed because there is no layer cost..” Note 2242665.1

  1. ERROR: “The transaction could not be interfaced as the corresponding work order or operation information does not exist in the source system”

 If in 18c, Refer to Cost Processor Errors with : “The transaction could not be interfaced as the corresponding work order or operation information does not exist in the source system.” (Doc ID 2481940.1)

Earlier versions: Create Cost Accounting Distributions Leading Space Errors (Doc ID 2347236.1)

Un-captured Exceptions

  1. ERROR: ESS Job Result: BP:ERROR: Process rolled back and aborted due to SQL Exception on CstPreProcessor/qppInsertTxfrSuppressionErrors: ORA-01400: cannot insert NULL into (“FUSION”.”CST_PREP_ERRORS_GT”.”ERROR_CODE”)

Note 2201301.1 Create Cost Accounting Distribution Completing in Error SQL Exception on CstPreProcessor/qppInsertTxfrSuppressionErrors: ORA-01400: cannot insert NULL into (“FUSION”.”cst_prep_errors_gt”.”E

The cause of the issue is that some of the items processed by the cost processor are not assigned to validation org given for the cost org in Cost org relationships UI setup page.
This is usually because inventory item master org is not same as the validation org given in costing setup (Manage Cost Organization relationship UI) and some of the items processed by cost processor are not assigned to the validation org.

VALIDATION_ORGANIZATION_ID MASTER_ORGANIZATION_ID

select distinct inventory_item_id from cst_inv_transactions cit where not exists (select 1 from egp_system_items_b it where it.inventory_item_id = cit.inventory_item_id and it.organization_id in (select VALIDATION_ORGANIZATION_ID from cst_cost_org_parameters where cost_org_id in ( select organization_id from hr_organization_units_f_tl where name = ‘&cost_org_code_from_program_outfile_run_control’ ) ))

Use the inventory item id list from the above SQL in below to get the item number :

select item_number,organization_id from egp_system_items_b where inventory_item_id = &inventory_item_id

Validation org assigned to the cost org, make sure this validation org is listed in the above sql item id , org id list :

select VALIDATION_ORGANIZATION_ID from cst_cost_org_parameters where cost_org_id in ( select organization_id from hr_organization_units_f_tl where name = ‘&cost_org_code_from_program_outfile_run_control’ )

  1. ERROR: CostProcessorEss: ESS Job Result: CstPreProcessor/qppUpdateTxnGroupsForTradeEventsInCit4InvTxnId: ORA-01652: unable to extend temp segment by 128 in tablespace FUSION_TEMP

Refer Create Cost Accounting Distributions Is Ending ERROR: ORA-01652: unable to extend temp segment by 128 in tablespace FUSION_TEMP” from the log file Note 2308813.1


  1. ERROR : ESS Job Result: BP:ERROR: Process rolled back and aborted due to SQL Exception on ProcessAPInterface/insertAutoAccrualForAccrClr: ORA-00001: unique constraint (FUSION.CMR_AUTO_ACCRUAL_CLR_DTLS_PK) violated moveAPData() failed due to an unknown Exception.

Fusion CST: Create Cost Accounting Distributions Fails With Preprocessor Failure Note 2006073.1


  1. ERROR: FND_CMN_PROC_INTERNAL_ERROR

This is a performance issue . when the load is too high and server is unable to respond the following error is thrown, please refer to the performance section on How to Troubleshoot Create Cost Accounting Distributions Program or Cost Processor Note 2257853.1


  1. ERROR: Request XXXXX completed in error. Error Msg: CstPreProcessor/qppUpdateTxnGroupsForTradeEventsInCit4InvTxnId:ORA-01555: snapshot too old: rollback segment number 35 with name “_SYSSMU35_1304902523$” too small

This is a performance issue . when the load is too high and server is unable to respond the following error is thrown, please refer to the performance section on How to Troubleshoot Create Cost Accounting Distributions Program or Cost Processor Note 2257853.1

  1. ValidatePeriodEss: ESS Job Result: BP:ERROR: Process rolled back and aborted due to SQL Exception on ValidatePeriod/uncostedCTCTxns: ORA-01555: snapshot too old: rollback segment number 101 with name “_SYSSMU101_1105271941$” too small

By looking at the log the error appears to be raised due to uncosted transactions. Please make sure that re-run all the cost processes in sequence and recheck the issue

Leave a comment


    Call +91-8908 123 123 (IND) / +971-509 303 123 (UAE) if you want to talk to us right now.

      Open chat