oracle r12 aol (application object library) - by dinesh kumar s

209
Oracle R12 - AOL by Dinesh Kumar S 1 Preface In this book I have explained about Oracle R12 – AOL (Application Object Library) .a complete beginners guide for oracle apps. Hope this will be a great start for beginners. Topic: Oracle R12 – AOL (Application Object Library) Author: Dinesh Kumar S Email: [email protected] Official Post: www.Planet-Source-Code.com

Upload: dineshcse86gmailcom

Post on 08-Sep-2015

97 views

Category:

Documents


31 download

DESCRIPTION

Oracle R12 - AOL by Dinesh Kumar S This is a beginners guide which explains on how to work with Oracle Apps - Application Object Library (AOL). All the objects are explained in detail.

TRANSCRIPT

  • Oracle R12 - AOL by Dinesh Kumar S 1

    Preface

    In this book I have explained about Oracle R12 AOL (Application Object Library) .a complete beginners guide for oracle apps.

    Hope this will be a great start for beginners.

    Topic: Oracle R12 AOL (Application Object Library) Author: Dinesh Kumar S

    Email: [email protected]

    Official Post: www.Planet-Source-Code.com

  • Oracle R12 - AOL by Dinesh Kumar S 2

    Oracle Apps R12 e-Business Suite

  • Oracle R12 - AOL by Dinesh Kumar S 3

    E-Business Suite Architecture

    Web ServerIAS

    JServ

    Concurrent Process

    Form 6i Server

    Report 6i Bi Publisher

    AdminServer

    Web ServerOracle Apps Server 10g R3

    OC4J

    Concurrent Process

    Form 10g R2Server

    Report 10g R2 Bi Publisher

    AdminServer

    Client Tier

    Application Tier

    DB Tier

    Oracle Apps 11i Oracle Apps R12

  • Oracle R12 - AOL by Dinesh Kumar S 4

    File System in Oracle Apps

    The following are the most important TOP level directories in oracle apps.

    APPL_TOPContains Oracle Application Product directories such as PO, INV, OM, GL, AP, AR etc.

    COMMON_TOPContains Common directory and files (log files, java libraries) which is shared across different modules.

    ORACLE_HOMEContains technology Stack component such as Oracle DB (10g/11g), Oracle Developer Suite (Forms, Reports) etc.

    DATA_TOPContains Data files.

    INST-TOPIt is new top in R12. It contains configuration files of application & technology stack to share between multiple instances.

  • Oracle R12 - AOL by Dinesh Kumar S 5

    File System in 11i

    Data 10.2.X

    Data_Top

    (DB Files)

    Oracle_Home

    (Oracle DB 10g)

    Database Tier

    APPL COMN

    Appl_Top

    (Apps Product

    files PO, INV, OM

    etc.)

    Common_Top

    (Shared Files)

    Application Tier

    8.0.6 IASServer

    Oracle_HomeTech. Stack

    (Forms, Reports)

    Oracle_HomeTech. Stack

    (Apache, Jser)

    Ora

  • Oracle R12 - AOL by Dinesh Kumar S 6

    File System in R12

  • Oracle R12 - AOL by Dinesh Kumar S 7

    Application Object Library(AOL)

  • Oracle R12 - AOL by Dinesh Kumar S 8

    Why AOL?

    Collection of pre-built application components & facilities. Contains shared components - database objects, forms, reports, libraries. Coding standards use AOL.

    Roles of AOL

    AOL links all objects of Oracle application. It stores and contains information and details about the data in file system. It is the backbone of oracle apps, which integrates all the objects and derives a

    relation between them.

  • Oracle R12 - AOL by Dinesh Kumar S 9

    Oracle Security Architecture

    FND user

    Responsibility

    Data Group Request Group Menu

    Application

    Oracle Schema

    Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    Forms

  • Oracle R12 - AOL by Dinesh Kumar S 10

    FND Applications

    Navigation Application Register

  • Oracle R12 - AOL by Dinesh Kumar S 11

    FND user

    Responsibility

    Data Group Request Group Menu

    Application

    Oracle Schema

    Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    Forms

  • Oracle R12 - AOL by Dinesh Kumar S 12

    Table: FND_APPLICATION~ APPLICATION_ID

    FND_APPLICATION_TL ~ APPLICATION_ID ~ LANGUAGE

    Why?

    To register your application name, application short name, application base path, and application description with Oracle Application Object Library.

    Oracle Application Object Library uses this information to identify application objects such as responsibilities and forms as belonging to your application.

    This identification with your custom application allows Oracle Applications to preserve your application objects and customizations during upgrades.

    Used Only When -

    We are creating a custom application to isolate custom code and/or data from shipped Oracle Applications.

  • Oracle R12 - AOL by Dinesh Kumar S 13

    Use of Short name -

    Oracle Applications use the application short name as an internal key; for example, when identifying forms, menus, concurrent programs and other application components. The short name is stored in hidden fields while the name displays for users.

    Use of Base path -

    Its is the name of an environment variable that represents the top directory of your application's directory tree. Oracle Applications searches specific directories beneath the base path for your application's files and scripts.

    SUMMARY ::

    Used to View the Existing Applications & its base path. When creating Custom application.

  • Oracle R12 - AOL by Dinesh Kumar S 14

    Below you can see the screen shot of oracle Purchasing Application definition.

  • Oracle R12 - AOL by Dinesh Kumar S 15

    Oracle UserName

    Table: FND_ORACLE_USERID ~ ORACLE_ID

    Navigation Security Oracle Register

  • Oracle R12 - AOL by Dinesh Kumar S 16

    FND user

    Responsibility

    Data Group Request Group Menu

    Application

    Oracle Schema

    Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    Forms

  • Oracle R12 - AOL by Dinesh Kumar S 17

    Why?

    An ORACLE user name grants access privileges to the ORACLE database.

    When?

    The installation process always registers your ORACLE user name, so you need not register it unless you create a custom application using Oracle Application Object Library, (or).

    To associate an additional ORACLE user name with Oracle Applications.

    What if no ORACLE User name?

    If you do not register and enable your ORACLE user name (or) if you disable a registered ORACLE user name, your user cannot use Oracle Application Object Library features such as menus and flex fields.

    PASSWORD -

    We need to enter Password while creating the ORACLE User name Oracle User name Password should be Synchronized with Oracle Database.

    (DATABASE PWD APPLICATION PWD).

  • Oracle R12 - AOL by Dinesh Kumar S 18

    PRIVILEGE -

    Why?To restrict access to AOL features (menus, help text, and flex-fields) and its tables privilege is used.

    Default value: Enabled

    Privilege Types -

    (a) Enabled:An enabled ORACLE user name has full privileges (insert, query, update, and delete) to the Oracle Application Object Library database tables.

    (b) Restricted: Restricted ORACLE user name has only query privileges to the Oracle Application Object Library database tables.

    This ORACLE user name can view Oracle Application Object Library data, but cannot insert, update, or delete information.

    (c) Disabled: A disabled ORACLE user name has no privileges to the Oracle Application Object Library database tables. This ORACLE user name cannot insert, query, update, or delete Oracle Application Object Library information and cannot use Oracle Application Object Library features.

  • Oracle R12 - AOL by Dinesh Kumar S 19

    Additional Privilege Types -

    Two additional privilege types appear, associated with ORACLE user-names configured at installation.

    However, these types cannot be selected from your list of values.

    (i) Public:The installation process registered an ORACLE user-name with the Public privilege,

    allowing all users to access the Application Sign-On Security form where they must enter a valid Oracle Applications user-name and password.

    (ii) Applsys: The installation process registered the Oracle Application Object Library ORACLE

    user-name with the Applsys privilege.

  • Oracle R12 - AOL by Dinesh Kumar S 20

    Default Oracle User-Names in oracle apps

  • Oracle R12 - AOL by Dinesh Kumar S 21

    Data Group

    Table: FND_DATA_GROUPS ~ DATA_GROUP_ID

    Navigation Security Oracle DataGroup

  • Oracle R12 - AOL by Dinesh Kumar S 22

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 23

    Data Group contains -Applications associated with user names

    Application includes - Concurrent programs executes commands on application table

    how to access application -By using 'Username' && 'Password'

    Role of username /ORACLE ID -It determines the database tables and table privileges accessible by the corresponding application or applications.

    Oracle ID -

    An application uses an ORACLE ID to access tables in the database. Each ORACLE ID allows access to a predefined set of tables in the database.

    Data Group |Application (owns Concurrent pg) |Oracle Username ( DB Privilages - Select, Update, Delete )|Database ( Oralce 9i/10g/11g )

  • Oracle R12 - AOL by Dinesh Kumar S 24

    Data Group Purpose -

    Identifies Oracle user name when forms Connect to when you select responsibility. Concurrent managers use a data group to match the application that owns a report or

    concurrent program (submitted by a user of the responsibility) with a Oracle username.

    Using Data Group -

    Using Data Group with Multiple Set of BooksApplications product (for example, Oracle Parables) that supports multiple sets of books, where a different application is associated with each set of books.

    For example, with two installations of Oracle Payables supporting two Sets of Books, use data groups to indicate which Oracle Payables Oracle username to access from a certain General Ledger responsibility.

    Using Data Group to Include Custom Application

  • Oracle R12 - AOL by Dinesh Kumar S 25

    Can we Modify standard Data Group -

    No, we cannot change / Delete Pre defined Values. we can modify the Tool ORACLE username and description, or add new Application-

    ORACLE username pairs to a Standard group.

    Can we Define a new Data Group -

    Yes, also you can copy a Data Group by defining new name.

    How do we associate a new Application with a Data Group -

    Register the application using "Application form". Assign Oracle Usearname with Application.

  • Oracle R12 - AOL by Dinesh Kumar S 26

    Standard Data Group associated with Oracle ID APPS

  • Oracle R12 - AOL by Dinesh Kumar S 27

    Request Security Group (Or) Request Group

    Table: FND_REQUEST_GROUPS ~ APPLICATION_ID~ REQUEST_GROUP_ID

    Navigation: Security > Responsibility > Request

  • Oracle R12 - AOL by Dinesh Kumar S 28

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 29

    Request Security -Used to specify reports, request sets & Concurrent programs

    How to setup Request security - By defining a "request Group"

    Where 2 define -Request Group form

    Where 2 assign - In Responsibility form

    What Request Security Group Contains -Reports, request sets & Concurrent programs

    Is Request Security Group Contains requests & request sets frm diff. application - yes, using Data Groups

    Is user can run request sets with single request not in Request Security group -yes, If and only if the Request Set is in Request security group

    Restriction:- user cannot edit requests- user cannot stop specific request while running- Can edit request set by deleting requests but not single request

  • Oracle R12 - AOL by Dinesh Kumar S 30

    what do Request Group contains -- Individual reports & Concurrent programs- Request set ( Collection of reports & Concurrent pgs )- Request set stage fns. ( Used to calculate status of stage withing request set )

    Request group Levels -(a) Responsibility Level

    Request group assigned to "RESPONSIBILITY"(b) Form Level

    Request group assigned a "CODE" & that code is passed as a parameter in submit request wiundow.

    Using Codes in Request Group -You can use the code as an argument passed from a menu to thestandard submission form.

    A request group code is simply an argument that is passed from a menu to a customizedstandard submission form

    When a menu that calls the standard submission form uses thecode, that form lists only those programs in the request groupidentified by the code.

  • Oracle R12 - AOL by Dinesh Kumar S 31

    SUMMARY::

    Request Security - Used to specify reports, request sets & Concurrent programs

    Request Security Group -When a request group is assigned to a responsibility, the request group is referred to as a request security group.

  • Oracle R12 - AOL by Dinesh Kumar S 32

    Menus

    Table: FND_MENUS ~ MENU_ID Navigation: Application > Menu

  • Oracle R12 - AOL by Dinesh Kumar S 33

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 34

    Menus:

    A menu is a hierarchical arrangement of functions and menus of functions. Each responsibility has a menu assigned to it. A Responsibility becomes "Full Access", when it includes all the per-defined

    functions in application included in the menu attached. As it follows a hierarchical structure, a sub menu should be defined first (Lowest

    level sub-menu) and attached to main menu.

    Sequence:

    It specifies the sequence in which the menu entries are aligned. A menu entry with lowest sequence number appears before menu with higher

    sequence number.

    To understand the menu, we will navigate menu of Purchasing Module.

  • Oracle R12 - AOL by Dinesh Kumar S 35

    Purchasing Module

  • Oracle R12 - AOL by Dinesh Kumar S 36

    To view the hierarchical structure click "View Tree"

  • Oracle R12 - AOL by Dinesh Kumar S 37

  • Oracle R12 - AOL by Dinesh Kumar S 38

    Web Based Functions

    Form Functions

  • Oracle R12 - AOL by Dinesh Kumar S 39

    Level 1

    Level 2

  • Oracle R12 - AOL by Dinesh Kumar S 40

    Level 3

  • Oracle R12 - AOL by Dinesh Kumar S 41

    Form Functions

    Table: FND_FORM_FUNCTIONS~ FUNCTION_ID

    FND_FORM_FUNCTIONS_TL~ FUNCTION_ID~ LANGUAGE

    FND_FORM~ APPLICATION_ID~ FORM_ID

    FND_FORM_TL ~ APPLICATION_ID~ FORM_ID~ LANGUAGE

    Navigation: Application > Function

  • Oracle R12 - AOL by Dinesh Kumar S 42

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 43

  • Oracle R12 - AOL by Dinesh Kumar S 44

    Now lets walk through the below functions in purchasing module

    1) PO Change History (Non Form Based)2) Purchase Order (Form Based)

    Root Menu : Purchasing Super User GUI

  • Oracle R12 - AOL by Dinesh Kumar S 45

    Purchase Order (Form Based)

    Sub Menu: Purchase Orders: Subfunctions

  • Oracle R12 - AOL by Dinesh Kumar S 46

    Now we have identified the form function "Purchase Orders"

    What is a Function?- A function is a part of an application's functionality that is registered under a unique name for the purpose of assigning it to, or excluding it from, a responsibility.

    Types of Functions~ form functions ~ non-form functions

    We always refer

    Form Functions --> FORMNon-Form Functions --> Sub-Functions

  • Oracle R12 - AOL by Dinesh Kumar S 47

    FORM Blocks::

    DESCRIPTION-

    Function : Users do not see this unique function name. However, you

    may use this name when calling your function pro-grammatically

    User Function Name :

    Enter a unique name that describes your function. You see this name when assigning functions to menus. This name appears in the Top Ten List of the Navigator window.

  • Oracle R12 - AOL by Dinesh Kumar S 48

    Type : Type is a free-form description of the function's use (function type will be validated in a future version of this form). A function's type is passed back when a developer tests the availability of a function. The developer can write code that takes an action based on the function's type.

    Maintenance Mode Support: Reserve for Future.

    Context Dependence :

    Some functions are controlled by profile options, that affect what the user can perform within the current context. context dependence are Responsibility, Organization, Security Group, None.

    PROPERTIES-

  • Oracle R12 - AOL by Dinesh Kumar S 49

    Form-

    Form /Application : If you are defining a form function, select the name and application of your form.

    Parameters : Enter the parameters you wish to pass to your function. Separate parameters with a space.

    For a form function, if you specify the parameter QUERY_ONLY=YES, the form opens in query-only mode. Oracle Application Object Library removes this parameter from the list of form parameters before opening the form in query-only mode.

  • Oracle R12 - AOL by Dinesh Kumar S 50

    Non Form Based Function: Sub Function

  • Oracle R12 - AOL by Dinesh Kumar S 51

  • Oracle R12 - AOL by Dinesh Kumar S 52

    WEB HOST-

    Host Name : The URL (universal resource locator) or address required for your function consists of three sections: the Host Name, Agent Name, and the HTML Call. The Host name is the IP address or alias of the machine where the Web server is running.

    Agent Name : The second section of your function URL is the Oracle Web Agent. The Oracle Web Agent determines which database is used when running your function. Defaults to the last agent used.

    Icon : Enter the name of the icon used for this function.

    Secured : Secured is only required when your function is accessed by Oracle Work flow Checking Secured enables recipients of a work flow E-Mail notification to respond using E-Mail.

    Encrypt Parameters: Checking Encrypt Parameters adds a layer of security to your function to ensure that a user cannot access your function by altering the URL in their browser window.

  • Oracle R12 - AOL by Dinesh Kumar S 53

    ResponsibilityTable: FND_RESPONSIBILITY

    ~ Application_ID~ Responsibility_ID

    FND_RESPONSIBILITY_TL ~ Application_ID~ Responsibility_ID~ Language

  • Oracle R12 - AOL by Dinesh Kumar S 54

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 55

    Why?- It determines user

    - access Oracle application or Self service web application - which function, reports, concurrent program user can run.

    About-- Application Name and Responsibility name uniquily identifies the responsibility.- Responsibility Key: unique name for a responsibility that is used by loader programs.- A responsibility can be associated with only one Application.

    Mandatory Fields:

    - Effective Date From- Data Group

    - Name- Application

    - Menu

  • Oracle R12 - AOL by Dinesh Kumar S 56

    Menu Exclusions:- The rules to restrict the application functionality accessible to a responsibility.

    Type

    - When you exclude a function from a responsibility, all occurrences of that function throughout the responsibility's menu structure are excluded.

    - When you exclude a menu, all of its menu entries, that is, all the functions and menus of functions that it selects, are excluded.

    HTML-Based Applications Security:Oracle HTML-based applications use columns, rows and values in database tables to define what information users can access.

    Attribute Control:

    Attributes are controlled by using- Securing Attributes- Exclude Attributes

  • Oracle R12 - AOL by Dinesh Kumar S 57

    why Attribute control:By using securing and excluding attributes, you can control user's access to data based on their ID and their responsibility.

    where?They are first defined using the Web Applications Dictionary.

    Attribute Security is applied @ 2 levels

    (a) ROW LEVEL (Securing Attributes)(b) COLUMN LEVEL (Excluding Attributes)

    Securing Attributes for Row-Level Security:

    Securing attributes allow rows (records) of data to be visible to specified users or responsibilities based on the specific data (attribute value) contained in the row.

    Excluding Attributes for Column-Level Security:

    Excluding attributes prevent certain columns of data from being visible to specified responsibilities.

  • Oracle R12 - AOL by Dinesh Kumar S 58

    Seeded Securing Attributes: Attributes are defined using the Web Applications Dictionary. Assign securing attribute values for each user, and for each securing attribute

    assigned to all responsibilities for this user.

    Seeded Securing attributes are assigned at two levels(1) User Level(2) Responsibility Level

    Example: @ User level.By default when an supplier/ contact / User is created Securing attribute is created automatically.

    Customer Contact: ICX_CUSTOMER_CONTACT_IDInternal Contact: ICX_HR_PERSON_ID Supplier Contact: ICX_SUPPLIER_CONTACT_ID

    For more information on Securing attributes please visit below link

    http://download.oracle.com/docs/cd/A60725_05/html/comnls/us/aic/icxhsecr.htm

  • Oracle R12 - AOL by Dinesh Kumar S 59

    Oracle Application Responsibility:

  • Oracle R12 - AOL by Dinesh Kumar S 60

    Web Application

  • Oracle R12 - AOL by Dinesh Kumar S 61

    Users

    Table: FND_USER ~ USER_ID

  • Oracle R12 - AOL by Dinesh Kumar S 62

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 63

    Why Users -An application user enters this user name to sign on to Oracle Applications

    User-name Constraints -must not contain more than one worduse only alphanumeric characters

    Password Constraints -5 - 100 Charactersuse only alphanumeric characters

    Can we define same user again -No,

    First time login -User need to change the password

    Can System administrator access User Password -can set an initial password or change an existing password, but cannot access the users chosen password.

    default Length of Password -5 characters

  • Oracle R12 - AOL by Dinesh Kumar S 64

    Profile Options::

    1) Signon Password Length - set the minimum length of user password2) Signon Password Hard to Guess

    - Use to Set rules for Choosing password. The rules as below. The password contains at least one letter and at least one number. The password does not contain the username. The password does not contain repeating characters.

    3) Signon Password No Reuse profile option- - set the minimum number of days that a user must wait before being allowed to reuse a password.

    4) Signon failure limit- Number of times user is allowed to enter invalid credentials.

    5) sign-on:audit level- Tracking User activities

    Direct Responsibilities - Direct responsibilities are responsibilities assigned to the user directly.

  • Oracle R12 - AOL by Dinesh Kumar S 65

    Responsibility Select the name of a responsibility you wish to assign to this application user. A responsibility is uniquely identified by application name and responsibility name.

    Security GroupThis field is for HRMS security only.

    Can we Delete a ResponsibilityYou cannot delete a responsibility because this information helps to provide an audit trail. You can deactivate a user's responsibility at any time by setting the End Date to the current date.

  • Oracle R12 - AOL by Dinesh Kumar S 66

  • Oracle R12 - AOL by Dinesh Kumar S 67

  • Oracle R12 - AOL by Dinesh Kumar S 68

  • Oracle R12 - AOL by Dinesh Kumar S 69

    Executable

    Table: FND_EXECUTABLES ~ APPLICATION_ID~ EXECUTABLE_ID

  • Oracle R12 - AOL by Dinesh Kumar S 70

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 71

    Why?To Map executable source file you want to use with concurrent programs.

    Source File Concurrent Program

    How executable is Identified?Application Name + Program Name = Executable

    Execution Method-The execution method cannot be changed once the concurrent program executable has been assigned to one or more concurrent programs in the Concurrent Programs window.

  • Oracle R12 - AOL by Dinesh Kumar S 72

    The possible execution methods are:

    Host The execution file is a host script. Oracle Reports The execution file is an Oracle Reports file. PL/SQL Stored Procedure The execution file is a PL/SQL stored procedure. Java Stored Procedure The execution file is a Java stored procedure. Java Concurrent Program The execution file is a program written in Java. Multi Language Function The execution file is a function (MLS function) that supports

    running concurrent programs in multiple languages. SQL*Loader The execution file is a SQL script. SQL*Plus The execution file is a SQL*Plus script. Spawned The execution file is a C or Pro*C program. Immediate The execution file is a program written to run as a

    subroutine of the concurrent manager. We recommend against defining new immediate concurrent programs, and suggest you use either a PL/SQL Stored Procedure or a Spawned C Program instead.

    Request Set Stage Function PL/SQL Stored Function that can be used to calculate the completion statuses of request set stages.

  • Oracle R12 - AOL by Dinesh Kumar S 73

    Execution File Name-

    Name of the source file. Constraints in naming.- Name entered here should match the file name exactly.

    - Do not include spaces or periods (.) in the execution file name, unless the execution method is PL/SQL stored procedure or Request Set Stage Function.- The maximum size of an execution file name is 60 characters.

    Subroutine Name -

    Enter the name of your C or Pro*C program subroutine here. Constraints as below- Do not use spaces or periods (.) in this field. - Only immediate programs or spawned programs using the Unified C API use the subroutine field.

    Stage Function Parameters -

    The Stage Function Parameters button opens a window that allows you to enter parameters for the Request Set Stage Function. This button is only enabled when you select Request Set Stage Function as your Execution Method.

  • Oracle R12 - AOL by Dinesh Kumar S 74

    Lets Consider a sample Oracle Report Executable

    Location:

  • Oracle R12 - AOL by Dinesh Kumar S 75

    Concurrent ProgramTable:FND_CONCURRENT_PROGRAMS

    ~APPLICATION_ID ~CONCURRENT_PROGRAM_ID

    FND_CONCURRENT_PROGRAMS_TL ~APPLICATION_ID

    ~CONCURRENT_PROGRAM_ID ~LANGUAGE

  • Oracle R12 - AOL by Dinesh Kumar S 76

    FND user

    Responsibility

    Data Group Request Group Menu

    Application Concurrent Prog.

    Executable

    Concurrent Prog. Form & Sub functions

    FormsOracle Schema

  • Oracle R12 - AOL by Dinesh Kumar S 77

    Concurrent Manager

    Why?It govern and control the Concurrent program and slave concurrent managers.

    How many Concurrent Managers?The Oracle e-Business suite has three important master Concurrent Managers:

    1) Internal Concurrent Manager (ICM)2) Internal Concurrent Manager (SM)3) Conflict Resolution Manager (CRM)

    Internal Concurrent Manager (ICM)-

    The master manager is called the Internal Concurrent Manager (ICM) because it controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated.

    The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one them has a failure.

  • Oracle R12 - AOL by Dinesh Kumar S 78

    Standard Manager (SM)

    The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager.

    Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.

    Conflict Resolution Manager (CRM)

    The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.

    How to know ICM is started or not?

    Using the OAM (Administrate Concurrent Manager).Navigation: Login to the E-Business Home Page -> System Administrator -> Concurrent : Manager/ Administer

    How to start & stop the ICM ?

    Log into Unix to apps login.

    START Command: adcmctl.sh start apps/apps

    STOP Command: adcmctl.sh stop apps/apps

  • Oracle R12 - AOL by Dinesh Kumar S 79

    Navigation: Application Developer > Concurrent: Program

    concurrent program window

    Short Name: used to associate your concurrent program with a concurrent program executable.

    Application: determines what ORACLE user name your program runs in and where to place the log and output files.

    Enable: determines what ORACLE user name your program runs in and where to place the log and output files.

  • Oracle R12 - AOL by Dinesh Kumar S 80

    Executable:When the execute is selected automatically this section will be filled.

    Executable: OptionsIn case of running Report Executable, we can choose options to print like Landscape / portrait (or) we can control the dimension like pagesize etc.

    Executable: PriorityThe concurrent managers process requests for this program at the priority you assign here.

    If you do not assign a priority, the user's profile option Concurrent:Priority sets the request's priority at submission time.

  • Oracle R12 - AOL by Dinesh Kumar S 81

    Request Block

    Request: TypeAssociate your program with a predefined request type. The request type can limit which concurrent managers can run your concurrent program.

    Request: IncrementorUsed only by oracle internal developers.

    MLS Function: (Multilingual Concurrent Request)It will allow the user to run the program multiple times.

    Why Multiple times either we can schedule the concurrent program? this question arise to us.Multiple times in this context means in multiple languages. So a single program can run in multiple language.

    Note**Beginning with Release 12.1, MLS functions can support multiple territories and numeric character sets as well as multiple languages.

  • Oracle R12 - AOL by Dinesh Kumar S 82

    Request: Check box Options

    SRS:If a user wants to run Concurrent program in Standard Request Submission window, this options is mandatory.

    Allow Disabled Values:Its options, If SRS is selected we can use this if needed.This allows user to enter disabled/outdated values as parameters.

    Run Alone:If your program is incompatible with all programs in its logical database, including itself this option can be choose

    Enable Trace: This is a Trace option.

    Restart on System Failure:This option is selected by default, this is used when concurrent program should automatically be restarted when the concurrent manager is restored after a system failure.

    NLS Compliant:

    This allows user to run concurrent program defined in different territory/Country. If this option is blank then territory will default to the territory of the concurrent manager environment.

  • Oracle R12 - AOL by Dinesh Kumar S 83

    Output Window

    Format:Valid output format are below. HTML PCL (HP's Printer Control Language) PDF PS (Post Script) Text

    Note**An appropriate printer driver that handles HTML or PDF files.

    Save: Default option, this will save the output in OS format.

    Print:To send the output to printer to print the same.

    Style:Portrait/Landscape options.

    Printer:If u want to print the output to a specific printer choose this option.

    Business Events RegionConcurrent programs can be integrated with the Business Event System in Oracle Workflow.

  • Oracle R12 - AOL by Dinesh Kumar S 84

    Concurrent Program Parameters:

  • Oracle R12 - AOL by Dinesh Kumar S 85

    Conflict Domain:

    If you want to restrict any data which cannot be simultaneously access or update by two concurrent program conflict domain data should be mention.

    Conflict domain data can be created in the form

    Navigation: System Administrator Concurrent Conflict Domains Security Group:

    This filed can be used only for HRMS security.

    Seq: To Specify the sequence in which program receives input values from concurrent manager.

    Parameter: The parameter variable name.

    Description: Description of the parameter (or) detail info about the parameter.

    Enabled: If a parameter is disabled it will not be visible during concurrent program submission.

  • Oracle R12 - AOL by Dinesh Kumar S 86

    Value set::

    If a parameter to be validated, a value set can be used. We can use only 3 types of value sets.

    i. Independentii. Tableiii. Non-Validated

    Since value set field is mandatory, what should be the value to be provided if no validation required for the parameter?For a non-validated parameter we can assign Default Value.

  • Oracle R12 - AOL by Dinesh Kumar S 87

    Valid Values DescriptionConstant Any literal value we can assign.Profile The default value will be taken from user profile.SQL Statement Value based on any SQL query returning single value.Segment Same value will be copied from the prior segment of

    parameter window.

    Default value::

    Required: To make the parameter mandatory for the request this option is used.

    Enable Security: If security rules enabled for the value set this option can be used.

    Range: If we want to validate the parameter against another parameter we need to provide range as low or high.

    For Example, If we want to end date an employee record, we have 2 date parameters, then we need to do following validation for Effective_Start_date. Set range to low with respective to Effective_End_Date.

  • Oracle R12 - AOL by Dinesh Kumar S 88

    Display Size: This represents the field length of the parameter in request submission window. By default all value sets have 240 chars as length. If more than that the characters will be truncated.

    Description: Value description of the parameter.

    Concatenated Description Size: User see this value in the parameter description window.

    Token:

    This is one of the important parameter when the execution file is of type reports. The parameter name defined in the RDF should be given in this field.

  • Oracle R12 - AOL by Dinesh Kumar S 89

    Monitoring Requests

    Navigation: System Administrator Requests

  • Oracle R12 - AOL by Dinesh Kumar S 90

    In request window following actions can be performed.

    VIEW - View the status of your submitted requestsCHANGE - Change processing optionsDIAGNOSE - Diagnose errorsOUTPUR - View your request output

    Concurrent Program Phase Codes

    SELECT lookup_code, meaning

    FROM fnd_lookup_values WHERE lookup_type = 'CP_PHASE_CODE'

    AND LANGUAGE = 'US' AND enabled_flag = 'Y';

    LOOKUP_CODE MEANING

    C Completed

    I Inactive

    P Pending

    R Running

  • Oracle R12 - AOL by Dinesh Kumar S 91

    Concurrent Program Status Codes

    SELECT lookup_code, meaning FROM fnd_lookup_values WHERE lookup_type = 'CP_STATUS_CODE'

    AND LANGUAGE = 'US' AND enabled_flag = 'Y';

    Value MeaningU DisabledW PausedX TerminatedZ WaitingM No ManagerQ StandbyR NormalS SuspendedT TerminatingD CancelledE ErrorF ScheduledG WarningH On HoldI NormalA WaitingB ResumingC Normal

    Information about submitted requests can be found in table: FND_CONC_REQ_SUMMARY_V

  • Oracle R12 - AOL by Dinesh Kumar S 92

    Submitting a Requests:

  • Oracle R12 - AOL by Dinesh Kumar S 93

    Two Types of Requests:

    Single Request Request Set

    Single Request

    If we want to execute a single concurrent program, we need to select type as Single request.

    Request Set

    If we want to execute multiple concurrent program one by one in a sequence order, we need to create a Request set and submit it using this type.

    It is possible we can pass one concurrent programs output as input to another concurrent program.

    Single Request Request Set

    SEQ102030

  • Oracle R12 - AOL by Dinesh Kumar S 94

    Request Sets:

    Execution of multiple concurrent program one by one or in parallel, with passing one program output as input to other program in sequence or executing in a sequence order.

    How to create Request set?

    Stage 1 Stage 2 Stage 3

    Step 1 Step 1 Step 1

    Step 2 Step 2

    Create Request Set using 2 methods

    (1) Request Set Wizard(2) Manual Creation

    Steps to create Request set Step 1: Creating Stages Step 2: Linking Stages

  • Oracle R12 - AOL by Dinesh Kumar S 95

    Stage Organization:

    Requests can be organized in two ways,

    (1) Parallel Execution(2) One by one [Sequence] Execution

    Parallel Execution:

    When we want to run all the requests simultaneously (or) in Parallel within a stage parallel execution method is used.

    Note** This should be used only,- If the requests within a stage doesn't have any dependency with other like one request executing based on output of another etc.

    Request 1 Request 2 Request 3 Request 4

    Stage 1

  • Oracle R12 - AOL by Dinesh Kumar S 96

    One by one [Sequence] Execution

    When we want to run requests one by one in a sequence order, this execution method is used.

    Request 1

    Request 2

    Request 3 Request 4

    Stage 1 Stage 2 Stage 3

    Note**

    Not only Requests executes in order even stages executes in order. Unless stage1 is completed stage 2 & stage 3 will not be executed.

    A stage is not complete when all the requests within the stage are completed.

  • Oracle R12 - AOL by Dinesh Kumar S 97

    Stage Statuses:

    A stage can be completed wit the following statuses.

    (a) Success(b) Warning(c) Error

    Linking Stages:Based on the above statuses we can link stages (or) setup sequence of execution of stages.

    Request 1

    Request 2

    Request 3 Request 4

    Stage 1

    Request 5

    Stage 2

    Stage 3

    Stage 4

    Success

    Error

    Warning

  • Oracle R12 - AOL by Dinesh Kumar S 98

    Creating Request Set:

    Navigation: System Administrator Concurrent Set

    Method 1: Using Request Set Wizard.Method 2: Manual Creation.

  • Oracle R12 - AOL by Dinesh Kumar S 99

    Set: Define a name for your request set.

    Set Code: This is used for internal purpose probably during coding.

    Application: Specify the application to which request set belongs to.

    Description: A brief description (or) Information about the request.

    Owner: Its the user name who is defining the request set. It will be defaulted automatically.

    Active Dates [From To]: These are the dates for which the request set will be active. If the TO field is left blank represents it will be active forever.

    Print Together: If this check box is checked, after completion of the request, the details of all the request [together] will be sent to printer for printing.

    Allow Incompatibility: It will allow the system administrator to specify lists of programs incompatible with this request set.

  • Oracle R12 - AOL by Dinesh Kumar S 100

    Method 1: Using Request set Wizard

    Step 1: Click Request Set Wizard Button

    Step 2: Select execution option for requests to be executed. In this case I'm selecting Sequential order.

  • Oracle R12 - AOL by Dinesh Kumar S 101

    Step 3: Select a Decision when the request sets ends with status ERROR. .

    Step 4: Enter the details of the request set.. .

  • Oracle R12 - AOL by Dinesh Kumar S 102

    Step 5: Select option when Output should be generated for the request.

    Step 6: Lists the concurrent programs in a sequence order of execution. Any concurrent program of any application can be included.

  • Oracle R12 - AOL by Dinesh Kumar S 103

    Step 7: After clicking finish button, the following note will be displayed to the user.

    Step 8: Request Set Created Successfully.

  • Oracle R12 - AOL by Dinesh Kumar S 104

    Step 8: View the default stage details. Click Define stages button.

    Since we have define the request set using wizard, by default all the request will be created in single stage.

  • Oracle R12 - AOL by Dinesh Kumar S 105

    Step 9: To view how stages are linked click Link Stages button.

    By Default, when the Stage statuses in WARNING or SUCCESS, the option Stage to Proceed to On will be defaulted to same program name.

  • Oracle R12 - AOL by Dinesh Kumar S 106

    Method 2: Manually Creating Request set

    Considering the same programs in method 1. This time we are going to define separate stage for each programs.

    Stage 1 Stage 2 Stage 3

    Stage 1: Buyer Listing.Stage 2: Buyer's Requisition Action Reminder.Stage 3: Item Detail's Listing.

  • Oracle R12 - AOL by Dinesh Kumar S 107

    Step 1: Enter Request Set Details.

  • Oracle R12 - AOL by Dinesh Kumar S 108

    Step 2: Define Stages

  • Oracle R12 - AOL by Dinesh Kumar S 109

    Step 3: Assigning Request/Concurrent Program for the Request in a stage.Click Requests button.

  • Oracle R12 - AOL by Dinesh Kumar S 110

    Step 4: Similarly repeat steps 2 to Step 3 to Define all Stages and associate programs for each request.

    Stage 2

    Stage 3

  • Oracle R12 - AOL by Dinesh Kumar S 111

    Step 5: Link Stages by clicking Link Stages button. If Stage 1 is success, it will execute stage 2.If stage 2 is success, it will execute stage 3.

  • Oracle R12 - AOL by Dinesh Kumar S 112

    Step 6: Assign Request set to a Request Group.

  • Oracle R12 - AOL by Dinesh Kumar S 113

    Scheduling Requests / Request Sets

    The request or request set can be scheduled using SYSTEM ADMINISTRATION Responsibility.

    Navigation:

    Requests:

    System Administration Request Set Schedule

    Request Set:

    System Administration Requests Schedule.

    We can manage the schedules using System Administration responsibility.

    Navigation: Manage Schedules

  • Oracle R12 - AOL by Dinesh Kumar S 114

    Step 1: Select a Request to schedule.

    Step 2: Select application name.

  • Oracle R12 - AOL by Dinesh Kumar S 115

    Step 3: Defining Scheduling details.

    If you want to execute the request immediately click option As soon as possible.

  • Oracle R12 - AOL by Dinesh Kumar S 116

    Step 4: Set Schedule Status Notification.

    In case of Normal Completion, Warning or Error, a notification will be sent to the Oracle User Email Address.

  • Oracle R12 - AOL by Dinesh Kumar S 117

    Step 5: Request Output Delivery.

    If the request output to be transmitted via Fax,Email, printer etc. the details needs to be defined here.

  • Oracle R12 - AOL by Dinesh Kumar S 118

    Step 6: Schedule Summary Details [Review Page].

  • Oracle R12 - AOL by Dinesh Kumar S 119

    Profile Options:

    What is User Profile option ?A Profile option is set of values/options, which is used to direct the functioning of Oracle application.

    Why Profile Option?- To control & manage transactions and activities in oracle application.- To make the Oracle application flexible in the way it functions.- Provides option to define custom rules for users.

    Usage of Profile options.

    Scenario 1: We have 100 users defined in oracle application, Consider all users have responsibility US Self Service Purchasing. Now we have a new requirement, out of 100 only 30 should access the responsibility and the responsibility should not be end dated for 70 users.

    Scenario 2: We all know that system administrator responsibility have Admin privileges to create/define new objects in oracle application. Also, we can assign this responsibilities to any number of users say 100. Now business came up with an requirement, we need to provide access to only 20 users to assign secure responsibility to other users even though all have system admin responsibility.

    Scenario 3: Consider I have a Purchasing Buyer responsibility, I want to provide read only access i.e. users should not have access to modify/change/edit anything using that responsibility.

    Scenario 4: Suppose we want to develop a customization and that custom logic should work only for Organizations for which a custom profile is enabled at organization level. If we want to restrict further within the Organization, we can restrict by setting the profile @ Responsibility level.

  • Oracle R12 - AOL by Dinesh Kumar S 120

    Scenario 6: Consider in our manufacturing company, we have 1000 of customers who provides orders frequently. In general, all the manufacturing company will have top level of customers. This manufacturing company is using Oracle apps. In a manufacturing company we have lots of item categories like high value items, mid-range items, low value items etc. Business came up with a requirement, when any top level customer orders high value item the system should automatically provide 15% discount for the customers. In this scenario we will define profile option common to top level customers.

    Scenario 7: Consider we have 20 requester s, who are given access to create requisitions. Now business wants to provide access to each requester that they can only modify/change requisition created by them and they should not be allowed to edit other requester s requisition.. Scenario 8: In oracle application we have a Debug functionality, suppose business wants to enable this functionality only for Developers. This can be achieved via profile options.

    Scenario 9: Consider, we have created a custom report, now business wants for execute this reports only for certain organization. This can be achieved via profile options.

    These are only some scenarios, we can use the profile option functionality to achieve any custom functionality or even we can bypass oracle seeded functionality.

  • Oracle R12 - AOL by Dinesh Kumar S 121

    Profile Types:

    System Profile (Oracle Seeded Profile Options) User Profile (Custom Profile created by user)

    Profile Levels:

    Site Level Application Level Organization Level Responsibility Level User Level

    Profile Hierarchy:

    (High) User --> Responsibility --> Organization --> Application --> Site (Low)

    Level Level IDSite 10001Application 10002Responsibility 10003User 10004Server 10005Organization 10006

  • Oracle R12 - AOL by Dinesh Kumar S 122

    How To Check If a Profile Option Is Set In Oracle Applications? (Ref. Note: 470102.1)

    We can check in 3 ways,

    (1) Option 1: Data Collection Set(2) Option 2: Run Standard Concurrent Report(3) Option 3: Using SQL Query

    Option 1: Data Collection Set

    1.Login to Oracle E-Business Suite

    2.Select the responsibility "Oracle Diagnostics Tool" (see Note 358831.1 for details)

    3.Select application "Oracle Application Object Library" from the "Application" list of values

    4.Click the "Advanced" tab

    5.Scroll down to group "Data Collection"

    6.Select test name "Profile Options"

  • Oracle R12 - AOL by Dinesh Kumar S 123

    7.Input Parameters (* required) Responsibility Id (LOV) * Language Code * Search Option * Search Value *

    8.Output containsProduct Installation Status and Patchset LevelSite Level Profile OptionsApplication Level Profile OptionsResponsibility Level Profile OptionsUser Level Profile OptionsReferences

    Option 2: Run standard Concurrent Report

    Run the standard concurrent report "User Profile Option Value" available from the "System Administrator" responsibility.

  • Oracle R12 - AOL by Dinesh Kumar S 124

    Option 3: Using SQL Query

    SELECT po.user_profile_option_name, po.profile_option_name "NAME" , DECODE (TO_CHAR (pov.level_id), '10001', 'SITE' , '10002', 'APP', '10003', 'RESP', '10004', 'USER', '???') "LEV", DECODE (TO_CHAR (pov.level_id) , '10001', '', '10002', app.application_short_name , '10003', rsp.responsibility_key, '10004', usr.user_name, '???') "CONTEXT", pov.profile_option_value "VALUE" FROM fnd_profile_options_vl po, fnd_profile_option_values pov, fnd_user usr, fnd_application app, fnd_responsibility rsp WHERE (po.profile_option_name = upper('&profil_name')) AND pov.application_id = po.application_id AND pov.profile_option_id = po.profile_option_id AND usr.user_id(+) = pov.level_value AND rsp.application_id(+) = pov.level_value_application_id AND rsp.responsibility_id(+) = pov.level_value AND app.application_id(+) = pov.level_valueORDER BY "NAME", pov.level_id, "VALUE"

  • Oracle R12 - AOL by Dinesh Kumar S 125

    How To List E-Business Suite Profile Option Values For All Levels Using SQLPlus? (ref Note: 201945.1 )

    1. Enable Spooling2. Execute the script

    set long 10000set pagesize 500set linesize 160column SHORT_NAME format a30column NAME format a40column LEVEL_SET format a15column CONTEXT format a30column VALUE format a40

    select p.profile_option_name SHORT_NAME,n.user_profile_option_name NAME,decode(v.level_id,10001, 'Site',10002, 'Application',10003, 'Responsibility',10004, 'User',10005, 'Server',10006, 'Org',10007, decode(to_char(v.level_value2), '-1', 'Responsibility',decode(to_char(v.level_value), '-1', 'Server','Server+Resp')),'UnDef') LEVEL_SET,

  • Oracle R12 - AOL by Dinesh Kumar S 126

    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', decode(to_char(v.level_value2), '-1', rsp.responsibility_key,decode(to_char(v.level_value), '-1',(select node_name from fnd_nodeswhere node_id = v.level_value2),(select node_name from fnd_nodeswhere node_id = v.level_value2)||'-'||rsp.responsibility_key)),'UnDef') "CONTEXT",v.profile_option_value VALUEfrom 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 orgwhere p.profile_option_id = v.profile_option_id (+)and p.profile_option_name = n.profile_option_name

  • Oracle R12 - AOL by Dinesh Kumar S 127

    and upper(p.profile_option_name) in ( select profile_option_namefrom fnd_profile_options_tl where upper(user_profile_option_name) like upper('%&user_profile_name%'))and usr.user_id (+) = v.level_valueand rsp.application_id (+) = v.level_value_application_idand rsp.responsibility_id (+) = v.level_valueand app.application_id (+) = v.level_valueand svr.node_id (+) = v.level_valueand org.organization_id (+) = v.level_valueorder by short_name, user_profile_option_name, level_id, level_set;

    Table Used:FND_PROFILE_OPTIONS FND_PROFILE_OPTIONS_TL FND_PROFILE_OPTION_VALUES

    Navigation: (Set up Profile)System Admin Profile System

  • Oracle R12 - AOL by Dinesh Kumar S 128

    Navigation: (Create User Profile)Application Developer Profile

  • Oracle R12 - AOL by Dinesh Kumar S 129

    Name: A unique name given to a profile.

    Application: The name of the application to which the profile to be registered.

    User Profile Name: This is the name your users see as their profile option.

    Description: User can give the usage/purpose of the profile option (or) any other note.

  • Oracle R12 - AOL by Dinesh Kumar S 130

    Hierarchy Type:

    Hierarchy types enable system administrators to group and set profile options according to their business needs or the needs of the installation.

    The default hierarchy type is Security.

    Types of Hierarchy:

    Server Server + Responsibility Organization Security

  • Oracle R12 - AOL by Dinesh Kumar S 131

    Hierarchy Type: Server

    The Server hierarchy type is used when the system needs to determine the server on which the user's session is running.

    For Example, the profile "Applications Web Agent can be used for cookie validation, the setting may be different for local servers and external servers.

    Hierarchy Type: Server-Responsibility

    We can control the value of a profile option for a particular combination of a server and responsibility.

  • Oracle R12 - AOL by Dinesh Kumar S 132

    Hierarchy Type: Organization

    Organization refers to operating unit. The Organization hierarchy type allows system administrators to set a profile option at the

    organization level, so that all users within that organization will use the profile option value set once at the organization level.

    Hierarchy Type: Security

    Profiles that use the Security hierarchy type follow the traditional hierarchy: Site > Application > Responsibility > User.

    Profiles using the Server type use the hierarchy: Site > Server >User.

    Profiles using the Organization type use the hierarchy: Site > Organization > User.

  • Oracle R12 - AOL by Dinesh Kumar S 133

    Hierarchy type Access level

    Define the characteristics of your profile option at each profile level. Depending on the hierarchy type you chose for your profile, you can define the characteristics

    at the Site, Application, Responsibility, Server, Server+Responsibility, Organization, and User levels.

    Note** provide access to each option at the Site level

    User Access

    If you want your end user to be able to update profile option values in the Profile Values window, you must provide user visible and updatable access at the User level here.

    Visible - Indicate whether your system administrator can see your profile option while setting user profile option values for the specified profile level.

    Updatable - Indicate whether your system administrator can change the value of your profile option while setting user profile option values for the profile level you select.

  • Oracle R12 - AOL by Dinesh Kumar S 134

    Hierarchy Type & its Access Levels

  • Oracle R12 - AOL by Dinesh Kumar S 135

  • Oracle R12 - AOL by Dinesh Kumar S 136

    Active Dates

    Enter the dates on which the profile option becomes active/inactive.

    SQL Validation

    If you want your profile option to provide a list of values (LOV) the following syntax to be used in the SQL Validation field.

    To validate your user profile option, select the profile option value into the fields.i. :PROFILE_OPTION_VALUE ii. :VISIBLE_OPTION_VALUE

  • Oracle R12 - AOL by Dinesh Kumar S 137

    Syntax:

    Lets discuss the syntax part by part

    SQL:

    A SELECT statement that selects the rows to display in your LOV. In the SQL statement you can specify column aliases, use an INTO clause to put values into

    form fields. Display database values without selecting them into form fields (by selecting values INTO

    NULL). Mix values to put into form fields with display only values in the same INTO clause

  • Oracle R12 - AOL by Dinesh Kumar S 138

    If you specify more than one column in your COLUMN option, the LOV displays the columns in the order you specify in your COLUMN statement

    Column aliases cannot be longer than 30 characters. Larger identifiers will cause errors.

    The HEADING option overrides the COLUMN lengths and aliases.

    SQL=SELECT FULL_NAME ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBER"

  • Oracle R12 - AOL by Dinesh Kumar S 139

    Note**

    You can use GROUP BY or HAVING clauses in your SQL statement, but only in your main query; you cannot use them in sub-queries. You can use DISTINCT and ORDER BY clauses as you would normally.

    Set functions such as MIN(), MAX(), SUM(), and COUNT() can be used in the SELECT or HAVING clause, but you cannot use them on the columns that you select into the PROFILE_OPTION_VALUE or VISIBLE_OPTION_VALUE fields.

    Though you can use a fairly complex WHERE clause and/or an ORDER BY clause in your SQL definition, you cannot use UNION, INTERSECT, or MINUS in your main query. If you need a UNION, INTERSECT, or MINUS to select the proper values, you should create a view on your tables, then select from the view, or include these operators as part of a sub-query.

    In addition, you cannot use a CONNECT BY or any other operation that would come after the WHERE clause of a SELECT statement.

    Finally, if you use OR clauses, you should enclose them in parentheses.

  • Oracle R12 - AOL by Dinesh Kumar S 140

    COLUMN:

    Lists the names of columns (or column aliases) you want to display in your LOV window, the order in which to display them, and their display widths.

    If you specify more than one column in your COLUMN option, your LOV displays the columns in the order you list them. This order can differ from the column order in your SQL statement.

    You must specify column widths in the COLUMN= "..." parameter, although any column widths you specify in the HEADING="..." option below override these values.

    You can specify static or dynamic column widths in your COLUMN option.

    o Static column width by following the column name with the desired width.

    o Dynamic width column by placing an asterisk instead of a number in the parentheses following the column name

  • Oracle R12 - AOL by Dinesh Kumar S 141

    SQL=SELECT (LAST_NAME || : || FIRST_NAME) ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBER"

    Put parenthesis while concatenating multiple columns,

    Static & Dynamic Column width,

    SQL=SELECT FULL_NAME ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBERCOLUMN= FULL_NAME(100) , EMPLOYEE_NUMBER(*)

  • Oracle R12 - AOL by Dinesh Kumar S 142

    Include Spaces in Column Alias,

    put a backslash and double quotes before and after the column alias, so that the LOV routine recognizes the double quotes as real double quotes, rather than the end of your parameter.

    SQL=SELECT FULL_NAME ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBERCOLUMN= \EMPLOYEE NAME\(100)

  • Oracle R12 - AOL by Dinesh Kumar S 143

    TITLE:

    Text you want to display centered and highlighted on the top line of your LOV window i.e. the window title message.

    We can specify a Message Dictionary token in your LOV definition by providing the application short name and the message name.

    Any title starting with "*" is treated as a Message Dictionary name, and the message contents are substituted for the title.

    SQL=SELECT FULL_NAME ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBERCOLUMN= FULL_NAME(100) , EMPLOYEE_NUMBER(*) TITLE=*FND:MESSAGE_NAME

    Note**FND: is Application Short Name followed by message name.

  • Oracle R12 - AOL by Dinesh Kumar S 144

    HEADING:

    Lets you specify a list of column headings and column widths, separated by spaces or commas. There should be one heading in the HEADING="..." parameter for each column in the

    COLUMN="..." parameter. We can suppress headings in your LOV window altogether by setting HEADING="N". If you do not provide an explicit TITLE and HEADING in your SQL validation, your profile has

    TITLE="user_profile_option_name" and HEADING="N" appended to the definition at runtime.

    SQL=SELECT FULL_NAME ,EMPLOYEE_NUMBER INTO :PROFILE_OPTION_VALUE , :VISIBLE_OPTION_VALUE FROM PER_ALL_PEOPLE_F

    ORDER BY EMPLOYEE_NUMBERCOLUMN= FULL_NAME(100) , EMPLOYEE_NUMBER(*) HEADING=*FND:MESSAGE_NAME(*)

  • Oracle R12 - AOL by Dinesh Kumar S 145

    Reference: Oracle Flexfield Guide

    Value Sets

  • Oracle R12 - AOL by Dinesh Kumar S 146

    About Valueset:

    Oracle Application Object Library uses values, value sets and validation tables as important components of key flexfields, descriptive flexfields, and Standard Request Submission.

    We define value sets first, either before or while you define your flexfield segment structures.

    We can share/Use value sets,

    Among segments in different flexfields segments in different structures of the same flexfield segments within the same flexfield structure. Across key and descriptive flexfields. Use value sets for report parameters for your reports that use the Standard Request

    Submission feature.

  • Oracle R12 - AOL by Dinesh Kumar S 147

    Value Set Name: A unique name given by user

    Description: User defined description about the purpose/usage of value set.

    List Type: Choose List of Values if your value set should not provide the LongList feature in Oracle

    Forms applications. Choose Long List of Values if your value set should provide the LongList feature in Oracle

    Forms Applications. This feature requires a user to enter a partial segment value before the list of values

    retrieves all available values. You may not enable LongList for a value set that has a validation type of None.

    Choose Poplist if your value set should not provide the LongList feature in Oracle Forms applications, but should provide a poplist in Oracle Self-Service applications.

  • Oracle R12 - AOL by Dinesh Kumar S 148

    Guidelines for List type field,

    Poplist - fewer than 10 values expected List of Values - between 10 and 200 values expected Long List of Values - more than 200 values expected

    Security Type:

    Specify the Security Type you plan to use with any segments that use this value set. Security does not apply to value sets of validation type None, Special, or Pair.

    Flexfield value security is not available for Translatable Independent and Translatable Dependent value sets.

    Security Types are,

    1. No Security2. Hierarchical Security3. Non-Hierarchical Security

  • Oracle R12 - AOL by Dinesh Kumar S 149

    No Security

    All security is disabled for this value set.

    Hierarchical Security

    Hierarchical security is enabled. With hierarchical security, the features of value security and value hierarchies are combined. With this feature any security rule that applies to a parent value also applies to its child values.

    Within a hierarchical tree of values, a value is subject to a security rule if any parent above it is subject to that security rule.

    Non-Hierarchical Security

    Security is enabled, but the rules of hierarchical security do not apply. That is, a security rule that applies to a parent value does not "cascade down" to its child values.

  • Oracle R12 - AOL by Dinesh Kumar S 150

    Valueset usage:

    Valueset can be associated with below Application objects, KFF (Key flex fields) DFF (Descriptive flex fields) Concurrent Program Parameters

  • Oracle R12 - AOL by Dinesh Kumar S 151

    Planning Values & Value Sets:

    1) Choose Value format2) Decide usage and need3) Choose Validation Type4) Plan to use Range features (value hierarchies, cross-validation rules, security rules etc.)

    Step 1: Choosing Value format

    Below are the different formats available,

    ) Character) Date) DateTime) Number) Time) Standard Date) Standard DateTime

  • Oracle R12 - AOL by Dinesh Kumar S 152

    Maximum & minimum value for the value set can be given.

    Choosing the maximum size for your value set depends on what flexfield you plan to use with your value set.

    Oracle Applications does not allow you to assign a value set whose values would not fit in the flexfield table.

  • Oracle R12 - AOL by Dinesh Kumar S 153

    This flow diagram shows how Valueset will behave based on the format validation setups.

  • Oracle R12 - AOL by Dinesh Kumar S 154

  • Oracle R12 - AOL by Dinesh Kumar S 155

    Step 2: Decide Usage and Need

    Decide whether your users need a predefined list of values from which to choose, or whether they can enter any value that fits the value set formatting conditions.

    If you want to provide a list of values, you choose from independent, dependent, or table value sets.

    If you do not want a list, use a non-validated (None) value set.

    Once we have chosen to provide a list of values for a segment, then we choose whether to use independent, dependent, or table validation.

    Use a dependent set if you want your segment values to depend upon the value chosen in a prior independent segment.

    If we already have suitable values in an existing table, you should choose a table set.

  • Oracle R12 - AOL by Dinesh Kumar S 156

    Value set Type compatibility chart with LOV

  • Oracle R12 - AOL by Dinesh Kumar S 157

    Step 3: Choosing a Validation Type

    There are 6 validation types available for Valueset,

    1. None (not validated at all)2. Independent3. Dependent4. Table5. Special (advanced)6. Pair (advanced)

    Note** The Accounting Flexfield only supports Independent, Dependent, and Table validation. We cannot change the validation type of an existing value set, since your changes affect all

    flexfields and report parameters that use the same value set.

  • Oracle R12 - AOL by Dinesh Kumar S 158

    Short Code Validation Type

    U Special

    P Pair

    I Independent

    D Dependent

    Y Transparent Dependent

    X Transparent Independent

    N None

    F Table

    Table: FND_FLEX_VALUE_SETS

  • Oracle R12 - AOL by Dinesh Kumar S 159

    None:

    When you want to allow users to enter any value and it meets the value set formatting rules.

    Because a None value set is not validated, a segment that uses this value set does not provide a list of values for your users.

    A segment that uses this value set (that is, a non-validated segment) cannot use flexfield value security rules to restrict the values a user can enter.

  • Oracle R12 - AOL by Dinesh Kumar S 160

  • Oracle R12 - AOL by Dinesh Kumar S 161

    Independent:

    It provides a predefined list of values for a segment.

    These values can have an associated description.

    The meaning of a value in this value set does not depend on the value of any other segment.

    Independent values are stored in an Oracle AOL table.

  • Oracle R12 - AOL by Dinesh Kumar S 162

  • Oracle R12 - AOL by Dinesh Kumar S 163

    Table:

    It provides a predefined list of values like an independent set, but its values are stored in an application table.

    use a table-validated set when you have a table whose values are already maintained in an application table.

    Table validation also provides some advanced features such as allowing a segment to

    depend upon multiple prior segments in the same structure.

  • Oracle R12 - AOL by Dinesh Kumar S 164

  • Oracle R12 - AOL by Dinesh Kumar S 165

    Edit Information:

  • Oracle R12 - AOL by Dinesh Kumar S 166

    Dependent:

    A dependent value set is similar to an independent value set, except that the available values in the list and the meaning of a given value depend on which independent value was selected in a prior segment of the flexfield structure.

    You must define your independent value set before you define the dependent value set that depends on it.

  • Oracle R12 - AOL by Dinesh Kumar S 167

  • Oracle R12 - AOL by Dinesh Kumar S 168

    Edit Information:

  • Oracle R12 - AOL by Dinesh Kumar S 169

    Special and Pair Value Sets: Special and pair value sets provide a mechanism to allow a "flexfield-within-a-flexfield".

    These value sets are primarily used for Standard Request Submission parameters. We do not generally use these value sets for normal flexfield segments. Special validation value sets allow you to call key flexfield user exits to validate a flexfield

    segment or report parameter using a flexfieldwithinaflexfield mechanism.

  • Oracle R12 - AOL by Dinesh Kumar S 170

    Oracle Seeded Valueset: PO_SRS_ITEM

  • Oracle R12 - AOL by Dinesh Kumar S 171

    Edit Information:

  • Oracle R12 - AOL by Dinesh Kumar S 172

    When you define a special validation value set, you specify two things:

    Event : The event is the time when your function occurs. Function: It is your call to a key flexfield user exit

    For example, the Validate event occurs once a user enters a value, and yourfunction would validate that value.

    We can use a special validation value set to let your users enter an entire key flexfield combination within a single segment of a descriptive flexfield or report parameter.

    For example, you may want to pass concatenated key flexfield segments as a parameter to a report.

    flexfield routines to perform flexfield data entry and validation functions on segment values or report parameters.

  • Oracle R12 - AOL by Dinesh Kumar S 173

    Special Validation: Events

    Valid events include,

    Event Name Usage Status

    Edit when users cursor enters the segment in a data entry mode. You usually use POPID(R) for your Edit event.

    Active

    Load Calls routine immediately after a query to populate your segment. You usually use LOADID(R) for your Load event. If you have a Load event, you must have a nonnull ID field (a field

    that contains the code combination ID number) or data field (a field that contains the hidden ID numbers corresponding to the values of a value set that uses a hidden ID column).

    If you have a Load event, you must use :!ID (described below) with either an ID field or data field.

    Your user exit passes the contents of :!ID to your report or flexfield instead of the contents of :!VALUE

    Active

  • Oracle R12 - AOL by Dinesh Kumar S 174

    Event Name Usage Status

    Validate Calls routine whenever the users cursor leaves the segment or closes the popup window, (or) whenever a default value is copied into the segment or report parameter.

    The Validate event also fires after a query to generate value descriptions for queried values.

    You usually use VALID(R) for your Validate event.

    Active

    Insert/Update Reserved for Future --

    Query Reserved for Future --

    Edit/Edit Reserved for Future --

    ListVal Reserved for Future --

  • Oracle R12 - AOL by Dinesh Kumar S 175

    Special Validation: Function

    Special validation provides several special arguments you can use to pass values to and from the user exits,

    :!ID:!VALUE:!MEANING!DIR

    :!IDYou can use :!ID to pass different information depending upon the circumstances, For flexfield routines, :!ID can pass either a combination ID number of an entire

    combination of segment values (key flexfields only) It can pass a concatenated string of the individual flexfield segment values (either key or

    descriptive flexfields).

  • Oracle R12 - AOL by Dinesh Kumar S 176

    When you use :!ID to pass a concatenated string of individual segment values, :!ID should contain the hidden ID values.

    For a foreign key flexfield when using VALIDATE=FULL argument then, Use ID=:!ID argumentNot Use DATA_FIELD=:!ID argument.

    For a foreign key flexfield when using VALIDATE=PARTIAL (or NONE) argument then, Use DATA_FIELD=:!IDNot Use ID=:!ID argument

    With the #FND POPIDR, LOADIDR, or VALIDR routines for range flexfields,

    Use DATA_FIELD=:!IDNot Use ID=:!ID

  • Oracle R12 - AOL by Dinesh Kumar S 177

    :!VALUE Use :!VALUE to access the users input. :!VALUE refers to the displayed values that appear in the flexfield window and in the

    concatenated values field. It contains the concatenated values for the flexfield your value set uses.

    :!MEANING Use :!MEANING to pass the concatenated descriptions of your flexfield values. The value description appears as usual next to the flexfield segment value and in the

    concatenated description field.

    !DIR Use !DIR for the NAVIGATE argument of key and descriptive flexfields routines. !DIR allows the flexfields routines to determine the proper navigation direction when you

    use a flexfield as a segment value set. Do not use a colon when you specify !DIR for POPID or other flexfield routines.

  • Oracle R12 - AOL by Dinesh Kumar S 178

    Example: (Reference Flexfield Guide)

    Suppose you want to let your users pass a single combination of concatenated Accounting Flexfield segments as a parameter to a report. To let your user choose a single combination, you must provide a key flexfield window from within thereport parameters window on the Run Reports form.

    To do this, you simply define a value set with Special validation and use your familiar flexfield user exits.

    Since you want to pass an existing combination (that is, you want to pass the ID number of the combination) and this is a foreign key flexfield, you use VALIDATE=FULL and the ID=:!ID argument. You do not use the DATA_FIELD=:!ID argument.

  • Oracle R12 - AOL by Dinesh Kumar S 179

    Below Events are identified,

    Data Entry Data Query Data Validation

  • Oracle R12 - AOL by Dinesh Kumar S 180

  • Oracle R12 - AOL by Dinesh Kumar S 181

    Pair Validation Valueset

  • Oracle R12 - AOL by Dinesh Kumar S 182

    Edit Information:

  • Oracle R12 - AOL by Dinesh Kumar S 183

    Example Pair Validation:

    Suppose you want to let your users pass a range of concatenated Accounting Flexfield segments as parameters to a report. For example, you want to let yourusers request a report on all combinations where the second segmentvalue is between 001 and 101, inclusive.

    To let your user choose such a range, you must provide a key flexfield range window from within the report parameters window on the Run Reports form. To do this, you simply define a value set with Pair validation and use your familiarrange flexfield user exits to pass a range of concatenated segment values.

    For a range flexfield, you use VALIDATE=PARTIAL (or NONE). Since you use a range flexfield, you cannot use the ID=:!ID argument. You do not use DATA_FIELD=:!ID in this example (hidden ID value sets are not allowed with the Accounting Flexfield), so you do not need a Load event.

  • Oracle R12 - AOL by Dinesh Kumar S 184

  • Oracle R12 - AOL by Dinesh Kumar S 185

    Using Variables with Special and Pair Validation

    Bind Variable Usage

    :$FLEX$.value_set_name Retrieves a value (the hidden ID value, if a hiddenID value is defined) in a prior segment.

    :$PROFILES$.profile_option Retrieves the current value of a profile option. Youmust specify the option name of the profile option,such as GL_SET_OF_BKS_ID (which does notcontain the Accounting Flexfield structurenumber).

    :block.field Gets the current value in a field. You must ensurethat this value set is only used for forms that havethe same block.field.

  • Oracle R12 - AOL by Dinesh Kumar S 186

    :$FLEX$.Value_ Set_Name

    Value_Set_Name is the name of either the value set for a prior segment. The segment name of a prior segment in the same flexfield. Parameter window that you want your validation tablebased values to depend on.

    The $FLEX$ mechanism uses the closest prior segment with either a matching value set name or segment name (it looks for the value set name first, and uses the segment name second if there are no matching value set names).

    Value_Set_Name is casesensitive.

    We can only use letters, numbers, and underscores (_) in your value set names if you want to use them with a :$FLEX$.Value_Set_Name clause.

    We cannot use quotes, spaces, or other special characters in these value set names.

    You can specify more than one :$FLEX$.Value_Set_Name in a single WHERE clause, thereby creating a segment whose list of possible values depends upon more than one previous segment.

    When you specify :$FLEX$.Value_Set_Name, you can also explicitly choose which column for which you want :$FLEX$.Value_Set_Name to return a value. You do this by specifying :$FLEX$.Value_Set_Name.OUTPUT, where OUTPUT can be ID, VALUE, or MEANING (to return the value of the description column)

  • Oracle R12 - AOL by Dinesh Kumar S 187

    :block.field

    block.field is the SQL*Forms/Oracle Forms name of a field on the form where your descriptive flexfield appears.

    Using this :block.field argument, however, gives you the same segments that would normally appear, but changes the contents of the value set attached to the segment depending onwhat appears in your :block.field.

    In some cases, you may wish to use a :block.field value set instead of a descriptive flexfield reference field with many different contextsensitive structures.

    Note that if you use this argument, you must have the same :block.field on every form where a value set based on this validation table could be used. For example, if the same flexfield appears on seven forms, the all seven forms must have this block.field.

    Similarly, if you share your value set among more than one flexfield, then all forms that use any of those flexfields must have this block.field.

  • Oracle R12 - AOL by Dinesh Kumar S 188

    :$PROFILES$.profile_option

    Profile_option_name is the internal option name of a user profile option such as CONC_COPIES (for Concurrent:Report Copies) or GL_SET_OF_BKS_ID. For example, you could define your WHERE clause as:

    WHERE SET_OF_BOOKS_ID = :$PROFILES$.GL_SET_OF_BKS_ID

    :NULL suffixUse the :NULL suffix to make your bind variable optional, that is, allow null values. Instead of :block.field, :$PROFILES$.Option_name, or :$FLEX$.Value_set_name, you would use :block.field:NULL, $PROFILES$.Option_name:NULL, or :$Flex$.Value_set_name:NULL, respectively.

    For example, if your value set name is Car_Maker_Name_Value_Set, you would use :$FLEX$.Car_Maker_Name_Value_Set:NULL.

  • Oracle R12 - AOL by Dinesh Kumar S 189

    A flexfield is a field made up of subfields, or segments. A flexfield appears on your form as a popup window that contains a prompt for each segment. Each segment has a name and a set of valid values.

    There are two types of flexfields: (1) key flexfield(2) Descriptive flexfield

    Flexfield

  • Oracle R12 - AOL by Dinesh Kumar S 190

    Benefits of Flexfields Flexfields provide you with the features you need to satisfy the following business needs:

    Customize your applications to conform to your current business practice for accounting codes, product codes, and other codes.

    Customize your applications to capture data that would not otherwise be tracked by your application.

    Have "intelligent fields" that are fields comprised of one or more segments, where each segment has both a value and a meaning.

    Rely upon your application to validate the values and the combination of values that you enter in intelligent fields.

    Have the structure of an intelligent field change depending on data in your form or application data.

    Customize data fields to your meet your business needs without programming.

    Query intelligent fields for very specific information.

  • Oracle R12 - AOL by Dinesh Kumar S 191

    Key FlexfieldThe Oracle Applications store these "codes" in key flexfields. Key flexfields are flexible enough to let any organization use the code scheme they want, without programming.

    When your organization initially installs Oracle Applications, you and your organization's implementation team customize the key flexfields to incorporate code segments that are meaningful to your business.

    To run a business we follow a structure in Finance, Inventory, HRMS etc. For Example, consider Bajaj Motor Vehicles, their head office is in Delhi and it has its other branches in Mumbai, Kolkata, Chennai and Bangalore. In each center they have many branches say 100 branches each. Now lets ask some questions to our self.

    Is it possible for a person working in Delhi able to identify the location in chennai?Practically it is not possible, because that person will not be familiar with the names in chennai location.To avoid the confusion, every business should have a structure created as below.Delhi.Chennai.LOCATION_1Now the person will easily identify the location. So based on the business requirement the structure will be created.

    Will all the Oracle application modules have flexfield and do we need to create structure?

    No, not all modules will have a structure or Key flexfield defined. Only Some modules have KFF. When implementing Multi-Org you will be understanding it better.

  • Oracle R12 - AOL by Dinesh Kumar S 192

    Navigation: SYS ADMIN RESP Application Flexfield Key Segments

  • Oracle R12 - AOL by Dinesh Kumar S 193

    Flexfield segments

    Note** in all the base tables you can see Segment Columns where the flexfield value will be stored.

  • Oracle R12 - AOL by Dinesh Kumar S 194

    Application: Name of the application in which flexfield is defined.

    Flexfield Title: This is the Key Flexfield Name that belongs to the application General Ledger.

    For those application flexfields that support more than one structure (such as the multiple charts of accounts in the Accounting Flexfield), you can create a new structure for your flexfield by inserting a row. If you are defining the first structure for your flexfield, select the default flexfield structure that appears automatically. If you are modifying an existing structure, use your cursor keys to select the title of the flexfield structure you want.

  • Oracle R12 - AOL by Dinesh Kumar S 195

    Check the Enabled check box so that this structure may be used in your key flexfield. You cannot delete structures from this window because they are referenced elsewhere in the system, but you can disable them at any time. A structure must be enabled before it can be used.

    Select the character you want to use to separate your flexfield segment values or descriptions. This separator will appear whenever your application forms display concatenated segment values or descriptions.

    It is recommended that you do not use a character as your segment separator if you expect that character to appear frequently in your segment values or descriptions.

    If you do use a character that appears in your segment values or descriptions, then that character will be preceded by a backslash (\) when it appears in a value or a description. A backslash in your values will be preceded by another backslash.

  • Oracle R12 - AOL by Dinesh Kumar S 196

    Select the Cross-Validate Segments check box if you want to cross-validate multiple segments using cross-validation rules. You can define cross-validation rules to describe valid combinations using the Cross-Validation Rules form. Uncheck the box if you want to disable any existing cross-validation rules

    Indicate whether you want to freeze your rollup group definitions. If you do, you prevent users from modifying rollup groups using the Segment Values form. You can freeze rollup groups before or after you define your flexfield structure.

    If you want to allow dynamic inserts, check the Allow Dynamic Inserts check box. You would allow dynamic inserts of new valid combinations into your generic combinations table if you want users to create new combinations from windows that do not use your combinations table. You should prevent dynamic inserts if you want to enter new valid combinations only from a single application window you create to maintain your specific combinations table.

    You can update this field only if your application flexfield has been built to allow dynamic inserts, and the flexfield has been defined in the Register Key Flexfields form with Dynamic Inserts Feasible checked. Otherwise this field is display only.

    Compile your frozen flexfield by choosing the Compile button. Your changes are saved automatically when you compile.

  • Oracle R12 - AOL by Dinesh Kumar S 197

    Key flexfield by Name:

  • Oracle R12 - AOL by Dinesh Kumar S 198

    Key flexfield by Owing Application:

  • Oracle R12 - AOL by Dinesh Kumar S 199

  • Oracle R12 - AOL by Dinesh Kumar S 200

    Descriptive Flexfield

    Descriptive flexfields provide customizable "expansion space" on your forms. You can use descriptive flexfields to track additional information, important and unique to your business, that would not otherwise be captured by the form.

    Descriptive flexfields can be context sensitive, where the information your application stores depends on other values your users enter in other parts of the form.

    A descriptive flexfield appears on a form as a single-character, unnamed field enclosed in brackets. Just like in a key flexfield, a pop-up window appears when you move your cursor into a customized descriptive flexfield.

    DFF has 2 different types of segments,

    Global segment is a segment that always appears in the descriptive flexfield popup window. Contextsensitive segment is a segment that may or may not appear depending upon what other information is present in your form.

    A descriptive flexfield can get context information from

    Field in a form From a special field (a context field) inside the descriptive f