Page History
...
- Find the CUSTOM.pll and CUSTOM.plx files, usually located in your Oracle Applications folder.
- Back up the CUSTOM.pll and CUSTOM.plx files and, if it exists, also the CUSTOM.pld file.
- Verify that no Oracle Applications user is currently logged on to the database or any other database using the CUSTOM.pll and CUSTOM.plx files.
- Change to the folder that contains the CUSTOM.pll file. This folder is pointed to by the application variable
$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
Info For Oracle Applications version R12, replace
f60gen
command withfrmcmp_batch
.- Run the following command to edit the file:
vi CUSTOM.pld
- Find the
EVENT
procedure, locate the firstBEGIN
after the commented sample code, and insert the following code, starting withBEGIN
.
Do not insert the script into commented sample code. You can easily mistake sample code for real code.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 regenerate the CUSTOM.pll file from the CUSTOM.PLD file, run the following command using the Oracle account of Oracle Applications (such as APPS):
- For Oracle Application version under R12 (exclusive):
f60gen Module=CUSTOM.pld Module_Type=LIBRARY userid=user/password parse=yes
- For Oracle Applications version R12:
frmcmp_batch Module=CUSTOM Module_Type=LIBRARY userid=user/password parse=yes
- For Oracle Application version under R12 (exclusive):
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
Info For Oracle Applications version R12, replace
f60gen
command withfrmcmp_batch
.- To verify the CUSTOM library change, run the following script:
<precise_root>/products/oracle/<sid>/schema/pss_verify_oa_customer_pll.sh
To update the customization library on Windows
- Find the CUSTOM.pll and CUSTOM.plx files, usually located in your Oracle Applications folder.
- Back up the CUSTOM.pll and CUSTOM.plx files.
- Verify that no Oracle Applications user is currently logged on to the database or any other database using the CUSTOM.pll and CUSTOM.plx files.
Run the %ORACLE_HOME%\bin\if60gen.exe tool (sometimes called ifbld60.exe).
Info For Oracle Applications version R12, replace
f60gen
command withfrmcmp_batch
.- In the welcome wizard, select Open an existing form, followed by OK.
- Choose custom.pll and click Open.
- Under PL/SQL Libraries>Custom>Program Units right-click on Package body and select the PL/SQL Editor.
- Find the EVENT procedure, locate the first BEGIN after the commented sample code, and insert the following code, starting with BEGIN.
Verify that the script was not inserted into commented sample code. You can easily mistake sample code for real code.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; - Click File>Save.
- Run %ORACLE_HOME%\bin\ifcmp60.exe.
- Fill in the following fields:
- File. CUSTOM.PLL (that we changed before)
- Userid. APPS
- Password. APPS password
- Database. database name
- Module Type. LIBRARY
- Module Access. FILE
- Click OK.