The standard Oracle process of defaulting GL account types to "Expense".
If a user enters a new balance sheet account and description and saves,
the account is automatically saved with a valid but
incorrect account type. Incorrect account types can cause a BUNCH
of problems with year-end retained earnings processing, budget uploads
and OFA interfaces.
If the user does not specify a valid account type.
1) Sign on to the Application Developer responsibility:
a) Menu path Application->Validation->Quick Codes->Special
Use Find, select ACCOUNT_TYPE
Add a new account type "X" with a description of
"Invalid"
b) Menu path Flexfield->Key->Register
Use Find, specify Application of Oracle General
Ledger, hit Find button
Select Qualifiers button for Accounting Flexfield
Down
arrow to GL_Account, Change the default value from
Expense to "Invalid"
c) Menu path Application->Validation->Quick Codes->Special
Use Find, select ACCOUNT_TYPE Disable the
new account type "X"
2) For R10 installations (only), you must also connect to SQL*Plus (as
APPS) and create the following trigger.
Remember to update the value set ID specific to your installation.
If your installation has multiple sets of books, the when
clause may need to include multiple ID's. the trigger should
be named according to client's standards. This trigger
is NOT required in R11 since the Value Set Maintenance form
generates an error if the account type quick code is disabled.
/*+==========================================+|
| FILENAME: custom_fnd_flex_values_trg.sql|
+===========================================+
|| DESCRIPTION
| This trigger will generate an error if a
user attempts to
| create a main account without specifying
a valid acct type.
|
| MODIFICATION HISTORY - Created by ISS - 08/16/99|
*===========================================*/
CREATE OR REPLACE TRIGGER
CUSTOM_FND_FLEX_VALUES_TRGBEFORE INSERT ON FND_FLEX_VALUES
FOR EACH ROW
WHEN (new.flex_value_set_id = xxxxxxx)
DECLARE v_temp NUMBER(15);
BEGIN
IF :NEW.COMPILED_VALUE_ATTRIBUTES IS NULL THEN
FND_MESSAGE.SET_NAME('FND','Account Type');
FND_MESSAGE.SET_TOKEN
('Error','PLEASE ENTER A VALID ACCOUNT TYPE...');
APP_EXCEPTION.RAISE_EXCEPTION;
END IF;
IF SUBSTR(:NEW.COMPILED_VALUE_ATTRIBUTES,5,1) = 'X' THEN
FND_MESSAGE.SET_NAME('FND','Account Type');
FND_MESSAGE.SET_TOKEN
('Error','PLEASE ENTER A VALID ACCOUNT TYPE...');
APP_EXCEPTION.RAISE_EXCEPTION;
END IF;
END;
/
Return to : Oracle
Database, SQL, Application, Programming Tips