Hurriyet

EBS etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
EBS etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

3 Mart 2015 Salı

Oracle E-Business Suite: Creating Custom Application Top in R12.2 - Custom Application Top Yaratılması - Custom Top Nasıl Yaratılır?

We will be using doc id 1577707.1 to create a custom application top in R12.2

Procedure:

1-We start by downloading the patch "3636980 "Support Diagnostics (IZU) patch for AD Splice" from My Oracle Support. We will be using its contents to setup the application.

2- Under 3636980/izu/admin there are 3 files that needs to be used. 

izuprod.txt  izuterr.txt  newprods.txt

3- We then rename the following files accordingly, such as prod.txt and 
terr.txt

mv izuprod.txt xxstprod.txt
mv izuterr.txt xxstterr.txt


4- Change the details in the newprods.txt so that all references of "izu" to and all references of "IZU" to (i.e. keep the case sensitivity). 

5- We then create a  tablespace. In our example our tablespace name will be TSXXST


 CREATE TABLESPACE TSXXST DATAFILE   
  '/u01/install/PROD/data/tsxxst01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED  
 LOGGING  
 DEFAULT   
 COMPRESS BASIC   
 ONLINE  
 EXTENT MANAGEMENT LOCAL AUTOALLOCATE  
 BLOCKSIZE 8K  
 SEGMENT SPACE MANAGEMENT AUTO  
 FLASHBACK ON;  
   


6- After we create the tablespace, we continue with the user creation. We add the required privileges so that this use can work.

CREATE USER XXST  
  IDENTIFIED BY xxst  
  DEFAULT TABLESPACE TSXXST  
  TEMPORARY TABLESPACE TEMP  
  PROFILE DEFAULT  
  ACCOUNT UNLOCK;  
   
 -- 1 Role for XXST   
  GRANT CONNECT TO XXST;  
  ALTER USER XXST DEFAULT ROLE ALL;  
   
  
 -- 13 System Privileges for XXST   
  GRANT ALTER ANY OUTLINE TO XXST;  
  GRANT ALTER SESSION TO XXST;  
  GRANT ANALYZE ANY TO XXST;  
  GRANT CREATE ANY OUTLINE TO XXST;  
  GRANT CREATE CLUSTER TO XXST;  
  GRANT CREATE MATERIALIZED VIEW TO XXST;  
  GRANT CREATE SEQUENCE TO XXST;  
  GRANT CREATE SESSION TO XXST;  
  GRANT CREATE TABLE TO XXST;  
  GRANT CREATE TRIGGER TO XXST;  
  GRANT CREATE TYPE TO XXST;  
  GRANT DROP ANY OUTLINE TO XXST;  
  GRANT QUERY REWRITE TO XXST;  
  -- 2 Tablespace Quotas for XXST   
  ALTER USER XXST QUOTA UNLIMITED ON APPS_TS_TX_DATA;  
  ALTER USER XXST QUOTA UNLIMITED ON TSXXST;  


7- Then xxstprod.txt will be changed so that  all references of "izu" to and all references of "IZU" to (i.e. keep the case sensitivity).   We also change product id references of 278 to our own number which we decide according the following SQL. Choose one id accordingly, "for example 50001", and replace 278 with it.


 select decode(count ,0, 'Selected number is Available', 'Selected number already in use') Status, &&enter_custom_applID selected_number  
 from  
 (  
 select count(*) as count from  
 (  
 select 'x' from fnd_oracle_userid  
 where oracle_id= &&enter_custom_applID  
 union  
 select 'x' from fnd_application  
 where application_id= &&enter_custom_applID  
 )  
 );  


8- We then edit the last file xxstterr.txt so that all references are for xxst which our new custom top.

9- We then copy the files we have changed to the $APPL_TOP/admin folder.

 cp newprods.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.
 cp xxstprod.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.
 cp xxstterr.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.

10- Then we are finally able to run adsplice under the $APPL_TOP folder so that  we run autoconfig and create our custom application.

>cd $APPL_TOP/admin
>adsplice

11- Remember to check apply the following SQLs so that we might be sure that we have created our application top.

select * from fnd_application where application_short_name = 'XXST';
select * from fnd_product_installations where APPLICATION_ID = 50101;
select * from dba_users where username = 'XXST';

Note: The thing that we have done for a system that is with one application machine and one database machine. If you have more than one application servers that you will have to create application top in your other non shared application.


References:

1-Creating a Custom Application in Oracle E-Business Suite Release 12.2 (Doc ID 1577707.1)


2-http://ermanarslan.blogspot.com.tr/2014/05/ebs-122-add-custom-top.html

27 Şubat 2015 Cuma

Oracle E-Business Suite: General Information - Concepts - Architecture - Mimari - Genel Bilgi ve Konseptler

General Information:

E-Business Suite is formed of 3 tiers These are database, application and client. Database tier holds the database services while Application tier holds the Fusion Middleware and Concurrent Processing part. Client has the java virutal machine which enables it to access and communicate with Application tier. Application tier acts like the middleman between Database and client.

In Fusion Middleware, Forms,Oacore,Oafm servers. The $WEBAPPS_TOP shows us the location of these servers.

Oracle Homes in EBS 12.2:

There are two homes under the run files system. For example under the run file system we have our Oracle home as /u01/install/APPS/fs1/EBSapps/10.1.2 other than that /u01/install/APPS/fs1/FMW_HOME is the other Oracle home for Fusion Middleware. Third home that is seen is $APPL_TOP which has the modules. It is beside the 10.1.2  under /u01/install/APPS/fs1/EBSapps/appl

Web Services:

Web services control the HTTP requests that are coming to the application.

Concurrent Processing Server:

As well as HTML applications and forms , there are also data reporting and data updating programs that need to be run randomly or in scheduled way. They run in the background. The requests that are needed to run are written to a table, then it is read by the concurrent managers and run accordingly.

Concurrent Managers spawn their own processes which is called as target processes.Every target process can run only one concurrent request at a time.

The frequency or the amount of work that is to be done can be arranged by the work shifts

Specialized Concurrent Managers:

Specailized concurrent managers dont exactly run concurrent requests but manages other stuff.

ICM(Internal Concurrent Manager) controls all the other concurrent managers. It administers the startup and shutdown of managers. ICM is important because it has lots of configuration settings that should not be modified but can be modified manually. ICM must be run before any other concurrent manager in order to start other concurrent managers. It creates log files (std.mgr and wnnn.mgr) in $APPLCSF/$APPLLOG.

These are sleep time (number of seconds the ICM waits between checking for new concurrent requests), PMON (process monitor) cycle time (number of sleep cycles the ICM waits between checking for failed workers), and queue size (duration between checks for number of active workers, measured in PMON cycles).

Standard Manager is the default concurrent manager that comes with the installation. However special concurrent managers can be created in order to form special environments for programs.

Concurrent Manager Architecture and Related Tables:

FNDLIBR is the Oracle application object library program which has the concurrent programs that can be called by a concurrent manager.

FND_CONCURRENT_REQUESTS :Details of user requests, including status, start date, and completion date

FND_CONCURRENT_PROGRAMS: Details of concurrent programs, including execution method, whether the program is constrained, and whether it must be run alone.

FND_CONCURRENT_PROCESSES: Cross-references between concurrent requests and queues, and a history of concurrent manager processes

FND_CONCURRENT_QUEUES: Information about each of the concurrent manager queues

How to see the Concurrent Manager Processes?

In order to see the processes we need to be searching for processes with the name of FNDLIBR

ps -ef | grep FNDLIBR


FNDLIBR runs for every concurrent manger and Internal Concurrent Manager.

applmgr  17100 17095  0 Feb19 ?        00:09:37 FNDLIBR               -- ICM                                                                                                                                            
applmgr  18326 18252  0 Feb19 ?        00:00:11 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18329 18252  0 Feb19 ?        00:00:11 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18330 18252  0 Feb19 ?        00:00:29 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18331 18252  0 Feb19 ?        00:00:27 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18332 18252  0 Feb19 ?        00:00:29 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18333 18252  0 Feb19 ?        00:00:14 FNDLIBR                                                                                                      
In fact, ICM starts up a Service Manager that instructs the concurrent manager to startup. Therefore if we look at the mother process of all, we can search for

ps -ef  | grep FNDSM

For example FNDSM process is 18252

Managing Concurrent Processing:

To start ICM, we can start adcmctl.sh which is found under $ADMIN_SCRIPT_HOME to find the status of ICM or to either startup or shutdown the ICM in order to run it again so that other concurrent managers could start.

adcmctl.sh status| shutdown | startup


The EBS Technology Layers:

We have a number of utiliy that runs in between the application and the modules.

• Oracle Applications DBA (AD)
• Oracle Application Object Library (FND)
• Oracle Applications Utilities (AU)
• Oracle Common Modules (AK)
• Oracle Workflow (WF)
• Oracle Web Applications Desktop Integrator (BNE)
• Oracle Alert (ALR)
• Oracle Application Framework (FWK)
• Oracle BI Publisher (XDO)

Use application diagnostics to capture a problem that might exist.


Oracle Alert (ALR):

Oracle Alert allows us to email system notification when an exception occurs. The reason could be any event or database related.

File Structures




The APPL Directory:
Appl_top which is under the EBSapps/appl has the main context files, products and modules.



Admin directory under the common_top has the concurrent manager logs and output directiories. However the correct location is under non editioned file system which is
/u01/install/APPS/fs_ne/inst/SID_HOSTNAME/logs/appl/conc/log/


File Systems of EBS:

There are 2 file systems in EBS 12.2 in additon to non

References:

1-
Architecture and Common Applications
Oracle E-Business Suite ConceptsE22949-09

12 Şubat 2015 Perşembe

Oracle E-Business Suite: Recommended SQL Scripts To Provide For Oracle Support and Environment Information 12.2.* - EBS 12.2.4 ile ilgili gerekli scriptler

Running the Diagnostic Patch:

The main thing that Oracle wants to analyze the system is the diagnostic pack run which comes with a patch. That is Patch 19045166. In it there are some sql's which needs to be run and that is applied by running a perl script which uses the contents of the Patch:

" perl adzddiagnostic.pl "

Determining Code Levels:

Ad and txk code levels are needed, because a lot of patch is associated with the code levels of ad and txk. There are lots of problems regarding these statuses.

SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');



Collecting Fusion Middleware Log Files:

One of the most importan log files are the fusion middleware log files, since the application is run on the Weblogic Server. /Reference 1)

Therefore we need to collect them in case of a failure to both review and supply them to Oracle Support. The following 4 script should be run individually and created zip files can be added to Oracle.


--------------

1-Opmn OHS Log Files:


. /u01/install/APPS/EBSApps RUN

zip -r /home/applmgr/`uname -n`_`date +%m%d%y.%H%M`_OPMN_OHS.zip $IAS_ORACLE_HOME/instances/*/diagnostics/logs/OHS/*/*log* $IAS_ORACLE_HOME/instances/*/diagnostics/logs/OPMN/opmn/*

2-Weblogic Server:

zip -r /home/applmgr/`uname -n`_`date +%m%d%y.%H%M`_FMW.zip $IAS_ORACLE_HOME/../wlserver_10.3/common/nodemanager $EBS_DOMAIN_HOME/servers/oa*/logs/*out* $EBS_DOMAIN_HOME/servers/oa*/logs/*log* $EBS_DOMAIN_HOME/servers/forms*/logs/*out* $EBS_DOMAIN_HOME/servers/forms*/logs/*log* $EBS_DOMAIN_HOME/servers/AdminServer/logs/*out* $EBS_DOMAIN_HOME/servers/AdminServer/logs/*log* $EBS_DOMAIN_HOME/sysman/log/* $EBS_DOMAIN_HOME/servers/oac*/adr/diag/ofm/EBS_domain_*/oac*/incident/* $EBS_DOMAIN_HOME/servers/forms_s*/adr/diag/ofm/EBS_domain_*/forms_s*/incident/*



3-Apache WLS Log Files:

. /u01/install/APPS/EBSApps.env RUN

#####################################################################################

#### Start of script

#####################################################################################

(

# pick up files which have been modified in the last 1 day only

HowManyDaysOld=3

echo "Picking up files which have been modified in the last ${HowManyDaysOld} days"

set -x

find $LOG_HOME -type f -mtime -${HowManyDaysOld} > m.tmp

find $FMW_HOME/webtier/instances/*/diagnostics/logs -type f -mtime -${HowManyDaysOld} >> m.tmp

find $FMW_HOME/wlserver_10.3/common/nodemanager/nmHome*/*.log -type f -mtime -${HowManyDaysOld} >> m.tmp

## Get log files for only the WLS servers needed. Valid server names are one or more of:

## AdminServer forms-c4ws_server forms_server oacore_server oaea_server oafm_server

for SERVERNAME in AdminServer oacore_server forms_server oafm_server

do

find $EBS_DOMAIN_HOME/servers/${SERVERNAME}*/logs -type f -mtime -${HowManyDaysOld} >> m.tmp

find $EBS_DOMAIN_HOME/servers/${SERVERNAME}*/adr/diag/ofm/EBS_domain_*/${SERVERNAME}*/incident -type f -mtime -${HowManyDaysOld} >> m.tmp

done

zip -r mzAppsLogFiles_`hostname`_`date '+%m%d%y'`.zip -@ < m.tmp

rm m.tmp

) 2>&1 | tee mzLogZip.out

#####################################################################################


#### End of script



4- Inventory Related Logs and Reports

. /u01/install/APPS/EBSApps.env RUN

$ADPERLPRG $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass= -outfile=/home/applmgr/Report_App_Inventory.html



zip -r /home/applmgr/node_info.rar /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/oafm/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/oacore/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/forms-c4ws/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/forms/APP-INF/node_info.txt

zip -r /home/applmgr/EBS_DOMAIN_Config.rar

$EBS_DOMAIN_HOME/config/config.xml



zip -r /home/applmgr/Property.rar

$INST_TOP/appl/admin/*.properties

zip -r /home/applmgr/OHS_Logs.rar $IAS_ORACLE_HOME/instances/EBS_web_IKYSDEV_OHS1/config/OHS/EBS_web_IKYSDEV/*

--------------

Running SQL's :

What are the SQL's used below? They are providing us a lot of information regarding the configuration of the system, patching status, node information and lots of other stuff. These information can be used when patching is needed and to determine the status of the system or before applying a particular solution.


The code below can be put within a sql script and run.
---
set markup html on 
spool adop_sessions.html 
set timing on 
set linesize 120 
set pagesize 300 
show user 

select * from AD_NODES_CONFIG_STATUS; 

select NODENAME,CTX_FILE_CHANGED from AD_NODES_CONFIG_STATUS; 

select * from FND_OAM_CONTEXT_FILES; 

Select node_name from FND_OAM_CONTEXT_FILES 
where NAME not in ('TEMPLATE','METADATA','config.txt') and 
CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) 
and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'run' 
and EXTRACTVALUE(XMLType(TEXT),'//oa_service_group_status[@oa_var=''s_web_admin_status'']')='enabled' 
and EXTRACTVALUE(XMLType(TEXT),'//oa_service_list/oa_service[@type=''admin_server'']/oa_service_status')='enabled'; 

SELECT abbreviation, codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad'); 
SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad'); 
select bug_number from ad_bugs where bug_number in ('18288881','18283295','18886213','19259764'); 
select object_name, object_type, status 
from user_objects 
where status = 'INVALID' 
order by object_type; 

SELECT release_name FROM fnd_product_groups; 

select * from FND_NODES; 
select node_name, platform_code, node_mode, node_id, 
server_id, server_address, host, domain, webhost, 
support_cp, support_forms, support_web, support_admin 
from fnd_nodes 
order by node_name ; 
select node_name "Node Name", node_mode "Mode", support_cp "C", 
support_web "W", support_admin "A", support_forms "F" 
from FND_NODES; 



select bug_number from ad_bugs where bug_number in ('19782999', '19494816', '19807163'); 
select * from AD_APPL_TOPS; 
select APPL_TOP_ID, NAME,APPL_TOP_TYPE from AD_APPL_TOPS; 
select * from AD_ADOP_SESSIONS; 
select adop_session_id, APPLTOP_ID, NODE_NAME, NODE_TYPE from AD_ADOP_SESSIONS ;
 select ADOP_SESSION_ID,PREPARE_STATUS,APPLY_STATUS,FINALIZE_STATUS,CUTOVER_STATUS, 
CLEANUP_STATUS,ABORT_STATUS,STATUS,ABANDON_FLAG,NODE_NAME 
from AD_ADOP_SESSIONS 
order by ADOP_SESSION_ID; 
select ADOP_SESSION_ID, EDITION_NAME, NODE_TYPE, NODE_NAME, APPLTOP_ID, PREPARE_STATUS, APPLY_STATUS, CUTOVER_STATUS, CLEANUP_STATUS, ABORT_STATUS, STATUS from AD_ADOP_SESSIONS order by ADOP_SESSION_ID; 

select * from AD_ADOP_SESSION_PATCHES; 
select ADOP_SESSION_ID,BUG_NUMBER,CLONE_STATUS,STATUS,NODE_NAME from AD_ADOP_SESSION_PATCHES order by ADOP_SESSION_ID; 



set linesize 132 
set pagesize 132 
col NAME format A40 
col LEVEL_SET format a15 
col CONTEXT format a20 
col VALUE format A20 wrap 
col Server format a10 
col resp format a8 wrap 
col application format a10 

break on NAME 

select 
'('||language||')-'||n.user_profile_option_name NAME, 
decode(v.level_id, 
10001, 'Site', 
10002, 'Application', 
10003, 'Responsibility', 
10004, 'User', 
10005, 'Server', 
10006, 'Organization', 
10007, 'ServResp', 
'Undefined') LEVEL_SET, 
decode(to_char(v.level_id), 
'10001', '', 
'10002', app.application_short_name, 
'10003', rsp.responsibility_key, 
'10004', usr.user_name, 
'10005', svr.node_name, 
'10006', org.name, 
'10007', (select n.node_name 
from fnd_nodes n 
where n.node_id=level_value2) 
||'/'|| 
(decode(v.level_value, 
-1,'Default', 
(select responsibility_key 
from fnd_responsibility 
where responsibility_id=level_value))), 
v.level_id) "CONTEXT", 
v.profile_option_value VALUE 
from 
fnd_profile_options p, 
fnd_profile_option_values v, 
fnd_profile_options_tl n, 
fnd_user usr, 
fnd_application app, 
fnd_responsibility rsp, 
fnd_nodes svr, 
hr_operating_units org 
where 
p.profile_option_id = v.profile_option_id (+) 
and p.profile_option_name = n.profile_option_name 
and usr.user_id (+) = v.level_value 
and rsp.application_id (+) = v.level_value_application_id 
and rsp.responsibility_id (+) = v.level_value 
and app.application_id (+) = v.level_value 
and svr.node_id (+) = v.level_value 
and org.organization_id (+) = v.level_value 
order by name, v.level_id; 
set pagesize 300 
set linesize 200 

col NAME format a20 
col HOST format a35 
col RELEASE format a15 
col VERSION format a15 

select i.instance_name NAME, i.host_name HOST, f.release_name RELEASE, i.version VERSION 
from v$instance i,fnd_product_groups f 
where upper(substr(i.instance_name,1,4)) = upper(substr(f.applications_system_name,1,4)); 

select ad_zd.get_edition('RUN') from dual; 
select ad_zd.get_edition('PATCH') from dual; 
select ad_zd.get_edition_type from dual; 


set timing off 
set markup html off 
spool off 
-----------------------




References:
1-12.2 Ebusiness Suite - Collecting Fusion Middleware Log Files (Doc ID 1362900.1)
2-Oracle Applications E-Business Suite 12.2 Fusion Middleware Log Files: Locate,View, and Control (Doc ID 1366187.1)

Oracle E-Business Suite: Unable To View Workflow Status Diagram - Java Window Doesn't Initialize - Workflow Status Diagram'ının Çalışmaması

After we have instaled our application and started to work on it, we noticed that there were some errors in the Workflow Diagram Page. We were tring to access some of workflows  through the Workflow Administor responsibility and see the latest workflows that are issued. But we couldn't see anything but error.

Solution:
As a matter of fact, the solution was to set "Server Timezone" Profile as Site level which should be the same timezone as the database timezone value. Then we close the application and recompile the java libraries with force. After the compilation, we start the application and see that both Workflow page is appearing and the java application is starting.



References:
1- Workflow Status Diagram Error -http://www.dbatutor.com/2011/09/unable-to-view-workflow-status-diagram.html

27 Ocak 2015 Salı

Oracle E-Business Suite: Collecting Online Patching Log Files - Log Dosyalarının Toplanması

This article is all about collecting logs that will help you in analysis of the Patches, finding errors in the process or assist you in your Service Request.(Ref-1) (This article is all about the Support Articles in the References). The goal is to collect everyone of these articles in case there might be a problem. In the end, we will also form a script that will report us a lot of things about patches.

All the patch sessions include a patch session id, in which all the related log files concerning that patch, is inserted.  The following SQL will help us the current details about the patch sessions:

select ADOP_SESSION_ID,PREPARE_STATUS,APPLY_STATUS,FINALIZE_STATUS,CUTOVER_STATUS,CLEANUP_STATUS,ABORT_STATUS,STATUS,ABANDON_FLAG,NODE_NAME from AD_ADOP_SESSIONS order by ADOP_SESSION_ID desc; 


Note:
       Y denotes that the phase is done
       N denotes that the phase has not been completed
       X denotes that the phase is not applicable
       R denotes that the phase is running (in progress)
       F denotes that the phase has failed
       P (is applicable only to APPLY phase) denotes at least one patch is already applied for the session id
       C denotes that the status of this ADOP session has completed

Note: Numerical statuses are only relevant for the cutover phase.

These status values are updated when a step has completed, and are as follows:

N denotes that the phase has not been completed
0 denotes that cutover/force_shutdown has started
1 denotes the "force_shutdown" step has successfully executed
3 denotes the "db_cutover" step has successfully executed
4 denotes the "fs_cutover" step has successfully executed
6 denotes the "force_startup" step has successfully executed
Y denotes that the phase is done

Where are the Log Files:
Patch log files are given in the $ADOP_LOG_HOME path. If we look deeper, we will see directories for log groups such as ("Prepare","Apply","Finalize","Cutover","Cleanup").
In these files we will have directories

Adop Scanlog:


This utility analyzes adop log directories for errors and warnings, and displays messages to help the user quickly identify any problems that may have occurred during an adop run. 

To scan all log directories of the latest adop session for errors:
    $ adopscanlog
To scan log directories relating to the latest run of adop in the latest session:
    $ adopscanlog -latest=yes
To scan log directories relating to the latest run of the specified phase, in the latest session:
    $ adopscanlog -latest=yes -phase=
To scan all log directories of a given session (represented by a session_id) for errors:
    $ adopscanlog -session_id=
To see a complete list of supported parameters:
    $ adopscanlog -help

Adop Status:

Adop status gives us the information for the current patching session. However "adop -status " command lets us learn about any given patch session.

Source the run filesystem environment file and run command
adop -status
usage
adop -status  generates a summary report
adop -status generates a summary report for that session ID
adop -status -detail generates a detailed report



Check AD and TXK C Patch levels

The following command gives us details about the patch levels of very important modules. The reason we are emphasizing these patch level information is that after the upgrade from previous 12.2 releases, the missing upgrade of these modules will cause problems. Therefore these are checked by the Oracle Support.

SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');


Check middle tier technology patch levels

perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=/tmp/Inventory_Report.html


References:
1-12.2 E-Business Suite - Collecting Online Patching and fs_clone Log Files (Doc ID 1542162.1)

23 Ocak 2015 Cuma

Oracle E-Business Suite: Adop Workers Issue While Applying A Patch in 12.2.4 - Worker Kısıtı 12.2.*

When we were trying to apply patch we saw something peculiar in the application process. The application was working well until that moment. Even though we didnt need to state "workers" parameter during the process, we were failing because we didn't enter it.
-------------------------------------------
]$ adop phase=prepare

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:

 Please wait. Validating credentials...


RUN file system context file: /u01/install/APPS/fs1/inst/apps/$SID_$HOSTNAME/appl/admin/$SID_$HOSTNAME.xml

PATCH file system context file: /u01/install/APPS/fs2/inst/apps/$SID_$HOSTNAME/appl/admin/$SID_$HOSTNAME.xml
Execute SYSTEM command : df /u01/install/APPS/fs2

Worker count determination...

[UNEXPECTED]Invalid Worker Count: 0
[UNEXPECTED]Only a maximum of 1 workers can be invoked
[UNEXPECTED]Error while validating worker count
Log file: /u01/install/APPS/fs_ne/EBSapps/log/adop/adop_20150121_040942.log


[STATEMENT] Please run adopscanlog utility, using the command

"adopscanlog -latest=yes"

to get the list of the log files along with snippet of the error message corresponding to each log file.


adop exiting with status = 2 (Fail)
-------------------------------------------

Solution:
Actually this problem faded once we were able to patch things with the following method below but we didnt understand what has caused this issue. Maybe they will find it later on.

This problem can only be handled by giving an additional property which is "workers"
adop phase=prepare workers=2

References:
1- Adworker Problem - https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=362105903059544&id=1575085.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=dceackd46_774#SYMPTOM

14 Ocak 2015 Çarşamba

Oracle E-Business Suite: Workflow Mailer Setup, Startup And Configuration To Send Mail in EBS 12.2.* - EBS R12.2'de Workflow Mailer Başlatmak ve Mail Atmak İçin Konfigürasyonlarını Yapmak

After a fresh installation of our Oracle EBS 12.2.4 environment, we wanted to do a workflow configuration. To do that, we had to start the Service Component for the Workflow Mailer. It is opened from System Administrator>Workflow>Notification Mailers and then start  "Workflow Notification Mailer.



However when we tried to do that, we were denied with the following error.'Service Component Container is not running'

Since the service is not started, the agent is not running either. Therefore we have to have that Workflow Agent Listener Service started and the start Worklfow Mailer Service.

1-We click on Site Map>Generic Services> Generic Service Component Container


We start both Workflow Agent Listener Service and Workflow Mailer Service.

2- After that we return to the first screen and then start it up again.



Configuration:

For configuration; We need to go the Workflow Notification Mailer Status by clicking System Administrator>Dashboard>Workflow Manager and edit Workflow Notification Mailer and fill out the following inputs in the picture.

Outbound EMail Account(SMTP)
Server Name: The hostname of the mail server.
Username: Account name defined in the mail server.
Password: Can be kept empty or if there is a passowrd for the username, then the password should also be entered.

Inbound EMail Account(IMAP)
Server Name: The hostname of the mail server.
Username: Account name defined in the mail server.
Password: Can be kept empty or if there is a passowrd for the username, then the password should also be entered.
Reply-To Address: The email address that is going to be written in the mail. If the mail is going to be replied then when the reply button is clicked the input given in this part of the configuration is displayed.



If we are only going to send mails and wont be receiving any mails then Outbound Emial Account(SMTP) is the only thing that is required to be filled.

References:
1-  'Service Component Container is not Running' when Trying to Start Workflow Components (Doc ID 733335.1) 
Starting Workflow

2- Workflow Configuration Issues 
http://www.citagus.com/citagus/blog/r12-ebs-workflow-notifications-mailer-config-issues/

3- Workflow Documentation 
https://docs.oracle.com/cd/E18727_01/doc.121/e12894/T202991T207026.htm
https://docs.oracle.com/cd/E18727_01/doc.121/e12903/T319398T403947.htm

4- Community Discussion:
https://community.oracle.com/thread/2314327

13 Ocak 2015 Salı

Oracle E-Business Suite: Error During Adop Phase=Abort - Adop'ta Patch Abort Edilirken Hata Alınması

We have encountered adop failure while we were aborting a patching process. We wanted to cancel the patch  but there was an error such as the error below:

Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  

After a brief search on Oracle Support we found that there is a bug which causes the context file session id's to be not synchronized between RUN and Patch file systems.

Therefore according to the support document (Doc ID 1916658.1), we changed the context file session id of the Patch file system to the same value with the context file of the Run file system.

The variable to be changed is "s_contextserial". 

First of all we read the s_contextserial value of the context file of the RUN File System.


 . /u01/install/APPS/EBSapps.env RUN  
 more $CONTEXT_FILE | grep s_contextserial  

Then the value which is read can be put into the context file of PATCH File System:

   
 . /u01/install/APPS/EBSapps.env PATCH  
 vi $CONTEXT_FILE



Full Text of the Error:

 [applmgr@T1VSTEBSAPP01 admin]$ adop phase=abort  
 Enter the APPS password:   
 Enter the SYSTEM password:   
 Enter the WLSADMIN password:   
   
  Please wait. Validating credentials...  
   
   
 RUN file system context file: /u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml  
   
 PATCH file system context file: /u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml  
 Execute SYSTEM command : df /u01/install/APPS/fs2   
   
 Worker count determination...  
   
 Validation successful. All expected nodes are listed in ADOP_VALID_NODES table.  
 [EVENT]   [START 2015/01/09 04:19:14] Performing database sanity checks  
 [EVENT]   [END  2015/01/09 04:19:16] Finished performing database sanity checks  
  There is already a session which is incomplete. Details are:  
     Session Id      :  29  
     Prepare phase status :  COMPLETED  
     Apply phase status  :  ATLEAST ONE PATCH IS ALREADY APPLIED  
     Cutover phase status :  NOT COMPLETED  
     Abort phase status  :  RUNNING  
     Session status    :  FAILED  
 The above session would be aborted/rolled back. Do you want to continue [Y/N]? Y  
  [START 2015/01/09 04:19:37] adzdoptl.pl run  
   ADOP Session ID: 29  
   Phase: abort  
   Log file: /u01/install/APPS/fs_ne/EBSapps/log/adop/29/adop_20150109_041858.log  
   Abort status: R  
   [START 2015/01/09 04:19:38] abort phase   
 ERROR: InDbCtxFile.uploadCtx() : Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
 oracle.apps.ad.autoconfig.oam.InDbCtxFileException: Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
     at oracle.apps.ad.autoconfig.oam.InDbCtxFile.uploadCtx(InDbCtxFile.java:281)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.uploadToDb(CtxSynchronizer.java:332)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.main(CtxSynchronizer.java:845)  
 Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
 oracle.apps.ad.autoconfig.oam.InDbCtxFileException: Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
     at oracle.apps.ad.autoconfig.oam.InDbCtxFile.uploadCtx(InDbCtxFile.java:297)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.uploadToDb(CtxSynchronizer.java:332)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.main(CtxSynchronizer.java:845)  
 *******FATAL ERROR*******  
 PROGRAM : (/u01/install/APPS/fs1/EBSapps/appl/ad/12.0.0/bin/adzdoptl.pl)  
 TIME  : Fri Jan 9 04:19:44 2015  
 FUNCTION: ADOP::CommonBusinessRoutines::uploadCtxFile [ Level 1 ]   
 ERRORMSG: Upload of context file failed  
   
   
 [STATEMENT] Please run adopscanlog utility, using the command  
   
 "adopscanlog -latest=yes"  
   
 to get the list of the log files along with snippet of the error message corresponding to each log file.  
   
   
 adop exiting with status = 2 (Fail)  
 [applmgr@T1VSTEBSAPP01 admin]$ 

References:

1- adop phase=abort causes "Serial number in context file contains lower value than that of database copy." (Doc ID 1916658.1)

Oracle E-Business Suite: Forms Launch Problem of EBS 12.2 in Internet Explorer - Internet Explorer'da EBS Form'larının Açılmama Problemi

I have recently come up with a problem with which I tried to solve it for a long time. In the beginning , after we have installed EBS 12.2.4, we tried to open a form screen with internet explorer 8 . However the link wasnt seem to be working at that moment.

Then we had a look at the EBS Browser Support Certification Matrix and we understood that all the problem was java related.(Recommended Browsers for Oracle E-Business Suite Release 12 (Doc ID 389422.1)

 We had to install Java 7 Update 67 (64 bit) to see the results. But this was still not enough for the people who were using Internet Explorer 32 bit. They also had to install Java 7 Update 67 (32 bit) for their 32 bit Internet Explorers.

In the end, we have managed to run EBS forms from both Internet Explorer 32 bit and  64 bit.

References:

1- Old Java Installations -  
http://www.oracle.com/technetwork/java/archive-139210.html

2-  Browser Support Document:

Oracle E-Business Suite: Where are the EBS Log Files - Adop - Adadmin - Service - File Structure in EBS 12.2.* - EBS R12.2'de Log Dosyaları Nerededir? - EBS 12.2.* Dizin Yapısı

What I have noticed since now is that the we have to have a list to find the proper destination of the log files. Because the log files are all over the place, highly distributed, we may not remember all of the log destinations. With the new EBS 12.2.* versions it seems that services seem to write to logs even more than before.

We are going to list the locations and their corresponding paths for our installation in case we ever need them. The corresponding paths may differ according to your installation because the naming conventions of the companies however variable at the beginning of the list is the same for every EBS 12.2.* installation.


1- $ADOP_LOG_HOME=/u01/install/APPS/fs_ne/EBSapps/log/adop

Log files of the adop sessions. Each adop session creates a folder and writes its logs underneath it.


2- $LOG_HOME=/u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/logs


A change in Release 12.2 is that HTTP, Oracle WebLogic Server, and concurrent processing log files are not stored under $LOG_HOME as they were in previous releases:


HTTP log files are located under the native instance home.


Oracle WebLogic Server log files are located under the domain home.(7)


Concurrent processing log files are located on the none-editioned file system (fs_ne)

3- $LOG_HOME/appl/admin/log = /u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/logs/appl/admin/log

Under the log directory specified above  we could find the logs which specific services write during their startup and shutdown processes.

These services are:

1-Adadminsrvctl
2-Adapcctl
3-Adforms-c4wsctl
4-Adnodemgrctl
5-Adoafmctl
6-Adstpall
7-Adstrtal
8-Adalnctl
9-Adcmctl
10-Adformsctl
11-Adoacorectl
12-Adopmnctl
13-Jtfmctl


4-  $FORMS_TRACE_DIR=/u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/logs/ora/10.1.2/forms

5- $APPLRGF=/u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/logs/appl/rgf


6- $APPLCSF=/u01/install/APPS/fs_ne/inst/IKYSDEV_T1VSTEBSAPP01/logs/appl/conc

7- $RUN_BASE/FMW_HOME/logs: /u01/install/APPS/fs1/FMW_Home/logs/

This is the location where Weblogic logs are kept.

8- $INST_TOP/logs/appl/admin/log: /u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/logs/ora/10.1.2

Where Oracle Related log files are kept.

Log File Paths:

The picture below is take from the Oracle Doc which is given in the references.(Ref-2)
It shows us the location of log fi



References:

1- Finding the Log File Destinations:
http://docs.oracle.com/cd/E26401_01/doc.122/e22949/T120505T120509.htm
Log Files
Patching Log Files

$LOG_HOME

2-Oracle Applications E-Business Suite 12.2 Fusion Middleware Log Files: Locate,View, and Control (Doc ID 1366187.1)

5 Ocak 2015 Pazartesi

Oracle E-Business Suite: Restarting HTTP Server - Apache in 12.2.* - Apache Bounce Script - Bounce Apache Server - 12.2.4'de Apache Başlatılması

Unlike our last article on how to start Apache server in R12.1.3 "http://berkeoz1.blogspot.com.tr/2013/07/oracle-e-business-suite-apache.html" we need to be changing the scripts that we have used before since we now have different scripts to use.

Therefore to restart the Apache server; we need to:

1- Stop HTTP server with adapcctl command.
2- Stop the oacore server
3- Start oacore server back again.
4- In the end restart HTTP server with adapcctl command.

General procedure is given below:


[applmgr@T1VSTEBSAPP01 scripts]$ cd $ADMIN_SCRIPTS_HOME  
 [applmgr@T1VSTEBSAPP01 scripts]$ adapcctl.sh stop  
 [applmgr@T1VSTEBSAPP01 scripts]$ admanagedsrvctl.sh stop oacore_server1   
 [applmgr@T1VSTEBSAPP01 scripts]$ admanagedsrvctl.sh start oacore_server1   
 [applmgr@T1VSTEBSAPP01 scripts]$ adapcctl.sh start  

Oracle E-Business Suite: Deployments in EBS 12.2.* - Deploying Forms,Workflows,

With the newcoming changes to filesystem, to deploy a newly customized form we need to be sourcing the patch environment and then deploy forms.


Steps would be like:
1-Source the patch environment

 [applmgr@T1VSTEBSAPP01 ~]$ cd /u01/install/APPS/  
 [applmgr@T1VSTEBSAPP01 APPS]$ ls  
 EBSapps.env fs1 fs2 fs_ne scripts  
 [applmgr@T1VSTEBSAPP01 APPS]$ . EBSapps.env PATCH  

2- Stage the fmb under $AU_TOP/forms/US. Verify the $FORMS_PATH environment variable. FORMS_PATH must contain $AU_TOP/resource and $AU_TOP/forms/ (if for US this would be $AU_TOP/forms/US). If these directories are not set under $FORMS_PATH, set FORMS_PATH accordingly.

How do we check $FORMS_PATH variable?
[applmgr@T1VSTEBSAPP01 APPS]$ env | grep FORMS_PATH  
 FORMS_PATH=/u01/install/APPS/fs1/EBSapps/appl/au/12.0.0/resource:/u01/install/APPS/fs1/EBSapps/appl/au/12.0.0/resource/stub

3- Then we apply the customization by first going to the $AU_TOP then use the following command.

[applmgr@T1VSTEBSAPP01 US]$ pwd  
 /u01/install/APPS/fs1/EBSapps/appl/au/12.0.0/forms/US  
 [applmgr@T1VSTEBSAPP01 US]$ frmcmp_batch JGZZTAJA.fmb apps/ output_file=/u01/install/APPS/fs1/EBSapps/appl/jg/12.0.0/forms/US/JGZZTAJA.fmx compile_all=special

References:
1- Developing and Deploying Customizations in Oracle E-Business Suite Release 12.2 - Form Deployment (Doc ID 1577661.1)
2-How to Generate a Specific Form Through AD utility adadmin (Doc ID 178722.1)

2 Ocak 2015 Cuma

Oracle E-Business Suite: How to apply patches in EBS R12.2 using Adop -- Abort or Rollback a Patch 12.2.4 Versiyonunda Adop Nasıl Kullanılır? Nasıl Patch Geçilir? - Nasıl Patch İptal Edilir?

In EBS Release 12.2 a new patching tool was introduced.  All the patching is now done with adop. The context of this patching system has also changed. It means that the patches are now applied to the online patching cycle. The patching cycle has a number of phases. These phases are:

  1. Prepare - creates the patch edition.
  2. Apply - apply ARU or manual patches to the patch edition.
  3. Finalize - perform any actions required to prepare for cutover.
  4. Cutover - Promote Patch Edition to be the new Run Edition.
  5. Cleanup - remove obsolete code and data from old editions.
We will now introduce the syntax and the usage of each phase:

Prepare:
The online patching cycle starts with prepare command.  That's why we connect to application node and  source the ebs RUN environment. Then we execute the following command which is
" adop phase=prepare"

 [applmgr@T1VSTEBSAPP01 APPS]$ cd /u01/install/APPS  
 [applmgr@T1VSTEBSAPP01 APPS]$ . EBSapps.env RUN  
 [applmgr@T1VSTEBSAPP01 APPS]$ adop phase=prepare  

When this command is executed a new patch edition is created.

File system synchronization can be done by applying the delta from the recent patching cycle, or by forming the entire patch edition file system as a copy of the run edition (called "fs_clone").

If prepare fails then we should abort the prepare phase.

 [applmgr@T1VSTEBSAPP01 APPS]$ adop phase=abort

Apply:

When the preparation phase is over, changes to the patch edition is isolated from the run edition. Therefore run edition can be used as usual.

We first change our directory to the patch's path.. Then we read the readme.txt of the patch. Unless there is not anything required to do before the patch, we execute apply patch command. 

 [applmgr@T1VSTEBSAPP01 Localization Patch]$ cd 20279504_TR/  
 [applmgr@T1VSTEBSAPP01 20279504_TR]$ adop phase=apply  
 [applmgr@T1VSTEBSAPP01 20279504_TR]$  


Finalize:


The finalize phase is the part where system is prepared to ready the system for a fast cutover.

[applmgr@T1VSTEBSAPP01 20279504_TR]$ adop phase=finalize  

Cutover: 

The cutover is made when the system is ready for downtime. It should be applied after the system can endure a downtime. Moreover the patch edition becomes the new run edition.

The Run/patch designation of the dual file systems are swapped during cutover. We re-source the run edition after the cutover phase.

[applmgr@T1VSTEBSAPP01 20279504_TR]$ adop phase=finalize 

Cleanup:

With cleanup unnecessary code created during the patch phase will be removed.


[applmgr@T1VSTEBSAPP01 20279504_TR]$ adop phase=cutover  
[applmgr@T1VSTEBSAPP01 20279504_TR]$ adop phase=c
There is another option which specifies cleanup mode with which full statistics is taken.

Note: Due to a known issue in Release 12.2.2, full cleanup is is currently available only in Release 12.2.3 and higher

Other Options:

FS Clone
$ adop phase=fs_clone
Abort
$ adop phase=abort
$ adop phase=cleanup 





General Structure:

$ . /EBSapps.env run
$ adop phase=prepare
$ adop phase=apply patches=123456
$ adop phase=finalize
$ adop phase=cutover
$ . /EBSapps.env run
$ adop phase=cleanup


How to abort a Patch Process - Rollback: 

We would want to abort a patch if we are failing during a patching process.If we cant solve the problem, the need to abort the cycle arises. To abort a patch, first we need to be at a status before cleanup phase.

The abort command is only available until successful completion of the cutover phase. After cutover completes, the system is running on the new edition and abort is no longer available for that
patching cycle. Warning: Aborting a patching cycle will drop the patch edition, but you must then run the cleanup and fs_clone phases before starting a new patching cycle. The cleanup must be a full cleanup ($ adop phase=cleanup cleanup_mode=full).

$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

Patch - Patching Parameters:

In there reference-4, we have added a link which shows us the available patching parameters that can be used with adop.

 adop phase=prepare workers=1  

The command above is an example for that. We could use workers parameter with adop.


Where are the Adop Logs?

Adop logs are placed into the $ADOP_LOG_HOME which is in the non editione application file system." For example: /u01/install/APPS/fs_ne/EBSapps/log/adop"

In that folder, in the session id that we are in, we would see all the phases that we have done like "Prepare,Finalize,Apply,Cutover,Cleanup,Abort". Other than that within everyone of these folders, everything regarding that phase is inserted like subroutines depending on their execution time.

That is how we could find the related log file.

Inside the $ADOP_LOG_HOME:



Inside the directory of the patch session id:




References:
1-Developing and Deploying Customizations in Oracle E-Business Suite Release 12.2 (Doc ID 1577661.1)
2-Patching Utilities - Adop: http://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531062.htm
3-Validations done by adop-

4-Patching Parameters - http://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531062.htm

29 Aralık 2014 Pazartesi

Oracle E-Business Suite:Applying NLS Patch - Adding Languages To EBS in R12 & R11 - EBS'e Türkçe Dil Desteği Eklemek


After a fresh install of Oracle Production EBS R12.2.4 VM Template on our servers we wanted to add language support on our application system. Therefore we followed this document :"R11i / R12 : Requesting Translation Synchronization Patches (Doc ID 252422.1)"


In that document, it pretty much says everything about languages in an EBS system. You can either add a new language, or update the current language with respect to the other english file versions, just change the language files with the refreshed translations.

The whole process goes like:

1-We should check out the prerequisites under this topic "Before Requesting Translation Synchronization Patch" .  There some patches that you need to apply. according the patch level. You can check out  the patch level with the following SQL

 select * from fnd_product_installations where patch_level like '%AD%';

If you want to see that a patch is installed or not you can use the following patch: 

select * from AD_APPLIED_PATCHES where patch_name='%';  


2- Then  we activate the new language by using Oracle Applications Manager (OAM) Licence Manager.

We first click on Licence Manager.

Then we activate the language that we want.


3- After the activating the language, we go on with the adadmin utiliy the application node.

You run "adadmin" then go on with the "Maintain multi-lingual tables" which is under the the "Maintain Applications Database Entities Menu"

4- Then we request for a new syncronization patch by running the following command and uploading the output to the  following address.

Command:
 perl $AD_TOP/bin/adgennls.pl 

Output:
 $APPL_TOP/admin/$TWO_TASK/out/adgennls.txt 

Upload Address:

5- Then you receive  a translation syncrhonization patch to apply. To apply the for R12.2.4 
5.1- Change directory to the patch directory
5.2- Then execute the following command 
"adop phase=prepare,apply,finalize,cutover,cleanup"

6- Last step would be to generate message files from the adadmin utility.







Referances:


1-R11i / R12 : Requesting Translation Synchronization Patches (Doc ID 252422.1)

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=176620445661286&id=252422.1&_afrWindowMode=0&_adf.ctrl-state=303mg8osv_25


2-Oracle E-Business Suite NLS Release Notes, Release 12.2 (Doc ID 1314621.1)

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=176932629461056&parent=DOCUMENT&sourceId=252422.1&id=1314621.1&_afrWindowMode=0&_adf.ctrl-state=303mg8osv_70


3-How To Troubleshoot NLS Forms Generation Errors When Applying An NLS Patch In R12 Or 11i (Doc ID 1537973.1)

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=273461662123937&id=1537973.1&_afrWindowMode=0&_adf.ctrl-state=1803s998f3_4


4- Oracle E-Business Suite Installation Guide: Using Rapid Install - Part Number E22950-18 - Finishing Tasks - Installing NLS Language Support

https://docs.oracle.com/cd/E26401_01/doc.122/e22950/T422699i4783.htm

5-  Using Lightweight MLS With Oracle E-Business Suite Release 12.1.3 and higher (Doc ID 1077709.1)