Sie sind auf Seite 1von 46

Statistics Collection Enhancements Muhammad Rafi Aamiri Madani on Monday, June 30, 2008

Pending Statistics

In previous database versions, new optimizer statistics were automatically published when they were gathered. In 11g this is still the default action, but you now have the option of keeping the newly gathered statistics in a pending state until you choose to publish them.

The DBMS_STATS.GET_PREFS function allows you to check 'PUBLISH' attribute to see if statistics are automatically published. The default value of TRUE means they are automatically published, while FALSE indicates they are held in a pending state.

SQL> SELECT DBMS_STATS.get_prefs('PUBLISH') FROM dual; DBMS_STATS.GET_PREFS('PUBLISH') ------------------------------------------TRUE

1 row selected.

The 'PUBLISH' attribute is reset using the DBMS_STATS.SET_TABLE_PREFS procedure.

-- New statistics for SCOTT.EMP are kept in a pending state. EXEC DBMS_STATS.set_table_prefs('SCOTT', 'EMP', 'PUBLISH', 'false');

-- New statistics for SCOTT.EMP are published immediately. EXEC DBMS_STATS.set_table_prefs('SCOTT', 'EMP', 'PUBLISH', 'true');

Pending statistics are visible using the [DBAALLUSER]_TAB_PENDING_STATS and [DBAALLUSER]_IND_PENDING_STATS views.

The DBMS_STATS package allows you to publish or delete pending statistics, as show below.

-- Publish all pending statistics. EXEC DBMS_STATS.publish_pending_stats(NULL, NULL);

-- Publish pending statistics for a specific object. EXEC DBMS_STATS.publish_pending_stats('SCOTT','EMP');

-- Delete pending statistics for a specific object. EXEC DBMS_STATS.delete_pending_stats('SCOTT','EMP');

The optimizer is capable of using pending statistics if the OPTIMIZER_PENDING_STATISTICS initialization parameter, which defaults to FALSE, is set to TRUE. Setting this parameter to TRUE at session level allows you to test the impact of pending statistics before publishing them.

ALTER SESSION SET OPTIMIZER_PENDING_STATISTICS=TRUE;

Pending statistics can be transfered between database by exporting this using the DBMS_STATS.EXPORT_PENDING_STATS procedure.

Extended Statistics

Multi-Column StatisticsIndividual column statistics are fine for working out the selectivity of a specific column in a where clause, but when the where clause includes multiple columns from the same table, the individual column statistics provide no indication of the relationship between the columns. This makes working out the selectivity of the column group very difficult.

Oracle uses workload analysis to generate column groups, but they can also be manipulated manually using the DBMS_STATS package. The CREATE_EXTENDED_STATS procedure is use to explicitly create multi-column statistics.

-- Create a columnn group based on EMP(JOB,DEPTNO). DECLARE l_cg_name VARCHAR2(30); BEGIN l_cg_name := DBMS_STATS.create_extended_stats(ownname => 'SCOTT', tabname => 'EMP', extension => '(JOB,DEPTNO)'); END;

PL/SQL procedure successfully completed.

The column group name is returned using the SHOW_EXTENDED_STATS_NAME function.

-- Display the name of the columnn group. SELECT DBMS_STATS.show_extended_stats_name(ownname => 'SCOTT', tabname => 'EMP', extension =>'(JOB,DEPTNO)')AS cg_name FROM dual;

CG_NAME -----------------------------SYS_STU3VG629OEYG6FN0EKTGV_HQ6

1 row selected.

Manually created column groups can be deleted using the DROP_EXTENDED_STATS procedure.

-- Drop the columnn group. BEGIN dbms_stats.drop_extended_stats(ownname => 'SCOTT', tabname => 'EMP', extension => '(JOB,DEPTNO)'); END; /

PL/SQL procedure successfully completed.

Setting the METHOD_OPT parameter to "FOR ALL COLUMNS SIZE AUTO" allows the GATHER_% procedures to gather statistics on all existing column groups for the specified object.

BEGIN DBMS_STATS.gather_table_stats(

'SCOTT', 'EMP', method_opt => 'for all columns size auto'); END; / Alternatively, set the METHOD_OPT parameter to "FOR COLUMNS (column-list)" and the group will automatically be created during the statistics gathering. BEGIN DBMS_STATS.gather_table_stats( 'SCOTT', 'EMP', method_opt => 'for columns (job,mgr)'); END; / The [DBAALLUSER]_STAT_EXTENSIONS views display information about the multi-column statistics. COLUMN extension FORMAT A30

SELECT extension_name, extension FROM dba_stat_extensions WHERE table_name = 'EMP'; EXTENSION_NAME EXTENSION ------------------------------ -----------------------------SYS_STU3VG629OEYG6FN0EKTGV_HQ6 ("JOB","DEPTNO") SYS_STULPA1A#B6YL4KQ59DQO3OADQ ("JOB","MGR") 2 rows selected.

COLUMN col_group FORMAT A30

SELECT e.extension col_group, t.num_distinct, t.histogram FROM dba_stat_extensions e JOIN dba_tab_col_statistics t ON e.extension_name=t.column_name AND t.table_name = 'EMP';

COL_GROUP NUM_DISTINCT HISTOGRAM ------------------------------ ------------ --------------("JOB","DEPTNO") 9 FREQUENCY ("JOB","MGR") 8 FREQUENCY

2 rows selected. Expression Statistics The optimizer has no idea what the affect of applying a function to column has on the selectivity of the column. Using a similar method to multi-column statistics, we can gather expression statistics to provide more information. Expression statistics can be created explicitly using the CREATE_EXTENDED_STATS procedure, or implicitly by specifying the expression in the METHOD_OPT parameter of the GATHER_% procedures when gathering statistics. DECLARE l_cg_name VARCHAR2(30); BEGIN -- Explicitly created. l_cg_name := DBMS_STATS.create_extended_stats(ownname => 'SCOTT', tabname => 'EMP', extension => '(LOWER(ENAME))'); -- Implicitly created. DBMS_STATS.gather_table_stats( 'SCOTT', 'EMP', method_opt => 'for columns (upper(ename))'); END; / Setting the METHOD_OPT parameter to "FOR ALL COLUMNS SIZE AUTO" allows the GATHER_% procedures to gather existing expression statistics. BEGIN DBMS_STATS.gather_table_stats( 'SCOTT', 'EMP', method_opt => 'for all columns size auto'); END; /

The [DBAALLUSER]_STAT_EXTENSIONS views display information about the expression statistics, as well as the multi-column statistics. COLUMN extension FORMAT A30 SELECT extension_name, extension FROM dba_stat_extensions WHERE table_name = 'EMP'; EXTENSION_NAME EXTENSION ------------------------------ -----------------------------SYS_STU3VG629OEYG6FN0EKTGV_HQ6 ("JOB","DEPTNO") SYS_STULPA1A#B6YL4KQ59DQO3OADQ ("JOB","MGR") SYS_STU2JLSDWQAFJHQST7$QK81_YB (LOWER("ENAME")) SYS_STUOK75YSL165W#_X8GUYL0A1X (UPPER("ENAME")) 4 rows selected.

SQL>

COLUMN col_group FORMAT A30

SELECT e.extension col_group, t.num_distinct, t.histogram FROM dba_stat_extensions e JOIN dba_tab_col_statistics t ON e.extension_name=t.column_name AND t.table_name = 'EMP';

COL_GROUP NUM_DISTINCT HISTOGRAM ------------------------------ ------------ --------------("JOB","DEPTNO") 9 NONE ("JOB","MGR") 8 NONE (LOWER("ENAME")) 14 NONE (UPPER("ENAME")) 14 NONE

4 rows selected. Expression statistics are dropped using the DROP_EXTENDED_STATS procedure. -- Drop the columnn group. BEGIN

dbms_stats.drop_extended_stats(ownname => 'SCOTT', tabname => 'EMP', extension => '(UPPER(ENAME))'); END; / PL/SQL procedure successfully completed.

Enhanced Statistics Collection for Partitioned Objects

Oracle 11g includes improvements to statistics collection for partitioned objects so untouched partitions are not rescanned. This significantly increases the speed of statistics collection on large tables where some of the partitions contain static data. Where partition exchange load (PEL) is used to add data to the a table, only the newly added partition must be scanned to update the global statistics. Posted by Muhammad Rafi Aamiri Madani

Reactions:

Email ThisBlogThis!Share to TwitterShare to Facebook Labels : Oracle 11g

Diagnoise Forms Using Trace Muhammad Rafi Aamiri Madani on Saturday, February 7, 2009

Some times we need to diagnose the issue or error coming in forms. For such situation we need to get more information about the issue we are facing in forms. One of the best way to get such information is using tracing.

Many types of tracing are available in forms. We will discuss couple of methods for enabling the tracing and see how that can help us in diagnosing the issue.

Enabling SQL Tracing First we see how to enable a normal SQL tracing. In my case I have a forms where I am entering few values and then saving the form. This will have some insert and updates command in the backend which will get executed when we save the form. SQL tracing is used to track those DML queries to debug the issue. When we open the form we can

see on the menu option

Help -> Diagnostic -> Trace -> Here we have many options available (default is No Trace). We can enable tracing by selecing on of the options from here. Regular Trace gives the least information and Trace with Binds and Waits (level 12) gives maximum information. Be careful while enabling SQL trace with wait and binds as this will make the trace file huge.

Also we can start the tracing in the middle of forms sessions also. Example in my case I wanted to check the last insert/update DML statements that gets fired when we save the form. So after we fill all the values in the fields, we can start the tracing so that the initial select statement does not come in trace file.

When we enable the trace it will give the trace file location (This location will be the location of USER_DUMP_DESTINATION parameter of database). After you save the form you can stop tracing by selecting No Trace again from Help -> Diagnostic -> Trace -> No Trace

Use tkprof to covert trace file in readable format. -bash-2.05b$ tkprof md9ys210_ora_20412_MFG.trcoutput = trace_sql.txt TKPROF: Release 10.2.0.4.0 - Production on Mon Jul 28 23:54:31 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. -bash-2.05b$

Enabling Forms Tracing Another way for debugging is to enable tracing at forms level for a particular user. This method is also explained in metalink note ID 373548.1. By default, it will trace errors only. To utilize the full flexibility of Forms Trace, the record=forms parameter must be used in conjunction with the tracegroup parameter. Applications Development has created several recommended levels of tracing, which are predefined in the file $ORA_CONFIG_HOME/10.1.2/forms/server/ftrace.cfg

light (0-71,192): Records user actions, error messages and form service events. medium (0-97,192,194,195): Includes events in the light tracegroup also captures built-in and user-exit events. full (0-98,100-199): Captures all information that is currently available through Forms Tracing. dbsql (32,64,98,100,101,136,137,192): All events related to the database and forms interaction with it network (64,32,128,129,131,130,132,133,134,192): All events related to communications between client tier and Forms server.

In my case I am enabling the tracing for SQLs. Please follow below steps to enable form level tracing. 1. Sign on to Oracle Applications as a user with the System Administrator responsibility. 2. Select the System Administrator responsibility.

3. Select the Profile -> System function (this will launch Forms). 4. Search for the Applications user and the profile option Forms Runtime Parameters. 5. Add the required parameters, using the syntax: record=forms tracegroup=dbsqlYou can use any other value also for tracegroup depending on your requirement. Examples: record=forms tracegroup=medium Note the space between the parameter/value pairs. 6. Commit the changes and log out of Applications. 7. Restart the Forms OC4J group using either adformsctl.sh (servlet) or adformsrvctl.sh (socket). 8. Log in to Applications as the user whose Forms Runtime Parameters profile option was amended. Before doing this, metalink note ID also mention to append record=forms at the end of ICX: Forms Launcher profile for that user. Example http://rafi.oracle.com:8080/forms/frmservlet?record=forms

But when I tried that I got following error. FRM-90926: Duplicate Parameter on command line. So I removed record=forms and I was able to generate the trace files without any issue. This may be some issue with my instance. Once you set the profile Forms Runtime Parameters, bounce the forms and try to accecss forms, it will generate a trace file at the location defined by FORMS_TRACE_DIR. After you finish the navigation in form and exit, your trace file will get created FORMS_TRACE_DIR location. This file will be in binary format and cannot be read. You need to convert this into .txt or .html format using following command java -cp $ORACLE_HOME/forms/java/frmxlate.jar oracle.forms.diagnostics.Xlate datafile=forms_8842.trc outputfile=forms_trace1.html outputclass=WriteOutHTML

Here, datafile=forms_8842.trc is the name of trace file that got created due to activities on forms. outputfile=forms_trace1.html is the name of output file that will get created. You can use html or .txt outputclass=WriteOutHTML parameter decides if the output file should be HTML or TXT.

If you use just WriteOut then output file will be TXT. If you use WriteOutHTML then output file will be HTML. Posted by Muhammad Rafi Aamiri Madani

Tables of ADPATCH Utility Muhammad Rafi Aamiri Madani on Tuesday, February 17, 2009

AD_APPL_TOPS This table holds the various APPL-TOPs in the Oracle Applications installation that have ever been patched.

AD_APPLIED_PATCHES AD_APPLIED_PATCHES holds information about the distinct Oracle Applications patches that have been applied. If 2 patches happen to have the same name but are different in content (eg. merged patches), then they are considered distinct and this table will therefore hold 2 records.

AD_BUGS AD_BUGS holds information about the various Oracle Applications bugs whose fixes have been applied (ie. patched) in the Oracle Applications installation.

AD_PATCH_DRIVERS This table holds information about the patch drivers that comprise a patch.

AD_FILE_VERSIONS This table holds the various versions of Oracle Applications files (real files, not pseudo-files), that have ever been patched or executed in the Oracle Applications installation.

AD_FILES AD_FILES is the files repository. It contains information about the various files that have been patched in the Oracle Applications installation. Some entries are pseudo-files and not real files, (eg. directories) in which case some of the columns are not applicable and would then hold the value DUMMY

AD_PATCH_DRIVER_LANGS NLS patches (or more specifically, NLS patch drivers) pertain to a language or multiple languages. This table holds that language (or multiple languages).

AD_PATCH_DRIVER_MINIPKS This table holds information about the various Mini Packs contained in a patch (driver)

AD_PATCH_RUN_BUG_ACTIONS holds the various actions present in applied bug (fix). If Autopatch determined not to apply a bug (fix), then this table will not hold any records for that unapplied bug fix.

AD_PATCH_RUN_BUG_ACTIONS

Even though a patch may have been applied on an Oracle Applications installation, some actions in some of its included bugs (fixes) may not have got executed if the Autopatch utility determined that it was not necessary to execute those actions. In such cases, EXECUTED_FLAG is set to N.

AD_PATCH_RUN_BUGS This table holds information about the bugs fixed in a specific run of Autopatch. AD_PATCH_RUN_BUGS holds information about the various bugs fixed in a specific run of Autopatch. Even though a patch may have been applied on an Oracle Applications installation, some bugs (fixes) contained in it may not get applied due to some reason. In such cases, the REASON_NOT_APPLIED column holds the reason.

AD_PATCH_RUNS AD_PATCH_RUNS holds information about the various invocations of Autopatch for applying Oracle Applications patches to a specific release of an Oracle Applications installation.

If multiple drivers are run in one invocation of Autopatch, they result in multiple records in this table. These multiple records will all have the same SESSION_ID (because they arose from one Autopatch invocation), but different TASK_NUMBERs. The TASK_NUMBERs in this case will be numbered sequentially as 1, 2, 3, etc.

Note that when the database driver of a Maintenance Pack is applied, it bumps up the release version by creating a new record in AD_RELEASES, which is then pointed to by the UPDATED_TO_RELEASE_ID column of the old record.

AD_RELEASES AD_RELEASES holds the various Oracle Applications releases that an installation of Oracle Applications has gone through in its entire life cycle.

It should be noted that START_DATE_ACTIVE, END_DATE_ACTIVE and BASE_RELEASE_FLAG are looselymaintained informational columns and are not accurately maintained, and therefore should not be relied upon heavily.

AD_PATCH_COMMON_ACTIONS This table holds distinct information about the various actions that are (often repeatedly) performed by Autopatch as part of applying patches. Posted by Muhammad Rafi Aamiri Madani Compiling JSP Pages in APPS Muhammad Rafi Aamiri Madani on Wednesday, February 18, 2009

Step 1 - Copy the jsp file to $COMMON_TOP/webapps/oacore/html (this location translates to $OA_HTML). Placing the file under $OA_HTML enables end users to access the file using the url http://hostname.domain:port/OA_HTML/[jspfile.jsp] Step 2 - export PATH=$PATH:$FND_TOP/patch/115/bin Step 3 - ojspCompile.pl -compile -s [jspfile.jsp]

There is no need to bounce apache server after compiling the file to access the new content.

Below is the command line help for ojspCompile.pl command ojspCompile.jsp command help syntax: ./ojspCompile.pl COMMAND {ARGS}COMMAND compile update dependency, compile delta create rebuild entire dependency file delta.out update dependency, list delta to file dep.out update dependency, output heirarchy to file

ARGS -s matching condition for JSPs filenames p number of parallel compilations- log to override logfile from ojspCompile.conf It is recommended to set the log file location outside of any network file system shared (NFS) area/drive. conf to override ojspCompile.conf retry retry previously failed compilation attempts flush forces recompilation of all parent JSPs quiet do not provide an actively running progress meter fast instantly fail jsps that are *possibly* invalid example1 : ojspCompile.pl compile -s jtf% -p 20 retry example2 : ojspCompile.pl compile -s jtflogin.jsp,jtfavald.jsp flush example3 : ojspCompile.pl compile fast quiet Posted by Muhammad Rafi Aamiri Madani

Overview of Auto Invoice

Muhammad Rafi Aamiri Madani on Saturday, February 21, 2009

AutoInvoice is a program which is used to import and validate transaction data from other financial systems from which one can create

INVOICES DEBIT MEMOS CREDIT MEMOS ON-ACCOUNT CREDITS


Features of Auto Invoice Program

Supports Oracle & Non-Oracle Systems Import Large Amount of Data Calculate or Import Tax Group Lines & Invoices Online Error Correction Lines Validation Derive GL Date Import Flex fields

AutoInvoice is a program set consists of 3 main programs. Each program will have unique nature of work to do and they are called internally except Purge program whose execution is derived on the setup otherwise ready to execute stand alone. Master (RAXMTR) Import (RAXTRX) Purge (RAXDEL)

Auto Invoice Master program RAXMTR

Selects and marks records in the interface tables to be processed based on the parameters the user entered and then calls the AutoInvoice Import program. Auto Invoice Master program has no report output. Gathers statistics, it means it gathers the stats on interface tables and set the stats on certain indices on interface tables Marks interface records for processing by marking request_id

Submits multiple workers for Parallel Processing by creating instances for request.

Auto Invoice Import Program

Validates the selected record and creates transaction if it passes validation. Any record that fails validation is left in the interface table with an error code. Depending on the setup, related records may be rejected as well. This program has an output file called Auto Invoice Execution report, which we can view by clicking the View Report button in the Requests window. Working of Auto invoice , Validates data, Inserts records, Deletes interface data Only when system option purge set to Y

Auto Invoice Purge Program

Deletes records from the interface tables. If you set the Purge Interface Table system option to No in Define System Option window, Auto Invoice does not delete processed records from the interface tables after each run, and we must submit Auto Invoice Purge Program periodically to clean up the interface tables. This program only deletes transaction lines that have been successfully imported. Deletes all rows where interface_status =P Ra_interface_lines Ra_interface_distributions Ra_interface_salescredits Oracle Receivables Auto Invoice program will be used to import and validate Invoices. A custom feeder program is required to transfer data from the Advantage extract files and populate the Auto Invoice interface tables (RA_INTERFACE_LINES_ALL and RA_INTERFACE_DISTRIBUTIONS_ALL). If there is need to run populate sales credit into RA_INTERFACE_SALESCREDITS_ALL table. When run, AutoInvoice produces the AutoInvoice Execution Report and the AutoInvoice Validation Report. Any entries which failed validation can be reviewed in Oracle Receivables AutoInvoice Interface Exceptions window. Depending on the error, changes may need to be made in Receivables, the feeder program or the imported records in the interface tables. How Autoinvoice Execution works

Normally, Auto Invoice can be divided into three major phases, Pre-grouping : here the validates all of the line level data takes place Grouping : groups lines based on the grouping rules and validates header level data Transfer : validates information that exists in Receivables tables

What happen when AutoInvoice run?

Once the Auto invoice Program gets called, the following activity takes place is part of execution process. This can be analyzed by debug options. Line, accounting, and sales credit information for each line populates three interface tablesLines are ordered and groupedTax is calculatedGL date is determinedGL accounts are assigned using Auto AccountingTax, freight, commitments, and credit memos are linked to transaction linesAll transactions are batchedValidated lines are used to create the transaction.

Flow of Data

Select, insert and update and delete take place on certain tables once it is logged out. Selects RA_INTERFACE_LINES_ALL RA_INTERFACE_DISTRIBUTIONS_ALL RA_INTERFACE_SALESCREDITS_ALL

Updates/Insert RA_INTERFACE_ERRORS_ALL RA_CUSTOMER_TRX_ALL RA_CUSTOMER_TRX_LINES_ALL AR_PAYMENT_SCHEDULES_ALL AR_RECEIVABLE_APPLICATIONS_ALL

Inserts RA_INTERFACE_ERRORS_ALL AutoInvoice Exception Handling Records that fail validation are called Exceptions. Exceptions stay in Interface Tables which is RA_INTERFACE_ERRORS_ALL. Errors can be corrected in the Exception Handling window. Once corrections are made, Auto invoice must be resubmitted. Records that pass validation get transferred to Receivables tables

AutoInvoice Exception Handling Windows

-Interface Exception window displays exception messages associated with all invalid records -Interface Lines window displays records that fail validation, provides an error message and can be used to correct the errors -The Line Errors windows displays errors associated with a specific line, and can only be opened from Interface Lines window -Interface Exceptions window displays Interface Id, Exception Type, Error Message and Invalid Value associated to the error -Data cannot be edited in this window, but error can be viewed and corrected by clicking the Details button

-Error Message and Column name with invalid data are displayed in the Message column, and the invalid value that needs to be corrected is displayed in the Invalid Value column Posted by Muhammad Rafi Aamiri Madani

Submit the Concurrent Program from backend Muhammad Rafi Aamiri Madani on Thursday, February 26, 2009

The following is the Sample Code to Submit the Concurrent Programfrom the backend.

Note:- This is the Concurrent Program, not the RequestSet. To Submit the Request Set from the backend, We have different API.

DECLARE l_success NUMBER; BEGIN BEGIN

fnd_global.apps_initialize( user_id=> 2572694, resp_id => 50407, resp_appl_id => 20003);

-- If you are directlyrunning from the database using the TOAD, SQL-NAVIGATOR or SQL*PLUS etc. Then you need to Initialize the Apps. -- In thiscase use the above API to Initialize the APPS. If you are using same code insome procedure and running directly fromapplication then you don't need to initalize. -- Thenyou can comment the above API.

l_success:= fnd_request.submit_request ('XXAPP',-- Application Short name of the Concurrent Program. 'XXPRO_RPT', --Program Short Name. 'Program For testing the backendReport', -- Descriptionof the Program. SYSDATE, --Submitted date. Always give the SYSDATE. FALSE, --Always give the FLASE. '1234' --Passing the Value to the First Parameter of the report.

); COMMIT;

--Note:- In theabove request Run, I have created the Report, which has one parameter.

IFl_success = 0 THEN -- fnd_file.put_line(fnd_file.LOG, 'Request submission For this store FAILED' ); DBMS_OUTPUT.PUT_LINE('Request submission For this store FAILED' ); ELSE -- fnd_file.put_line(fnd_file.LOG, 'Request submission for this store SUCCESSFUL'); DBMS_OUTPUT.PUT_LINE('Request submission For this store SUCCESSFUL' ); ENDIF;

--Note:- If you arerunning directly from database, use DBMS API to display. --If you are running directly fromApplication, then Use the fnd_file API to write themessage in the log file.

END;

Write message in Log or Out file Muhammad Rafi Aamiri Madani on Thursday, February 26, 2009

PROCEDURE write(p_type IN VARCHAR2, p_message IN VARCHAR2)IS /************************************************************************ Purpose : Procedure writes to the log file or output file based on type. O=Output File, L=Log File *************************************************************************/ BEGIN IF p_type = 'L' THEN fnd_file.put_line (fnd_file.log, p_message); ELSIF p_type = 'O' THEN fnd_file.put_line (fnd_file.output, p_message);

END IF; END write; The above write procedure can be used in other Procedure/Function in the package to write any information in the Log or Out files. PROCEDURE main(errbuf OUT VARCHAR2, retcode OUT NUMBER, p_par1 IN NUMBER) IS v_errbuf VARCHAR2(1000) := NULL; v_retcode NUMBER := 0; v_file_name VARCHAR2(100); BEGIN v_retcode := 0; v_file_name := fnd_profile.value('XYZ'); IF v_file_name IS NULL THEN write('O','Profile XYZ is not defined or the value is not set'); retcode := 2; RETURN; END IF; END; Note:- In the above Procedure, I am using the write Procedure and returning 2 for the retcode (0 - Complete, 1Warning and 2 will be for Error). This is one time process and you will realise, how much helpful it will be when ever you have to right something in log or out file. Posted by Muhammad Rafi Aamiri Madani

Create accounitng and transfer JE's to GL using SLA Muhammad Rafi Aamiri Madani on Wednesday, March 4, 2009

I Create Accounting Program

The Create Accounting program processes eligible accounting events to create subledger journal entries. To create the subledger journal entries, the Create Accounting program applies application accounting definitions that are created in the Accounting Methods Builder (AMB).

The Create Accounting program,

Validates and creates subledger journal entries Optionally transfers the journal entries to GL Optionally posts the journal entries in GL Generates the Subledger Accounting Program Report, which documents the results of the Create Accounting program

Draft Accounting

When you select draft accounting, Subledger Accounting creates the relevant journal entries in draft mode. Draft entries are not posted to General Ledger. You can review the resulting entries, update the transactions, or update the accounting rules. Any changes will be reflected when the transaction is processed again for accounting.

Online Accounting (Final)

Final entries are ready to be transferred to General Ledger and cannot be modified. The transactions are considered as processed for accounting. Any changes to the rules will not impact final entries.

Straight-Through Accounting (Final - Post)

If you select Final Post, Subledger Accounting posts the journal entries all the way through to General Ledger. This means that you can update GL balances straight from the invoice entry (or any other transaction entry) window.

Create Accounting Program

The Create Accounting program creates subledger journal entries. In general, the parameters described in the table above determine which accounting events are processed. Navigation Paths (example Payables) Payables: Other > Requests > Run Receivables: View > Requests (B) Submit a New Request

Paramaters

1. Ledger - Required; limits accounting events selected for processing to those of a particular ledger. This program is run for primary ledgers or valuation method enabled secondary ledgers. Any reporting currency or secondary ledger associated with the selected primary ledger is also processed; i.e. entries are generated for the selected primary as well as reporting currencies and non-valuation method secondaries.

2. Process Category - Optional; restricts the events selected for accounting to a particular process category. For example, Invoices.

3. End Date - Required; end date for the Create Accounting program; processes only those events with event dates on or before the end date

4. Mode (Draft/Final) - Required; determines whether the subledger journal entries are created in Draft or Final mode

5. Errors Only (Yes/No) - Required; limits the creation of accounting to those events for which accounting has previously failed

6. Report (Summary/Detail/No Report) - Required; determines whether to generate a report showing the results of the Subledger Accounting program in summary or detail format

7. Transfer to General Ledger (Yes/No) - Required if Mode is set to Final; determines whether to transfer the subledger journal entries to General Ledger

8. Post in General Ledger (Yes/No) - Required if Mode is set to Final; determines whether to post subledger journal entries in General Ledger

9. General Ledger Batch Name - Optional; user-entered batch name that appears on the transferred General Ledger subledger journal entries. Transfer to GL option must be set to Yes.

10. Include User Transaction Identifiers (Yes/No) - Required; controls whether the report displays user identifiers' names and values.

Create Accounting Program

The Create Accounting program generates one or more accounting programs depending on the volume to be processed. The Subledger Accounting Program report is generated by the Create Accounting program and documents the results of the Create Accounting program. It lists the following:

Successful events and the subledger journal entries created for those events Errors for failed events

You can run the report in summary, detail, or no report mode which are described as follows: Summary mode provides a summary of events processed and detailed information about their errors. Detail mode provides details of subledger journal entries generated from the processing of completed events and a detailed error report. No report mode will show an error count without actually generating the report.

II Transfer Journal Entries to GL Program

The Transfer Journal Entries to GL program enables you to transfer any eligible journal entries to General Ledger, including those from previous runs that have not yet been transferred to General Ledger.

Note: This program is used if you run accounting online in Final mode (not Final Post) or if you run the Create Accounting program and set the Transfer to GL parameter to No.

The only reason you would want to run the Create Accounting program and set the Transfer to GL parameter to No is if you want to run accounting at different intervals than the GL transfer, for example, you may run accounting every hour but only transfer to GL nightly.

The Transfer Journal Entries to GL program consists of a subset of parameters used in the Create Accounting program as listed below: Ledger Process Category End Date Post in General Ledger General Ledger Batch Name

III Oracle Subledger Accounting Program Report

The Subledger Accounting Program Report is generated by the Create Accounting program and lists the following:

Successful events and the subledger journal entries created for those events Errors for failed events

You can run the report in summary or detail mode as follows: Summary mode provides a summary of events processed and detailed information about any errors. Detail mode provides details of subledger journal entries generated from the processing of completed events and a

detailed error report.

Transfer Journal Entries to GL Report

The Transfer Journal Entries to GL report is generated by the Transfer Journal Entries to GL program and lists the following:

Transfer to GL Summary Errors

Setting Profile Options The profile options listed above relate to data access and security and impact how accounting is generated through SLA in R12.

1. SLA: Enable Subledger Transaction Security in GL Use this profile option to combine subledger transactions security with data access security for General Ledger responsibilities when drilling down to multi-organization enabled subledger application. Transaction security in the respective subledger application is always applied when drilling down from subledger transactions to subledger journal entries.

2. SLA: Enable Data Access Security in Subledger This profile option determines whether the General Ledger Access Set security mechanism is applied for a subledger application responsibility when viewing, reporting, or creating subledger journal entries associated with a given ledger. The General Ledger Access Set security mechanism is always applied for responsibilities associated with the General Ledger application. The profile option enables you to combine data access security with subledger transaction security and therefore control access to subledger journal entries depending on the ledger to which they belong. For example, you can implement a Multi-Org Security Profile that allows you to create Oracle Receivables Invoices for two different operating units each associated with different ledgers but restrict drill-down from the subledger transaction to the associated subledger journal entry based upon the destination ledger contained in the Access Set.

3. SLA: Additional Data Access Set The SLA: Additional Data Access Set profile option, in conjunction with the GL: Data Access Set profile option, controls which ledgers and balancing or management segment values you can access when logging onto a responsibility. If SLA: Enable Data Access Security in Subledgers is enabled for the responsibility, you have access only to the ledgers and balancing or management segment values included in the data access sets assigned to the SLA: Additional Data Access Set and GL: Data Access Set profile options.

4. SLA: Allow Reports Journal Source Override This profile option applies only to the following reports: -Open Account Balances Listing -Third Party Balances Report Enable this option to change the Journal Source parameter during report submission. If the option is set to No, then you cannot change the value defaulted during report submission. For example: Should the general ledger data access set security be enforced when generating accounting? For example, should journal entries be created if the user does not have ledger clearance even if they may have multiorg access to the operating unit? Should the transaction security model be applied when drilling down from GL? For example, should the user be allowed to inquire on journal entries of certain operating units if they do not have MO access, but have ledger clearance? If there are secondary ledgers and data access set security is enforced in the subledger module, then an additional data access set needs to be assigned to the user to enable access to the secondary ledger. Should the user be able to run certain reports across data from multiple subledger applications? Posted by Muhammad Rafi Aamiri Madani

Configure and use Credit Card Chargeback features Muhammad Rafi Aamiri Madani on Wednesday, March 4, 2009

Credit Card Chargeback

A credit card chargeback takes place when a credit card holder disputes a charge with the credit card company (e.g. VISA) and the credit card company issues a chargeback to the customer for the disputed amount and notifies the vendor that they have issued a chargeback to the customer.

A cardholder can request a charge back for many reasons including, but not limited to:

Charges for undelivered goods Charges for goods or services different from what was ordered or if they received the wrong quantity of the goods or services ordered. Charges for goods that were not timely delivered

In release 11i, we already have the functionality for the vendor to issue a chargeback directly to the customer. The customer can however also request a chargeback from the credit card issuer, so in release 12 - we are introducing the functionality for the vendor to also be able to register and process a chargeback that a card issuer has already issued to the customer.

Benefits: Reduce costs by automating the credit card chargeback process

Credit Card Chargeback Process

After having received the credit card chargeback notification from the card issuers, the vendor will:

Find the receipt for which the chargeback was requested. Un-apply the application line and subtract the amount of the credit card chargeback. Apply the credit card chargeback activity on a new application line on the receipt. This automatically generates a negative miscellaneous receipt to the value of the chargeback.

If the vendor finds the chargeback to be valid, the vendor creates a credit memo to credit the invoice with the amount charged back.

If the vendor can prove to the credit card company that the chargeback was not valid, the vendor reverses the application of the credit card chargeback by:

Finding the receipt Un-applying the credit card chargeback activity from the receipt. This automatically reverses the negative miscellaneous receipt Restoring the original amount on the application line.

It is important to understand how our new Credit Card Chargeback functionality differs from the Credit Card Refunds we already have in 11i:

Credit card refunds: The merchant needs to refund the customer. So the negative misc. receipt must be remitted. Credit card chargebacks: The customer has already received the chargeback, so the vendor will just need to record that a chargeback has taken place. The purpose of the misc. receipt is just to keep the accounting in place.

Business Process Steps

The business process that takes place when a credit card chargeback needs to be recorded is a three step process:

1.The vendor receives the receipt, records it and applies it to the invoice. 2.The vendor receives the Credit Card Chargeback notification and records the credit card chargeback by applying the credit card chargeback to the receipt 3.The vendor then needs to investigate if the Credit Card Chargeback is valid or not.

Based on the outcome, the vendor can choose to either:

-Acknowledge the credit card chargeback and credit the invoice, or -Prove that the credit card chargeback was not valid, and after acknowledgement un-apply the credit card chargeback from the receipt

Credit Card Chargeback Process Receive Receipt

Example: A customer visits a web store and orders goods for $100 using their credit card The credit card company authorizes the payment and notifies the vendor of the receipt of $100 The vendor processes the receipt and applies it to the invoice. Please note that there are no changes in how these activities are carried out in R12. Lets now take a look at the credit card chargeback process.

The customer receives the goods, but finds that goods for $25 are missing. The customer files a dispute with the credit card company for $25 The credit card company credits the customer $25 and notifies the vendor that a chargeback of $25 has taken place. The vendor applies the credit card chargeback to the receipt which generates a miscellaneous receipt to decrease cash with $25 Here we can see how the clearing account for the receivable activity of type Credit Card Chargeback is used. It gets credited when the credit card charge back is applied and gets debited when the misc. receipt is generated.

Accounting Entries

Un-apply the receipt DR Receivables $25 CR Unapplied $25

Apply the credit card chargeback DR Unapplied $25 CR Credit Card Chargeback $25

Misc. receipt is generated DR Credit Card Chargeback $25 CR Cash $25

Chargeback Process for Vendor: 1.Find receipt 2.Un-apply the receipt 3.Decrease the value on the receipt application line to $75 4.Apply $25 to receipt activity Credit Card Chargeback (creates a negative misc. receipt of $25)

Validate Credit Card Chargeback

After the vendor has analyzed the credit card chargeback, the vendor can find the credit chargeback to be either valid or invalid.

The vendor can now either:

Acknowledge the credit card charge back and credit the invoice. Prove to the credit card company that the credit card chargeback was invalid and un-apply the credit card chargeback from the receipt once it has been acknowledged by the credit card company that the credit card chargeback was invalid.

If the vendor acknowledges the credit card chargeback, the vendor simply credits the invoice by creating a credit memo for $25.

Credit the invoice by creating a credit memo

DR Revenue $25 CR Receivables $25

Vendor proves the chargeback to be invalid:

Un-apply the credit card chargeback DR Credit Card Chargeback $25 CR Unapplied $25

Misc. receipt is automatically reversed DR Cash $25 CR Credit Card Chargeback $25

Reapply the receipt DR Unapplied $25 CR Receivables $25

Credit Card Chargeback Setup

Responsibility: Receivables Navigation: Receipts > Receipts > (B) Apply > Applications > (B) Chargeback Release 12 comes with the seeded Receivables Activity Type of Credit Card Chargeback.

The only setup step required is to create a new receivables activity of type credit card chargeback and specify the GL clearing account for the new activity.

Note: Only one activity of this type can be active. Posted by Muhammad Rafi Aamiri Madani

Self Assessed Tax in Oracle Payables Muhammad Rafi Aamiri Madani on Thursday, March 5, 2009

Self-Assed Tax

Self Assessed tax differs from regular taxes in one way: as a purchaser, you are responsible for reporting and paying the tax and the supplier is not. This was also known as USE TAX in previous releases.

For example, You receive an invoice for $1000 which is due to be paid to the supplier. Tax A for 10% was not charged on the invoice however, as the purchaser, you recognize that you are responsible to pay tax A. You would self-assess Tax A for the $100 and include it in your filings to the corresponding tax authority.

Features

The flexibility to have self assessed tax automatically assessed (based on tax setup) or to manually mark the calculated tax as self assessed during invoice entry. An ability to have recoverable and non-recoverable portions of self assessed tax amounts based on your invoice details. The ability to report and account detailed recoverable and non-recoverable self assessed tax AND the corresponding Self Assessed Tax Liabilities when the transaction is accounted.

Benefits

Improved Fiscal Discipline Automatic reporting and accrual helps maintain an audit trail for the tax amounts and the invoices they tie to. Separate liability accounts for self assessed taxes translate to more granular and accurate accounting.

Improved Operational Excellence By automating previously manual processes and providing functionality available during invoice entry, the propensity for human error or delayed information is reduced.

Self Assessed Tax Predetermined Process

During Invoice Entry, Validation, and Import, Payables gathers information known as tax drivers entered on the invoice header and lines and passes that information to the new E-Business Tax module. Based on these tax drivers and additional information derived by E-Business Tax such as the suppliers party tax profile and buyers and suppliers tax registrations, the engine determines if any self assessed tax is applicable to the invoice. The self assessed tax will be passed back to Payables along with the recoverable and non-recoverable tax amounts

and the General Ledger Accounts for the recoverable tax and self assessed liability. Payables displays the self assessed tax amount in a column on the Invoice header in the Invoice Workbench. Payables will also derive the accounts for the non-recoverable portion of the self assessed tax then store all accounts to be used later when the invoice is accounted. When the Invoice is Accounted, the self assessed tax and corresponding self assessed tax liabilities will be accounted along with the rest of the invoice.

Self Assessed Tax Manual Determination Process

This slide illustrates the process for an invoice where the calculated tax returned by the E-Business Tax engine is expected to be paid to the supplier and the Payables user updates the it as Self Assessed instead. Just like the first example, Payables gathers tax drivers entered on the invoice header and lines and passes that information to the E-Business Tax module. Based on these tax drivers and additional information derived by E-Business Tax, the engine calculates the tax that is expected to be paid to the supplier (in other words: Non-self assessed taxes) Self Assessed Tax: Predetermined Set Up First Party, Party Tax Profile

To enable the application to automatically assess self assessed taxes for the First Party or for certain Third Party Suppliers, you need to first set up the Party Tax Profile. The Party Tax Profile is party specific, tax related information that can be associated to 1st and 3rd parties. It includes information such as defaults, tax registrations, classifications and tax reporting codes. Using the Tax Managers responsibility, navigate to the Parties, Party Tax Profiles page. Search based on the Party Type of First Party Legal Establishment and the desired party name.

You have the flexibility to configure First Party Establishments for Self Assessed Taxes at the following levels based on your needs: Registration, Regime Registration, Regime, Tax Registration, Regime, Tax, Tax Jurisdiction From the Tax Summary Window, the Payables user marks the tax as self assessed. E-Business Tax updates their records and returns the tax details to Payables. Payables stores the GL Accounts, displays the self assessed tax amount in a column on the Invoice header and the validated invoice is ready for accounting. Self Assessed Tax: Predetermined Set Up First Party, Party Tax Profile

Enable Self Assessment on the Party Tax Profiles tab By checking the Set for Self Assessment/Reverse Charge option at a particular level, E-Business Tax returns applicable taxes for supplier invoices that fall within the level

For example, if you enable this option at the Registration Regime level, all invoices to be taxed within that regime will be considered Self Assessed tax You can also set up a particular suppliers Party Tax Profile by doing either of the following: Use the Tax Managers responsibility to query a Third Party Navigate to the Tax Details page from the Supplier (Entry) pages from the Payables Responsibility

Implementation Considerations

E-Business Tax is a common module available with Oracle Financial Applications. The E-Business Tax engine is responsible for calculating tax amounts applicable to invoices. It also assists in automatically identifying taxes as self assessed and allows setting options for manual determination. Subledger Accounting is also a common module available with Oracle Financial Applications. Subledger Accounting is not specific to this feature but a general tool to configure accounting entries and to provide accounting reports to meet your needs. Posted by Muhammad Rafi Aamiri Madani

Balance Forward Billing in Oracle AR Muhammad Rafi Aamiri Madani on Thursday, March 5, 2009

Balance Forward Billing

Balance Forward Billing replaces Consolidated Billing feature with enhancements to bill creation and presentation.

Billing Cycles -Billing cycles are no longer just monthly. Easily create daily, weekly, monthly, bi-monthly, quarterly, and annual billings -Bill on specific days of the month. User can not only specify the day of the month for the billing date, or even multiple days like every 15th and last day of month. User can also elect to bill on a specific day of the week, such as every Friday. -Choose to exclude weekends. User can skip weekends when determining billing dates, so billing dates only fall on workdays -For importing transactions with specific dates, there is an External Billing Cycle

Consolidate invoices at different customer levels

Activity can be consolidated across account sites, or by each billing site. This means one bill can be sent for each billing location, or a single bill can be sent incorporating all invoices for that customer account within an organization

Not all billing sites for a customer must consolidate their invoices. A site can be excluded from the account level bill. If a site prefers to receive individual invoices, that site can be excluded from the Balance Forward bill.

Specific invoices can be excluded from the Balance Forward Bill. By changing the payment term on an invoice, it can be printed separately

Enhanced viewing and printing

Balance Forward Billing integrates with Oracle Bill Management, which provides formats with a more appealing layout that can be easily modified. In 11i, there are five consolidated bill programs. The new feature consolidates these programs into three.

Benefits

1. Flexibility

In 11i, you had to choose between consolidating all invoices for a customer into one monthly bill, or printing all invoices separately. Plus, if you needed different billing formats that meant customizing print layouts.

Now you have expanded billing periods definition by using the new billing cycle concept; varied levels of consolidation; the ability to exclude specific invoices, and unlimited formats that are easily created and maintained and selected automatically by a rules engine

2. Clearer communication with the customer

User views the balance forward bill online exactly as the customer sees it

3. Accurate Aging

In 11i Consolidated Billing, the payment term assigned to the transaction was ignored if consolidated billing was enabled. This meant that the due date on an individual invoice may be different then on the consolidated bill if the

payment term assigned to the invoice was different than the default payment term assigned to the customer. Aging is based on due date of the individual invoice, while payment due date was based on the payment term assigned to the customer. This caused aging to be out of sync with bills due date. Now all Invoices that are consolidated on the same bill have the same payment term and due date, guaranteeing the individual invoices will age simultaneously.

Setup and Process

The key setup steps are:

1.Define a Billing Cycle 2.Define or update the Payment term and assign it the Billing Cycle 3.Enable Balance Forward Billing for customers wishing consolidated bills at either the site or account level.

The process is then executed as follows:

1.Enter transactions or import them using AutoInvoice or Transaction API

2.Run the Generate Balance Forward Bill Program to create the bills as either draft or final, or set it up to run automatically The generate program will kick off the print program in BPA to create either draft or final bills. In Draft format, they can be reviewed before sending. If the process is mature, you may elect to run Generate Balance Forward Bill Program in the create Final Bill format. In which case, the BPA program will create final bills.

3.If you create bills in draft mode, you can either reject or accept the bills using the Confirm Balance Forward Bills Program. You can choose to reprint draft bills via the BPA Print Program by selecting the concurrent request ID.

Balance Forward Billing Setup - Define Billing Cycle

Responsibility: Receivables

Navigation: Setup:Print > Balance Forward Billing Cycles

For Daily, you can pick the number of days before the next bill. Also choose whether to include weekends in the number of days. For example, you can choose a daily cycle that is every 5 days, not including weekends in the daily count.

For Weekly, you can pick the number of weeks before the next bill. Also, choose the day of the week the bill will be created. For example, you can choose bi-weekly billing that occurs every other Friday.

Balance Forward Billing Setup - Define Billing Cycle

For the monthly cycle, choose the number of months before the next bill. For example, choose 3 months if you need quarterly billing, or 6 months if you need bi-annual billing.

Also choose the day of the month to create the bill. This option allows you to choose more than one date so billing can occur bi-monthly on the same days each month. For example, you can set it so billing occurs on the 15th and last of day of each month.

By choosing Type of Day, you can elect to create the bills only on the workdays Monday through Friday. When you chose Exclude Saturdays and Sundays, if the billing date falls on a Saturday or Sunday, the billing date automatically changes to the date of the following Monday.

Balance Forward Billing Setup - Define Payment Term

Responsibility: Receivables

Navigation: Setup : Transactions > Payment Terms

Billing Cycle is a new attribute of the Payment term and must be assigned to the payment term to process balance forward billing. This field is not updateable if the payment term has been used.

Cutoff Date information is now setup on the billing cycle, therefore the Cutoff Date block has been removed from the payment term setup window.

The payment schedule dates:

-Due Date is calculated based on the cycle and billing date therefore, the Due Date is not enterable for Balance Forward Bills -The Due Days field can indicate how many days after the billing date the bill is due for daily and weekly cycles -Day of Month and Months ahead can be used with the Monthly billing cycle. It is recommended that these only be used when a single bill day is used otherwise the due date will be the same for all the bills created during the calendar month.

After a balance forward billing payment term has been attached to a customer profile, the cycle will not be updateable.

Existing payment terms cannot be updated to balance forward billing payment terms and vice versa.

Consolidated or Proxima billing terms created in 11i will automatically be updated to balance forward billing payment terms.

Balance Forward Billing Setup - Customer Profile Class

Responsibility: Receivables

Navigation: Customers > Profile Classes

The customer profile class can be updated with the Balance Forward Billing information, which can then default to the profile on the customer account record.

This region replaces the Consolidated Bill region in 11i.

The Enable Checkbox must be checked to select a payment term with a Balance Forward Billing cycle.

Balance Forward Bills can be created in summary or detail format: summary is at invoice total level; detail is at the invoice line level. Imported is used for the Imported Billing Number feature that was introduced in 11i.

-Note: The default print formats use this customer profile. If you do not want to use this option, you can create rules in BPA to ignore this value. When creating a rule, use the attribute Display Format to look at the value in this field.

The Payment Term field allows you to choose either a Balance Forward if the Enabled checkbox is selected, or a Non-balance forward term if the Enable checkbox is not selected.

The Override Terms checkbox means that the default Balance Forward bill payment term on an invoice can be changed. You can only select a non-balance forward payment term if you are overriding the default. Changing the payment term on the invoice means that you do not want this invoice to be included on the bill.

Note: This is different functionality then 11i Consolidated billing which included all in voices on the bill regardless of the payment term assigned if consolidated billing was enabled.

Oracle BPA Rules Setup

Rules in BPA determine which template is used for printing and viewing Balance Forward Bills. Rules are created and then the templates get assigned to them.

If you wish to have similar functionality as was provided by Consolidated Billing, use the default rules delivered with the feature. If you wish to create new BPA rules, and you want to use the Summary/Detail Type assigned to the customer profile option, use the BPA attribute called Display Format.

BPA uses the following information to create the default rules:

-The Primary Data Source must be Oracle Receivables Balance Forward. Use this source when creating your own BPA rules. -There are two Default rules: 1) one rule uses the attribute Display Format = Detail, 2) another rule uses the attribute Display Format = Summary -These rules are then included in the rule hierarchy. -Templates are assigned to each of rules. You can use the delivered summary and detail templates provided by BPA, or create and use your own templates

When you run Generate Balance Forward Bills, BPA looks at the customer profile for the value assigned to the Summary/Detail Type to determine which template to choose. Posted by Muhammad Rafi Aamiri Madani Overview of HRMS Muhammad Rafi Aamiri Madani on Friday, March 6, 2009

Oracle Applications for Human Resources enable an organization to hire, train, and deploy, assess, motivate and reward its people more effectively than ever before, turning HR into a strategic-level function and key contributor to an organization's success. By automating its administrative duties, providing self-service for non-HR professionals, and managing information more efficiently, HR professionals can devote their energy and creativity to delivering the maximum value for the organization's investment in people. The Oracle HRMS application modules include: Oracle Human Resources Oracle Payroll Oracle Training Administration Oracle Time Management Delivering Integrated HRMS Functionality The Oracle HRMS applications are part of the integrated, enterprise-wide solution Oracle ebusiness Suite for information management that includes software for managing finance, sales and marketing, the supply chain and manufacturing. The HRMS software, for example, is linked to the financial applications to streamline such processes as employee compensation and managing training costs and expenditures. All the Oracle HRMS applications use the Oracle database as their single source of information, which eliminates data redundancy, reduces the possibility of conflicting data in different databases, and creates a consistent, complete, reliable picture of every employee.

All the Oracle HRMS applications offer a sophisticated, easy-to-use graphical user interface to give users fast, easy access to all HR data. The intuitive windowing, mouse actions, icons, and built-in drill downs allow transactions and inquiries to flow naturally and quickly. Everyone involved in managing a workforce benefits from easy access to the information needed to make timely and informed decisions. Oracle Human Resources Oracle Human Resources is a proactive management solution that helps control costs while developing and supporting an effective workforce for the enterprise. Oracle HR can be configured to match the organization's business objectives and processes and be automated to complete a variety of tasks including: organization and position control, recruitment processing, employee profiling, career development and the management of compensation and benefit policies. Implementing these practices can help turn HR departments into a strategic function that is highly valued within the enterprise. Oracle Training Administration Oracle Training Administration ensures that the organization improves the abilities of its employees or external

students to meet current and future objectives in a cost-effective and targeted way. The module allows organizations to manage any event-based development activities which improve skills, such as remote site learning, work experience, formal class tuition, external seminars and conferences. Training events can be scheduled and tracked based on many combinations of criteria. In addition, enrollment information can be extensively tracked so that student competencies are available for career planning as well as candidate placements, performance appraisals, and other activities. Oracle Training Administration is fully integrated with Oracle Human Resources and the Oracle Financials applications to enable organizations to harness training delivery to the skill requirements of jobs and positions. Oracle Payroll Oracle Payroll is a high-performance, graphical, rules-based payroll management system designed to keep pace with the changing needs of the enterprise and its workforce. Each company's unique payroll requirements demand the ability to configure its payroll solution without losing the benefits of a standard, supported package. Oracle Payroll offers that capability via a unique, data-driven approach that enables organizations to define and manage its diverse payroll requirements.

Oracle Time Management Time collection and processing is a complex and time consuming task that must be 100 percent accurate to generate a correct paycheck. Automated, accurate time management can benefit other functions within an organization. Oracle Time Management enables organizations to manage complex pay structures, track total hours worked, job classifications, vacation time, and a range of company and union pay organization.

It provides an automated and/or manual time collection interface that directly accepts, consolidates, and processes employee time against employer-specific parameters and legal requirements ("organization. Ot permits an employer to monitor any violation of its rules and take appropriate steps to resolve the problem prior to incurring further inefficiencies and/or the production of an inaccurate organization. On addition, earning policies can be created that apply to groups of people such as union workers, temps, full-time and part-time organization.

Oracle Time Management ensures that the correct number of time entries and hours are received from remote locations, which in turn produces a valuable analysis of employee productivity.

Advantages Each module is designed to deliver key benefits that reflect the most current thinking in the HR field.

a. Best Practice in HR Management The HRMS modules cover all the functions an HR department performs to enable more efficient management of HR procedures, saving time and decreasing organization. Ohe applications are structured around proven procedures, yet allow organizations to make modifications to suit its unique organization. This flexibility is vital to effectively manage the HR function, enabling organizations to choose best practices as it sees fit, without having them imposed on its existing HR procedures.

b. Rapid Business Policy Adoption The Oracle HRMS applications make it easy for organizations to change HR practices to reflect changes in business policy, regulations, and organization. Ohanges can be implemented through the rules-based payroll engine, business events defined with workflow functions, and flexibility of data access and data entry is ensured for increased organization. Configuration puts real choice in the hands of the day-to-day user by enabling them to make changes quickly and implement them immediately. c. Direct Access Oracle understands both the HR function and the possibilities of the organization. Oirect access is about providing a low-cost, convenient solution to multiple audiences within the organization on demand; this greatly improves the service the HR department provides and frees them up to deliver strategic value to the organization.

Then employees themselves can conveniently access records to perform such tasks as updating personal information or completing self-assessment forms, HR staff members have more time to devote to such tasks as strategic planning, defining core competencies, and creating more effective incentive organization. Complementing Oracle HRMS applications enables the HR staff to provide more autonomy to employees while retaining control over information and ensuring the organization complies with all organization. This process of "consultative HR" positions the HR department as an information provider and involves employees in planning and shaping their careers.

d. Competency-Based Skills Improvements The applications take a competency-driven approach to managing human organization. Ohe Oracle HRMS system supplies individual knowledge and skills information to enable users to properly position employees within the organization, with a close fit between an employee's competencies and the requirements of a organization. Oy providing a framework for the HR department to hire, train, and compensate employees based on competency and performance, Oracle HRMS applications improve the capacity of the HR group to help meet enterprise goals.

e. Global Reach on a Global Foundation Oracle recognizes the importance of building multinational capabilities into business-critical organization. Oesigned from the start with a global perspective, Oracle HRMS software is localized to the currency structure, taxation policies, and reporting conventions of the United States, United Kingdom, Canada, Japan, and parts of organization. Oracle works with local employees and partners to ensure the HRMS applications accurately reflect not only the legislative requirements of each country, but also the HR processes commonly practiced, different methods of inputting and using data, language differences, different policy rules, and cultural differences.

f. Rapid Response to Industry Trends The Oracle HRMS applications offer unparalleled flexibility, which derives from the structure of the organization. Each module consists of a set of "core" functions, which are used by the majority of HR departments, regardless of their organization or organization. Oround that core, Oracle adds a layer of other functions, which allows for a rapid response to industry trends that affect any or all organization. Ohe result is that all users benefit from powerful core functionality and users in specific industries benefit, such as the government sector,from custom enhancements.

Unique Features and Benefits Easy-to-use Configuration Options -- There are many configuration options to tailor the features and functions of the organization. Oonfigurations are easy to perform via a Forms interface; they are fully supported by Oracle, preserved when upgraded, and date-effective so they can be changed as needs change. Configuration options allow users to specify access to forms, define security functions that control information available to different users, create menus that facilitate user navigation, and create forms that display data on groups of people, assignments or events in easily updated lists, among other choices. Web applications can be configured directly for display on Web screens.

Web-based Administrative Automation -- By increasing self-sufficiency and empowering employees to manage personal HR information, Oracle's Web-based applications benefit organizations in a variety of ways, including: automating business rules and policies, reducing errors, minimizing paper handling, reducing administrative costs, eliminating bottlenecks, and adding convenience for organization. Ohe cumulative effect of these benefits is to greatly reduce the time the HR organization spends on administrative tasks and enable it to operate in a strategic capacity. Effective Training To Meet Corporate Goals -- Once the organization defines its goals and the core competencies required to meet them, Oracle Applications enable HR departments to hire employees with the right competencies and train existing employees so that their skills remain aligned with the organization's organization. Applying this approach in a consistent, systematic way across the enterprise--for appraisals, assessment, recording accomplishments, and other activities--results in a workforce equipped with the skills and knowledge to give the organization a competitive advantage.

Best Global Solution Multilingual capabilities enable applications to communicate in one language while generating documents in organization. This capability enables organizations to quickly convert and consolidate records from worldwide organization. Omong the software's key global features are: multi-currency; multilingual; multiple address styles for any country for any person, no matter what their country of employment; multiple legislations on the same database, so that a U.S. and a U.K. organization may both be represented, with their appropriate legislative, cultural, and functional rules; structures common among countries are stored in the core HRMS software to facilitate global inquiry and reporting; ability to create global views of data across business groups which represent different legislations.

Oracle Applications is the leading provider of packaged client/server solutions for the enterprise. In an extremely competitive marketplace, Oracle Applications "best in class" differentiation is achieved through several strong technology advantages:

Oracle's core technology stack, comprising enterprise-caliber database server software, development tools and packaged applications; customized critical applications solutions; and, the delivery of total solutions which leverage Oracle's Web-enablement, online analytical processing (OLAP), and modular, "rapid solutions assembly" technologies.

By providing customers with assurance, accountability and flexible end-to-end solutions, Oracle Applications is establishing new standards for excellence in enterprise applications and extending its leadership in the applications arena.

Posted by Muhammad Rafi Aamiri Madani

Overview of Oracle Payables Muhammad Rafi Aamiri Madani on Sunday, March 8, 2009

Payables Workbenches Oracle Payables includes two fully integrated workbenches, the Invoice Workbench and the Payment Workbench. You can perform most of your transactions in Payables using the Invoice Workbench or the Payment Workbench. You enter, adjust, and review invoices and invoice batches in the Invoice Workbench. You create, adjust, and review payments and payment batches in the Payments Workbench.

Payables workbenches let you find critical information in a flexible way. For example, in the Invoice Workbench, you can find an invoice based on supplier, purchase order number, status, or other criteria. Then, for that invoice, you can review distributions, scheduled payments, payments, holds, and other detailed invoice information. You can also perform matching, submit invoice validation, apply and release holds, or initiate payment. You can query an invoice then perform several transactions without having to find the invoice again. You can also keep multiple windows open at one time.

Invoice Workbench The Invoice Workbench is a group of windows that you use to enter, adjust, and review your invoices and invoice batches. The following is the window hierarchy in the Invoice Workbench:

Invoice Batches Find Invoice Batches Invoices Find Invoices Calculate Balance Owed Distributions Find Invoice Distributions Invoice Actions Apply/Unapply Prepayments Invoice Overview

The following diagram shows how you can navigate between the windows in the Invoice Workbench. You navigate into the Invoices window or Invoice Batches window through the Navigator, and navigate to most regions by choosing tabs. You can access the Find windows from the View menu, and the Apply/Unapply Prepayment window by selecting the appropriate check box in the Invoice Actions window. You access the matching windows from the

Invoices window by selecting Invoice, Purchase Order, or Receipt from the match poplist and then choosing the Match button. Posted by Muhammad Rafi Aamiri Madani

Change Default APPS password Muhammad Rafi Aamiri Madani on Sunday, March 8, 2009

1. Shutdown concurrent manager

2. Logon as sysadmin

3. Goto sysadmin-->security-->Oracle-->Register

4. Query for APP%

5. Change the APPLSY & APPS Password (Both the Password should be same)

6. Logon to TOAD as system/manager and run the command 1. Alter user APPS identified by > 1. Alter user APPLSYS identified by > 1. Commit 7. Edit startup and shutdown scripts in the following lines: 1. sh adstrtal.sh apps/<> -- Startup script 1. sh adstpall.sh apps/<>-- Shutdown script

8. Edit the following files (change the path according to your instance) 8. /applvis/testappl/admin/TEST_cctcal/out/templbac/wdbsvr.app -- Optional 8. /applvis/testappl/admin/TEST_cctcal/out/02111859/wdbsvr.app -- Optional 8. /applvis/testora/iAS/Apache/modplsql/cfg/wdbsvr.app

Find the word password and type the new password against the password field where the original value is APPS. There might be many password fields in these files. Do not change other password fields where the default password is not APPS.

9. Use vi command to open the aforementioned files :set ic

/password This will take the cursor to the first password fieldIf this password field has default value as APPS, change it. If this is not the field then press n to go to the next password field. Do this till you get the correct field. Save the file once the change is made.

There will be only one password field with default value as APPS in each of the files. So you need to make only one change per file. Restart all the services (bounce the DB & restart all services) Login to application and test whether you can enter into the forms. Posted by Muhammad Rafi Aamiri Madani OAF Features Muhammad Rafi Aamiri Madani on Tuesday, August 11, 2009

SERVICE INTERFACE The service interface is a Java interface that is designed to support both web services and local Java APIs. The service interface provides consistent APIs and error handling behavior across the different application products. Included is support for the new Service Data Object standard to increase interoperability in a Service Oriented Architecture. Service data objects are used to represent business objects in a standardized manner.

SERVICE TESTER The service tester user interface is used to create unit and integration tests. The tests are recorded in documents as structured XML data. For integration testing, each test file can contain multiple test suites, and each test suite can have multiple test cases. As part of periodic system tests, service tests can be played back from either JDeveloper or from the operating system command line. The service tester supports the following features: Field masking, so that variable data such as the current date does not cause a test failure Pipelining, where the output of one test is used as the input of a subsequent test An option to suppress the commit of test data.

Swan USER INTERFACE The new Swan user interface (UI) greatly improves the look and feel of the Oracle E-Business Suite, significantly enhancing usability and productivity. The Swan UI brings together some of the best UI concepts from Oracle EBusiness Suite, PeopleSoft, and JD Edwards applications. Oracle E-Business Suite will use only the Swan look and feel for Release 12.

PERSONALIZED SPEL BINDINGS SPEL (simple expression) bindings can be used to substitute or override the base SPEL bindings for rendered, required, and read-only properties.

ORACLE JDEVELOPER 10g RELEASE 3 (10.1.3) Release 12 leverages Oracle JDeveloper 10g Release 3 (10.1.3). This release of JDeveloper is a J2EE development environment with end-to-end support for modeling, developing, and debugging applications and Web services. Oracle JDeveloper 10g Release 3 (10.1.3) allows existing Oracle Application Framework applications and services to be

extended, or entirely new applications and services to be built easily.

PERSONALIZATION ADMINISTRATION Release 12 extends the existing command line personalization capabilities with HTML pages included in the Functional Administrator responsibility. This feature also allows you to replicate personalizations across database instances. IMPROVED ABOUT PAGES The About page has been extended to include the following: Last 10 patches applied on the instance Flexfield definitions on the page, and whether they use unsupported features specific to the Forms stack The ability to launch Admin Personalization from the About page.

ADMINISTRATOR PERSONALIZATION USABILITY ENHANCEMENTS Usability enhancements to the Administrator Personalization UI include: Ability to bypass the Choose Context page when the current context is known. A minimal page hierarchy, eliminating the need for hidden layout containers. Personalization error messages include a link to launch the About page, where the associated personalizations can be reviewed and edited.

EXTERNAL CONTENT IN OA FRAMEWORK PAGES Administrator Personalization now supports the inclusion of any URL in OA Framework pages.

SQL COMPONENT EXTENSIBILITY View objects can now be modified by using SQL components to extend an existing object, rather than by replacing the view object definition. SQL component extensions are designed to persist across upgrades of the underlying object.

FLEXFIELD ENHANCEMENTS Flexfield errors are handled more gracefully. Warnings are raised if an OA Framework flexfield uses incompatible features. Posted by Muhammad Rafi Aamiri Madani Changing Employee Number Generation from Manual to Automatic In Oracle HR, once a Business Group has employee number generation set to manual, Oracle does not provide a means of changing it to automatic. Consider the following business requirements: Convert legacy system into Oracle HR via API's Keep current employee numbers unchanged Provide automatic employee numbering for all new employees

These business requirements would require completion of the following Establish Business Group with manual employee number generation Convert legacy HR data via API's Change employee number generation to automatic within Business Group

Since Oracle does not provide the ability to change from manual to automatic, a company's options are Continue with manual employee numbering after conversion Establish Business Group with automatic employee number generation prior to conversion, and allow API's to assign new "automatic" numbers to each employee

Neither of these options meets the company's business requirements. The business requirements can be met by completing the following Establish Business Group with manual employee number generation Convert legacy HR data via API's Determine a starting number for automatic employee numbering that is greater than the largest numeric converted employee number Through SQL given below

UPDATE PER_NUMBER_GENERATION_CONTROLS SET NEXT_VALUE = (The starting number from #3 above) WHERE TYPE = 'EMP' AND BUSINESS_GROUP_ID = (The organization_id from hr_organization_units )

UPDATE HR_ORGANIZATION_INFORMATION SET ORG_INFORMATION2 = 'A' WHERE ORG_INFORMATION_CONTEXT = 'Business Group Information' AND ORGAINZATION_ID = (Same as business_group_id from above SQL)

Posted by Muhammad Rafi Aamiri Madani Overview of Fixed Asset Muhammad Rafi Aamiri Madani on Thursday, September 17, 2009

INTRODUCTION Oracle Fixed Assets is fully integrated with other modules so that data input in Purchasing, Payables and Projects will flow through Fixed Assets into the General Ledger. This also means that any asset can be queried and the source information obtained by drilling down to find details of invoices. You can perform

most of your transactions in Oracle Assets using just three windows: the Assets Workbench, Mass Additions Workbench, and Tax Workbench. ADDITIONS The majority of assets should come via the Purchasing, Payables / Project modules using the Mass Additions / Interface Supplier Costs process. There may be a few occasions when manual additions are required. Ordinary assets can be quickly entered using Quick Additions. Detailed Additions can be used to handle more complex assets as follows:

Assets with a salvage value. Assets with more than one assignment. Assets with more than one source line. Assets that Category defaults do not apply. Subcomponents Assets. Leased assets and Leasehold Improvements. DEPRECIATION Default depreciation rates can be set up for each asset category and also can be overridden in special cases. Before running depreciation you can change any field but after running depreciation you can only change asset cost and depreciation rate. You then can choose whether to amortize the adjustment or expense it. RETIREMENT You can retire an entire asset or you can partially retire an asset. You can also use Mass Retirements to retire a group of assets at one time. TAX BOOK MAINTENANCE Oracle Assets allows you to copy your assets and transactions from your corporate book to your tax books automatically using Initial / Periodic Mass Copy. You can create as many tax books as you need, maintain your asset information in your corporate book, and then update your tax books with assets and transactions from your corporate book. PREPAID SERVICES

To record warranty and maintenance information into Oracle Assets, a purchase order must be created and the data input will flow into Payables with the proper prepaid account. Prepaid accounts are maintained in the general ledger and amortized over the period of coverage; however, the accounts charged are based on the designated account(s) for the prepaid services. The charges into the Fixed Assets account and asset category is based on the monthly charges from the monthly amortization of the prepaid services. CAPITALIZED LEASES vs. OPERATING LEASES Oracle Assets allows you to test leased assets in accordance with generally accepted accounting principles to determine whether to capitalize and depreciate your leased assets. Lease Capitalization Test: (1) the ownership of the asset transfers to the lessee at the end of the lease (2) a bargain purchase option exists (3) the term of the lease is more than 75% of the economic life of the leased asset (4) the present value of the

minimum lease payment exceeds 90% of the fair market value of the asset at lease inception.

Regarding Operating leases, Fixed Assets tracks your payments under operating leases, or leases that do not meet any of the criteria, for informational purposes. You can use this information to create a schedule of future minimum payments under operating leases, information that may require disclosure in the footnotes of your financial statements. Period-End Process Ensure All Assets have been Properly Assigned. Copy New Assets Entries into Tax Books. Run Depreciation for the Corporate Book. Create Journal Entries. Post Journal Entries to the General Ledger. Posted by Muhammad Rafi Aamiri Madani

Das könnte Ihnen auch gefallen