Overview of ERP

on Friday, February 26, 2010

An Enterprise Resource Planning (ERP) system is an information system that is implemented throughout an enterprise with the objective of making information accessible to everyone within the organization in real-time. These systems are designed to integrate all areas of the enterprise including financial accounting, sales, distribution, inventory, and human resources, and thus improve the performance of the organization in terms of resource planning, management control, and operational control.

            

ADVANTAGES

There are many advantages associated with an effectively implemented ERP system. Typical advantages include:

  • Significant cost savings
  • Valuable time savings – speeding up all areas of the business process
  • Accessible information throughout an enterprise in real-time
  • Gives managers and senior executives the ability to monitor activity, strategically plan, and make timely decisions, particularly in global organizations
  • Automates business activities in each area of the enterprise
  • Improving design and engineering practices
  • The process of tracking purchase orders and shipping products to customers (what was ordered, what arrived, what the seller invoiced)
  • Improved finance and accounting activities – by integration of cost, profit, and revenue information and improved presentation of this information [3]
  • By tracking products and sales, managers can realize which products are successful and which products they need to improve/ redesign
  • Improved security against employee crimes
  • Creates a competitive advantage over competitors not using ERP systems


 DISADVANTAGES

Although there are many significant advantages of ERP systems which contribute to competitive advantages and great success, there are also many disadvantages or downfalls. The biggest disadvantage of ERP systems is they can be very difficult and costly to implement and integrate into a large organization. Implementing a system requires a considerable amount of time and financial investment due to on-going training for all employees and it can take a long time to effectively integrate the system. Due to high costs ERP systems have been used mainly by very large organizations but with recent improvements in ERP software and trends towards needs based applications ERP is being used more frequently by medium and small sized organizations. [4] Another difficulty is that the success of the system relies on the employees using the system properly and with accurate information. [3] It can be very expensive to train the whole organization to use the ERP system and failure to do so can result in devastating financial losses to the organization. Another disadvantage of ERP is the lack of customization options. When adopting a new system you want to avoid customizing because it is difficult, timely and expensive.

STEPS TO IMPLEMENTATION

Implementing an ERP system can be a difficult and expensive process and unsuccessful attempts have been extremely costly for some organizations in the past. There are many detailed steps required for effective implementation and professional experience is highly recommended. However, the following 6 steps provide a basic framework and starting point for a successful ERP implementation.

Step 1 – Define Success and Planning

This starting point is often the key to success. First you must establish the problem you are trying to solve or what you want to achieve from implementing ERP. Do you want to improve inventory control? Do you want to speed up delivery? Do you want to automate business practices? And will these improvements contribute to increased profits and future growth? You also need to develop an implementation team, plan the project, and establish all the necessary steps to complete the project. A consultant or an ERP professional is highly recommended.

Step 2 – Set Priorities

During ERP implementations there will be countless problems discovered but due to complexity and high costs of ERP you need to set priorities and focus on the most important issues. It is also important to implement new systems step-by-step to prevent overloading managers and users with too much information when learning the ins and outs of the new system. Generally you want to begin the implementation with the core functions of your business and solidify those practices.

Step 3 – Avoid Modifications

This step is easy, avoid modify the source code of your ERP application software. You should be able to choose the right ERP software to fit your organization in terms of size and complexity so that you do not need to modify the code of the software. There may be pressure from employees to change the program to make it easier for them or make it more like the previous system used. However modifications are extremely costly and time consuming and rarely improve functionality.

Step 4 – Prepare for Change

Implementing an ERP system is a big change for your staff, customers, and suppliers. It is necessary to prepare everyone involved for the change, especially the managers and end-users of the product. Employee resistance can be harmful to the new system and your business so it is important to properly train all users with hands-on experience and plan for a smooth transition. Also it is necessary to have good communication and make it clear that the new system will contribute to greater success of the company and can provide better opportunities for them in the future.

Step 5 – Gain Executive Support

Executives support is crucial for adopting an ERP system. Executives need to ensure strategic alignment with the organizations goals and values. They also need to be actively involved in the implementation to motivate employees and reduce employee resistance. To gain executive support it is recommended to conduct a professional analysis of the company and coordination of the ERP system to be implemented in order to clarify the benefits of the new system. 

Step 6 – Budget Dollars and People

An ERP project can be very expensive and a planned budget is necessary. But more importantly having the right people and expertise to guide the project will determine your success. You can find people within your organization that obtain the right skills and knowledge or you can recruit an external project manager to commit to the implementation process. These candidates must be fully committed to the success of the project and they must obtain the right skills and industry knowledge to complete the implementation.

Open Interfaces for Data Migration

on Wednesday, February 24, 2010

Oracle General Ledger

• Budget Upload
• Importing Journals
• Loading Daily Rates

Oracle Payables

    • Credit Card Transaction Interface Table
    • Invoice Import Interface. This interface is no longer supported for importing invoices.
……..Use the Payables Open Interface instead.
    • Payables Open Interface
    • Purchase Order Matching

Oracle Receivables

    • AutoInvoice
    • AutoLockbox
    • Customer Interface
    • Sales Tax Rate Interface
    • Tax Vendor Extension

Oracle Assets

    • ACE Interface
    • Budget Open Interface
    • Mass Additions Interface
    • Production Interface
    • Physical Inventory

Oracle Cash Management

    • Bank Statement Open Interface
    • Forecasting Open Interface
    • Reconciliation Open Interface

Oracle Purchasing

    • Requisitions Open Interface
    • Purchasing Documents Open Interface
    • Receiving Open Interface

Oracle Inventory

    • Customer Item Interface
    • Open Item Interface
    • Open Replenishment Interface
    • Open Transaction Interface
    • Cycle Count Open Interface
    • Reservations Open Interface
    • Move Orders Open Interface

Oracle Projects

    • Activity Mangement Gateway
    • Client Extensions
    • Transaction Import

Development Considerations for APPS R12

on

CASE SENSITIVE PASSWORDS

User passwords are now case sensitive, so be aware of that before reporting login problems. Also some security requirements can be also enforced, some by default,  such as the use of numbers and letters and password change every 3 weeks or so.

MODULES CHANGES AND MERGES

There are many module enhancements, changes and new global functionality. For example in AP now we have the use of invoice lines, new payments management, TCA for vendor information and enhanced management. MRC now is implemented trough subledger accounting, a new Tax module and consolidated bank management. General information on the changes introduced for release 12 refer to the E-Business Suite Release 12: Release Content Documents note with document id 404152.1 available on Metalink.

WEB ADI

Web ADI is now more widely used and not only for HRMS products. It allows for interaction trough Microsoft Excel with Oracle Applications data, allowing for Query, Insert and Update of information. It replaces ADE for previous releases of HR and ADI for GL. One of the new modules for which it's available is Fixed Assets, allowing for data conversion of Assets trough this technology.

MOAC

Multiple Organization Access Control is a new optional feature that allows to retrieve information for more than one organization from a single responsibility. This requires changes in forms and reports, in order to specify organization chosen and sql and pl/sql modifications to have adequate access to corresponding data. Refer to note 420787.1 on metalink for technical details.

ADF FACES

Oracle ADF is a Java framework used to build the new web pages user interface instead of Oracle Forms, requiring the use of JDeveloper as the tool, so start learning java and XML related things. Some functions previously available as forms now are only available as web pages. No CUSTOM.pll exists, but some kind of personalization is available. Examine functionality is not as we are used to, and more of a debug is required to review underlying information.

Now more official documentation is available, and courses trough Oracle University, as previous 11i release didnt' have a guide on new pages development but only on extension and modification of existing ones.

Consider that for cMRO products family still the older framework is used.

XML PUBLISHER

Tough available since 11.5.10, now many standard reports are built with XML Publisher. This has the main advantage that for example Payables checks only require creation of templates in MS Word for new formats, or eText definition for Payroll Direct Deposit files. The limitation is that only seeded data definition fields are available and some user requirements can't be satisfied, requiring for an enhancement request to Oracle or developing from scratch when we would have expected a way to extend over already existing data definitions.

With custom reports, the issue is that XML Publisher is still a little limited and for more complex data extraction, reports still has to be used, defining XML as output to be able to use it as a XML Publisher data definition.

DEVELOPER VERSION

Developer 9i is required, review new features, and try to identify modifications on developer's guide, which is still basically the same than that of 11i. Some built in calls are now obsolete. There's a migration tool to the new developer version that will make You aware of it.

DATABASE VERSION

10G is the base version for this release. Consider on reviewing the new features as some interesting functionality may be available such as the use of regular expressions.

ON DEMAND INTEGRATION

The latest guide available indicates the use of Interconnect as a tool for integration. For release 12 BPEL is the tool of choice, contact your SDM to have a conference with On Demand people for guidelines on using it.

APPS Data Model

on

When we install Oracle Database by default system will creates SYS and SYSTEM schemas. These consist of all Data Dictionary Tables. Like this if we install Oracle Applications System will automatically creates schemas of all Modules (i.e. GL, AR, AP, etc.) with the respective module name as User and Password. Along with these schemas some special Schemas i.e. APPS, APPLSYS, APPLSYSPUB will be created for special purpose.


APPS Schema

It is Public Schema. It consists of a collection of public synonym of all the objects of all the schemas in the Application database.
All the Procedures, Functions and Packages created must be stored in this Schema.

APPLSYS Schema

This is a special Schema consists of the files starts with FND, ALR, WF and AD.

APPLSYSPUB Schema

This schema is a collection of public synonyms of all FND Tables, which are used for User verification. This is the Gate Way User ID of Oracle Applications.

Note:

1. When we are changing the APPS Schema password, first we have to change in the backend for both APPS and APPLSYS Schemas.

2. Password for both APPS and APPLSYS should be same.

3. Change the password of both the Schemas in FrontEnd and BackEnd.

4. Drop the Concurrent Manager Services and recreate the Concurrent Manager Service with the Password as APPS Password.

Personalization Benefits

on Sunday, February 21, 2010

Personalizing pages in the OA framework enables you to cater for site-wide and user-specific needs at several levels.

Benefits of page personalizations in the OA framework are that they survive upgrades and patches

*Administrators can apply personalizations on any component 
*Users can apply personalizations on queries 
*Administrators can easily disable personalizations for debugging 
*Personalizations can be implemented on a test system, for testing prior to deployment 
*Personalizations can be translated

You save OA framework-based pages as page definitions, for which the database stores metadata. At runtime, a page definition is layered over the base page it personalizes, leaving the original page unchanged.

Personalization levels

Personalizations may occur at the administrator or user level, or be seeded by Oracle application developers.

Administrator-level personalizations

At the administrator level, all OA framework-based pages can be personalized by default. However, administrators can't personalize programmatically created pages or regions, or pages or regions for which the application developer has explicitly disabled administrator personalization.

Administrators may personalize pages, for example, by

*Changing text for labels, prompts, and tip messages 
*Hiding or showing components 
*Reordering components 
*Restricting query results 
*Adding items, such as fields, buttons, links, pick lists, or images 
*Structuring graphs and charts 
*Seeding end-user views 
*Specifying whether fields are required 
*Changing the destination of hyperlinks

The extent to which an administrator can personalize page flow is limited, and depends on how the flow was implemented. In some cases, you can modify function URLs and personalize the destination URLs that display as navigational elements. Page flow changes are generally beyond the scope of systems administrators, however, because such changes may affect transaction flows, and need thorough testing.

Administrators can personalize OA framework pages at the following levels:

*Function 
*Location 
*Site 
*Organization 
*Responsibility

As an administrator, you can define personalizations at the function level to determine which users can access specific functions, and when. For example, you can hide the salary field from a user updating an employee record, but display it when the user creates a new employee.

At the location level, you can use locales as the context for personalization – for example, to show different address field labels based on users' country settings.

Site-level – or global – personalizations apply to all users with access to a given application component, such as "setting the number of rows shown in a table."

Organization-level personalizations apply only to users in a specified organization or business unit. You can use organization-level personalizations, for example, to stipulate that notifications be sorted by age for one organization and by urgency for another.

Personalizations at the responsibility level display only to users under a specific responsibility. You may, for example, configure a trend graph to display only to users under the sales manager responsibility.

The level at which an administrator configures personalization settings determines their precedence over other settings. For example, a responsibility-level personalization takes precedence over site-level personalizations for users with the specified responsibility. Users at the site who are not using the relevant responsibility would see only the site-level changes.

User-level personalizations

Default user personalizations, or user views, can exist at three levels. They can be seeded by Oracle developers, created by a system administrator, or created by the end user.

End users can access the personalization user interface by clicking the Save View or Personalize button. They can then personalize inquiry pages using query regions to create specific data views. For example, they can

*Create and save searches 
*Configure table column titles 
*Hide or show columns 
*Reorder columns 
*Add data filters 
*Change sort orders

Oracle-seeded levels

Oracle 11i E-Business Suite developers can seed personalizations – or build them into – Oracle applications. Seeded function and user-level personalizations, which are like the function and user levels available to administrators and users, respectively, can only be changed or deleted by Oracle customer administrators. However, system administrators or users may duplicate functions and then alter them using personalization settings.

*Seeded function personalizations may, for example, provide applications with customized 
*Menus and responsibilities 
*Cascading style sheets (CSS) 
*FND messages and lookups 
*Icons and images 
*Other required business or user personalizations

OA developers can create and ship seeded personalizations at any administrator personalization level, but system administrators at the customer site can change or delete these settings.

Translating and Deploying Personalizations

You should create personalizations in a test environment before deploying them to one or more production environments, and you should always create initial personalizations in the base language of the application instance.

To export a small number of personalization translations, you use the Export or Upload Translations buttons on the Manage Personalization Levels page. To import or export personalizations in bulk, you use the Export tool to obtain XML files. Because XLIFF (.xlf) files support translations, you then use the XLIFF Extractor to extract translation information from the page XML files.

Finally, you use the XLIFF Importer to load translations into the database repository. Personalizations are stored as documents in the MDS Repository.

Summary

Administrators and end users can personalize pages in the Oracle Application (OA) framework to meet their needs and preferences. Administrators can create, translate, and deploy page personalizations at the function, location, site, organization, and responsibility levels. End users can personalize inquiry pages. Personalized page definitions are stored in the Oracle database, and don't alter the base pages to which they apply.

Accounting for Purchase to Pay Cycle

on

One of the most common business scenarios in Oracle Apps is Purchase to Pay.

That is when companies purchase goods and receive them in their inventory and raise an invoice for it and later pay the supplier. This purchase to pay cycle has many intermediate accounting steps, specially from localisation perspective.

However I am going to demonstrate here the accounting entries carried out in Base Apps when for the Purchase to pay cycle when you track goods from receipt stage to pay stage.

The transactions carried out in the system for this cycle are:

1. Receive Goods

2. Deliver Goods to inventory

3. Raise an Invoice for the supplier against the purchase order

4. Make payment to supplier

The accounting entries are:

TRANSACTION

ACCOUNT

DR

CR

RECEIVE

Accrual Liability

 

1

RECEIVE

In-Transit

1

 

DELIVERY

In-Transit

 

1

DELIVERY

Inventory

1

 

INVOICE

Accrual Liability

1

 

INVOICE

Voucher's Payable

 

1

PAYMENT

Voucher's Payable

1

 

PAYMENT

BANK

 

1

You might have different names for your accounts but these are the Debit-Credit transactions. Notice how In-Transit gets knocked off between Receive and Deliver. Next Accrual Liability get's knocked off between Receive-Deliver and Invoice. The point to note here is that to find your outstanding liability, that is, goods received but not invoiced you would want to find the total credit balance in Accrual Liability account.

Next again note that Voucher's payable is the account that get's hit when you create an invoice with payables. This again get's knocked off when you make the payment. Please remember that I am only talking about standard invoices here. Again, if you want to find total goods invoiced but not yet paid you would query the total credit balance in Voucher's payable account. (you may have a different name in your system).

So in essence the final entry is just simply, Bank Credit to Inventory Debit! Simple and sweet!

Discoverer Plus not opening

on Saturday, February 20, 2010

If you find that Discoverer Plus won't start (or the Discoverer Plus windows doesn't appear) after downloading the Java Applet, or if you're having issues with JInitiator with Oracle Applications, then it could be that you have multiple versions of Java required. For your Oracle Discoverer Plus, Oracle JInitiator Java Plugin (JVM), or other Java based software multiple versions of Java can cause conflicts, so try the following steps. Actually I'd recommend any rollout of the Disco Plus or EBS client include the below steps!

1. Allow multiple concurrent versions of Java to run by enabling Secure Static Versioning.

Update or Create the following Windows registry entry on your desktop client as follows;

  1. If the 'Java Deployment' and 'Policy' folders do not exist under your HKEY LOCAL MACHINE -> SOFTWARE -> JavaSoft entry in your registry you will first need to create these folders as follows;

  2. Right mouse click on the JavaSoft folder in your registry and from the menu select 'New -> Key'. Name the new folder 'Java Deployment'. Open this folder and create another folder named 'Policy' underneath it, then follow the rest of the steps below.

  3. Go to 'HKEY LOCAL MACHINE -> SOFTWARE -> JavaSoft -> Java Deployment -> Policy' in your Windows registry
  4. Right mouse click on the Policy folder and from the menu select 'New -> DWORD Value'
  5. Right click on the newly created value and rename it to - 'EnableSecureStaticVersioning'
  6. The Data value should remain at the default of '0x00000000 (0)'



2. Switch off automatic updates of Java.

It is advisable to turn off the automatic upgrade facility for the desktop client JRE. This will ensure that newer versions of the JRE plug-in are not installed, and used with Oracle E-Business Suite / Oracle Discoverer unknowingly. This feature can be turned off as follows;

1 From the 'Start Menu', select 'Control Panel'

2 Double click the 'Java' icon

3 Select the 'Update' tab

4 Uncheck the 'Check for Updates Automatically' box

5 Click the 'Never Check' button on the 'Java Update -Warning' pop up window

6 Click 'OK' to close the 'Java Control Panel'

Custom SQL scripts in OAM

on Wednesday, February 17, 2010

Oracle Applications Manager has handy SQL scripts which we can use for monitoring EBS environment.

When starting up OAM, navigate to Site Map —-> Monitoring —-> SQL Extensions


[Click on the image to view full size]

There is also a way to add your own personal sql scripts to this page. When you follow the steps mentioned in Metalink note 216816.1, you will find your own scripts on this page. So, here is what you should do.

1. create a custom directory in the $APPL_TOP/admin directory

2. now create a directory called 'sql' in this custom directory

/appl/oatestappl/admin/custom/sql
[oracle@vamisux32 sql]$ ls
oa_info.sql patchlevel_ebs.sql

3. Now place your custom sql scripts in this directory

4. Bounce Apache to see the scripts in OAM

After bouncing Apache, the custom scripts are visible under 'Custom Extensions'…


[Click on the image to view full size]

You can run the custom scripts by clicking the 'run report' button.

R12 Table Naming Convention

on Monday, February 8, 2010

 

_ALL

Table holds all the information about different operating units. Multi-Org environment. You can also set the client_info to specific operating unit to see the data specific to that operating unit only.

 

_TL

Tables corresponding to another table with the same name minus the _TL. These tables provide multiple language support. For each item in the table without _TL there can be many rows in the _TL table, but all with different values in the LANGUAGE column.

 

_B

These are the CORE BASE tables. They are very important and the data is stored in the table with all validations. It is supposed that these table will always contain the perfect format data. If anything happens to the BASE table data, then it is a data corruption issue.

 

_F

These are date tracked tables, which occur in HR and Payroll. For these there are two date columns EFFECTIVE_START_DATE and EFFECTIVE_END_DATE which together with the PK identifies a row uniquely. The date intervals cannot overlap. Many think they are Secured data. Guess someone from Oracle confirms.

 

_V

Tables are the views created on base tables

 

_VL

Views for multi language tables which combines the row of the base table with the corresponding row of the _TL table where the LANGUAGE = USERENV('LANG').

 

_S

Sequences, used for finding new values for the primary key of a table.

 

_A

Audit Shadow Tables

 

_AVN

Audit Shadow Views

 

_ACN

Audit Shadow Views

 

_MRC_V

MRC (Multiple Reporting Currency) is supported by the following Oracle Applications - Oracle Assets,Oracle Cash Management, Oracle Cost Management,  Oracle General Ledger, Oracle Global Accounting Engine, Oracle Payables, Oracle Receivables, Oracle Purchasing, Oracle Projects

CUSTOM.pll

on Wednesday, February 3, 2010

The CUSTOM.pll library is a standard Oracle Forms PL/SQL library that is supplied by Oracle with the Oracle Applications. This is Oracle's built-in feature that allows the customer to enhance the standard functionality of the Applications by implementing site-specific business rules. Every Oracle Forms -based eBusiness screen, and any custom form developed using the Oracle Application development standards, will access the CUSTOM library. This makes an ideal point of creating business rules that effect the entire organization. This is the only method of forms enhancement whose functionality is supported by Oracle World Wide Support. Although any enhancements coded by the customer are not directly supported by Oracle World Wide Support.

Use the CUSTOM Library

Since the CUSTOM library is a typical Forms PL/SQL library, it can include standard PL/SQL logic, Oracle Forms built-in commands and may have other Forms PL/SQL libraries attached to it. The base CUSTOM library is located in the $AU_TOP/resource directory on your forms server. Explore the CUSTOM.pll using the Oracle Forms Designer module to examine the sample code that exists in library. Once any enhancements are made, the library must be generated into an executable library (CUSTOM.plx) that then can be used by the Oracle Applications Forms runtime module. Since the CUSTOM library is loaded once for a given session, a user must log out of the application and sign-on again before any changes will become apparent. It is suggested that you also place a copy of the CUSTOM library in your customization directory as a safety precaution.

The CUSTOM PL/SQL library does have its limitations. It cannot contain SQL commands. It cannot have certain Oracle Applications Forms global libraries attached to it (such as APPCORE). The CUSTOM library is designed to be used solely with the Oracle eBusiness Applications and does not support the Oracle Self-Service Web Applications (OSSWA). Since the CUSTOM library's standard location is in the $AU_TOP/resource, it can be overwritten during an upgrade of the Applications.

Once enhancements are implemented, the CUSTOM library is accessed by the Oracle Applications based upon 'events'. The 'events' define the occasions when the Applications will look into the CUSTOM library for additional code to execute.

Some events are generic:

WHEN-NEW-FORM-INSTANCE

è

Initially entering a form

WHEN-NEW-BLOCK-INSTANCE

è

Entering a zone (or block) within a form

WHEN-NEW-ITEM-INSTANCE

è

Moving into a new field within the form

WHEN-NEW-RECORD-INSTANCE

è

Creating a new record

WHEN-FORM-NAVIGATE

è

Navigating thru a form using the mouse

WHEN-VALIDATE-RECORD

è

Saving (committing) the information to the database

EXPORT

è

Triggered by using the Export feature

Some events are field specific

ZOOM – Pre -11 feature for moving to another form and querying up specific records

Some events are form specific

SPECIALn - (where n is a number between 1 and 45) used to generate entries in the 'Special' menu of the tool bar and the code is triggered by selecting a menu choices
from the 'Special' option on the toolbar

KEY-Fn – (where n is a number between 1 and 8) triggered by pressing the corresponding function key

Some events are application specific

Application Object Library

WHEN-LOGIN-CHANGED

è

Initially entering a form

WHEN-RESPONSIBILITY-CHANGED

è

Entering a zone (or block) within a form

WHEN-PASSWORD-CHANGED

è

Moving into a new field within the form

These are most of the documented events. Discussions from previous OAUG conferences suggest that many more events are passed to the CUSTOM.pll. The method used to find these events would be to create a generic piece of code to display the event name as it passes thru the CUSTOM library. The PL/SQL logic within the library can be organized by these events and then all effected forms or by form and then all effected events. The Oracle development standard is to group forms logic within a specific event. This is a good solution if many forms are affected by the same event. Another development standard is to organize the logic by form and then specific events. This is a good solution if limited forms are affected by several events.

The CUSTOM library can be used to enforce business rules, secure standard features of the Oracle Applications (eliminate or restrict their use), and enforce naming standards. Business rules can be enforced by adding logic that will be executed when a user attempts to save a record. The business rules can be as simple as determining that a user has the authority to perform the actions or that certain data has been entered or as complex as limiting field access and display based upon a user's security level. All of these items can be coded using PL/SQL logic and Forms built-in features. Since the CUSTOM library cannot contain SQL commands, that type of logic must be passed off to stored procedures or functions within the Oracle database.

This section of code looks for the event 'WHEN-NEW-FORM-INSTANCE' when the user is in the PO Supplier form (APXVDMVD). It then executes a custom stored PL/SQL function (FMS_USER_HAS_RESP) to determine if the user has the proper authority to update the supplier information. If the user is in the Site portion of the form, then the custom procedure FMS_WHEN_NEW_ITEM_SITE is executed to allow or disallow changes to the Supplier Site information.

IF event_name = 'WHEN-NEW -FORM-INSTANCE' THEN

If (form_name = 'APXVDMVD') THEN

v_user_id := fnd_global.user_id;

v_site_maint_ok := FMS_USER_HAS_RESP(v_user_id, 'Purchasing Vendor Site Maint');

If (block_name = 'SITE' ) THEN

FMS_WHEN_NEW_ITEM_SITE(v_site_maint_ok, v_new_record);

End if; -- BLOCK=SITE

End If; -- FORM=APXVDMVD

END IF;

Standard Oracle Application features can be secured or eliminated using standard Oracle Forms built-in features. A form button can have its logic disabled and even be removed from display by altering the button's characteristics. This section of code hides the unreserved fields on the Purchase Order form (POXPOEPO) when the user first accesses the form (WHEN-NEW-FORM-INSTANCE event).

IF event_name = 'WHEN-NEW -FORM-INSTANCE' THEN -- SECURE STANDARD ORACLE FEATURE

-- Turn off the Reserve/Unreserve functionality

If form_name = 'POXPOEPO'

And block_name = 'PO_APPROVE' then

SET_ITEM_PROPERTY('PO_APPROVE.UNRESERVE',DISPLAYED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('PO_APPROVE.UNRESERVE_DATE',DISPLAYED,PROPERTY_FALSE);

End If;

END IF;

Since the event logic can be limited specifically to a given form and even a specific zone within a form, it is possible to create validation logic that can enforce naming standards and data entry standards for a type of transaction. One of the samples in the CUSTOM library provides logic to force a supplier's name to be uppercase. This code changes the properties of several columns on the Purchase Order form to force uppercase data entry when the purchase order type is 'CONTRACT'. Notice that logic is required to reset the column properties for other purchase order types.

IF event_name = 'WHEN-NEW -FORM-INSTANCE' THEN

If form_name = 'POXPOEPO' THEN

-- Code to set the item properties for contract documents to Uppercase and Required.

If (block_name = 'PO_HEADERS'

And name_in('PO_HEADERS.TYPE_LOOKUP_CODE') = 'CONTRACT') THEN

SET_ITEM_PROPERTY('PO_HEADERS.COMMENTS',CASE_RESTRICTION,UPPERCASE);

SET_ITEM_PROPERTY('PO_HEADERS.START_DATE',REQUIRED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('PO_HEADERS.END_DATE',REQUIRED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('PO_HEADERS.AMT_LIMIT_DSP',REQUIRED,PROPERTY_TRUE);

Else

-- Code to set the item properties for NON contract documents to Uppercase and NON Required.

SET_ITEM_PROPERTY('PO_HEADERS.COMMENTS',CASE_RESTRICTION,UPPERCASE);

SET_ITEM_PROPERTY('PO_HEADERS.START_DATE',REQUIRED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('PO_HEADERS.END_DATE',REQUIRED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('PO_HEADERS.AMT_LIMIT_DSP',REQUIRED,PROPERTY_FALSE);

v_doc_type := name_in('PO_HEADERS.TYPE_LOOKUP_CODE');

END IF;

END IF; -- Form = 'POXPOEPO'

END IF;-- EVENT=NEW –FORM

During the conference presentation, these examples and others will be discussed in more detail and shown in the entire context of the CUSTOM.pll library.

Suggestions and Tips

To safeguard against accidental loss of your personalized CUSTOM library, place a copy in your customizations directory forms subdirectory. If you wish to execute the CUSTOM library from within your customization directory, you will need to add your customization forms directory path to the beginning of the FORMS60_PATH o/s variable. This method will find your personalized version first and execute it instead of the standard version located in the $AU_TOP/resource directory. To discover any hidden events that may be passed into the CUSTOM library, you could add a section of code to display the event name. Caution: since everyone that accesses the Applications will use the CUSTOM library, limit this experiment to off-hours or to limited use instances.

Oracle Process Manager & Notification Server (OPMN)

on Tuesday, February 2, 2010

Oracle Process Manager & Notification Server (OPMN) is a new addition to R12 E-Business Suite Technology Stack.

OPMN manages all Oracle Application Server 10g Components (like 1. Oracle HTTP Server, 2. OC4J etc).

OPMN has three components.

COMPONENT

DESCRIPTION

Oracle Notification Server

Tool which carries messages (about failure, recovery, start) between different components of Oracle Application server

Oracle Process Manager

Central process management tool which manages all components of Application Server 10g

It is responsible for start, stop, monitor, failure detection, automatic restart of the processes it manages

Process Manager

Tool which communicates the messages originating from the running component, holds the control information on how to start, stop etc.

OPMN can be intergrated with Oracle Enterprise Manager 10g Application Server Control Console. AS Control Console is the graphical user interface and can manage all Oracle Application Server components, under single view.

So... What it does, for Oracle Apps tech Stack?

As OPMN can explicitly manage Oracle HTTP Server and OC4J, it can as well detect if they are down or unanswering.

Say for example, there are several nodes of Oracle E-Business Suite R12 middle tier, on clustering (load balancing on Oracle HTTP Server). OPMN can monitor all the processes by pinging them, So when they are down, OPMN can automatically restart them.

Now, what is Replication of Session state:

Some Applications wants Oracle Applications Server 10g (in its middle tier) to maintain the stateful information to serve all consecutive requests. When such application is deployed on clustering, it is necessary to maintain the session state across multiple processes, in order to provide transparent failover of the requests.

Multiple redundant process would be made available, so that any processes can serve the client request. In the event of failure of one process, the another process can serve the same request successfully.

So... Does Oracle E-Business Suite R12 support state replication?

Oracle Applications Server supports state replication using Application-level clustering, for J2EE application.

Oracle HTTP listener routes the requests to the redundant OC4J Components , hence ensuring the state is replicated.

Oracle AS Web Cache 10g provides stateless and stateful load balancing. Multiple instances of Oracle AS web Cache configures to be a Web Cache Clustering, these provide failover clustering in case one of the WebCache member fails.

Thus, with E-Business Suite R12, Session State Replication (of the requests) is possible both for HTML based interface (OA framework Pages) and Professional user interface (Forms based).