When the Oracle Applications Tier Collectors have been installed, post-installation tasks are required. Depending on your application settings, you may need to stop all Insight Savvies that are currently running on the respective server and restart them. In addition, you need to grant permissions to schema user as described below and activate an Interpoint for Oracle Applications, as well as configure the Interpoint for Oracle Applications for the purpose of data collection.
Connect to the Oracle instance on which the corresponding collector is installed as DBA user and run query:
grant execute on DBMS_PIPE to <collector_schema_user>
To activate an Interpoint for Oracle Applications
\products\oracle\SID\schema\install_oracle_apps.bat
./products/oracle/SID/schema/install_oracle_apps.sh
<precise_root>
is the name of the Precise root folder.verify_install_oracle_apps.bat
verify install oracle apps.sh
The Interpoint for Oracle Applications identifies activities of Oracle Applications by monitoring the events that are called by forms. Configuring an Interpoint for Oracle Applications to collect the relevant data involves these tasks:
To have the Interpoint for Oracle Applications collect forms data, you must manually add some information to the customization library of the Oracle Applications forms. This information includes user, form, and application names.
The customization library consists of the following files:
You can only modify the CUSTOM.pld file. This file does not exist by default but can be extracted from the CUSTOM.pll file. For the changes to take a global effect in the customization library after they are implemented in the CUSTOM.pld file, you need to regenerate the CUSTOM.pll and CUSTOM.plx files from the CUSTOM.pld file.
The file names may appear lowercase or uppercase (for example CUSTOM.pll). In the following task, all filenames are uppercase. If you copy-paste this information, verify that the case matches the actual file names on your system. |
To update the customization library on UNIX
$FORMS60_PATH
.To extract the CUSTOM.pld file, run the following command using the Oracle account of Oracle Applications (such as APPS):
f60gen Module=CUSTOM.pll Module_Type=LIBRARY userid=user/password script=yes
For Oracle Applications version R12, replace |
vi CUSTOM.pld
EVENT
procedure, locate the first BEGIN
after the commented sample code, and insert the following code, starting with BEGIN
.begin
if (event_name='WHEN-NEW-FORM-INSTANCE')
then declare cursor_name integer; rows_processed integer; del char(1) := substr(get_application_property(CURRENT_FORM),1,1);
begin
if (del != '/')
then del := '\';
end if;
cursor_name := dbms_sql.open_cursor;
dbms_sql.parse(cursor_name,
'begin VERITAS_APPS_LOG( ''F'' , :username ,
:application , :form , NULL) ; end ;' ,1); dbms_sql.bind_variable(cursor_name,':username' ,
FND_PROFILE.VALUE('USERNAME')); dbms_sql.bind_variable(cursor_name,':application' ,
substr(get_application_property(CURRENT_FORM), instr(get_application_property(CURRENT_FORM),del ,
-1)+1, length(substr( get_application_property(CURRENT_FORM),
instr(get_application_property(CURRENT_FORM), del,-1)+1))-4));
dbms_sql.bind_variable(cursor_name,':form' , Name_In('system.current_form'));
rows_processed := dbms_sql.execute(cursor_name);
dbms_sql.close_cursor(cursor_name);
exception
when others then begin dbms_sql.close_cursor(cursor_name);
exception
when others then null;
end; end; end if;
exception
when others then null;
end;
f60gen Module=CUSTOM.pld Module_Type=LIBRARY userid=user/password parse=yes
frmcmp_batch Module=CUSTOM Module_Type=LIBRARY userid=user/password parse=yes
To regenerate the CUSTOM.plx file from the CUSTOM.pll file, run the following command using the Oracle account of Oracle Applications (such as APPS):
f60gen Module=CUSTOM.pll Module_Type=LIBRARY userid=user/password compile_all=yes
For Oracle Applications version R12, replace |
<precise_root>/products/oracle/<sid>/schema/pss_verify_oa_customer_pll.sh
To update the customization library on Windows
Run the %ORACLE_HOME%\bin\if60gen.exe tool (sometimes called ifbld60.exe).
For Oracle Applications version R12, replace |
begin
if (event_name='WHEN-NEW-FORM-INSTANCE')
then declare cursor_name integer; rows_processed integer; del char(1) := substr(get_application_property(CURRENT_FORM),1,1);
begin
if (del != '/')
then del := '\';
end if;
cursor_name := dbms_sql.open_cursor;
dbms_sql.parse(cursor_name,
'begin VERITAS_APPS_LOG( ''F'' , :username ,
:application , :form , NULL) ; end ;' ,1); dbms_sql.bind_variable(cursor_name,':username' ,
FND_PROFILE.VALUE('USERNAME')); dbms_sql.bind_variable(cursor_name,':application' ,
substr(get_application_property(CURRENT_FORM), instr(get_application_property(CURRENT_FORM),del ,
-1)+1, length(substr( get_application_property(CURRENT_FORM),
instr(get_application_property(CURRENT_FORM), del,-1)+1))-4));
dbms_sql.bind_variable(cursor_name,':form' , Name_In('system.current_form'));
rows_processed := dbms_sql.execute(cursor_name);
dbms_sql.close_cursor(cursor_name);
exception
when others then begin dbms_sql.close_cursor(cursor_name);
exception
when others then null;
end; end; end if;
exception
when others then null;
end;
To have an Interpoint for Oracle Applications identify interactive forms in Oracle Applications 11.5 or higher, you must manually update the system profile of Oracle Applications with site-specific initialization code. As a result, Oracle Applications forwards the required information - the user, form, and application name for interactive work and the concurrent program and application name for batch work - to an Interpoint for Oracle Applications.
Before updating Oracle Applications’ system profile, you must verify that an Interpoint for Oracle Applications was installed successfully. Otherwise, updating the profile may halt Oracle Applications.
To avoid interfering with anyone’s work before changing the system profile, you can alternatively change the profile for only one user to first test the outcome.
To verify that an Interpoint for Oracle Applications was installed successfully
\products\oracle\SID\schema\verify_install_oracle_apps.bat
./products/oracle/SID/schema/verify install oracle apps.sh
To update Oracle Application’s system profile
Init%SQL%Custom
begin veritas_custom_profile; end;
To update the system profile for one user only
Init%SQL%Custom
begin veritas_custom_profile; end;
When the Interpoint for Oracle Applications does not correlate some of its information with the Collector agent, the following scenario may be applicable:
The Interpoint for Oracle Applications collects some of its data from the Oracle Applications using the initialization of every form that is declared in the System Profile. The System Profile contains 4 profile levels, one for each level. Listed from the weakest to the strongest are: Site, Application, Responsibility, User. The Interpoints’ code is on the weakest link here, meaning, Site level. When you customize one or more profiles at a stronger level, the code that resides at Site level is hidden.
In this query we expect to have Interpoints’ code ( |
To find problematic profiles
select a.profile_option_value, DECODE(a.level_id, 10001, 'Site', 10002, 'Application', 10003, 'Responsibility', 10004, 'User', a.level_id)
as "System Profile Level", a.level_value, to_char (a.last_update_date, 'YYYY-MON-DD') LAST_UPDATE_DATE
from FND_PROFILE_OPTION_VALUES a, FND_PROFILE_OPTIONS b, fnd_profile_options_tl c
where
profile_option_id = b.profile_option_id and profile_option_name = c.profile_option_name and
user_profile_option_name = 'Initialization SQL Statement - Custom' order by a.LEVEL_ID;
profile_option_value
looks like: begin veritas_custom_profile;
<customer code goes here (or empty)>
end;
Typing errors in the system profile may prevent Oracle Applications forms from opening, including the system profile form. To validate that there is no other definition that overrides your profile definition and to correct any typing errors, you need to log in to the Oracle database externally using SQL*Plus.
To correct typing errors
Select * from FND_PROFILE_OPTION_VALUES where PROFILE_OPTION_VALUE like '%veritas%';
'%veritas%'
in the where clause with the string you are looking for. For example, to search for the profiles that were entered on July 13, 1975, execute the following command: Select * from FND_PROFILE_OPTION_VALUES where last_update_date=to_date ('13-JUL-75', 'DD-MON-YY');
update FND_PROFILE_OPTION_VALUES set PROFILE_OPTION_VALUE ='begin veritas_custom_profile; end;'
where PROFILE_OPTION_VALUE like '%veritas%';
'%veritas%'
in the where clause with the string you are looking for. For example, to update all profiles that were entered on July 13, 1975, execute the following command: update FND_PROFILE_OPTION_VALUES set PROFILE_OPTION_VALUE='begin veritas_custom_profile;end;'
where last_update_date=to_date ('13-JUL-75', DD-MON-YY');
| | | | | | | |