Wednesday, 29 March 2017

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file o

[oracle@sujeet~]$ sqlplus / as sysdba
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file o    

Solution:-

I did solve this error by setting

[oracle@sujeet ~]$
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME

[oracle@sujeet ~]$ sqlplus / as sysdba


SQL> select name from v$database;

NAME
---------

Airtel

Wednesday, 22 March 2017

Access VNC Server Through A Web Browser

Access VNC Server Through A Web Browser (Doc ID 1555696.1)

APPLIES TO:

Linux OS - Version Oracle Linux 6.4 with Unbreakable Enterprise Kernel [2.6.39] and later
Generic Linux

GOAL

This document describes how to access VNC server which is already installed and configured on Oracle Linux:

vnc-server for Oracle Linux 5
tigervnc-server for Oracle Linux 6

Before starting, it is assumed that the access the VNC console via vncviewer is possible:

# vncviewer <Server IP>:5901
But the below message is received when tried to access using URL: http://<Server IP>:5901 over web broswer:

RFB 003.008

SOLUTION

VNC for HTTP access use a port number other then the default VNC port begin from 5900.

To access VNC using HTTP:
1) For Oracle Linux 6,  make sure tigervnc-server-applet is installed:

# rpm -q tigervnc-server-applet
tigervnc-server-applet-1.0.90-0.17.20110314svn4359.el6.noarch
Use this command to install it if not done yet:

# yum install tigervnc-server-applet
2) Access VNC from the URL http://<Server IP>:<5800 + VNC Number>

e.g.  http://192.168.1.2:5801

3) It is possible to access using vncviewer at the same time

# vncviewer <Server IP>:<5900 + VNC Number>
 e.g.

# vncviewer 192.168.1.2:5901

VNC configure on Oracle Linux 7

Configure tigervnc-server on Oracle Linux 7


 This guide will help you configure tigervnc-server on an Oracle Linux 7 server.

Note: This guide assumes that this is a first time setup.
Note: "tigervnc-server" and "tigervnc" are different. For "tigervnc" view (Doc ID 1512402.1)

SOLUTION

 Installing and configuring tigervnc-server:

1. Install the tigervnc-server rpm.

       Note: The RPM is available under the Channel: Oracle Linux 7 Latest (x86_64)

# yum install tigervnc-server
2. Copy the configuration file, /lib/systemd/system/vncserver@.service, to the directory /etc/systemd/system/ following the naming of ' vncserver_<username>@:<port>.service '

Note: It is common to create different configuration files for each user. As a best practice we can add the username to the configuration file as this will help to identify which file belongs to each user. This is not required.
For example:

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver_root@:2.service
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver_oracle@:3.service
3. Modify the configuration files that have been created for each user (In this example we are going to use ROOT and ORACLE) :

       A. Replace "<USER>" with "root" for file "vncserver_root@:2.service" and "oracle" for file "vncserver_oracle@:3.service" with #vi .

 # vi /etc/systemd/system/vncserver_root@:2.service
 # vi /etc/systemd/system/vncserver_oracle@:3.service

           You may also use #sed to automatically make the username replacement:

# sed -i 's/<USER>/root/g' /etc/systemd/system/vncserver_root@:2.service
# sed -i 's/<USER>/oracle/g' /etc/systemd/system/vncserver_oracle@:3.service

       B. Add the geometry to the configuration file as well for each user. In this example we are going to add "-geometry 800x800" to the configuration file. This will be at the end of the line starting with "ExecStart". You can perform this task as well manually with #vi or with #sed .

           #sed example is available below:

# sed -i 's/i"/i -geometry 800x800"/g' /etc/systemd/system/vncserver_root@:2.service
# sed -i 's/i"/i -geometry 800x800"/g' /etc/systemd/system/vncserver_oracle@:3.service


After making the modifications in step A and B the line we have modified under the configuration file should look similar to these:

For file "vncserver_root@:2.service"
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 800x800"

For File "vncserver_oracle@:3.service"
ExecStart=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i -geometry 800x800"

4. We will now enable the vncserver service for each user on the selected port, this will also enable autostart on system boot, with the commands below:

# systemctl enable vncserver_root@:2.service
# systemctl enable vncserver_oracle@:3.service

5. Configure a password for each user to be used with vncserver. You will need to execute #vncserver in the command line while logged in as the user. This will automatically ask you to create a new password for the user.

oracle$ vncserver

6. You will need to restart the server. This is required, otherwise you will encounter a black screen when trying to access via eg, VNCVIEWER.

7. After server boots you will need to open the ports to be able to reach the server. 
For example via #iptables

 Note: In this example we have configured root to use port 2 and oracle to use port 3, as per the configuration file naming "vncserver_root@:2.service" and "vncserver_oracle@:3.service" . If you are going to access from an external network you will need to make sure the ports needed are opened and available, you may require assistance from your local network departments.
iptables -I INPUT -m state --state NEW -p tcp --destination-port 5902 -j ACCEPT
iptables -I INPUT -m state --state NEW -p tcp --destination-port 5903 -j ACCEPT
 
8. You can now try to connect via VNC Viewer using the format below: 

eg:
< Server IP> :5902
< Server IP> :5903

Friday, 17 March 2017

JBO-25058

JBO-25058 ERROR WHEN TRYING TO MANAGE SITES IN SUPPLIER PAGE ".

Solution:-

Please proceed in a test instance 1st 

1) Download and review the read me and pre-requisites for Patch 17829481:R12.POS.D 

2) Ensure that you have taken a backup of your system before applying the recommended patch. 

3) Apply the patch in a test environment. 

4) Retest the issue and let us know whether problem is solved; if yes, please feel free to migrate the solution as appropriate to other environments. 

Note: The Patch Wizard Utility will give you a detailed impact analysis for the patch above, please refer to the Note 976188.1 for more information on the utility. 

WHY THE SOLUTION WILL RESOLVE THE ISSUE 
--------------- 
will resolve the issue of the page supplier site manage site is referencing attribute ShowWarn in view object ByrSuppPVO but it is not there 

WHAT WILL THE PROPOSED SOLUTION DO 
--------------- 
Patch will add attribute ShowWarn in view object ByrSuppPVO 

REFERENCES 
--------------- 
Solution 17829481:R12.POS.D 
BUG 17829481 [https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?rptno=17829481] - JBO-25058 ERROR WHEN TRYING TO MANAGE SITES IN SUPPLIER PAGE 
The following justifies how the issue is related to this specific customer:  the attribute 'ShowWarn', which is available in the latest versions of View Object 'ByrSuppPVO is in version 120.6.12020000.4 or later customer on ByrSuppPVO.xml 120.1  Customer on old POS patch level since CreateSiteLOVCO.java is missing 
This is explained in the following bug:  BUG 17829481 - JBO-25058 ERROR WHEN TRYING TO MANAGE SITES IN SUPPLIER PAGE 

Friday, 10 March 2017

Oracle E-Business Suite on Oracle Cloud


Introduction
The fundamental reasons to move to a cloud computing environment are the business agility, high
Efficiency, Scalability, and Availability that the pooling of elastic computing resources provides, along with significant cost reductions and support for business growth. Oracle has invested deeply in
developing a broad collection of cloud services with solutions at every layer of the technology stack.
Customers who deploy these solutions in Oracle Cloud derive huge benefit from the fact that they have access to Oracle’s entire technology stack in the cloud, just as they did in on-premises deployments.
Customers have run Oracle E-Business Suite in private cloud deployments or some time, with support from Oracle Managed Services or partners. What deserves a fresh look now is how Oracle’s deep and diversified public cloud platform can put you on a trajectory for dramatic business and technology transformation while protecting and leveraging your investment in tried and tested Oracle E-Business Suite solutions.
In the past, running Oracle E-Business Suite (EBS) on the Oracle technology stack on premises was
the only choice for Oracle E-Business Suite customers. Now, Oracle has expanded the deployment
model to include running Oracle E-Business Suite on the same Oracle technology stack, but in Oracle
Cloud. The cloud is a central focus for Oracle, which already offers a comprehensive set of cloud
solutions. However, many Oracle customers, including Oracle E-Business Suite customers, continue
to run their applications on premises or in a private cloud and have a large stake in protecting this
investment. If you are one of these customers, you might ask “How does Oracle reconcile its cloud
focus with my company’s needs?” Oracle’s answer is to continue giving you a choice—a choice that
enables you to make decisions about product adoption and deployment on your own terms and on
your own timeline.
As each Oracle product line continues to chart its own development road map to serve its own
customer base and target markets, Oracle promotes a coexistence or hybrid model that enables you to
complement and augment your existing enterprise applications, such as Oracle E-Business Suite, by
adopting Oracle’s cloud platform. The fact that both the on-premises and cloud deployment models
use the same underlying technology stack naturally leads to the possibility of hybridization, which
means even more choice and agility for you.
Within the Oracle E-Business Suite ecosystem, customers and partners commonly maintain multiple
EBS instances—sometimes isolated, sometimes integrated. These multiple instances might represent
individual business units, different geographies, or development, test, training, or production instances.
The hybrid deployment model is attractive because the same architecture, the same standards, and
the same products are used to put the Oracle technology stack in the cloud as are used to deploy the
technology stack on premises. This means that workloads can be migrated relatively easily between
an on-premises instance and Oracle Cloud. With the ability to run the same Oracle E-Business Suite
applications on the same technology stack either on premises or in Oracle Cloud, you can capitalize
on the benefits of each type of deployment by using the optimal model for each purpose.
Another benefit of hybrid deployment is the ability to augment your Oracle E-Business Suite
implementations with other Oracle offerings, some of which offer hybrid deployment options and others of which are available exclusively as cloud services. For example, many Oracle E-Business Suite customers already take advantage of the integration capabilities offered by Oracle SOA Suite and have deployed that product in an on-premises model. Oracle now offers additional integration services that are cloud-based, so you have options about how to deploy your integration layer. Oracle offers dozens of cloud-based services, and almost all of them offer added value for Oracle E-Business Suite implementations.
It is likely that most, if not all, Oracle E-Business Suite implementations will eventually take on a hybrid (on-premises and cloud) appearance. Customers who adopt hybrid deployment models by combining the benefits of the Oracle Cloud platform with their Oracle E-Business Suite systems will save costs and time, enhance business agility, and increase workforce productivity. With a hybrid cloud solution for Oracle E-Business Suite, you can fine-tune how efficiency, agility, and innovation meet choice and control.
This white paper explains how you, as an existing Oracle E-Business Suite customer, can take
advantage of cloud computing right now, by exploiting the capabilities of Oracle’s Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) offerings to support growth, enhance business agility, and reduce costs and risks.






What EBS customers can do on the Oracle cloud?

Provision new instances of E-Business Suite
Clone your own E-Business Suite environments to the cloud
Deploy development tools for E-Business Suite
Customize and extend your cloud-based E-Business Suite environments
Migrate those customization to other cloud-based or on-premise EBS environments
Manage cloud and on-premise EBS environments using Oracle Application Management Suite
Use your certified third-party products with EBS cloud-based environments

What additional fees are required for EBS customers?

Oracle Cloud resources and services are available for subscription by Oracle customers. Customers who already own Oracle E-Business Suite product licenses may use their Oracle Cloud subscription to provision and deploy Oracle E-Business Suite instances on the Oracle Cloud. The deployed instances may be used for development, testing, training, production, etc. Once a customer acquires a subscription to Oracle Cloud, no additional Oracle E-Business Suite license or usage license is required.

Do I need to purchase EBS product licenses?

Oracle customers who already own Oracle E-Business Suite licenses may use the Oracle Cloud to host instances of their applications. Oracle’s Compute Cloud uses a “Bring your Own License” model, so customers who wish to use the Oracle Compute Cloud must already own a valid license to the software deployed on virtual machines in Oracle Compute Cloud.

01. WHAT IS ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
This refers to running Oracle E-Business Suite on Oracle's Cloud Infrastructure and Platform as a Service offerings, specifically the Oracle Compute Cloud Service, the Oracle Database Cloud Service, and the Exadata Cloud Service.

02. WHAT CAPABILITIES ARE CURRENTLY PROVIDED?
With an Oracle Compute Cloud subscription and with the tools provided in the Oracle Cloud Marketplace, you can quickly provision new instances of Oracle E-Business Suite, deploy development tools on the cloud, as well as clone your existing Oracle E-Business Suite instances from on-premises to Oracle Cloud. In addition, your on-premises and cloud instances can be managed simultaneously from the Oracle Application Management Suite.

03. WHAT ARE THE KEY BENEFITS TO USING ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Key benefits are support for business growth, greater business agility and lower costs and risks. Businesses must be agile to respond to changes such as acquisitions, globalization, divestitures, and regulatory or process changes, with the ability to adopt new technologies or applications functionality. IT can provision new development and test environments quickly in response to such changes while ensuring continuity of day-to-day operations.

Oracle's Infrastructure as a Service is elastic and allows IT to scale up or scale out the infrastructure on demand. This elasticity and the flexibility to pay-as-you-go reduces the need for upfront capital expenditure, and decreases wait times for hardware and other resources, lessening overall project risk.

04. IS ORACLE RELEASING ORACLE E-BUSINESS SUITE AS A SAAS (SOFTWARE AS A SERVICE) APPLICATION?
No. Oracle has no plans to offer Oracle E-Business Suite as a SaaS solution.

05. DOES ORACLE PROVIDE MANAGED SERVICES FOR ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Yes. Oracle’s Managed Cloud Services team (OMCS) provides managed services for customers running Oracle E-Business Suite instances on Oracle Cloud or on-premises.

06. ARE THERE ADDITIONAL FEES FOR USING ORACLE E-BUSINESS SUITE WITH ORACLE CLOUD?
Oracle Cloud resources and services are available for subscription by Oracle customers. Customers who already own Oracle E-Business Suite product licenses may use their Oracle Cloud subscription to provision and deploy Oracle E-Business Suite instances on the Oracle Cloud. The deployed instances may be used for development, testing, training, etc. Once a customer acquires a subscription to Oracle Cloud, no additional Oracle E-Business Suite license or usage license is required.

07. DO I NEED TO PURCHASE ORACLE E-BUSINESS SUITE PRODUCT LICENSES IN ORDER TO USE E-BUSINESS SUITE ON ORACLE CLOUD?
Oracle customers who already own Oracle E-Business Suite licenses may use the Oracle Cloud to host instances of their applications. Oracle’s Compute Cloud uses a “Bring your Own License” model, so customers who wish to use the Oracle Compute Cloud must already own a valid license to the software deployed on virtual machines in Oracle Compute Cloud.

08. HOW DO I DEPLOY ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Once you have an Oracle Compute Cloud subscription, you can access the Oracle Cloud Marketplace and deploy ready-made machine images for provisioning, cloning, and development using the processes described in our online tutorials.

09. HOW DO I RESTRICT ACCESS TO MY ORACLE E-BUSINESS SUITE INSTANCES ON ORACLE CLOUD?
By default, your instance is accessible only over a secure shell using an SSH key pair that you create for authentication. Extra steps are required to configure a web URL. You can retain this URL for private use or take further steps to enable access over public internet.

10. CAN I CUSTOMIZE AND EXTEND ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Yes, the same Oracle tools you use within your on-premises data center are available on the cloud in order for you to customize or extend your Oracle E-Business Suite systems.

11. HOW DO I MIGRATE CUSTOMIZATIONS OF ORACLE E-BUSINESS SUITE ON THE CLOUD TO MY ON-PREMISES PRODUCTION SYSTEM?
Oracle Application Management Suite provides the capability to migrate changes across your Oracle E-Business Suite instances.

12. CAN WE USE OUR OWN CUSTOM DATA WITH ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Yes, you can clone your on-premises instances to the cloud in order to create a complete Oracle E-Business Suite development and testing environment that uses your own existing data.

13. CAN WE USE THE SAME CERTIFIED THIRD-PARTY PRODUCTS WE CURRENTLY USE ON-PREMISES WITH ORACLE E-BUSINESS SUITE ON ORACLE CLOUD?
Yes, the entire Oracle E-Business Suite architecture is the same whether deployed on-premises or on Oracle Cloud. All third party components that comprise an Oracle E-Business Suite application instance will be deployed on the cloud. Oracle Cloud's strategy should also allow customers to use Oracle Cloud to host instances of other applications that may be used to integrate with their Oracle E-Business Suite systems. Please refer to published capabilities and guidelines for using Oracle Cloud with your non-Oracle workloads.

14. CAN I USE THE DATABASE CLOUD SERVICE WITH ORACLE E-BUSINESS SUITE?
Yes, and some automation exists to help you migrate your existing 12.1.3 or 12.2 instances to the cloud, with the database hosted on the Oracle Database Cloud Service and the application tier hosted on the Oracle Compute Cloud Service. Oracle E-Business Suite Development is working on automation for additional scenarios.

15. CAN I USE THE EXADATA CLOUD SERVICE WITH ORACLE E-BUSINESS SUITE?
Yes, you can, and Oracle E-Business Suite Development is working on additional automation for scenarios with the database hosted on the Exadata Cloud Service and the application tier hosted on the Oracle Compute Cloud Service. To meet any immediate requirements, you may wish to engage Oracle Cloud Managed Services or an Oracle partner.

16. WHAT TOOLS ARE USED FOR MANAGING ORACLE E-BUSINESS SUITE ENVIRONMENTS ON ORACLE CLOUD?
The Oracle Application Management Suite allows you to monitor and manage Oracle Cloud and on-premises instances with a unified interface.

17. DOES ORACLE SUPPORT DEPLOYING PRODUCTION INSTANCES OF ORACLE E-BUSINESS SUITE ON THE ORACLE COMPUTE CLOUD SERVICE?
Yes. We have Oracle E-Business Suite customers running their production instances on Oracle's Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) today.


Sunday, 5 March 2017

ORA-04031


"ORA-04031: Unable To Allocate 1667330712 Bytes Of Shared Memory ("shared Pool","unknown Object","sg (Doc ID 1627802.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.3 to 12.1.0.1 [Release 11.2 to 12.1]
Information in this document applies to any platform.
***Checked for relevance on 28-Jul-2015***

SYMPTOMS

Alert log reports next error:

ORA-04031: unable to allocate 1667330712 bytes of shared memory
("shared pool","unknown object","sga heap(1,1)","KZS MTS Network Context")
 

CHANGES

 Kerberos is enabled in a shared server environment.

CAUSE

The issue is addressed in unpublished
Bug 16446347 - KERBEROS DOES NOT WORK IN SHARED SERVERS

The bug is fixed in:

12.2 (Future Release)
12.1.0.2 (Server Patch Set)
Please refer to:Note 16446347.8 - Bug 16446347 - Kerberos does not work in shared servers


SOLUTION

To solve the issue, use any of below alternatives:

Apply patch set 12.1.0.2

- OR -

Apply interim patch 16446347, if available for your platform and Oracle version.

To check for conflicting patches, please use the MOS Patch Planner Tool
Please refer to
Note 1317012.1 - How To Use MOS Patch Planner To Check And Request The Conflict Patches?

If no patch exists for your version, please contact Oracle Support for a backport request.

- OR -

As a workaround:
Disable Kerberos.

- OR -

Disable Shared Server Configuration if this is not an application requirement.


REFERENCES

NOTE:16446347.8 - Bug 16446347 - Kerberos does not work in shared servers

ORA-10388

ORA-10388 PQ Failure for Streams Apply Process During Instance Shutdown (Doc ID 1085283.1)


SYMPTOMS

Alert.log reports ORA-10388 for the Apply process at the time of instance shutdown.

Shutting down instance: further logons disabled
Thu May 7 10:06:58 2009
Stopping background process QMNC
Thu May 7 10:06:58 2009
Stopping background process CJQ0
Streams Apply Server P001 pid=29 OS id=18628 stopped
Thu May 7 10:06:58 2009
Errors in file /oracle/g01/admin/TEST/bdump/trsp101_p001_18628.trc:
ORA-10388: parallel query server interrupt (failure)
Streams Apply Reader P000 pid=28 OS id=18626 stopped
Thu May 7 10:06:58 2009
Errors in file /oracle/g01/admin/TEST/bdump/trsp101_p000_18626.trc:
ORA-10388: parallel query server interrupt (failure)
Thu May 7 10:06:58 2009
Streams APPLY A001 with pid=25, OS id=18624 stopped
Thu May 7 10:06:59 2009
Streams CAPTURE C001 with pid=33, OS id=18630 stopped

CAUSE

Issue reported in the Bug 8610234, closed as not a bug.
The ORA-10388 is not really an error. It is being used as a signal by the coordinator process to terminate the slaves as quickly as possible on shutdown immediate. We do not see the ORA-10388 errors being reported on a normal stop_apply.

So we are using the ORA-10388 to end the Apply Reader and Apply Server(s) rather than there being an underlying error which causes the ORA-10388 to be reported. The fact that we log a message in the alert.log of the form :
ORA-10388: parallel query server interrupt (failure) is just because this signal has been used.

SOLUTION

This is expected behavior and there is no way to avoid these messages.
The good news is they are not errors nor warnings, but just messages
 (like the ones reporting background processes are being stopped as per shutdown).


********************************************************************



ORA-10388 "parallel query server interrupt (failure)" Reference Note (Doc ID 2010592.1)

PURPOSE

This is a brief reference note to show the meaning of database error "ORA-10388". 
It includes the error text, "Cause" and "Action" from message files for each database version from 9.2 onwards, 
along with search links and details of any database bug issues related to the error.

SCOPE

This note is intended for general audience as a starting point to check the meaning of "ORA-10388". 
It does not give detailed information about the error and does not give error message text for versions below 9.2 .
DETAILS

Error Text, Cause and Action from Message File/s for ORA-10388

Versions 9.2, 10.1, 10.2, 11.1, 11.2, 12.1

Error:  ORA-10388 parallel query server interrupt (failure) 
---------------------------------------------------------------------------
Cause:  internal use only 

Action: this event should never be set externally *Comment: commands a slave 
to leave the server group (query failed) 


Database Bugs Related to ORA-10388

Errors are usually due to usage, application or configuration issues but in some cases they may be caused by a bug issue. This section lists any database bugs that have been linked to error "ORA-10388" .
You can restrict the list below to issues likely to affect one of the following versions 
by clicking the relevant button: 

10.2.0.2 
10.2.0.3 
10.2.0.4 
10.2.0.5
11.1.0.6 
11.1.0.7 
11.2.0.1 
11.2.0.2 
11.2.0.3 
11.2.0.4 
12.1.0.1 
12.1.0.2 
Show all Bugs 



Thursday, 2 March 2017

How to compile Custom.pll in R12.1.3


How to compile Custom.pll in R12.1.3


Custom Library (custom.pll) allows to extend/customize Oracle Applications form(Oracle Form) without changing or modifying Oracle Applications code. Examples may include enforcing a new business rule, opening a form using zoom etc. Most of the things that we can do using custom.pll, we can achieve that using Forms Personalization. Since Custom.pll takes the full advantage of PL/SQL so it is having an edge over Forms Personalization for complex customizations.
CUSTOM.pll is used to add extensions to Oracle’s form Functionality.

Some of the common scenarios where CUSTOM.pll can be used are:-
1. Enabling/Disabling the fields
2. Changing the List of Values in a LOV field at runtime,but we cannot add  the new column in standard LOV
3. Defaulting values
4. Enabling Special Menu


Where is this located?
Custom.pll is located in $AU_TOP/resource Directory.

How to add code to this?
Open this pll using the Form builder and make changes to the program units.

How to compile this PLL?
Once you make changes you need to compile the pll. Use the F60gen to compile it at 11i version
f60gen module=custom.pll userid=APPS/ output_file=$AU_TOP/resource/custom.plx module_type=library batch=no compile_all=special

How to make the changes get affected?
Once you make all the necessary changes, compile the pll and generate the PLX file. 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.

Forms Personalization: an alternative of custom.pll
In older versions, prior to 11i, Custom.PLL was most prominently used for adding additional features in the seeded form but the latest version of Oracle EBS comes with the feature called as Forms Personalization which allows even an end user to alter the seeded forms functionality using an user interface called the Personalization form.

Advantages of Forms Personalization over Custom.PLL:
  • Forms personalization can be used by an user with limited PL/SQL knowledge. 
  • Changes take place immediately on reopening the form.
  • Anything which can be done using Custom.PLL can be done using Forms Personalization also.
  • Personalizations are stored in base tables related to Form Personalization.
  • CUSTOM.pll is a single file/entity, hence only one developer can make changes to CUSTOM.pll at any given point in time. This is not a restriction in Forms personalization.
  • Easy to disable/enable with click of a button.
  • Can be moved easily through FNDLOAD from one instance to other.
  • Can be restricted at site/responsibility/user level.
  • Personalization stores who columns with which we have the ability to track who created/modified it where as in CUSTOM.PLL we don’t have that ability.

R12 the compilation command is given below


frmcmp_batch module=CUSTOM.pll userid=apps/apps output_file=CUSTOM.plx module_type=LIBRARY batch=yes compile_all=special



frmcmp_batch module=$AU_TOP/forms/US/XX_DRI_INC.fmb userid=apps/devapps output_file=$XXJERI_TOP/forms/US/XX_DRI_INC.fmx compile_all=special batch=yes

How to change the title of  standard LOV in Form.

Generally In forms, LOV is using for displaying the values, so that it is easily for user to choice and select the value.

rg_id RECORDGROUP;
 rg_name VARCHAR2(100) := 'XXRO_SERIAL_NUM';
 v_sql_string VARCHAR2(32000);
 errcode NUMBER;
 l_error_message VARCHAR2(200);
 the_rowcount NUMBER;
 v_lov      lov;
 v_rec_pos number;
 form_name  varchar2(30) := name_in('system.current_form');
 item_name  varchar2(30) := name_in('system.current_item');
 block_name varchar2(30) := name_in('system.current_block');

IF (event_name = 'WHEN-NEW-ITEM-INSTANCE') THEN
   v_rec_pos := 2;
    IF (form_name    = 'XXCUSTOM') THEN
    v_rec_pos := 3;
    IF (block_name = 'FIND_BASIC')THEN      
 BEGIN
  rg_id := Find_Group( rg_name);
 IF Id_Null(rg_id) THEN
                 rg_id := Create_Group_From_Query
                 (rg_name,
                 'select serial_number,inventory_item_id ,item,"description" '
                  ||' from (select distinct decode(a.customer_product_id,'||''' '''||',a.serial_number,'
    ||' cp.serial_number) serial_number, a.inventory_item_id, '
    ||' b.concatenated_segments item, cp.external_reference "description" '
    ||' from csd_repairs a, mtl_system_items_kfv b,csi_item_instances cp '
    ||' where a.inventory_item_id = b.inventory_item_id '
    ||' and b.organization_id = cs_std.get_item_valdn_orgzn_id '
    ||' and a.CUSTOMER_PRODUCT_ID = cp.INSTANCE_ID(+))'
    ||' where serial_number is not null '
    ||' order by 1');
             
   END IF;

errcode := Populate_Group(rg_id);

v_lov    := find_lov('RO_SERIAL_NUM');

 

  set_lov_column_property(v_lov, 4, TITLE, 'Chassis Number');  

IF get_lov_property(v_lov,group_name) = 'RO_SERIAL_NUM' THEN

     set_lov_property(v_lov,group_name,rg_name);

 END IF;

 END IF;

 END IF;

 END IF;

END;

How To Customize Standard Oracle Application Using Custom Library – custom.pll
There are numerous scenarios for each customer to customize the standard Application. The following sample code demonstrate how to pop up an error message when customer business validation fails.
This note provides a detail steps for customizing the standard application using custom library.
The code attached here will validate number of digits entered in Customer PO Number field from the sales order form. If the number of digits exceeds 3 digits an error message needs to be populated.
  1. Take a back up of custom.pll and custom.plx from $AU_TOP/resource
  2. Have custom.pll, appcore.pll and appcore2.pll copied over to your local folder. The best method is to just copy the entire contents of $AU_TOP/resource
  3. Open CUSTOM.pll in Oracle Forms Developer
  4. Attach appcore2.pll to the custom library
  5. Modify the text of the CUSTOM package body in the appropriate section as below
  6. Save your changes and use the Oracle Forms Compiler program to generate a custom.plx file for the CUSTOM library
  7. Exit from Oracle Forms Developer.
  8. Verify that your file generated successfully. If path name is left blank the file will be generated in c:\orawin\bin (or platform equivalent). Move it to AU_TOP/resource.
  9. Retry it out from the Oracle Applications Navigator.
Sample
Modify the code CUSTOM package body as follows in the appropriate sections
procedure event(event_name varchar2) is
form_name varchar2(30) := name_in(‘system.current_form’);
block_name varchar2(30) := name_in(‘system.cursor_block’);
item_name varchar2(30) := name_in(‘system.cursor_item’); 
Begin
if (form_name = ‘OEXOEORD’and block_name = ‘ORDER’) then
   if LENGTH(name_in(‘ORDER.CUST_PO_NUMBER’)) > 3 then
     fnd_message.set_name(‘FND’,’Cust PO Number should be less than 4 digits’);
     fnd_message.Error;
     RAISE FORM_TRIGGER_FAILURE;
   End if;
End if;
End Event;
Output
If the customer PO Number in sales order form has less than 4 digits the form will not populate any error message. If the customer po number field has more than for 3 digits the error message will be populated.
Retry it from following steps:
1. Open the Application Navigator 
2. Navigate to Order Management Responsibility 
3. Open the Sales Order Form 
4. Enter the values in Custom PO Number field with 4 digits
5. While navigating to next field the following error message pops up   
Cust PO Number should be less than 4 digits