Saturday, August 11, 2012

APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.

APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.



I was working on Oracle Fixed Assets (OFA), it is better if I say I was working on  OFA  first time and I was unable to assign asset due to error 'APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.'. Later I figured out this error so I thought to share it with world in case if any beginner (like me) face this problem could sort it out here.Here we go:

Following is the navigation to the asset assignment:

Open the  Assets -> Asset workbench -> Assignments as shown below:
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.

APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.


APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.

In following form you can see 1 unit of this asset is located at 'PRODUCTION LIN2' and 'Units to Assign' is 0. Now I want to remove this assignment first so that 'Units to Assign' increased to 1 and then again I will assign to any other location (and I actually didn't know this :) )
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.

What I was doing I was entering new line without releasing the Units to existing Location. So when I entered new line then 'Units to Assign' decreased to -1.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
now when I pressed the 'Done' button it showed me error 'APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.' Error was somewhat self explanatory.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
To avoid this what I did, I removed the existing assignment  by putting value -1 in 'Unit Change' field so it removed the existing assignment and 'Unit to Assign' also increased to 0 which really make sense.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
Then I pressed 'Done' button and this time I done it. :)
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
To check the effect re-query the record.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.

APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.
APP-OFA-47294: Please finish assigning all units to assign to accounts and locations before saving.


Your feedback/comment is quite important for improving this blog so feel free to leave your comments & suggestions

Thursday, August 9, 2012

Oracle Asset Transfer

Oracle Asset Transfer

Asset transfer is a complex process and should not be entered into lightly, if your customer business is bit complex in nature. The complexity varies from companies to companies along with industry type.This post will briefly tells about Asset Transfer functionality of Oracle.
You may have three main business scenario's within Asset Transfer.
  1. Location Transfer without ownership change
  2. Location Transfer with ownership change
  3. Ownership Transfer without location change
In reality 1,2 is sort of intra Transfer of asset where as #3 is consider as Inter Transfer. Lets take a detail understanding what is meant and see key difference:


  •  Transfer Intra Entity

Assets are sometimes transferred between locations within the same entity. These are referred to as INTRA Entity transfers as opposed to INTER Entity transfers where the asset transfers between two entities.
Companies have requirement , when an asset is transferred Intra Entity the location of the asset changes. It is therefore necessary that those changes are identified and recorded in the Fixed Assets module for controlling the physical location of the asset.

  • Oracle Navigation

Navigation -> Assets -> Asset workbench -> Assignments
You can use Find Assets form to make a transfer of a particular asset.

  • Asset Transfers -Process

(N) Assets > Asset Workbench (B) Assignments
To get use of Intra Entity transfer which might be location change , you can transfer assets between employees, depreciation expense accounts, and locations. These are some of key things which you need to have a clarity:
  • You can change the transfer date to a date in a prior period for a particular transfer, but the transfer must occur within the current fiscal year
  • You can change the transfer date of an asset to a prior period only once per asset.
  • Oracle does not allow you to transfer an asset to a future period.
  • Oracle does not transfer an asset after its normal life is completed.
  • In the Unit Change field of the Assignments window, enter a negative number for the assignment line from which you want to transfer the asset. Enter a positive number if you want to add units to existing assignments or create new assignments. Only one negative line is allowed per transaction.
  • A journal entry is created as soon as an asset is transferred from one Depreciation Expense Account to another.

  •  Transfers - Inter Entity

In reality , Oracle Asset does not have a facility to transfer assets from one corporate book to another. For the purpose of understanding you can consider corporate book to be synonymous with legal entity. In order to transfer assets from one legal entity to another it is necessary to retire the asset in one corporate book and add it to the other corporate book.
In EBS, there is no standard functionality/process in FA for transfer assets Inter Entity.
The work around for handling such scenarios consist of 2 simple steps.
1) In Entity book(s)1 you need to adjust Current Cost = 0, retire the assets.
This will reverse all accumulated depreciation and have no gain/loss on the retirements passed to GL.
2) Add the assets to the new book(s)(entity 2) via FA_MASS_ADDITIONS or the Addition API.
Here you probably do not want to add with DEPRN_RESERVE values - just let FA re-establish the balances when you run depreciation and create JEs > GL.

  • How Transfer works

A tranfer is recorded as such in the FA_TRANSACTION_HEADERS table. The old and the new line is shown in the FA_DISTRIBUTION_HISTORY table and the journal lines are shown in FA_ADJUSTMENTS after depreciation is run. In FA_DEPRN_DETAIL you see a row with the old distribution_id and the new distribution_id in the period_counter of the transfer.

  • Asset Transfer API

You can get use the Oracle Transfer API's to add assets directly by writing a PL/SQL based driven program . The Transfer API FA_TRANSFER_PUB.DO_TRANSFER can be used .
Scenarios in Intra entity Transfer - Asset Accounting
Oracle Asset Transfer
Oracle Asset Transfer

Your feedback/comment is quite important for improving this blog so feel free to leave your comments & suggestions

Thursday, August 2, 2012

Oracle Exceptions

Oracle/PLSQL: Exception Handling



Oracle has a standard set of exceptions already named as follows:

Oracle Exception Name
Oracle Error
Explanation
DUP_VAL_ON_INDEX
ORA-00001
You tried to execute an INSERT or UPDATE statement that has created a duplicate value in a field restricted by a unique index.
TIMEOUT_ON_RESOURCE
ORA-00051
You were waiting for a resource and you timed out.
TRANSACTION_BACKED_OUT
ORA-00061
The remote portion of a transaction has rolled back.
INVALID_CURSOR
ORA-01001
You tried to reference a cursor that does not yet exist. This may have happened because you've executed a FETCH cursor or CLOSE cursor before OPENing the cursor.
NOT_LOGGED_ON
ORA-01012
You tried to execute a call to Oracle before logging in.
LOGIN_DENIED
ORA-01017
You tried to log into Oracle with an invalid username/password combination.
NO_DATA_FOUND
ORA-01403
You tried one of the following:
1.    You executed a SELECT INTO statement and no rows were returned.
2.    You referenced an uninitialized row in a table.
3.    You read past the end of file with the UTL_FILE package.
TOO_MANY_ROWS
ORA-01422
You tried to execute a SELECT INTO statement and more than one row was returned.
ZERO_DIVIDE
ORA-01476
You tried to divide a number by zero.
INVALID_NUMBER
ORA-01722
You tried to execute an SQL statement that tried to convert a string to a number, but it was unsuccessful.
STORAGE_ERROR
ORA-06500
You ran out of memory or memory was corrupted.
PROGRAM_ERROR
ORA-06501
This is a generic "Contact Oracle support" message because an internal problem was encountered.
VALUE_ERROR
ORA-06502
You tried to perform an operation and there was a error on a conversion, truncation, or invalid constraining of numeric or character data.
CURSOR_ALREADY_OPEN
ORA-06511
You tried to open a cursor that is already open.




Your feedback/comment is quite important for improving this blog so feel free to leave your comments & suggestions