APPS Interfaces

on Tuesday, December 29, 2009

In terms of oracle applications interface is a communication channel that allows the data to move in and out of the system.

TYPES

INBOUND INTERFACES
    The one which allows data to get into oracle application from outside is called inbound interface.

OUTBOUND INTEFACES
    The one which allows data to get data from oracle applications to other systems is called outbound interface.

TYPES OF INBOUND INTERFACE

Open interfaces  -

API  (Application Program Interface)

EDI (Electronic Data interchange) 
    Mainly used for automation transactions with third party systems

XML GATEWAY
    Mainly used for automation transactions with third party systems

WEBADI
    Used for uploading data from excel with the scope to have some validations mainly used for one time loading.

PLSQL Packages for Reading XML Data
    Use this in case of importing non standard transactions

TYPES OF OUTBOUND INTERFACE

Custom programs where we pull data to a csv file using UTL_FILE in the required format
EDI
XMLGATEWAY
PLSQL Packages for generating XML

DIFFERENCE BETWEEN OPEN INTERFACE & API

OPEN INTERFACE
In case of open interface the data is loaded in to open interface table like
GL_INTERFACE or Sales Order Interface (OE_ORDER_HEADERS_IFACE_ALL).

Run the interface import program.

This will validate the data and put it into oracle applications. All the invalid records are marked as Error.

One thing is there are GUI Screens available for most of these interface where you check the error message correct it there only and resubmit the interface.

From the technical perspective there are Error tables available for each interface

API
API's are the oracle built packages where the validation logic is wrapped inside a package and the data is passed as parameters to the API.

Most of these api's use the PLSQL tables as parameters to take the advantage of bulk binding concepts for faster loading data.

They will have the two OUT parameters to throw back the error code and message in case of data validation failure

APIs are comparatively faster than open interfaces.

If a API's and open interface are available it is better to load through API's.If the records are more...

Same Password for APPS and APPLSYS

on Saturday, December 26, 2009

The need to have the same password for Apps and Applsys is because when you sign on to apps, initially it connects to a public schema called APPLSYSPUB. This validates AOL username and password that we enter (operations/welcome using guest user account.

Once this is verified we select responsibility, this is validated by APPLSYS schema and then it connects to APPS schema.

Since it uses both applsys and apps during sign on process this expects both the password to be identical.

Try changing apps password to something else and try to login, the validation at the last stage would fail.

This would result in failure of application login. Apps is a universal schema has synonyms to all base product tables and sequences.

This also has code objects for all products (triggers, views, packages, synonyms etc.).

Applsys schema has applications technology layer products like FND and AD etc.

Definition of AIM Methodology

on Tuesday, December 22, 2009

Application Implementation Method is a proven approach for all the activities required to implement oracle ERP applications.

The scope of the AIM is focused on an enterprise as a whole. There are eleven processes of implementation.

1. Business Process Architecture [BP]

This phase outlines:

ž

Existing business practices

ž

Catalog change practices

ž

Leading practices

ž

Future practices

2. Business Requirement Definition[RD]

This phase explains about the initial baseline questionnaire and gathering of requirements.

3. Business Requirement Mapping[BR]

In this phase the requirements of business are matched with the standard functionality of the oracle applications.

4. Application and Technical Architecture [TA]

This outlines the infrastructure requirements to implement oracle applications.

5. Build and Module Design [MD]

This phase emphasizes the development of new functionality (customization) required by the client. It mainly details how to design the required forms, database and reports.

6. Data Conversion [CV]

Data Conversion is the process of converting or transferring the data from legacy system to oracle applications.
Ex. Transferring customer records from the legacy to the Customer Master.

7. Documentation [DO]

Documentation prepared per module that includes user guides and implementation manuals.

8. Business System Testing [TE]

A process of validating the setup's and functionality by QA(functional consultant) to certify status.

9. Performance Testing [PT]

Performance testing is the evaluation of transactions saving time, transaction retrieval times, workflow background process, database performance, etc…

10. Adoption and Learning [AP]

This phase explains the removal of the legacy system and oracle application roll out enterprise wide.

11. Production Migration [PM]

The process of "decommissioning" of legacy system and the usage(adoption) of oracle application system.

Preference in APPS Start Page

on Friday, December 18, 2009

"Applications Start Page" feature provides a user an option to set a particular page as his/her preferred start. The user will be taken to this page at login.

A user can choose from the set of functions available under his/her responsibilities. The value is recorded in a profile option named "Applications Start Page (APPLICATIONS_START_PAGE)" as
"functionId$$$respId$$$appId".

Usage of the Feature

ž

Make sure the profile "Self Service Personal Home Page Mode" is set to "Framework only" at site level or at user level for which user you intend to provide "Applications Start Page" feature

  

ž

Login to Applications as the End user

  

ž

Navigate to Preferences link on top of the page.

  

ž

You can find a section "Start Page" under General Preferences page.  Select the Responsibility from which you would like to choose the Function (For e.g. Payables Super User). It then lists the functions available for this user under this responsibility.  Choose the Function as Start page (e.g, Invoices). Apply the changes.

  

ž

Logout and Log back in. Your Start Page is now effective.

After personalizing the 'start page' to directly open a Form, how do I reset the User Preferences and the start page?

Disabling the Feature

ž

When you are on Self-service Framework page, you can Navigate to Preferences Link and de-select the values (choose blank) for Responsibility and Page drop down lists.

  

ž

When you are in Forms based Applications, navigate to menu  Edit => Preferences => Profile

  

ž

Search for "Applications Start Page", remove the value from User Value field and Save.

  

ž

Next time when you login to Applications, you get Self-service Framework Homepage.

OR

After logging in, replace the login link with:
http://<initial part of path>/OA_HTML/OA.jsp?OAFunc=OAHOMEPAGE

This should get you to the Personal Home Page.

OR

Either use the Responsibility Hat to change to the System Administrator responsibility or Login as another user and have them use the System Administrator responsibility.

Then do a find for the Start Page profile option: Profile > System  for the User Name that is needing to reset their 'Start Page' profile.

Delete the start page for the user, save the changes. This will allow the user to get back to the Personal Home Page, and then they can reset their 'Start Page'.

Difference between Party and Customer

on Tuesday, December 15, 2009

PARTY

CUSTOMER

Prospective Customer and more relevant for CRM Purposes

A Customer which is used both in CRM as well as in OM, Financials or any other module Example (A Sales Order in OM or Invoice in Receivables cannot be created without creating a Customer record for the Party).

No Business Transactions involved (Sales Order, Sales Invoice, Debit Memo, Credit Memo, Receipt etc.,)

A Business Transaction like a Sales Order, Invoice, Debit Memo, Credit Memo,Receipt can be created.

A Party does not have account but have Sites

A Customer will have account and as well as Sites.

A Party can exist without Customer Record

A Party record is must to create a Customer Record linked through party_id.

A Party Record will not have record in following tables

    HZ_CUST_ACCOUNTS
    HZ_CUST_ACCT_SITES_ALL
    HZ_CUST_SITE_USES_ALL
    HZ_CUST_ACCOUNT_ROLES
    HZ_CUST_ACCT_RELATE_ALL

A Customer Record will have records in following tables

    HZ_CUST_ACCOUNTS
    HZ_CUST_ACCT_SITES_ALL
    HZ_CUST_SITE_USES_ALL
    HZ_CUST_ACCOUNT_ROLES
    HZ_CUST_ACCT_RELATE_ALL

     with reference to party_id column.

No More JInitiator

on Monday, December 14, 2009

In 11i, You might have seen jinitiator related files in $COMMON_TOP/util/jinitiator directory.

No more this directory exists in R12 when you install using Rapid Install.

Oracle Jinitiator is no longer supported/certified with R12!!!. what is replacing Jinitiator? It is by JRE Plugin.

context file variable s_sun_plugin_type determines whether clients will be using jinitiator or Sun Java Native-plugin for launching forms applet.in 11i, in context file you will see s_sun_plugin_type set to jinit

In R12 it is set to jdk so, when you plan to upgrade 11i to R12, you will be making your system to work with Jun plugin. (Note 427357.1 - 11i with sun plugin)

R12 Rapid Install configures JRE with version 1.5.0_10. Since this version is having some focus issues you need to upgrade to 1.5.0_12 or to the latest one 1.5.0_13

JVM , Session , Cache

on

At the heart of the Java platform lies the Java Virtual Machine, or JVM. Most programming languages compile source code directly into machine code, suitable for execution on particular microprocessor architecture. The difference with Java is that it uses byte code - a special type of machine code.Java byte code executes on a special type of microprocessor. Strangely enough, there wasn't a hardware implementation of this microprocessor available when Java was first released. Instead, the processor architecture is emulated by what is known as a "virtual machine". This virtual machine is an emulation of a real Java processor - a machine within a machine. The only difference is that the virtual machine isn't running on a CPU - it is being emulated on the CPU of the host machine.



The Java Virtual Machine is responsible for interpreting Java byte code, and translating this into actions or operating system calls. For example, a request to establish a socket connection to a remote machine will involve an operating system call. Different operating systems handle sockets in different ways - but the programmer doesn't need to worry about such details. It is the responsibility of the JVM to handle these translations, so that the operating system and CPU architecture on which Java software is running is completely irrelevant to the developer.

The Java Virtual Machine forms part of a large system, the Java Runtime Environment (JRE). Each operating system and CPU architecture requires a different JRE. The JRE comprises a set of base classes, which are an implementation of the base Java API, as well as a JVM. The portability of Java comes from implementations on a variety of CPUs and architectures. Without an available JRE for a given environment, it is impossible to run Java software.

Differences between JVM implementations

Though implementations of Java Virtual Machines are designed to be compatible, no two JVMs are exactly alike. For example, garbage collection algorithms vary between one JVM and another, so it becomes impossible to know exactly when memory will be reclaimed. The thread scheduling algorithms are different between one JVM and another (based in part on the underlying operating system), so that it is impossible to accurately predict when one thread will be executed over another.

Initially, this is a cause for concern from programmers new to the Java language. However, it actually has very little practical bearing on Java development. Such predictions are often dangerous to make, as thread scheduling and memory usage will vary between different hardware environments anyway. The power of Java comes from not being specific about the operating system and CPU architecture - to do so reduces the portability of software.

The Java Virtual Machine provides a platform-independent way of executing code, by abstracting the differences between operating systems and CPU architectures. Java Runtime Environments are available for a wide variety of hardware and software combinations, making Java a very portable language. Programmers can concentrate on writing software, without having to be concerned with how or where it will run. The idea of virtual machines is nothing new, but Java is the most widely used virtual machine used today. Thanks to the JVM, the dream of Write Once-Run Anywhere (WORA) software has become a reality.

HTTP SESSION

HttpSession is nothing but a java interface.The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user. A session usually corresponds to one user, who may visit a site many times.

The server can maintain a session in many ways such as using cookies or rewriting URLs.

This interface allows servlets to View and manipulate information about a session, such as the session identifier, creation time, and last accessed time Bind objects to sessions, allowing user information to persist across multiple user connections.

ICX Session or Oracle Applications User Session

(Is it same as HTTP session/servelet session ?)

A http session or a servelet session usually corresponds to an application login/logout cycle, but that is not strictly true in the case of OA Framework applications.

When the user logs in to an OA Framework application, the OA Framework creates an AOL/J oracle.apps.fnd.common.WebAppsContext object and a browser session-based cookie that together keep track of key Oracle Applications context information like the current responsibility, organization id and various user attributes such as user name, user id, employee id and so on.

The cookie contains an encrypted key identifier for a session row stored in the Applications database.Specifically, this is the servlet session ID which, in its decrypted form, serves as the primary key in the ICX_SESSIONS table.(to get an idea do run Select * from ICX_SESSIONS , to get an exact idea of what information is stored in the table)The WebAppsContext retrieves this key value after each request and uses it to query the current session state.

The Oracle Applications user session or ICX SESSION is associated and not dependent with a servlet session, because , it has its own life cycle and time-out characteristics. Generally, the Oracle Applications user session has a longer life span than the servlet session. The servlet session should time-out sooner.

User session is dependent on following profiles:

a)ICX: Limit Time :Determines the maximum Oracle Applications user session length( in hours.

b)ICX:Session Timeout: Maximum idle time for the Oracle Applications user session specified in minutes).While servlet session timeout is purely dependent on setting in Apache Jserv session timeout setting. An Oracle Applications user session might be associated with multiple http servlet sessions. For example, the servlet session times out while the user takes a phone call in the middle of creating an OA Framework expense report, then resumes work before the Oracle Applications user session times out.If the Oracle Applications user session times out, as long as the user does not close the browser window (so the browser session-based cookie isn'tlost) and no one deletes the corresponding session row in the ICX_SESSIONS table, the user can resume her transaction at the point where he stopped working after being prompted to log back in. Although the best practice as per Oracle standards is to sync ICX_SESSION and servelet session,till passivation feature is implenented in Oracle Apps. Passivation is still not supported in 11i and 12i.

This is straight from metalink "The ICX: Session Timeout option sets the the maximum number of minutes to wait before invalidating an idle ICX Session. The default value is null. The web server session timeout value, or more appropriately the Apache Jserv Session value is used to specify the number of milliseconds to wait before invalidating an unused session. The default value is 1800000 or 30 minutes.We recommend that you set the ICX: Session Timeout and the Apache Jserv Session to be the same. It's better to be consistent and let the ICX session and the Apache Jserv (middle tier) session expire at the same time. If the ICX session expires before the Jserv session, the user will be presented with a login page even though the Jserv session is still active. If the user logs back in before the Jserv session expires, they will see the old state of their middle-tier transaction. This can be confusing, since from the point of view of the user there is no distinction between the ICX session and the Jserv session. We also recommend that you do not set the Apache Jserv Session timeout to be any higher than 30 minutes. Longer idle sessions will drain the JVM resources and can also cause out of memory errors. The session timeout for the webserver is specified via the following directive in the /Jserv/etc/zone.properties file.session. timeout=1800000"

Initialize Session

on Tuesday, December 8, 2009

If you are working with Oracle Applications, here's how you can initialize your session in whatever tool you are using to mimic the login process and pick up profile option values. The key profile option here is usually org_id so you can select from organization aware views, but it applied equally to other profile options, i.e. you can then use

fnd_profile.value('PROFILE_OPTION_NAME');

to get values from profile options. You need to be logged into the database as the APPS user. The examples set up the session for SYSADMIN user, System Administrator responsibility. e.g. SQL*Plus 

exec fnd_global.apps_initialize(0,20420,1);

e.g. for PL/SQL, TOAD, SQLDeveloper, SQL Navigator etc.:

begin fnd_global.apps_initialize(0,20420,1); end;

The parameters used here are: 

  1. User_ID
  2. Responsibility_ID
  3. Responsibility_Application_ID

To get these you have a couple of choices

a) SQL - Replace SYSADMIN and System Administrator with your user and responsibility:

select 'begin fnd_global.apps_initialize(' ||
       fu.user_id || ',' ||
       fr.responsibility_id || ',' ||
       fr.application_id || '); end;' || chr(10) || '/'
from   fnd_user fu
,      fnd_responsibility_tl fr
where  fu.user_name = 'SYSADMIN'
and    fr.responsibility_name = 'System Administrator';

b) In your Oracle Applications forms session. Login as your user and navigate to the required responsibility. Open a function that uses Oracle forms Go to Help > Diagnostics > Examine In the Block enter $PROFILES$ In the field enter the appropriate field name for the parameter:

  1. User_ID = USER_ID
  2. Responsibility_ID = RESP_ID
  3. Responsibility_Application_ID = RESP_APPL_ID

Business Scenario - iProcurement

on Wednesday, December 2, 2009

Print a copy purchase order/reissue a purchase order to a supplier

Enter the AP responsibility; under Invoices, Entry then Invoices. From the invoice entry screen, select the 'View' menu, then 'Requests'. From the 'Find Requests' screen, click on 'Submit a New Request'. Make sure 'Single Request' is selected and click on 'OK'.

In the 'Name' box enter 'DCC Emailed Purchase Order (Copy)', although to save time, typing 'DCC' then pressing enter will bring up a short list of options from which you can choose the correct option. Enter the Purchase Order Number you wish to view, then enter the e-mail address you want the copy Purchase Order to go to. The email address will default to the address linked to your login. Click on 'OK'. Click on the 'Options' button which opens a new window. Change the number of 'Copies' from '0' to '1', then click on 'OK'. Submit the request. The copy purchase order will then be issued to the specified email address.

There will usually be a short delay before the copy Purchase Order reaches the recipient. If the order hasn't been received within 15-20mins check your order number and email address. Failure of the order to be emailed is often as a result of missing the step where the number of copies is changed from '0' to '1'.

Change the first approver (if more than one approver exists)

To change first approver, the approver must first be 'added'. When placing an order, on reaching the 'Review Approver List' page (step 2 of 3), click on the 'Add Approver' button and select the required approver's name (not login) from the list. Next, click on 'Change First Approver' and again select the approver from the list. The required approver must be set up with Approver rights for this solution to work.

Names are listed in the format 'Surname, Forename'. If you are having difficulty locating an approver, make sure that you are entering their name in this format, and remember to use the percentage wildcard where required.

To permanently change your default first approver email details of the change to abc@abc.net. Your default approver is based on your line manager as identified on your employee record.

Cancel an order

At present, there is no function to allow you the user to cancel an order. Once an order has been issued it is the supplier's decision whether or not to allow an order to be cancelled. Having contacted the supplier to confirm that they are happy for you to cancel the order (maybe the items are no longer available), email Oracle Admin with the order number and supplier details and ask them to cancel the order.

An alternative to removing the order altogether would be to reduce the value of the order to zero, which will have the effect of removing any commitments that are outstanding on the order. An advantage of doing this is that the order will always be available to refer to should you have any comeback from the supplier.

Make sure that there are no receipts against the order you wish to cancel. If there are, use the 'correct receipts' option to show that you have returned the items.

Next, click on the requisitions tab, check the box next to the order you wish to cancel, and click on the 'Change' button. You will now have the option to alter the quantity of each item and the value of each item on the order. Change the value of each item to 0. Please note that it is not possible to change the quantity to zero. For example, to remove a commitment for 5 calculators at £5; the quantity should read 5 but the value should read £0. Enter a reason for the change, then click on the 'Next' button until you get the option to 'Submit'. The change request will be submitted to a member of the I-Procurement Team to review; as the change represents a reduction in the value of the order the request will be approved.

Repeat for the remaining items on the order. The result will be that the order will remain, should you receive any future queries about the order, but the commitment, and the expectation that the goods will be received, has been removed.

Reduce the value of an order

Click on the requisitions tab, check the box next to the order you wish to alter, and click on the 'Change' button. You are able to alter both the quantity of the items on the order (for example, where you have ordered 10 PCs but the supplier can only supply 5), and the value of the items (you've ordered the PCs at £500 but the supplier offers a 10% discount). Note that the quantity must always be above zero.

If you have already receipted some of the items that you wish to alter the price for (using the same example, you've already received and receipted 1 PC), you will need to 'unreceipt' the order before you can alter the value of the order. Click on the requisitions tab, check the box next to the order you wish to 'unreceipt' and click on the button marked 'Correct Receipt'.

The value of an order, once approved, cannot be increased.

Remove a commitment where goods cost less than the original order

The Purchase Order itself can be adjusted prior to paying an invoice, as described above. If items have been receipted against the order, use the 'unreceipt' option to reverse the receipting. Referring back to the way paper orders used to operate, minor changes to the amounts or descriptions of the items on the order wouldn't have resulted in the order being changed and re-submitted to the supplier, so why amend the order through i-Procurement?

The suggested way to remove the commitment is in Accounts Payable, when you come to pay the invoice.

Match the order to the invoice; either the order as a whole, or the lines of the order that the invoice relates to. As the goods cost less than the original order, the invoice distribution will exceed the total invoice amount, but the commitment for the order will have been removed. Next, add an extra line to the distribution to correct. Remember that the correction must be carried out before Tax. Click on 'Calculate Tax' to check that the invoice amount and distribution totals match, then 'Validate' and 'Account' as usual.

If you have an item on an order that won't be received, you may match the item to an invoice in order to remove the commitment, then add an extra line to remove the value from the distribution. Note that reversing the line will reinstate the commitment; the extra line must be entered manually.

Add an attachment to an order, such as a quote

At present there is no facility to attach files to an order, but you are able to add a 'text attachment'. Add goods to your basket and then 'Checkout' to access the 'Requisition Information' screen. Click on 'Edit Lines', 'Attachments' then 'Add Attachments'. Add a description for the text attachment, for instance; 'Additional delivery information for Supplier'. From the drop down list select 'visible to supplier. Under 'Define Attachment' click on the button to add text and enter the text you wish to appear, for instance this may be special delivery instructions.

Add additional notes for the attention of the supplier

Beneath the address on every Official Purchase Order there's a box marked 'Notes to Supplier'. The advantage of using the 'Notes to Supplier' box is that there are no limits to the number of characters that can be displayed, unlike the 'Description' field on an order.

Add goods to your basket and then 'Checkout' to access the 'Requisition Information' screen. Click on 'Edit Lines'. Check the tick box marked select, then click on the button marked 'update'. You will now have access to an extra box marked 'Notes to Supplier'. Click on the 'Return' button to return to the 'Requisition Information' screen.

Inform a supplier that we wish to collect the goods

Follow the above process described above to either add notes as a text attachment, or use the 'Notes to Supplier' box.

Split an order between more than one account

Add goods to your shopping cart and 'Checkout'. From the 'Requisition Information' screen (step 1 of 3), click on 'Edit Lines', then 'Accounts', as you would for any order.

Each separate item ordered will appear on a different line. If certain items on an order are to be charged to different accounts, simply change the account code for those items.

On occasion you may order a quantity of a certain item that needs to be 'split' between more than one account code; for instance, a quantity of files ordered which are to be shared between more than one department. Against the appropriate item line click on the button marked 'Split'. Click on 'Add another row' and alter the account code accordingly. You will need to decide how you wish to split order between the two account codes. This can be done either by allocating a quantity to each code; for instance 5 items to one code, 5 to the other, or setting a percentage split between the two codes.

Once this has been done, click on return and proceed with placing the order as normal.

Copy a requisition that I've raised on a previous occasion

Click on the 'Requisitions' tab in iProcurement and locate the requisition you wish to duplicate. Select the requisition and click on 'Copy to cart'. You will then be able to amend the quantity if required and complete the order. Be sure that the goods are being charged to the correct account; amend if necessary.

Save a requisition part way through

Click on the 'Save' button at any part of the process and a requisition number will be allocated. If you have not yet clicked on 'Checkout' enter a requisition description, which will help you relocate the requisition when you come to complete the order. If you intend to continue shopping for further items from a different supplier, click on 'New Cart'. Failure to clear the shopping cart can cause problems with the order; adding additional items to the cart from a different supplier will mean that neither order is despatched.

To complete the order, click on the 'Requisitions' tab and select the order that you wish to complete. The requisition will be returned to your shopping cart; click on 'Checkout' and complete the order as normal.

Delete a requisition before it is approved

A requisition can be deleted at any time up until it is approved; although different approaches are required depending on what stage the requisition is at.

During entry – Click on 'Cancel' and delete the items from your shopping cart.

Requisition saved as incomplete – A requisition that has not yet been sent for approval, click on the 'Requisitions' tab and select the appropriate requisition. Click on the 'Delete' button and 'Yes' to the warning message that is displayed.

After submission to an approver – Described as 'in process' on the 'Requisitions' tab, select the order and click on 'Change'. Click 'Yes' to the warning that the order will be removed from the approval process. The order will now be treated as incomplete; to delete follow the instructions above.

Match an invoice that comes to more than the original order

If an invoice comes to considerably more than the original order you should investigate the reason for the discrepancy, and consider changing the value of the order itself.

Occasionally, the reason for the discrepancy will be known, and the amounts involved will be small. It is often the case that postage and packing has been omitted. The additional cost may be dealt with in a similar, but opposite, way as to removing a commitment.

Match the order to the invoice; either the order as a whole, or the lines of the order that the invoice relates to. The goods/service costs more than the original order, and so the invoice distribution will currently be showing less than the total invoice amount. However, the commitment for that part of the order will have been cleared. Add an extra line to the distribution to account for the additional cost, bearing in mind that the correction must be carried out before Tax. Click on the 'Calculate Tax' button; if the adjustment has been entered correctly then the distribution and invoice totals should match. 'Validate' and 'Account' as usual.

Change the account code for an invoice when matching to an order

In Accounts Payable, when matching an invoice to an order the user hasn't the ability to change the account code that was originally selected for the order. As matching, then reversing, the offending line and re-entering with the correct code will have the effect of reinstating the commitment, we recommended doing a journal to correct the entry after the event.

An alternative solution at the point of entry is, rather than reversing the line with the offending code, enter a new line with the amount reversed and copy down the account code. Enter a further line with both the correct amount and revised account code. This will have the same effect as having reversed the distribution line but the invoice will remain matched to the order and the corresponding commitment will have been removed.

Approve an Order

The ability to approve an order is limited to certain individuals within your school; usually a Head/Deputy Head or other nominated individual.

Select 'DCC Notifications', then 'Worklist' and choose the option 'To Do Notifications'. To approve an order, select the appropriate notification and click on 'Open', and 'View Requisition Details' if further information about the order is required. Click on 'Approve' when satisfied with the order; the requestor (i.e. the person who placed the order) will be informed of the approval, an order number will be allocated, and the order sent to the supplier.

Return a requisition to the requestor to alter prior to approval

If an Approver decides that a requisition needs to be altered prior to the order being issued, they should ask the requestor to withdraw the order from the approval process and delete or amend as necessary. Do not use the 'Reject' button as this may cause difficulties when attempting to complete the order.

Receipt an order placed by a colleague who's on leave

All users with access to i-Procurement are able to view and edit receipts for orders placed by their colleagues. However, there is currently no option to alter the order itself, where an order has been placed by another user.

Click on the receiving tab. Depending on whether you wish to 'Receive Items', 'Correct Receipts', 'Return Items' or simply 'View Receipts', click on the appropriate link. The 'Requester' defaults to the current user; change this to the user whose orders you wish to review. If you know the requisition number, supplier, order number or shipment number, use this in addition to the 'Requestor' to help limit the search. Change the 'Items Due' date; if you're unsure when the items are due select the option 'Any Time' and click on 'Go'. A list of results matching your search criteria will be returned. Depending on which option was chosen, you will be able to edit the receipts for that order.

I can't find a supplier in IPROC.

To confirm that a supplier is set up, and available for use on I-Procurement, you will need to use the 'Supplier Enquiry' function in Accounts Payable.

Enter part of the supplier's name in the 'Supplier Name' field, proceeded by a '%' symbol. For example, for W.H.Smith Ltd enter %smith; the field is not case-sensitive. Oracle will bring up a list of matching results; if the supplier has been set up it should appear on this list. Be careful where punctuation/spaces are used as Oracle will search for an exact match between what you enter and the way the supplier has been set up.

 To confirm that the supplier is set up for use in I-Procurement, follow the instructions above and select the required supplier. Make a note of the supplier number; you may find it helpful to keep a list of supplier numbers for commonly-used suppliers.

Click on 'Find'. Oracle brings up the supplier record for the supplier you have selected. Click on 'Sites'; a separate record is set up for each supplier site. Use the 'up' and 'down' arrows on your keyboard to toggle between these different sites. Under the 'General' tab there is a box marked 'Site Uses'. The field marked 'Purchasing' must be selected for the supplier site to be active in I-Procurement.

A supplier hasn't received an order that I've placed.

There have been a number of reports since the introduction of Oracle where suppliers have not received orders. Oracle Admin have identified three possible causes:

  • The way in which Oracle holds supplier information can sometimes disrupt the order process; work has been carried out over the summer holidays to rectify the problem.

  • The format used to email orders to suppliers has been found to be incompatible with software used by a small number of suppliers. Alternative formats are being considered.

  • The act of printing a copy order has been known to stop an order from being issued (see 'How can I view a purchase order/reissue a purchase order to a supplier?'). If you require a copy of a purchase order, please wait until 48 hours after the requisition has been approved.

I'm trying to add items to my basket but I get an error message reading 'Error - supplier invalid'.

This problem occurs where users attempt to add a supplier using the 'Supplier Name' field. Use the 'Request Type' field to select the supplier, which should resolve this problem.

Note: Not all suppliers visible under 'Supplier Name' are available to schools in i-Procurement.

 The 'Unit of measure' list doesn't contain the option that I require.

Oracle Admin have the ability to change lists in i-Procurement such as 'Unit of Measure'.

 I get an error message saying that I've 'Exceeded 200 lines on the order'. When I try to continue with the order I'm advised to contact the System Administrator.

This problem can be caused by using the back arrow at the top of the screen instead of the navigation buttons in Oracle.

When the first message appears, reselect the supplier by clicking on the torch next to 'Request Type' field. You should be able to continue with the order.

 I've submitted an order for approval but I've not heard anything back. Has the supplier received the order

First of all, check the status of the requisition. On the requisitions tab, locate the requisition that you submitted. If the 'Status' reads 'Approved', and an order number has been allocated, then the order will have been sent to the supplier. For peace of mind you may wish to forward a copy of the order; follow the procedure for doing so from the i-Procurement tip above.

 If the 'Status' reads 'Incomplete', one of the reasons for this may be as follows. Orders submitted for approval, but not approved within 5 days, are returned to the Requestor as a safeguard should the approver be absent. On the requisitions tab there's a link marked notifications. This informs the user of any changes affecting the status of an order, such as when an order has been approved or, in this instance, when the order has been returned. You may either resubmit the order to the approver if they are available, or alternatively submit the order to someone else in your school who has approval rights.

 I've submitted a requisition that has been approved, but its status is showing as 'incomplete'.

One reason for the requisition being marked as 'Incomplete', and its solution, is described above. Check whether the order has been approved.

If it has, the approval rights that the Approver has been given will be the likely cause of the problem. An Approver may be set different levels of approval depending on their position and role within the school. The approval level defines the maximum value of an order that can be approved. If an order exceeds this maximum value then the order may be sent for approval, and the Approver may approve the order, but the order will not be issued to the supplier. Resubmit the order to someone in your school with sufficient authority to approve the order.

If you feel that the authorisation level has been set incorrectly, please notify Oracle Admin who will correct the error.

 I've ordered goods from more than one supplier on the same requisition. The requisition is marked as 'incomplete' even though it's been authorised.

Oracle i-Procurement is unable to cope with requisitions that contain goods or services ordered from more than one supplier. This is caused by adding items to your shopping cart, then changing the supplier and adding further items to the cart before proceeding to the checkout. You are able to submit the order for approval, but the order will not be submitted to the suppliers.

Follow the procedure for cancelling an order that has not yet been approved, and submit a separate order for each supplier that you wish to order from.

 Does an approver have to approve both a Purchase Order and an invoice

Once the approval process for AP is turned on, invoices paid on AP that match a Purchase Order completely will be considered as authorised as an approver has already approved payment via the Purchase Order.

 I get an error message when I attempt to receipt goods received in a period that has since closed.

Receipting in iProc closes at the end of each period, which means that you can only receipt goods in the current period.

Adding DBlink from GL Responsibility

on Tuesday, December 1, 2009

To create an FSG report from Database instance "UAT" to instance "PROD" (import the report).
The COA setup of both instance should be the same.

Only one step needed :

From GL Super User, navigate to (N) à Setup à System à Database Links

Specify the below,

Database

UAT

Connect String

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.10.139) (PORT=1522)) (CONNECT_DATA=(SERVICE_NAME=UAT)))

Domain Name

WORLD

APPS User Name

APPS

APPS password

apps (use your password)

Done, You could try to import the FSG report from UAT instance to PROD instance

Note:

The connect string is the same connection string taken from client's (e.g. your PC)  tnsnames.ora file

Types of Concurrent Manager

on Sunday, November 29, 2009

Concurrent Program

A program that implements a business functionality and needs to be executed again and again at regular interval or as per business needs is called concurrent program. They can be implement in PL/SQL, Shell Script, C/C++ etc..

Concurrent Manager

Now when a concurrent program is written, it needs to be executed daily at particular time. If we do it manual, there might be chances of delays or it might happen that two different people run the same program at the same time which might lead problems. So we need a manager which can do all this tasks for us. The responsibility for execution of concurrent programs is given to Concurrent Manager, which ensures that each concurrent program can run successfully without any conflicts. They also ensures that the applications are not overwhelmed with requests. They also manages the batch processing and report generation.

The default installation of Oracle Applications comes with a number of pre defined concurrent managers however you can create your custom concurrent managers to spread out the load of your job processing. Apart from taking care of the load of your jobs the concurrent managers can also schedule the jobs periodically. Also we can assign specific priority and specific times to the different programs, so that the concurrent managers can run them in specific workshifts.

Concurrent managers also allows you to tweak the number of concurrent process that it can handle concurrently. If any request exceed this prescribed limit they are automatically put on pending state. The processing of a request takes place based on the time of request submission and priority of the request submitted.

There are many pre-configured Concurrent Managers, each governing flow within each Oracle Apps areas. In addition there are "super" Concurrent Managers whose job is to govern the behavior of the slave Concurrent Managers. The Oracle e-Business suite has three important master Concurrent Managers:

Apart from these three concurrent manages there is another type of concurrent manager known as the Transaction Manager also exists. The transaction manager is responsible for taking the load off the concurrent request table for pooling the request submitted by the user.The transaction manager takes care of these requests and sends it to standard manager directly.In a RAC environment the Transaction manager is required to be activated on each node of the RAC environment.

From the front end you could view the status of your concurrent manager by logging with the System Administration responsibility and going to the Concurrent Manager administer screen.


The status of concurrent managers and the nodes on which they are configured can also be known from the Oracle Applications manager.


Concurrent Manager Processes

The concurrent managers are like other process which run on the oracle applications executable FNDLIBR. The FNDLIBR executable is located at $FND_TOP/bin.

You could also grep the FNDLIBR executable to check if any concurrent manager process are running
$ ps -ef|grep FNDLIBR

The $FND_TOP/sql/afcmstat.sql script gives you a list of concurrent managers and their respective status.
Below is the list of Most of the Concurrent manager processes.

FNDLIBR
manages following Managers

  • Marketing Data Mining Manager
  • Transportation Manager
  • Session History Cleanup
  • UWQ Worklist Items Release for Crashed session
  • Collections Manager
  • OAM Metrics Collection Manager
  • Contracts Core Concurrent Manager
  • Standard Manager
  • WMS Task Archiving Manager
  • Oracle Provisioning Manager

INVLIBR
manages following Managers

  • Inventory Manager

MRCLIB
manages following Managers

  • MRP Manager

PALIBR manages following Managers

  • PA Streamline Manager

FNDSM
The Generic Service Management Framework Process

  • FNDSM is executable and core component in GSM ( Generic Service Management Framework discussed above). You start FNDSM services via application listener on all Nodes in Application Tier in E-Business Suite.

Concurrent Manager Scripts

Oracle supplies several useful scripts, (located in $FND_TOP/sql directory), for monitoring the concurrent managers:

  

afcmstat.sql

Displays all the defined managers, their maximum capacity, pids, and their status.

afimchk.sql

Displays the status of ICM and PMON method in effect, the ICM's log file, and determines if the concurrent manger monitor is running.

afcmcreq.sql

Displays the concurrent manager and the name of its log file that processed a request.

afrqwait.sql

Displays the requests that are pending, held, and scheduled.

afrqstat.sql

Displays of summary of concurrent request execution time and status since a particular date.

afqpmrid.sql

Displays the operating system process id of the FNDLIBR process based on a concurrent request id. The process id can then be used with the ORADEBUG utility.

afimlock.sql

Displays the process id, terminal, and process id that may be causing locks that the ICM and CRM are waiting to get. You should run this script if there are long delays when submitting jobs, or if you suspect the ICM is in a gridlock with another oracle process.

FAQ – Account Receivables

on

Adjust the payment terms to run from the date that a service was provided

The 'Payment Terms' field is linked to the Transaction 'Date' field. This field can be backdated to the date that the service was provided; the standard 30 days payment terms will start from that date and the due date will be adjusted accordingly.

Check when payment is due for an invoice

To see a summary of a Transaction (invoice), enter the AR responsibility and select Collections, followed by Transaction Overview. Enter the invoice number if known, or use one of the range of other search fields, then click on 'Find'. Due date is one of the fields displayed.

Obtain a copy of an invoice I've raised

Enter the AR responsibility; under Transactions, Transactions. From the Transactions screen, select the 'View' menu, then 'Requests'. From the 'Find Requests' screen, click on 'Submit a New Request'. Make sure 'Single Request' is selected and click on 'OK'. In the 'Name' box enter 'DCC Emailed Transaction (Copy)'. Enter the Invoice number you wish to view; the email address field is pre-populated with your email address although the address can be changed if necessary. Submit the request. The copy purchase order will then be issued.

Please note that although the invoice will be marked 'Copy', it will not be printed on controlled stationery and as such should not be used to re-issue an invoice to a customer. If a customer contacts you having misplaced an invoice please ask Oracle Admin to reissue the invoice to the customer on your behalf.

View a list of invoices raised to customers which are currently outstanding

Follow the steps above and select 'Single Request'. In the 'Name' box, enter 'Aging – 7 Buckets – By Salesperson'. A list of Parameters will appear. For 'Report Summary', select 'Invoice Summary'. For 'Report Format', select 'Detailed'. For 'Aging Bucket Name', select 'Collections'. Under 'Salesperson', select the name of your school. Submit the request. The subsequent report gives an aged debtor report for each of your invoices.

Cancel an invoice that I've raised

On occasion you may raise an invoice in error; perhaps the invoice was issued to the wrong customer, or sent to the wrong address. The problem can easily be rectified in Oracle by issuing a credit note to the customer.

To raise a credit for the entire value of the invoice, first select 'Transactions', then 'Credit Transactions' from the Accounts Receivable responsibility in Oracle. Enter the invoice number you wish to credit in the 'Number' field and click on 'Find.

If the number entered is valid a window labelled 'Credit Transactions' will open; enter a reason for the credit, and a contact name and telephone number to appear on the credit note. Click on the button marked 'Credit Balance'; Oracle will automatically credit the outstanding balance on the invoice. Click on 'Complete and make a note of the credit memo 'Number; a credit note will be sent to the customer.

Change the value of an invoice that I've raised

Although you can't amend an invoice once it has been issued, you can either raise a credit, or an additional charge, to the customer.

If you've overcharged a customer on an invoice, you are able to issue a credit note against part of the value of that invoice. Follow the steps above to locate the invoice you wish to credit and add a reason and contact details to the credit note.

Click on 'Credit Lines'; enter the amount you wish to credit as a minus figure against the line or lines that the credit relates to. Close the 'Lines' window and click on 'Complete'. Make a note of the credit memo 'Number' for future reference.

If you have undercharged the customer on the original invoice you will need to raise a new invoice to charge the customer for the balance.

My Functional Currency

on Monday, November 23, 2009

In General Ledger 11i your functional currency referred to the currency of your set of books, it was one of your three Cs (Calendar, Currency and Chart of Accounts). In R12 we changed the terminology, there is no more set of books that is now renamed Ledger and the Currency of your Ledger is referred to as the Accounting Currency of the Ledger.

This is a subtle change and I'm sure experienced 11i practitioners are still using the term functional currency but you all need to stop because it's confusing people.

In Financial standards (IAS 21 and FAS 52), Functional Currency is a test for the integration of your overseas and home businesses. If the businesses share a Functional currency, they are integrated, and you must use a financial statement conversion method called "remeasurement". If the businesses do not share a Functional Currency, they are stand alone, and you must use a financial statement conversion method called "translation". To determine the Functional currency, there are a series of cash flow related tests: it is an objective, situational determination, and not an optional choice.

Now just because your auditors tell you that your functional currency is Euro, this does not mean that you need to go about the tricky business of changing your Ledger Accounting Currency (or Set of Books functional currency) to Euro. What it means is that you need to remeasure in Euro rather than translate.

To do this re-measurement you can use

    ž The GL translation program
    
ž A secondary Ledger
    
ž A consolidation program such as Hyperion

It is not standard to have your Ledger Accounting currency different to you local currency, you will need to file local statutory reports in local currency, your bank will likely send you statements in local currency etc. so you really need your ledger operating in local currency to handle these easily.

So remember my Ledger Accounting Currency does not have to equal my functional currency.

Payroll Table Name and Description

on Friday, November 13, 2009

Table Name

Description

PAY_ACCRUAL_BANDS

Length of service bands used in calculating accrual of paid time off.

PAY_ACCRUAL_PLANS

PTO accrual plan definitions, (Paid time off).

PAY_ACTION_CLASSIFICATIONS

Payroll Action Type classifications.

PAY_ACTION_CONTEXTS

Assignment Action Contexts.

PAY_ACTION_INFORMATION

Archived data stored by legislation

PAY_ACTION_INTERLOCKS

Assignment action interlock definitions to control rollback processing.

PAY_ACTION_PARAMETERS

Global parameters to control process execution.

PAY_ACTION_PARAMETER_GROUPS

Groups of Pay Action Parameters

PAY_ACTION_PARAMETER_VALUES

Values for the specified action parameters

PAY_AC_VENDOR_MAPPINGS

North American Table to control the mapping of internal Values to External Vendor Values

PAY_ALL_PAYROLLS_F

Payroll group definitions.

PAY_ASSIGNMENT_ACTIONS

Action or process results, showing which assignments have been processed by a specific payroll action, or process.

PAY_ASSIGNMENT_LATEST_BALANCES

Denormalised assignment level latest balances.

PAY_ASSIGNMENT_LINK_USAGES_F

Intersection between PAY_ELEMENT_LINKS_F and PER_ALL_ASSIGNMENTS_F.

PAY_AU_MODULES

Defines the processes that can be executed by the generic code caller.

PAY_AU_MODULE_PARAMETERS

Defines the parameters associated with the module used in the generic code

PAY_AU_MODULE_TYPES

Defines the module types used in the generic code caller

PAY_AU_PROCESSES

This table defines the processes that can be executed by the generic code caller.

PAY_AU_PROCESS_MODULES

Defines the intersection between processes and modules used by the generic code caller.

PAY_AU_PROCESS_PARAMETERS

Defines the parameters for a process.

PAY_BACKPAY_RULES

Balances to be recalculated by a RetroPay process.

PAY_BACKPAY_SETS

Identifies backpay, or RetroPay sets.

PAY_BALANCE_ATTRIBUTES

Holds mappings between attributes and defined balances.

PAY_BALANCE_BATCH_HEADERS

Batch header information for balance upload batch.

PAY_BALANCE_BATCH_LINES

Individual batch lines for the balance upload process.

PAY_BALANCE_CATEGORIES_F

Holds seeded categories for balances.

PAY_BALANCE_CLASSIFICATIONS

Information on which element classifications feed a balance.

PAY_BALANCE_CONTEXT_VALUES

Localization balance contexts.

PAY_BALANCE_DIMENSIONS

Information allowing the summation of a balance.

PAY_BALANCE_FEEDS_F

Controls which input values can feed a balance type.

PAY_BALANCE_SETS

Allows related balances to be grouped for reporting purposes.

PAY_BALANCE_SET_MEMBERS

Individual members of the balance set

PAY_BALANCE_TYPES

Balance information.

PAY_BALANCE_TYPES_EFC

This is a copy of the PAY_BALANCE_TYPES table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_BALANCE_TYPES_TL

Translated balance type definitions

PAY_BALANCE_VALIDATION

Balance Validity information

PAY_BAL_ATTRIBUTE_DEFAULTS

Balance attribution defaulted according to values in this table.

PAY_BAL_ATTRIBUTE_DEFINITIONS

Balance attributes help to identify which balances should be usedin which reports.

PAY_BANK_BRANCHES

Stores bank branch information to enable entry of bank account details with the correct branch information (e.g. GB bank, sort code, branch).

PAY_BATCH_CONTROL_TOTALS

Holds user defined control totals for the Batch Element Entry process.

PAY_BATCH_HEADERS

Header information for a Batch Element Entry batch.

PAY_BATCH_LINES

Batch lines for a Batch Element Entry batch.

PAY_CALENDARS

Details of user defined budgetary calendars.

PAY_CA_EMP_FED_TAX_INFO_F

Canadian federal tax information

PAY_CA_EMP_PROV_TAX_INFO_F

Canadian provincial tax information

PAY_CA_FILE_CREATION_NUMBERS

Used by Canadian direct deposit

PAY_CA_LEGISLATION_INFO

Canadian legislation specific data

PAY_CA_PMED_ACCOUNTS

Canadian Provincial Medical account information

PAY_CE_RECONCILED_PAYMENTS

Holds reconciliation information for payments processed through Oracle Cash Management.

PAY_COIN_ANAL_ELEMENTS

Monetary unit quantities for automatic make-up of cash payments.

PAY_COMPARISON_ROWS

 
 

PAY_CONSOLIDATION_SETS

Consolidation set of results of payroll processing.

PAY_COSTS

Cost details and values for run results.

PAY_COSTS_EFC

This is a copy of the PAY_COSTS table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_COST_ALLOCATIONS_F

Cost allocation details for an assignment.

PAY_COST_ALLOCATION_KEYFLEX

Cost Allocation key flexfield combinations table.

PAY_CUSTOMIZED_RESTRICTIONS

CustomForm restrictions for specific forms.

PAY_CUSTOM_RESTRICTIONS_TL

Translated data for the table PAY_CUSTOMIZED_RESTRICTIONS

PAY_DATED_TABLES

Holds details of datetracked columns

PAY_DATETRACKED_EVENTS

Stores details of events to track on HRMS Datetrack tables

PAY_DEFINED_BALANCES

Intersection between PAY_BALANCE_TYPES and PAY_BALANCE_DIMENSIONS.

PAY_DIMENSION_ROUTES

Stores balance dimension relationships.

PAY_ELEMENT_CLASSIFICATIONS

Element classifications for legislation and information needs.

PAY_ELEMENT_CLASSIFICATIONS_TL

Translated element classification definitions

PAY_ELEMENT_ENTRIES_F

Element entry list for each assignment.

PAY_ELEMENT_ENTRY_VALUES_F

Actual input values for specific element entries.

PAY_ELEMENT_ENTRY_VALUES_F_EFC

This is a copy of the PAY_ELEMENT_ENTRY_VALUES_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_ELEMENT_LINKS_F

Eligibility rules for an element type.

PAY_ELEMENT_SETS

Element sets.  Used to restrict payroll runs, customize windows, or as a distribution set for costs.

PAY_ELEMENT_SPAN_USAGES

 
 

PAY_ELEMENT_TEMPLATES

Element Templates

PAY_ELEMENT_TYPES_F

Element definitions.

PAY_ELEMENT_TYPES_F_EFC

This is a copy of the PAY_ELEMENT_TYPES_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_ELEMENT_TYPES_F_TL

Translated element definitions

PAY_ELEMENT_TYPE_EXTRA_INFO

Stores extra information for an element

PAY_ELEMENT_TYPE_INFO_TYPES

Types of extra information that may be held against an element.

PAY_ELEMENT_TYPE_RULES

Include and exclude rules for specific elements in an element set.

PAY_ELEMENT_TYPE_USAGES_F

Used to store elements included or excluded from a defined run type.

PAY_ELE_CLASSIFICATION_RULES

Intersection table for PAY_ELEMENT_SETS and PAY_ELEMENT_CLASSIFICATIONS.

PAY_ELE_PAYROLL_FREQ_RULES

Frequency rules for a deduction/payroll combination.

PAY_ENTRY_PROCESS_DETAILS

Internal processing details for certain element entries

PAY_EVENT_GROUPS

Provides grouping for user control of event monitoring

PAY_EVENT_PROCEDURES

Code to execute if event detected.

PAY_EVENT_QUALIFIERS_F

Event Qualification definitions

PAY_EVENT_UPDATES

Process event update transactions

PAY_EVENT_VALUE_CHANGES_F

Values changes that cause an event

PAY_EXTERNAL_ACCOUNTS

Bank account details that enable payments to be made.

PAY_FILE_DETAILS

Report file details that have been saved in the system

PAY_FORMULA_RESULT_RULES_F

Rules for specific formula results.

PAY_FREQ_RULE_PERIODS

Stores frequency rule for a deduction/payroll combination.

PAY_FR_CONTRIBUTION_USAGES

PAY_FR_CONTRIBUTION_USAGES holds the definition of statutory payroll contributions in the French legislation.

PAY_FUNCTIONAL_AREAS

Holds definitions of functional areas

PAY_FUNCTIONAL_TRIGGERS

Defines the triggers contained in a functional area

PAY_FUNCTIONAL_USAGES

Enables functional areas for specific legislations, business groups and payrolls

PAY_GB_SOY_OUTPUTS

Temporary table for GB Start of Year process outputs.

PAY_GB_TAX_CODE_INTERFACE

Interface table for the UK Start of Year process.

PAY_GB_YEAR_END_ASSIGNMENTS

Extraction table for UK End of Year processing, which holds information about assignments.

PAY_GB_YEAR_END_PAYROLLS

Payroll information for the UK EOY process.

PAY_GB_YEAR_END_VALUES

Extraction table for the UK End of Year process that holds information about the NI balances at the year end.

PAY_GL_INTERFACE

Costed details to be passed to the General Ledger

PAY_GRADE_RULES_F

Stores the values for grade or progression point rates.

PAY_GRADE_RULES_F_EFC

This is a copy of the PAY_GRADE_RULES_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_GROSSUP_BAL_EXCLUSIONS

Stores balances which will be excluded for gross up by the net to gross process

PAY_IE_PAYE_DETAILS_F

PAY_IE_PAYE_DETAILS_F holds the PAYE Tax  Details for an assignment. It is a Date Tracked table.

PAY_IE_PRSI_DETAILS_F

PAY_IE_PRSI_DETAILS_F holds the PRSI Details for an assignment. It is a Date Tracked table.

PAY_IE_SOCIAL_BENEFITS_F

PAY_IE_SOCIAL_BENEFITS_F holds the social benefit details for an assignment.This is a date tracked table

PAY_IE_TAX_BODY_INTERFACE

PAY_IE_TAX_BODY_INTERFACE,Interface table used for uploading data into PAYE tables from a flat file.

PAY_IE_TAX_ERROR

PAY_IE_TAX_ERROR,Table used  to populate errors occured during uploading PAYE details.

PAY_IE_TAX_HEADER_INTERFACE

PAY_IE_TAX_HEADER_INTERFACE,Interface table used for uploading data into PAYE tables from a flat file.

PAY_IE_TAX_TRAILER_INTERFACE

PAY_IE_TAX_TRAILER_INTERFACE,Interface table used for uploading data into PAYE tables from a flat file.

PAY_INPUT_VALUES_F

Input value definitions for specific elements.

PAY_INPUT_VALUES_F_EFC

This is a copy of the PAY_INPUT_VALUES_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_INPUT_VALUES_F_TL

Translated input value definitions

PAY_ITERATIVE_RULES_F

Holds the processing rules of iterative elements.

PAY_JOB_WC_CODE_USAGES

Workers Compensation codes for specific job and state combinations.

PAY_JP_BANKS

This table is used for Japanese bank information.

PAY_JP_BANK_BRANCHES

This table is used for Japanese bank branch information.

PAY_JP_PRE_TAX

This table is a temporary table for Japanese legislative reports.

PAY_JP_SWOT_NUMBERS

Holds Japanese Tax Special Withholding Obligation Taxpayer Numbers.

PAY_LEGISLATION_CONTEXTS

Maps core contexts to legislative names

PAY_LEGISLATION_RULES

Legislation specific rules and structure identifiers.

PAY_LEGISLATIVE_FIELD_INFO

Controls legislative rules on individual form fields

PAY_LINK_INPUT_VALUES_F

Input value overrides for a specific element link.

PAY_LINK_INPUT_VALUES_F_EFC

This is a copy of the PAY_LINK_INPUT_VALUES_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_MAGNETIC_BLOCKS

Driving table for fixed format version of the magnetic tape process.

PAY_MAGNETIC_RECORDS

Controls the detailed formatting of the fixed format version of the magnetic tape process.

PAY_MESSAGE_LINES

Error messages from running a process.

PAY_MONETARY_UNITS

Valid denominations for currencies.

PAY_MONETARY_UNITS_TL

Translated data for the table PAY_MONETARY_UNITS_TL

PAY_MONITOR_BALANCE_RETRIEVALS

Monitors the source of balance retrievals

PAY_MX_EARN_EXEMPTION_RULES_F

Used to hold the Earnings exemption rules for Mexico

PAY_MX_LEGISLATION_INFO_F

Mexican legislation specific data

PAY_NET_CALCULATION_RULES

Element entry values which contribute to the net value of Paid Time Off.

PAY_NL_IZA_UPLD_STATUS

Holds the Status of the Data Records in the Processed IZA File

PAY_ORG_PAYMENT_METHODS_F

Payment methods used by a Business Group.

PAY_ORG_PAYMENT_METHODS_F_EFC

This is a copy of the PAY_ORG_PAYMENT_METHODS_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_ORG_PAYMENT_METHODS_F_TL

Translated payment method information

PAY_ORG_PAY_METHOD_USAGES_F

Payment methods available to assignments on a specific payroll.

PAY_PATCH_STATUS

Used to track the application of patches.

PAY_PAYMENT_TYPES

Types of payment that can be processed by the system.

PAY_PAYMENT_TYPES_TL

Translated payment type details

PAY_PAYROLL_ACTIONS

Holds information about a payroll process.

PAY_PAYROLL_ACTIONS_EFC

This is a copy of the PAY_PAYROLL_ACTIONS table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_PAYROLL_GL_FLEX_MAPS

Payroll to GL key flexfield segment mappings.

PAY_PAYROLL_LIST

List of payrolls that a secure user can access.

PAY_PEOPLE_GROUPS

People group flexfield information.

PAY_PERSONAL_PAYMENT_METHODS_F

Personal payment method details for an employee.

PAY_PERSONAL_PAYMENT_METHO_EFC

This is a copy of the PAY_PERSONAL_PAYMENT_METHODS_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_PERSON_LATEST_BALANCES

Latest balance values for a person.

PAY_POPULATION_RANGES

PERSON_ID ranges for parallel processing.

PAY_PRE_PAYMENTS

Pre-Payment details for an assignment, including the currency, the amount and the specific payment method.

PAY_PRE_PAYMENTS_EFC

This is a copy of the PAY_PRE_PAYMENTS table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_PROCESS_EVENTS

Process event capture table.

PAY_PROCESS_GROUPS

Defines groups of processes

PAY_PROCESS_GROUP_ACTIONS

Processes within the Process Group

PAY_PSS_TRANSACTION_STEPS

Table holding (denormalised) work-in-progress for Payroll Payments self-service.

PAY_PURGE_ACTION_TYPES

Details of the processing order required to purge action types.

PAY_PURGE_ROLLUP_BALANCES

Populated during Purge.  Stores details of the balance values being removed.

PAY_QUICKPAY_EXCLUSIONS

List of element entries that are to be excluded from a QuickPay run.

PAY_QUICKPAY_INCLUSIONS

List of element entries that can be included in a QuickPay run.

PAY_RATES

Definitions of pay rates, or pay scales that may be applied to grades.

PAY_RECORDED_REQUESTS

Dated process information.

PAY_REPORT_FORMAT_ITEMS_F

Individual items for the report mapping.

PAY_REPORT_FORMAT_MAPPINGS_F

Maps a report for a given jurisdiction to the fixed format defined for the magnetic tape.

PAY_REPORT_TOTALS

 
 

PAY_RESTRICTION_PARAMETERS

Restrictions to the rows retrieved by a customized form.

PAY_RESTRICTION_VALUES

The specific values to be used to customize a form.

PAY_RETRO_ASSIGNMENTS

Identifies assignment for reprocessing

PAY_RETRO_COMPONENTS

 
 

PAY_RETRO_COMPONENT_USAGES

 
 

PAY_RETRO_DEFINITIONS

 
 

PAY_RETRO_DEFN_COMPONENTS

 
 

PAY_RETRO_ENTRIES

Identifies the Entries required for re-processing.

PAY_RETRO_NOTIF_REPORTS

Populated and used in the RetroNotification Report

PAY_ROUTE_TO_DESCR_FLEXS

Store of routes to Descriptive Flexfields

PAY_RUN_BALANCES

Store of run level balances.

PAY_RUN_RESULTS

Result of processing a single element entry.

PAY_RUN_RESULT_VALUES

Result values from processing a single element entry.

PAY_RUN_RESULT_VALUES_EFC

This is a copy of the PAY_RUN_RESULT_VALUES table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_RUN_TYPES_F

The different types of Payroll Run processing

PAY_RUN_TYPES_F_TL

Translated run type descriptions

PAY_RUN_TYPE_ORG_METHODS_F

Organisation level payment methods associated with a particular run type.

PAY_RUN_TYPE_ORG_METHODS_F_EFC

This is a copy of the PAY_RUN_TYPE_ORG_METHODS_F table which is populated by the EFC (Euro as a Functional Currency) process.

PAY_RUN_TYPE_USAGES_F

Holds child run types where the run type parent is of type Cumulative.

PAY_SECURITY_PAYROLLS

List of payrolls and security profile access rules.

PAY_SHADOW_BALANCE_CLASSI

Element Template Shadow Balance Classifications

PAY_SHADOW_BALANCE_FEEDS

Element Template Shadow Balance Feeds

PAY_SHADOW_BALANCE_TYPES

Element Template Shadow Balance Types

PAY_SHADOW_BAL_ATTRIBUTES

 
 

PAY_SHADOW_DEFINED_BALANCES

Element Template Shadow Defined Balances

PAY_SHADOW_ELEMENT_TYPES

Element Template Shadow Element Type

PAY_SHADOW_ELE_TYPE_USAGES

Element Template Shadow Element Type Usages

PAY_SHADOW_FORMULAS

Element Template Shadow Formulas

PAY_SHADOW_FORMULA_RULES

Element Template Shadow Formula Result Rules

PAY_SHADOW_GU_BAL_EXCLUSIONS

Element Template Grossup Balance Exclusions

PAY_SHADOW_INPUT_VALUES

Element Template Shadow Input Values

PAY_SHADOW_ITERATIVE_RULES

Element Template Shadow Iterative Rules

PAY_SHADOW_SUB_CLASSI_RULES

Element Template Shadow Sub-Classification Rules

PAY_STATE_RULES

US state tax information.

PAY_STATUS_PROCESSING_RULES_F

Assignment status rules for processing specific elements.

PAY_STAT_TRANS_AUDIT

 
 

PAY_SUB_CLASSIFICATION_RULES_F

Rules to determine the inclusion of an element in a secondary element classification.

PAY_TAXABILITY_RULES

Taxability rules for categories of earnings and deductions.

PAY_TAXABILITY_RULES_DATES

Maintains taxability rules date-effectively, to allow for end-of-year updates.

PAY_TEMPLATE_CORE_OBJECTS

Keeps track of  the core schema objects generated from an element template.

PAY_TEMPLATE_EXCLUSION_RULES

Controls the exclusion of an object from an Element Template

PAY_TEMPLATE_FF_USAGES

Allows multiple formulas to be associated with a shadow object.

PAY_TEMP_BALANCE_ADJUSTMENTS

Holds temporary data used by the balance initialization process.

PAY_TEST_CONTEXTS

 
 

PAY_TEST_EXPIRY_INFO

 
 

PAY_TEST_FEED_INFO

 
 

PAY_TEST_PARAMETERS

 
 

PAY_TEST_PARAMETER_USAGES

 
 

PAY_TEST_RUNS

 
 

PAY_TEST_STAGES

 
 

PAY_TEST_STEPS

 
 

PAY_TEST_SUITE_USAGES

 
 

PAY_TRIGGER_COMPONENTS

Stored procedures that are executed from dynamic triggers

PAY_TRIGGER_DECLARATIONS

Variables declared in dynamic triggers

PAY_TRIGGER_EVENTS

Definitions of triggers that are dynamically generated

PAY_TRIGGER_INITIALISATIONS

How dynamically generated triggers initialise their local variables

PAY_TRIGGER_PARAMETERS

Parameter mappings for dynamically generated procedure and function calls

PAY_TRIGGER_SUPPORT

Allows support package for dynamically generated trigger to be linked to the trigger

PAY_USER_COLUMNS

Column definitions for user defined tables.

PAY_USER_COLUMN_INSTANCES_F

Actual values for each row and column combination in a user defined table.

PAY_USER_ROWS_F

Row definitions for user defined tables.

PAY_USER_TABLES

Table definitions for user defined tables.

PAY_US_ASG_REPORTING

Denormalised performance table for accessing balances.

PAY_US_CITY_GEOCODES

Holds all distinct combinations of state code, county code and city code.

PAY_US_CITY_NAMES

US cities and their VERTEX geocodes, used to validate US addresses.

PAY_US_CITY_SCHOOL_DSTS

VERTEX geocodes for school districts within a city.

PAY_US_CITY_TAX_INFO_F

Holds city tax information.

PAY_US_CONTRIBUTION_HISTORY

Contribution History stores yearly consolidated contribution data for a Person per GRE per contribution type

PAY_US_COUNTIES

US counties and their VERTEX geocodes, used to validate US addresses.

PAY_US_COUNTY_SCHOOL_DSTS

VERTEX geocodes for school districts that span counties.

PAY_US_COUNTY_TAX_INFO_F

Holds county tax information.

PAY_US_EMP_CITY_TAX_RULES_F

City level tax details for employee assignments.

PAY_US_EMP_COUNTY_TAX_RULES_F

County level tax details for employee assignments.

PAY_US_EMP_FED_TAX_RULES_F

Federal level tax details for employee assignments.

PAY_US_EMP_STATE_TAX_RULES_F

State level tax details for employee assignments.

PAY_US_FEDERAL_TAX_INFO_F

Holds federal tax information.

PAY_US_GARN_ARREARS_RULES_F

Used for holding the Garnishment Arrears Rules

PAY_US_GARN_EXEMPTION_RULES_F

Used for holding the Garnishment Exemption Rules

PAY_US_GARN_FEE_RULES_F

Used for holding the Garnishment Fee rules

PAY_US_GARN_LIMIT_RULES_F

Used for holding the Garnishment Limit Rules.

PAY_US_GEO_UPDATE

To keep track of changes made to the user data by the geocode patch.

PAY_US_MODIFIED_GEOCODES

US cities and their VERTEX geocodes, used for showing modified geocodes.

PAY_US_RPT_TOTALS

A temporary table to be used in Payroll and Paper W2 Reports.

PAY_US_SCHOOL_DSTS_TAX_INFO_F

The Federal Liaison Services ( FLS ) agency codes have been mapped to the School District Jurisdiction Information  Codes

PAY_US_STATES

US states and their VERTEX geocodes, used to validate US addresses.

PAY_US_STATE_TAX_INFO_F

Holds the state tax information.

PAY_US_TAX_BALANCES

Tax balances used by US Payroll Tax balance reporting.

PAY_US_TAX_REPORT_BALANCES

Identifies tax balances for US Payroll Tax Summary Listing report.

PAY_US_TAX_REPORT_DIMENSIONS

Balance dimensions used by the US Payroll Tax Summary Listing report.

PAY_US_TAX_TYPES

US Tax Types used by US Payroll Tax Balance reporting.

PAY_US_ZIP_CODES

Valid zip code ranges for VERTEX cities, used to validate US addresses.

PAY_WCI_ACCOUNTS

Workers Compensation Accounts table.

PAY_WCI_OCCUPATIONS

Workers Compensation occupations table.

PAY_WCI_RATES

Workers Compensation rates table. NB. This table is currently used for Canadian workers compensation, but is designed to be used globally.

PAY_WC_FUNDS

Workers Compensation Funds table.

PAY_WC_RATES

Workers Compensation Rates table.

PAY_WC_STATE_SURCHARGES

Workers Compensation Surcharges table.

PAY_ZA_ACB_USER_GEN_NOS

PAY_ZA_ACB_USER_GEN_NOS holds the ACB generation number information needed when submitting magnetic tapes to ACB.

PAY_ZA_BRANCH_CDV_DETAILS

PAY_ZA_BRANCH_CDV_DETAILS stores Bank and Branch information used to verify Bank account numbers.

PAY_ZA_CDV_PARAMETERS

PAY_ZA_CDV_PARAMETERS holds information needed to perform the CDV on bank account numbers.

PAY_ZA_IRP5_BAL_CODES

Table holds codes for IRP5 balances

PAY_ZA_TAXREG_BAL_TEMP

Table holds balance types for specific assignments

PAY_ZA_TAX_REGISTERS

PAY_ZA_TAX_REGISTERS is used for the South African Tax Register Report.

PAY_ZA_TAX_TRACES

PAY_ZA_TAX_TRACES holds tax trace data calculated during the payroll run. Only the most recent run's data will be stored.

PAY_ZA_TEMP_BRANCH_DETAILS

PAY_ZA_TEMP_BRANCH_DETAILS is a temporary table that holds Bank and Branch information used to verify Bank account numbers, used in the population of PAY_ZA_BRANCH_CDV_DETAILS.

PAY_ZA_TYS_PROCESSES

PAY_ZA_TYS_PROCESSES stored information about each Tax Year Start Process that was run to ensure that the process will not be run for the same payroll and tax year, and to ensure that a rollback on the process will not occur if the specific