🔹 Join the OracleApps88 Telegram Group - Stay up to date with the latest on Oracle EBS R12 and Oracle Cloud/Fusion Applications. 📌 Telegram Group : https://t.me/OracleApps88

💡 Facing issues copying code/scripts or viewing posts? We're here to help!
📬 Contact on Telegram : https://t.me/apps88
📱 Telegram/WhatsApp: +91 905 957 4321
📧 Email Support: OracleApp88@Yahoo.com

Thursday, December 29, 2016

Usage of Custom Library CUSTOM.pll in Oracle Personalizations

 Note 438920.1: How To Customize Standard Oracle Application Using Custom Library?

1. Note 417293.1: Can You Disable The New Quote Button On The Sales Order Form:
This note provides a sample code to disable the button from a form.

2. Note 393169.1: How To Refer :Block.field In The DFF Definition Of Mass Change (OEXOEMCG) Form
This note describes how to pass the current values from one field to the DFF segments. A sample example has been provided to replace a global variable instead of hard coded reference to a field within the DFF definition.

3. Note 434383.1: How To Tell if custom.pll is being called by WHEN_NEW_ITEM_INSTANCE Trigger on Sales Order Form
This note explains whether the triggers are picked up from custom library or native code and a simple way to find the names of trigger, item, block and form name, which are referenced in custom library.

4. Note 160151.1: How to Prevent Users From Accessing the Help > Diagnostics > Examine Functionality
This note describes how to restrict accessing the diagnostics and password for examine functionality from Help based on the user or responsibility.

5. Note 438787.1: What are the events passed using Custom library and when do they fire?
This note describes about the various events and their occurrences in the custom library.

6. Note 434383.1 How To Tell if custom.pll is being called by WHEN_NEW_ITEM_INSTANCE Trigger on Sales Order Form
Need to fire the Custom.pll program from the when_new_item_instance trigger from any field on sales order for.

7. Note 438787.1 Understanding Events Passed Using Custom Library 
This document explains about the events, different kinds of events and their firing time within the custom library.

8. Why are some generic events not being fired in some cases?
The form may have these triggers at block/field level, where the property- Execution Hierarchy for the trigger might be OVERRIDE. Due to this, the corresponding form level triggers to invoke CUSTOM.pll do not fire. The Override would prevent the form to call the Custom code. In this case please raise an SR with Oracle Support

9. What are the components are available in the custom library?
The CUSTOM package has two functions and one procedure:
Functions -
CUSTOM.ZOOM_AVAILABLE
CUSTOM.STYLE
Procedure -
CUSTOM.EVENT

CUSTOM.ZOOM_AVAILABLE allows you to specify if zooms exist for the current context. If zooms are available for this block, then return TRUE else return FALSE. This return a Boolean value
CUSTOM.STYLE allows determining the execution style for some product specific events. This would return a Integer
CUSTOM.EVENT allows you to execute the custom code at specific events

10. Does the custom library need any attached library?
Other libraries can be attached to CUSTOM library. However, it is not possible to attach the APPCORE library to CUSTOM because it would cause a recursion problem (CUSTOM is already attached to
APPCORE). In Release 11i, it is possible to attach the APPCORE2 library to CUSTOM library which is a duplicate of APPCORE. APPCORE2 has most of the APPCORE routines with the following packages:
  • APP_ITEM_PROPERTY2
  • APP_DATE2
  • APP_SPECIAL2
These packages contain the same routines as the corresponding APPCORE packages. The CUSTOM library comes with the FNDSQF library already attached. FNDSQF provides Oracle Applications routines for function security (for opening forms), flex fields, and other utility routines.
Hence the execution will be in the following manner
APPCORE-->CUSTOM-->APPCORE2 if there is a need to APPCORE2

11. What would be the precedence if both custom library and Forms Personalization have the same set of events?
Oracle Forms Libraries first invoke the Forms Personalization, and then call goes to the CUSTOM library for the same set of events. Forms personalization will override if the same set of events are passed as that of CUSTOM library.
The first call goes to Form personalization from Oracle Form libraries so the customization done using form personalization will be effective even if same set of events are available in custom library. So in this case custom library would not effective.

12. What is difference between Form personalization and custom library?
Form Personalization is an alternative way to do the same task as done in the custom library. Form Personalization has all the common used activities of CUSTOM library.
However form personalization has its own limitation, which does not allow achieving complex business logic's.
Limitations of Form Personalization:
Form Personalization allows you to respond to a Zoom event - it does not allow you to enable Zoom on a form. If you want to do that you must use CUSTOM library - custom.pll

13. How to isolate the problematic code which causes the error from custom library?
1. Switch off the customization by navigating to Help --> Diagnostics --> Custom --> Custom Off
2. Reproduce the issue.

       If the issue still exists the issue is due to Oracle native code.

       If the issue does not exists then the issue is due to custom code.
           Debugging the custom code:
           Find the name of the form from which the issue happens.
           Open the custom.pll
           Find the code, which contains the problematic form name.
           Redefine the code and then retest the issue.

14. Can we use the custom library for custom forms?
Yes, CUSTOM library can be used with custom forms as long as the custom forms are developed as per standards of Oracle Application Developer Guide using TEMPLATE.fmb

15. Can we use all form objects in custom library? 
It is not possible to use all the form objects in standard Oracle Application. Since some built-in form objects are incompatible to oracle Applications routines. These Oracle Forms built ins have equivalent APPCORE routines that provide additional functionality.

For example:
Set_ITEM_PROPERTY is replaced with APP_ITEM_PROPERTY.SET_PROPERTY These APPCORE routines set the properties in the Oracle Applications standard way and change the propagation behavior. Some properties use the native Oracle Forms SET_ITEM_PROPERTY.

16. How to switch off the custom code at the run time?
APP_STANDARD package in APPCORE calls the custom library. APP_STANDARD is effectively called from all the Oracle Apps Form Triggers. In appcore.pll a reference to global variable APP_CUSTOM_MODE is made. If global variable APP_CUSTOM_MODE is set to OFF, then CUSTOM.pll does not get called.

This is similar to switching off the custom code using Help --> Diagnostics --> Custom --> Custom Off
Note: Switching off customization means that Codes written in custom library and for personalization are switched off. This does not switch off Custom triggers or Custom code written on the standard forms.
A sample code for switch off customization for specific user_name
IF event_name = 'WHEN-NEW-FORM-INSTANCE' THEN
 IF fnd_profile.value('USER_ID') =1318 THEN
  copy ( 'OFF' , 'GLOBAL.APP_CUSTOM_MODE' ) ;
 ELSE
  copy ( 'NORMAL' , 'GLOBAL.APP_CUSTOM_MODE' ) ;
 END IF ;
END IF ;


17. Note 744065.1 Sample CUSTOM Library Code To Customize Applications 
This note provides examples of using CUSTOM Library to enhance the functioning of Oracle Application forms so that customers can meet their business needs and to understand the usage of custom library, please DONOT try to attempt simulation since this may affect standard functionality.

18. Note 1234454.1 'Descriptive Flex' In 'Copy Lines' Is Automatically Selected
This note provides an example of how to implement custom code to default this checkbox as UNCHECKED for Descriptive Flex field.

19. Note 749405.1 How To Commit Changes Made Using Event When-Validate-Record In CUSTOM Library 
How does one commit the changes performed in When-Validate-Record Event from the Custom Library?

Sunday, December 25, 2016

Oracle Applications Profile Options Details

Profile Option
Setting
If new for R12, what is it?
Available Options
APPS_SSO_LINK_TRUTH_SRC
Applications SSO Linking Source of Truth
Applications SSO Linking Source of Truth

 E-Business Suite, Oracle Internet Directory
APPS_SSO_POSTLOGOUT_HOME_URL
Applications SSO Post Logout URL
Applications SSO Post Logout URL
 User Defined
APPS_SSO_OID_IDENTITY
Applications SSO Enable OID Identity Add Event
When a user is created in OID, the IDENTITY_ADD event is sent to all registered instances.
This event controls whether an E-Business Suite instance should create the user in response to IDENTITY_ADD

Enable, disable
APPS_SSO_AUTO_LINK_USER
Applications SSO Auto Link User
If a user authenticated by SSO has no corresponding user in E-Business Suite, it will look for a local user with the same user name. If found, it will be permanently linked

Enable, disable
APPS_SSO_ALLOW_MULTIPLE_ACCOUNTS

Applications SSO Allow Multiple Accounts

At user level, it enables a user to have multiple E-Business Suite accounts linked to a single SSO user name.
Selection of which account is active is done via the Preferences page.
At site level, it indicates the default for users without this specific setting.

Enable, disable
FND_EXPORT_ALL_BLOCK_DATA
FND Export All Block Data
The profile control what data is exported from a form's block.

 Yes, No
FND_FIXED_SEC_KEY
FND: Fixed Key
The fixed security key to be used in Framework if the profile FND Fixed Key Enabled is set to Y for the user. The key should be a Hexadecimal string of size 64.
 User Defined
FND_FIXED_KEY_ENABLED
FND: Fixed Key Enabled
This profile determines if a fixed key will be used for security purposes in Framework.

 Yes, No
FND_CACHE_PORT_RANGE
FND_CACHE_PORT_RANGE
Opening up a range of ports so that machine can talk across DMZ

 User Defined
OAM_DSCRAM_ALLOWED
OAM: Data Scrambling Allowed
Profile option to allow data scrambling

 User Defined
OAM_DSCRAM_ENABLED
OAM: Data Scrambling Enabled
Profile to enable or disable data scrambling

 User Defined
OAM_WS_AUDIT_ENABLED
OAM_WS_AUDIT_ENABLED
Enable or Disable Web Service Auditing

 User Defined
SIGNON_PASSWORD_CASE
Signon Password Case
Enables or Disables Password Case Sensitivity

Enabled, Disabled
OAM_ENABLE_SYSTEM_ALERT
System Alert Enable Level
System Alert Enable Level

 All, Critical and Error, Critical, None
SIGNON_PASSWORD_CASE
Signon Password Case
Enables or Disables Password Case Sensitivity

 Insensitive, Sensitive
SIGNON_PASSWORD_CUSTOM
Signon Password Custom
Profile option that specifies the full name of the class containing custom password validation logic.

  User Defined
SIGNON_PASSWORD_FAILURE_LIMIT
Signon Password Failure Limit
A positive integer indicating the maximum number of logon attempts before the user's account is disabled.
 User Defined
SIGNON_PASSWORD_HARD_TO_GUESS
Signon Password Hard To Guess
Profile that gets set to "true" if hard-to-guess password validation rules should be enforced for new passwords.
 Yes, No
SIGNON_PASSWORD_LENGTH
Signon Password Length
Minimum length of Applications user password

 User Defined
SIGNON_PASSWORD_NO_REUSE
Signon Password No Reuse
Profile to specify the number of days a user must wait before being allowed to reuse a password.
 Yes, No
SIGNONAUDIT:LEVEL
Sign-On: Audit Level
Level at which to audit foundation usage

 NONE, USER, RESPONSIBILITY, FORM
SIGNONAUDIT:NOTIFY
Sign-On: Notification
Notify User Concurrent Program Failures and Invalid Printers

 Yes, No
FND_DIAGNOSTICS
FND: Diagnostics
Enables Diagnostics Global Button

 Yes, No
FND_HIDE_DIAGNOSTICS
Hide Diagnostics menu entry
 Hides the Help: Diagnostics Menu entry

 Yes, No
UNIQUE:SEQ_NUMBERS
Sequential Numbering
Sequential Numbering

 Always Used, Not Used, Partially Used
CONC_REPORT_ACCESS_ LEVEL
Concurrent: Report Access Level
Provides controlled access of log/output files of requests to group of users based on the current responsibility of the user based on this profile option value
 Responsibility, User
PRINTER
Printer
Output Printer
Registered Printers e.g. ( noprint, LabelPDF)
FA_WF_GENERATE_CCIDS
FA WF GENERATE
FA: use workflow account generation notification for new assets.

Yes, No
Workflow activity settings: Request Approval From Approver timeout

The standard setting is 7 days. After this time has expired, Journal Approval notifies the preparer that no approver response has been received.

Days
UMX: Enable ICM Validation"

Enabled/disable access to override violation is restricted or not allowed at all

Oracle User Management is now integrated with Oracle Internal Controls Manager (ICM) for the prevention, detection, enforcement, and resolution of separation-of-duties constraints during the assignment of roles by administrators to users.
Yes, No
MO: Security Profile
(Global or just Security Profile)
Required for MOAC:  To enable MOAC, assign this profile option to an application responsibility.  This responsibility will then allow the assigned users the access to multiple operating units. In Release 12, a Security Profile is created in the HR module.  Multiple operating units are then assigned to the profile.  The Security Profile is then assigned to a responsibility using the profile option MO: Security Profile
Yes, No
MO: Default Operating Unit
Operating unit
(Optional) This profile option defines the default operating unit for users when they perform activities in the sub-ledgers.
Yes, No
SLA: Enable Data Access Set Security in Sub ledger

This profile option needs to be set to “Yes” in order to enable data access set security in the sub-ledger. If this is not set regardless of the data access set that is assigned to the responsibility or even if the responsibility is restricted to a specific ledger using the “GL Ledger Name” profile option, the user will be able to create and post any journal in any ledger through the sub-ledger.
Yes, No
If you are facing any issues while copying the Code/Script or any issues with Posts, Please send a mail to OracleApp88@Yahoo.com or message me at @apps88 or +91 905 957 4321 in telegram.
Best Blogger TipsGet Flower Effect