Oracle® Fusion Applications Extensibility Guide for Business Analysts 11g Release 7 (11.1.7) Part Number E16691-12 |
|
|
PDF · Mobi · ePub |
This chapter describes how to use descriptive and extensible flexfields to add additional attributes to your Oracle Fusion applications. You create these custom attributes using runtime tasks in the Setup and Maintenance work area.
This chapter includes the following sections:
If you need to add company-specific attributes to a business object, such as size and color attributes for the product business object, then you can often use flexfields to add the desired custom attributes. A flexfield is a set of placeholder fields that is associated with a business object. With flexfields, a field is called a segment.
Oracle Fusion Applications provides three types of flexfields — descriptive flexfield, extensible flexfield, and key flexfield. This chapter discusses how you can use descriptive and extensible flexfields to add additional attributes to Oracle Fusion applications. This chapter refers to these attributes as custom attributes.
Note:
This chapter does not discuss key flexfields, which you use to define keys such as part numbers, as explained in the product-specific documentation in Oracle Fusion Applications Help. In this chapter, the term flexfield applies to descriptive and extensible flexfields only.
Descriptive and extensible flexfields enable you to configure your applications to capture additional pieces of information (attributes) without having to perform custom development. The attributes that you add by configuring flexfields are available throughout the Oracle Fusion Middleware technology stack, allowing custom attributes to be used in user interface pages, incorporated into the service-oriented architecture (SOA) infrastructure, and, in the case of descriptive flexfields, integrated with Oracle Business Intelligence.
Note:
For Sales, Marketing, Customer Center, Trading Community Architecture, and Order Capture applications, use Oracle Fusion CRM Application Composer (Application Composer) to add custom attributes instead of using descriptive and extensible flexfields. For more information, see the "Application Composer: Introduction" chapter in the Oracle Fusion Applications CRM Extensibility Guide
Many business objects in Oracle Fusion applications have an associated descriptive or extensible flexfield with which you can create custom attributes for the business object. A descriptive flexfield is the more basic of the two and is more commonly used. As explained later in this section, extensible flexfields offer more advanced features, such as hierarchical configurations.
The flexfield type determines how you configure the custom attributes.
Descriptive flexfield configuration: A descriptive flexfield enables you to add three types of custom attributes to a page — global, context, and context-sensitive. Global attributes are always available as fields in the UI. Context-sensitive attributes appear on a UI page only under a certain condition or circumstance (the context).
An example of where you would use context-sensitive attributes is for a job business object, as illustrated in Figure 4-1. Where some attributes are common to all jobs, such as whether the job is off site, some job attributes depend upon the job type. For example, you might want to store the service type for a service technician, and for a driver, you might want to store the required commercial driver's license (CDL) class.
Extensible flexfield configuration: An extensible flexfield enables you to add attributes to a page by configuring categories, logical pages, and contexts.
Extensible flexfield contexts are somewhat different from descriptive flexfield contexts in that extensible flexfields enable you to configure multiple contexts, and you can group the contexts into categories. All extensible flexfields have at least one category (often referred to as the root category), and some extensible flexfields enable you to configure a hierarchy of categories, where a given category can inherit contexts from its parent categories. For more information about categories, see Task: Identify the Extensible Flexfield's Category Hierarchy Structure in Section 4.3.2, "Planning Extensible Flexfields."
You use logical pages to arrange how the contexts appear in the user interface. For example, the extensible flexfield in Figure 4-2 has been configured to include a Technical Specifications logical page in the user interface for the Electronics and Computers category. The Technical Specifications logical page contains the attributes for four contexts — Recovery and Recycling, Compliance and Certification, Operating Conditions, and Materials and Substances. Figure 4-3 shows the user interface for the Technical Specifications logical page.
As shown in Figure 4-2, the user interface for the Furniture category has been configured to include a Furniture Specifications logical page and an Assembly Instructions logical page. Note that the two categories (Electronics & Computers and Furniture) share the Materials & Substances context.
Another extensible flexfield feature is the ability to configure a context to store multiple rows per entity. For example, you can use a context to store all the materials and substances required to make a single product. The Materials and Substances context in Figure 4-3 has been configured for multiple rows, and is thus displayed as a table.
Extensible flexfields also enable you to specify view and edit privileges. For example, you can set the privileges so that everyone can view the attributes but only managers can make changes.
Using the runtime tools, you can perform the following flexfield tasks:
Find the flexfields on a page.
Manage flexfields.
Specify flexfield validation.
Deploy flexfields.
Integrate flexfields into the technology stack.
Customize the attributes on a per-page basis using Page Composer.
Create translations of the value sets and the custom attributes for different locales.
You can use the Manage Descriptive Flexfields task, shown in Figure 4-4, and the Manage Extensible Flexfields task, shown in Figure 4-5, to create your custom attributes. You can also configure descriptive flexfields by using the three Quick Create dialogs — Create Context Value, Quick Create: Global Segment, and Quick Create: Context-Sensitive Segment. The Quick Create: Context-Sensitive Segment dialog is shown in Figure 4-6. For more information, see Section 4.5.1, "Configuring Descriptive Flexfields" and Section 4.5.2, "Configuring Extensible Flexfields."
Note:
Some setup activities enable you to complete product-specific flexfield configuration. For example, you can use the Manage Item Classes task in the Product and Catalog Management application to manage a hierarchy of custom attributes for catalog items. For more information, see the product-specific documentation in Oracle Fusion Applications Help.
As shown in Figure 4-7, use the Manage Value Sets task to specify validation rules for your custom attributes, such as minimum and maximum values or a list of valid values.
Note:
If you use the Quick Create dialogs to configure the attributes, the value sets are created automatically when you add the segments. You cannot use an existing value set.
You must deploy a flexfield as described in Section 4.7, "Deploying Flexfield Configurations" before you can access the custom attributes from the user interface and the technology stack. After you deploy the flexfield, you can use Page Composer to configure the attributes on a per-page basis, and you can incorporate the custom attributes into Oracle Business Intelligence, web services, the SOA infrastructure, and Oracle Social Network, as described in Section 4.8, "Integrating Custom Attributes."
You can create translations of the value sets and the custom attributes for different locales as described in the "Translating Custom Text" chapter in the Oracle Fusion Applications Extensibility Guide for Developers.
You cannot use flexfields for the following tasks:
You cannot use the flexfield feature to add attributes to business objects that do not have a descriptive or extensible flexfield as described in the "Getting Started with Flexfields" chapter in the Oracle Fusion Applications Developer's Guide.
You cannot use key flexfields to add custom attributes.
You cannot use flexfields to add attributes for the following applications, which are part of the Oracle Fusion Customer Relationship Management product family. With those applications, you must use Application Composer to add custom attributes.
Sales
Marketing
Customer Center
Trading Community Architecture
Order Capture
For more information, see the "Editing an Object: Explained" section in the Oracle Fusion Applications CRM Extensibility Guide
Do not use Oracle JDeveloper to customize flexfields. If you require flexfield changes that you cannot accomplish using the tasks and UI that are described in this chapter, contact My Oracle Support at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
Before you use flexfields to create custom attributes, you should be familiar with the Oracle Fusion application architecture that enables customization, as described in Chapter 1, "Customizing and Extending Oracle Fusion Applications." You should also understand the typical workflows for working with customizations, as described in Chapter 2, "Understanding the Customization Development Lifecycle."
Perform the following steps to configure custom attributes. These steps are described in detail in the remaining sections of this chapter.
Find the flexfield on the page.
Plan the flexfield configuration.
Plan flexfield validation.
Define the attributes.
For a simple descriptive flexfield configuration, such as adding a format-only field or adding a field with a basic list of values, you can use the Quick Create dialogs. For other configurations, complete the following tasks.
Define the attributes using the appropriate task — Manage Extensible Flexfields or Manage Descriptive Flexfields
Optionally, validate the flexfield configuration.
Deploy the flexfield to the flexfield sandbox and test the configuration.
After testing, deploy the flexfield to display the custom attributes on the application pages in the full test environment and to make them available for integration into the Oracle Fusion Middleware technology stack. The flexfield artifacts that are generated during deployment are saved to an Oracle Metadata Services (MDS) repository.
Perform the necessary steps to integrate the custom attributes into the technology stack.
Before you begin the planning stage, you must first determine what type of flexfields — extensible or descriptive — are available for customizing. You also need the flexfield codes. You can choose Highlight Flexfields from the Administration menu or you can use Page Composer to find the flexfields on a page.
Task: Use Highlight Flexfields to Find the Flexfields on a Page
To obtain information about the flexfields on a page, open the page and choose Highlight Flexfields from the Administration menu. Hover over the Information icon next to the highlighted fields to display information about the flexfield, as shown in Figure 4-8. Choose Unhighlight Flexfields from the Administration menu when you no longer want to see the highlighted flexfields.
Tip:
When you click the wrench icon for a highlighted flexfield, the applicable Manage Flexfields task is displayed for that flexfield. If the flexfield is a descriptive flexfield, you can click the appropriate Add icon to add a context value, a global segment, or a context-sensitive segment that does not require advanced configurations. For more information, see Section 4.5.1, "Configuring Descriptive Flexfields,"
Note:
Not all flexfields are available for creating custom attributes. Consult the product-specific documentation in Oracle Fusion Applications Help to verify whether there are any restrictions on using the flexfield.
Task: Use Page Composer to Find the Flexfields on a Page
Use Page Composer to get information about the flexfields on a page. Open the page in Source view and look for the following:.
A region that is bound to an EffContextsPageContainer task flow. Open the properties panel for the region to view the flexfield name, flexfield code, and, optionally, the usage.
<descriptiveFlexfield>
elements. Open the properties panel for the element to view the flexfield name and flexfield code.
Note:
Not all flexfields are available for creating custom attributes. Consult the product-specific documentation in Oracle Fusion Applications Help to verify whether there are any restrictions on using the flexfield.
The planning of your custom attributes is an important activity in preparation for flexfield configuration. The way in which you plan and configure a flexfield depends on whether it is descriptive or extensible.
If you are configuring a descriptive flexfield, complete the following tasks:
Identify existing context values.
Identify whether the context value is derived.
Identify available parameters.
List custom attributes.
Plan the descriptive flexfield structure.
Define attribute properties.
Define validation rules.
Define initial values.
Plan attribute mapping to Oracle Business Intelligence objects.
Task: Identify Existing Descriptive Flexfield Context Values
To identify existing context values, access the Manage Descriptive Flexfields task by completing one of the following steps:
Choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the Manage Descriptive Flexfields task. Next, search for and edit the flexfield to view the list of configured context values.
Access the page that contains the flexfield, choose Highlight Flexfields from the Administration menu, click the Edit Descriptive Flexfield (wrench) icon for the highlighted flexfield, and view the list of configured context values.
If context values have been preconfigured, you should consult the product-specific documentation in Oracle Fusion Applications Help for information about the use of those values.
Task: Evaluate Whether the Context Value Is Derived
The context value for a descriptive flexfield might have been preconfigured to be derived from an external reference. For example, if the context is Marriage Status, then the value might be derived from an attribute in the employee business object. When the context value is derived, you might need to take the derived values and their source into consideration in your plan. To determine whether the context value is derived, look at the Derivation Value field in the Context Segment region in the Edit Descriptive Flexfields window for the flexfield. The dropdown list displays a list of available parameters. For more information about derived values, see Task: Identify Available Descriptive Flexfield Parameters.
Task: Identify Available Descriptive Flexfield Parameters
Some descriptive flexfields provide parameters, which enable you to set the initial value of an attribute from external reference data, such as a column value or a session variable. For example, if a flexfield has a user email parameter, then you would be able to configure the initial value for a customer email attribute to be derived from the parameter. You can view the Derivation Value dropdown list in the Create Segment window for the flexfield to see what parameters are available for a descriptive flexfield. If you decide to use one of the parameters to set an initial value, then you would select that parameter from the dropdown list when you add the attribute during the flexfield configuration process described in Section 4.5.1, "Configuring Descriptive Flexfields."
Task: List Custom Attributes
List all the custom attributes that you want to add. Later, as described in Task: Define Attribute Properties, you define the attribute details.
Task: Plan the Descriptive Flexfield Structure
When you configure the flexfield, you will use the flexfield's global, context, and context-sensitive segments to structure your custom attributes. For the custom attributes that you want to store for every instance of the business object, you will add them as global segments. For example, in Figure 4-9, the Offsite attribute is a global attribute that is stored for every job
For the custom attributes that you want to store based on a context (a condition or situation), define the context and list the valid values for the context. For example, you might want to use the Job Attributes descriptive flexfield on the Manage Jobs page to display different custom attributes depending on whether the job is for a service technician, an engineer, or a driver, as shown in Figure 4-9. You would define the context as Job Type, and you would list Service Technician, Engineer, and Driver as the list of valid values for the Job Type context. Next, list the custom attributes that you want to store for each of the valid values. For example, you might store the service type custom attribute for a service technician job and you might store the commercial driver's license (CDL) class for a driver job. Later, when you configure the flexfield, you would set the prompt for the context segment to Job Type, you would create the Service Technician, Engineer, and Driver context values, and you would define the context-sensitive segments for each of the three context values. For example, you would create a service type context-sensitive segment for the Service Technician context value and you would create a commercial driver's license (CDL) class context-sensitive segment for the Driver context value.
There is only one context segment available for descriptive flexfields. If you have more than one group of custom attributes where you could use the context segment, you will have to pick one group over the others, based on your company's needs and priorities, and add the other custom attributes as global segments.
The following list shows an example of a structural plan for the Job Attributes descriptive flexfield:
Global segments
Offsite: YES or NO
Context segment
Prompt: Job Type
Value set: JOB_TYPE
Context values:
Service Technician
Engineer
Driver
Context-sensitive segments for Service Technician
Service type: such as appliance, heating, ventilation, and air conditioning (HVAC), facilities maintenance, and vehicle maintenance
Context-sensitive segments for Engineer
Regulations: such as building codes and Occupational Safety and Health Administration (OSHA) regulations
Context-sensitive segments for Driver
Commercial driver's license (CDL) class: such as A and B
Task: Define Attribute Properties
For each custom attribute that you want to add, define the attribute properties that are listed in Table 4-1.
Table 4-1 Attribute Properties
Property | Description |
---|---|
Sequence |
The order the attribute appears in relation to the other configured attributes. |
Enabled |
Whether the attribute can be used. |
Data type |
Character, date, date and time, or number. |
Range type |
If the attribute is part of a range specification, whether the attribute is the low value or the high value. For example, if adding minimum height and maximum height attributes, then the minimum height attribute has a range type of low. |
Required |
Whether the end user is required to provide a value. |
Initial value |
The initial default value for an attribute when the row is created. You can specify a constant value for both descriptive flexfields and extensible flexfields. You can specify a SQL statement for extensible flexfields, and for descriptive flexfields, you can specify a flexfield parameter. For more information, see Task: Define Initial Values for Descriptive Flexfield Custom Attributes and Task: Define Initial Values for Extensible Flexfield Custom Attributes. |
Derivation value |
The flexfield parameter from which to derive the attribute's value. Whenever the parameter value changes, the attribute's value is changed to match. If you derive an attribute value from a descriptive flexfield parameter, then consider making the attribute read-only, because user-entered values are lost whenever the parameter value changes. |
Prompt |
The string to be used for the attribute's label in the user interface. |
Display type |
The type of field in which to display the attribute. The available display types are described in Table 4-2. |
Checked and unchecked values |
If the display type is chooser (checkbox), the actual values to save. For example, Y and N or 0 and 1. |
Display size |
The character width of the field. |
Display height |
The height of the field. |
Read only |
Whether the field should display as read-only (noneditable) text. |
Table 4-2 describes the display types that you can use for a segment.
Table 4-2 Display Types
Display Type | Description | |
---|---|---|
Checkbox |
The field is displayed as a checkbox. If the end user selects the checkbox, the checked value is used. Otherwise, the unchecked value is used. |
|
Drop-down List |
The field displays a dropdown list of values from which the end user can select a value. |
|
List of Values |
The field displays a dropdown list of values from which the end user can select a value. The user can also click Search to find more values. |
|
Pop-up List of Values |
The field displays as a text field with a Search icon. The end users can type a value in the text field or they can click the Search icon to open a dialog for searching. |
|
Radio Button Group |
The field is displayed as a set of radio buttons. The end user can select one button. Selecting a button deselects any previously selected button in the set. |
|
Text Area |
The field is displayed as a text area in which the end user can type multiple lines of text. The display width specifies the visible width of the text area. The display height specifies the visible number of lines in the text area. |
|
Text Box |
The field is displayed as a text field in which the end user can type a single line of text. The display width controls the width of the text box. |
|
Date/Time |
The field enables the end user to enter a date if the data type is Date, or a date and time if the data type is Date Time. The user can select the date from a calendar. If the data type is Date Time, the field also displays fields for specifying the hour, minutes, seconds, AM or PM, and time zone. |
|
Hidden |
The field is not displayed. |
Task: Define Validation Rules for Descriptive Flexfield Custom Attributes
Define the validation rules for the custom attributes. For example, one attribute might need to match a specified format, while another attribute might be restricted to a list of values. You use a value set to specify the validation rules for an attribute, as described in Section 4.4, "Creating Custom Value Sets." Define each attribute's validation rules and check if value sets exist for those rules or you must create new ones. If you must create a value set, you can either create it before you configure the flexfield or you can create it at the same time that you create or edit a segment.
Note:
If you use the Quick Create dialogs to configure the flexfield, the value sets are created automatically. You cannot use existing value sets.
Note that validation for a descriptive flexfield context attribute is somewhat different from validation of global and context-sensitive attributes. While value sets are required for global and context-sensitive attributes, a value set is optional for descriptive flexfield context attributes. If a value set is not defined for a context attribute, then the application validates an input value against the context attribute's values. For example, if you created YES and NO context-attribute values, then you do not need an associated value set if YES and NO are the only valid values. However, if the list of valid values for a context is a superset of the context attribute's values, then a value set is required. For example, suppose that you need custom context-sensitive attributes for a YES value, but you do not need any custom attributes for a NO value. You need to add only a YES context attribute value. Because you do not have a NO context value, the context attribute requires a value set of YES and NO, as both values are valid. A value set is also required when the valid values are a subset of the context values. For example, you might have contexts for several countries, but the list of values from which the end user selects the context value might be confined to the countries in the user's region.
You can use only a table value set or an independent value set to validate context values. If you use a table value set, then you cannot reference other flexfield segments in the value set's WHERE
clause. That is, the WHERE
clause cannot reference SEGMENT
.segment_code or VALUESET
.value_set_code. For information about table and independent value sets, see Section 4.4, "Creating Custom Value Sets."
When determining an attribute's validation rules, consider the following questions:
What is the data type — character, date, date and time, or number?
Does the attribute require any validation beyond data type and maximum length?
If the data type is character, should the value be restricted to digits, or are alphabetic characters allowed? If a number, should the value be zero-filled?
If alphabetic characters are allowed, should they automatically be changed to uppercase?
For numeric values, how many digits can follow the radix separator (in base ten numerical systems, the radix separator is often referred to as the decimal point)?
Do you want to provide a list of values from which to select a valid value for the attribute? If so, consider the following questions:
Can you use an existing application table from which to obtain the list of valid values, or do you need to create a custom list?
If you are using an existing table, do you need to limit the list of values using a WHERE
clause?
Does the list of valid values depend on the value in another flexfield attribute?
Is the list of valid values a subset of another flexfield attribute's list of values?
Does the value need to fall within a range?
Task: Define Initial Values for Descriptive Flexfield Custom Attributes
When you configure a flexfield segment for a descriptive flexfield attribute, you can specify a constant to use for setting the initial value. If, in Task: Identify Available Descriptive Flexfield Parameters you identified available parameters, you can use those parameters to set initial values. For every custom attribute, list the constant value or parameter, if any, to use for the initial value.
Task: Plan Attribute Mapping to Oracle Business Intelligence Objects
If a descriptive flexfield has been enabled for Oracle Business Intelligence, then you can use segment labels to map attributes to logical objects. By mapping the attributes to logical objects before you deploy the flexfield, you minimize the steps for importing the flexfield into Oracle Business Intelligence. This mapping also equalizes similar context-sensitive attributes that are from different contexts but are mapped to a single logical object, as described in Task: Incorporate Custom Attributes into Oracle Business Intelligence in Section 4.8, "Integrating Custom Attributes." For information about objects in the logical model, see the "Working with Logical Tables, Joins, and Columns" chapter in the Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition (Oracle Fusion Applications Edition).
Use the Manage Segment Labels page to view the preconfigured segment labels and to create new ones, as described in Task: Create Segment Labels in Section 4.5.1, "Configuring Descriptive Flexfields."
For each attribute that you want to make accessible to Oracle Business Intelligence, decide whether you want to map the attribute to a logical object. If a segment label does not exist for the logical object, then decide on a code, name, and description in preparation for adding that label. Choose a code, name, and description that will help end users select the correct label for any attribute that should be mapped to a logical object.
Note:
You are not required to map attributes to logical objects, but doing so minimizes the steps for importing the flexfield into Oracle Business Intelligence and helps to equalize context-sensitive segments across contexts, as described in Task: Incorporate Custom Attributes into Oracle Business Intelligence in Section 4.8, "Integrating Custom Attributes."
If you are configuring an extensible flexfield, complete the following tasks:
Identify the extensible flexfield's category hierarchy structure.
Identify existing context values.
List custom attributes.
Plan categories.
Plan the extensible flexfield structure.
Define attribute properties.
Define validation rules.
Define initial values.
Plan extensible flexfield security.
Task: Identify the Extensible Flexfield's Category Hierarchy Structure
Most extensible flexfields are shipped with only one category, which is often referred to as the root category, but there are a few extensible flexfields that are preconfigured with category hierarchies. In addition, some Oracle Fusion applications provide user interfaces to create and manage an extensible flexfield's category hierarchy, as described in the product-specific documentation in the Oracle Fusion Applications Help. If a category hierarchy exists for the flexfield, then you can take advantage of the hierarchy to reuse contexts for similar entities, such as similar items in a product catalog.
The Item Extended Attributes flexfield shown in Figure 4-11 is an example of a flexfield that uses the category hierarchy feature to reuse contexts. The flexfield's Electronics and Computers category has been customized to contain contexts for compliance and certification, voltage, and materials and substances, as shown in Figure 4-10. The TV and Video subcategory and the Computer Products subcategory inherit the Electronics and Computer contexts in addition to having their own contexts.
Contexts are reusable within a given extensible flexfield. For example, in Figure 4-10 the Materials and Substances context belongs to both the Electronics and Computer Products category and the Tools, Auto, and Industrial Products category.
If you were adding custom attributes to the Item Extended Attributes flexfield, then you would plan how to work them into the existing category hierarchy.
You can use the category hierarchy feature in your flexfield plan, as described in Task: Plan Extensible Flexfield Categories, only if a category hierarchy exists for the flexfield. For example, Figure 4-11 shows the Category region for the Item Extended Attributes flexfield.
To view whether a category hierarchy exists for an extensible flexfield, complete one of the following steps:
Choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the Manage Extensible Flexfields task. Next, search for and edit the flexfield to see its categories.
Access the page that contains the flexfield, choose Highlight Flexfields from the Administration menu, click the Configure Flexfield (wrench) icon for the highlighted flexfield, and view the list of categories.
Task: Identify Existing Context Values
Some extensible flexfields have preconfigured context values. To identify an extensible flexfield's existing context values, display the user interface page or pages that contain the flexfield segments and look for region headers, which identify existing contexts. For example, the first region in Figure 4-3 contains the attributes that belong to the Recovery and Recycling context value.
You can also use the Manage Extensible Flexfields task to view the list of configured context values.
If context values have been preconfigured, then consult the product-specific documentation in Oracle Fusion Applications Help for information about the use of these contexts.
Task: List Custom Attributes
List all the custom attributes that you want to add using the extensible flexfield. Later, as described in Task: Define Attribute Properties, you define the attribute details.
Task: Plan Extensible Flexfield Categories
All extensible flexfields have at least one category, but some flexfields have been set up with a hierarchy of categories, as described in Task: Identify the Extensible Flexfield's Category Hierarchy Structure.
How you structure the flexfield configuration depends upon the way in which categories are defined for the flexfield. Most extensible flexfields are preconfigured with one category, and you associate all your contexts and pages with that category. Other extensible flexfields are preconfigured with several categories and you associate your contexts and pages with those categories as instructed by the product-specific documentation in Oracle Fusion Applications Help. A small number of extensible flexfields enable you to configure multiple categories by using provided user interfaces. In these cases, you can take advantage of the inheritance feature described in Task: Identify the Extensible Flexfield's Category Hierarchy Structure to associate a context with more than one category. For example, the Item Extended Attributes flexfield might be set up with the following category hierarchy:
Electronics and Computers
TV and Video
Computers
Suppose you want to store voltage information for all electronic and computer items. If you associate a Voltage context with the Electronics and Computers category, then both the TV and Video subcategory and the Computers subcategory inherit the Voltage context from the parent Electronics and Computers category. Figure 4-12 shows the contexts that have been associated with a Computers subcategory. Three of the contexts are inherited from the parent category.
Task: Plan the Extensible Flexfield Structure
Extensible flexfields enable you to group similar custom attributes into contexts, as illustrated in Figure 4-2. A context's attributes are displayed together in a region, and the region's header is the context value. For example, the Item Extended Attributes flexfield might have the following contexts:
Materials and Substances
Compliance and Certification
Voltage
However, for the Position EIT Information flexfield, you might group your custom attributes into the following contexts:
Educational Requirements
Certification and License Requirements
Travel Requirements
To begin the planning process, group the custom attributes into contexts and determine the order in which the attributes should appear.
A context can optionally store multiple rows of data for a single entity, such as a specific job or position. For example, with the Certification and License Requirements context for the Position EIT Information flexfield, you might want to store values for all the certificates and licenses that are required to perform each position. For contexts that store multiple rows, decide how to uniquely identify each row. That is, identify which attributes form a unique key. For example, you might decide that the combination of certificate type and certificate name uniquely identifies a given row for the Certification and License Requirements context.
Next, for each category (or for the single category if the flexfield was not set up with multiple categories), group the category's contexts into logical pages and determine the sequence in which the logical pages should appear.
Note:
For hierarchical categories, the child categories inherit the logical pages that are defined for the parent categories.
The following list shows an example plan for custom computer attributes for the Item Extended Attributes flexfield. In this example, the Electronics Information page is inherited from the parent Electronics and Computers category.
Page: Electronics Information
Context: Compliance and Certification, single row
ISO 14001 (International Organization for Standardization for an Environmental Management System)
ENERGY STAR (energy efficiency guidelines)
ROHS (Restriction of the use of certain hazardous substances in electrical and electronic equipment)
Context: Voltage, single row
Minimum voltage
Maximum voltage
Current type
Context: Materials and Substances, multiple rows
Material
Contain recyclate
Percent unit mass
Page: Computer Information
Context: Processor Specifications, single row
Manufacturer
CPU type
Processor interface
Processor class
Processor speed
Cores
The following list shows a sample plan for the Position EIT Information flexfield:
Page: Additional Position Information
Context: Educational Requirements, single row
Level (high school, bachelor, master, MD, Ph.D.)
Context: Certification and License Requirements, multiple rows
Type (certificate or license)
Name (for example, Automotive Service Excellence, NACE International Level II Coating Inspector, Cathodic Protection Specialist)
Context: Travel Requirements, single row
Overnight travel required
International travel required
Task: Define Attribute Properties
For each custom attribute that you want to add, define the attribute properties that are listed in Table 4-1.
Also define the indexed property for each attribute. This indicates whether the attribute should be marked as selectively required in search panels. That is, whether it is one of the attributes for which an end user must enter a value before conducting a search. Note that if you mark an attribute as indexed, you must ask your database administrator to create an index on the segment column that you configure for that custom attribute as described in Section 4.5.2, "Configuring Extensible Flexfields."
Task: Define Validation Rules for Extensible Flexfield Custom Attributes
Define the validation rules for every attribute as described in Task: Define Validation Rules for Descriptive Flexfield Custom Attributes in Section 4.3.1, "Planning Descriptive Flexfields."
Task: Define Initial Values for Extensible Flexfield Custom Attributes
When you configure a flexfield segment for an extensible flexfield attribute, you can specify a constant or a SQL statement to use for setting the initial value. For every custom attribute, list the constant value or SQL statement, if any, to use for the initial value.
If you use an SQL statement, it must be a valid statement that returns only one row and that returns a value of the correct type. You can use two types of SQL statements:
SQL statement with no binding. For example, select MIN(SALARY) from EMPLOYEES.
SQL statement with bind variables. You can use the following bind variables in the WHERE
clause of the SQL statement.
:{SEGMENT.
segment_code
}
: Identifies a segment in the same context.
:{CONTEXT.
context_code
;SEGMENT.
segment_code
}
: Identifies a segment in a different context. The context must be in the same category or in an ancestor category, and it cannot be a multiple-row context.
:{VALUESET.
value_set_code
}
: Identifies the closest prior segment in the same context that is assigned to the specified value set.
:{FLEXFIELD.
internal_code
}
: Identifies a flexfield.
For information about how to use these bind variables, see Task: Create a Table Value Set in Section 4.4, "Creating Custom Value Sets."
Task: Plan Extensible Flexfield Security
Extensible flexfields enable you to specify view and edit privileges for a context's attributes. If an end user has a view privilege for a context, then the context's task flow and region appear in the user interface. Edit privileges enable an end user to edit the context's attribute values. If a user has view privileges but does not have edit privileges, then the context's attribute values are displayed, but the user cannot modify the values or add new rows. For example, you can set the privileges such that everyone can view the attributes but only managers can make changes.
When an end user performs a search, the user interface displays only the attribute values of the contexts for which the user has view privileges. The user is able to perform a search using all attributes for all contexts, regardless of view privileges.
If end users access a context through a web service, an exception is thrown if they perform an action for which they do not have privileges.
Some data security resources for extensible flexfields are preconfigured with actions that you can use to specify access privileges. If not, or if you need additional actions, then create the actions as described in the "Managing Oracle Fusion Applications Data Security Policies" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition). You must create a policy to grant an action to a job role. You can optionally create a condition (rule) to filter the instance sets to which the action is granted.
All extensible flexfields have a base data security resource, which typically has a name with an _B suffix. Some extensible flexfields have a translatable option; these flexfields also have a translation data security resource. The translation data security resource, which is a view of a translation table, typically has a name with an _VL suffix. If a flexfield supports the translatable option and has a translation data security resource, you must ensure that you create the action for the appropriate data security resource. If you create a context-specific action for a nontranslatable context, add it to the base data security resource. If you create a context-specific action for a translatable context, add it to the translation data security resource. For information about the translatable option, see Task: Configure the Context in Section 4.5.2, "Configuring Extensible Flexfields."
Tip:
As shown in Table 4-3, the name of the base data security resource matches the name of the extensible flexfield's base extension table, which typically has an _B suffix. The name of the translation data security resource matches the name of the translation extension table, but with an _VL suffix instead of the table's _TL suffix. To find the names of the extension tables, view the flexfield in the Search Results region in the Manage Extensible Flexfields task and click the Show Entity Usages icon in the Entity Usages column. For example, the entity usages displayed for the ITEM_EFF flexfield would include ITEM_EFF_B, and ITEM_EFF_TL. Therefore, you would create actions for the ITEM_EFF_B and ITEM_EFF_VL data security resources.
If your security restrictions apply to several contexts, you can create generic actions. At a minimum, create the generic actions for the base data security resource. If the flexfield has a translatable option and you plan to use translatable contexts, then also create the generic actions for the translation data security resource. For example, if the Item flexfield supports the translatable option and has a data security resource ITEM_EFF_VL in addition to the base data security resource ITEM_EFF_B, then create actions for both data security resources, such as EDIT_NONTRANS_ATTRS for ITEM_EFF_B and EDIT_TRANS_ATTRS for ITEM_EFF_VL.
If your security restrictions are more fine-grained, for example, if you would like to secure each context with a different privilege, then you can create more fine-grained actions.
Table 4-4 shows an example of data security policies for the Item flexfield and Table 4-5 shows the privileges for three of the flexfield's contexts. In this example, anyone can view the contexts' attributes, but the edit privileges are restricted as follows:
Voltage: Editable only by voltage specialists.
Compliance and Certification: Editable only by compliance specialists.
Materials and Substances: Only computer specialists can edit these attributes for items in the computer category. Only television specialists can edit these attributes for items in the TV category.
In this example, Materials and Substances is secured by a generic action with a condition applied to restrict access by category. Voltage and Compliance and Certification are secured by actions specific to each context.
Table 4-3 Data Security Resources for the Item Flexfield
Extension Table | Data Security Resource |
---|---|
ITEM_EFF_B |
ITEM_EFF_B |
ITEM_EFF_TL |
ITEM_EFF_VL (defined for the view of the extension table) |
Table 4-4 Example Security Policies for the Item Flexfield
Data Security Resource | Policy | Role | Actions | Condition |
---|---|---|---|---|
ITEM_EFF_B |
A |
VOLTAGE_SPEC |
edit_nontrans_voltage_ctx |
All values |
ITEM_EFF_VL |
B |
COMPLIANCE_SPEC |
edit_trans_compliance_ctx |
All values |
ITEM_EFF_VL |
C |
COMPUTER_SPEC |
edit_trans_attrs |
ComputerCategoryFilter |
ITEM_EFF_VL |
D |
TELEVISION_SPEC |
edit_trans_attrs |
TVCategoryFilter |
Table 4-5 Example Context Privileges for the Item Flexfield
Context | Edit Privilege | View Privilege |
---|---|---|
Voltage |
edit_nontrans_voltage_ctx |
NONE |
Compliance and Certification |
edit_trans_compliance_ctx |
NONE |
Materials and Substances |
edit_trans_attrs |
NONE |
When you configure a flexfield, you set the privileges for a context at the usage level by selecting actions from the View Privileges and Edit Privileges dropdown lists as described in Task: Configure Context Usages and Usage Security in Section 4.5.2, "Configuring Extensible Flexfields." By selecting an action from the View Privileges dropdown list, you are associating that action with the view operation. Selecting an action from the Edit Privileges dropdown list associates that action with the edit operation.
Note:
An extensible flexfield context can be associated with one or more flexfield usages. For example, a flexfield might be associated with an ITEM usage, an ITEM_REVISION usage, and an ITEM_SUPPLIER usage. Consult the product-specific documentation to understand the purpose of each usage.
You use the following types of value sets to control the values that can be stored for the custom attributes:
Table
Independent
Dependent
Subset
Format only
A value set is a predefined group of values that you can use to validate custom attributes. Different custom attributes in the same flexfield can use the same value set, and custom attributes in different flexfields can share value sets.
Value sets enable you to enforce the following types of data validation:
List of values: You can use one of the following types of lists to specify the valid values for an attribute:
Table column: If the valid values exist in a table column, use a table value set to specify the list of values. To limit the valid values to a subset of the values in the table, use a SQL WHERE
clause. Table value sets also provide some advanced features, such as enabling validation to depend upon custom attributes in the same structure.
Custom list: Use an independent value set to specify a custom set of valid values. For example, you can use an independent value set of Mon, Tue, Wed, and so forth to validate the day of the week.
Dependent custom list: Use a dependent value set when the available values in the list and the meaning of a given value depend on which independent value was selected for a prior custom attribute. For example, the valid holidays depend on which country you are in. A dependent value set is a collection of value subsets, with one subset for each value in a corresponding independent value set.
You can further limit the valid values that an end user can select or enter by specifying format, minimum value, and maximum value.
Subset: Use a subset value set when you want to use a subset of values from an existing independent value set. For example, if you have an independent value set for the days of the week, then a weekend subset can be composed of entries for Saturday and Sunday.
Format: Use a format-only value set when you want to allow end users to enter any value so long as that value conforms to formatting rules. For example, if you specify a maximum length of 3 and numeric-only, then end users can enter 456, but not 4567 nor 45A. You can also specify the minimum and maximum values, whether to right-justify, and whether to zero-fill. With a format-only value set, no other types of validation are applied.
Range of values: You can use either a format-only, independent, or dependent value set to specify a range of values. For example, you might create a format-only value set with format type of Number where the end user can enter only the values between 0 and 100. Or, you might create a format-only value set with format type of Date where the end user can enter only dates for a specific year (a range of 01–JAN–93 to 31–DEC–93, for example). Because the minimum and maximum values enforce these limits, you need not define a value set that contains each of these individual numbers or dates.
Note:
You can use only table and independent value sets to validate context values. The data type must be character and the maximum length of the values being stored must not be larger than the context's column length. If you use a table value set, the value set cannot reference flexfield segments in the value set's WHERE
clause other than the flexfield segment to which the value set is assigned. You learn about assigning value sets to flexfield segments in Section 4.5, "Configuring Flexfields."
If you are creating an independent, dependent, or subset value set, you must also define the set of valid values. For table, independent, dependent, and subset value sets, you can optionally implement value set data security. If the Oracle Fusion applications are running in different locales, you might need to provide different translations for the values and descriptions. For more information, see the "Translating Flexfield and Value Set Configurations" section in the Oracle Fusion Applications Extensibility Guide for Developers.
For independent, dependent, and subset value sets, if you need to capture additional information about each valid value, such as its purpose, you can configure the value set to add additional attributes, as described in Task: Add Attributes to a Value Set.
Use the Manage Value Sets task as shown in Figure 4-13 to create and manage value sets.
For more information, see the "Manage Value Sets" section in the Oracle Fusion Applications Common Implementation Guide. In Section 4.5, "Configuring Flexfields" you learn how to assign the value sets to the flexfield segments that you preconfigure for your custom attributes as well as how to create value sets at the same time that you create segments for the custom attributes.
Note:
If you use the Quick Create dialogs to configure a flexfield, a value set is created automatically. If the display type is a checkbox, radio button group, dropdown list, list of values, or pop-up list of values, an independent value set is created and you specify its values and descriptions (the set of valid values) using the Quick Create UI. If the display type is text field, multi-line text area, or date picker, a format-only value set is created and you specify the format rules, such as length, minimum value, and maximum value, using the Quick Create UI.
Note:
The management of value sets cannot be performed in a sandbox. For a list of the customizations that can be performed in a sandbox, see Chapter 2, "Using the Sandbox Manager."
When you change an existing value set, the deployment status for all affected flexfields changes to Edited. You must redeploy all flexfields that use that value set to make the flexfields reflect the changes. The Usages tabs show which flexfields are affected by the value set changes. You learn about deploying flexfields in Section 4.7, "Deploying Flexfield Configurations."
Before you begin:
You will need to do the following before you can begin creating custom value sets:
Ensure that you have specific privileges to access the Manage Value Sets task. Contact your security administrator for details.
Access the Manage Value Sets task by completing one of the following steps:
Choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the task.
In the Manage Descriptive Flexfield task or the Manage Extensible Flexfield task, click Create Value Set from either the Edit Segment or Create Segment window.
Task: Define Format Specifications
Regardless of which type of validation you use for an attribute, the attribute will most likely require some sort of format specification. Before you create a value set, consider how you will specify the required format. Depending on the validation type and the value data type, you will be able to specify one or more of the options shown in Table 4-6.
Table 4-6 Format Options
Option | Description |
---|---|
Value data type |
Character, Number, Date, Date Time. |
Value subtype |
Text, Translated text, Numeric digits only, Time (20:08), Time (20:08:08). An additional data type specification for the Character data type for the Dependent, Independent, and Format validation types. See the Caution note following this table for information about the Text and Translated text subtypes. |
Maximum length |
Maximum number of characters or digits for Character data type. |
Precision |
Maximum number of digits the user can enter. |
Scale |
Maximum number of digits that can follow the decimal point. |
Uppercase only |
Lowercase characters automatically changed to uppercase. |
Zero fill |
Automatic right-justification and zero-filling of entered numbers (affects values that include only the digits 0-9). |
Caution:
When choosing between a value subtype of Text or Translated text, choose Translated text if your application has more than one language installed, or there is any possibility that you might install additional languages, and you might want to translate the displayed values into the other languages. Choosing the Translated text subtype does not require you to provide translated values now, but you cannot change this option if you decide to provide them later.
Task: Create a Format-Only Value Set
If you do not need to validate input against a list of valid values, then create a value set with the Validation Type of Format. You can also use this validation type to create a range specification, such as all numbers between 1 and 100.
Task: Create an Independent Value Set
If you need to validate the input against a custom list of values, where the list is not stored in an application table and the values are not dependent upon nor a subset of another independent value set, then create a value set with a Validation Type of Independent.
After you create the value set, define the set of valid values as described in Task: Define the Set of Valid Values.
Note:
If the independent value set has dependent value sets, then define the dependent values sets before you define the valid values for the independent value set.
Task: Create a Dependent or Subset Value Set
If you need to validate the input against a custom list of values where the values are dependent upon or are members of an independent value set, then create a value set with a Validation Type of Dependent or Subset, as appropriate. You must specify the independent value set on which dependent or subset value set depends.
After you create the value set, define the set of valid values as described in Task: Define the Set of Valid Values.
Note:
If the independent value set has dependent value sets, then define the dependent values sets before you define the valid values for the independent value set.
Task: Define the Set of Valid Values
Independent, dependent, and subset value sets require a customized list of valid values. Use the Manage Values page as shown in Figure 4-14 to create and manage a value set's valid values and the order in which they appear. To access the Manage Values page, select the value set from the Manage Value Sets page and click Manage Values. Alternatively, click Manage Values from the Edit Value Set page.
If you are adding a value to a dependent value set, then you must associate it with a value from the parent independent value set.
If you are adding a value to a subset value set, then you must select it from the parent independent set.
If the value set's subtype is Translated text, then you can enter a translated value for a locale by logging in using that locale (or choosing Set Preferences from the Personalization menu in the global area) and entering the translated value. If you do not provide a translation for a given locale, then the value that was first entered is used for that locale.
Task: Create a Table Value Set
If you need to validate the input against a list of values from an application table, then create a value set with the Table validation type. You define which table you want to use and you specify the column that contains the valid value. You can optionally specify the description and ID columns, a WHERE
clause to limit the values to use for your set, and an ORDER BY
clause.
If you specify an ID column, then the flexfield saves the ID value, instead of the value from the value column, in the associated flexfield segment. You learn about assigning value sets to flexfield segments in Section 4.5, "Configuring Flexfields."
If the underlying table supports translations, you can enable the display of translated text by basing the value set's value column on a translated attribute of the underlying table. You should also define an ID column that is based on an attribute that is not language-dependent so that the value's invariant ID (an ID that does not change) is saved in the transaction table. This allows the runtime to display the corresponding translated text from the value column for the runtime session's locale. For more information, see the "Using Multi-Language Support Features" section in the Oracle Fusion Applications Developer's Guide.
After you assign a value set to a flexfield, you can use the following bind variables in the WHERE
clause.
:{SEGMENT.
segment_code
}
This bind variable refers to the ID (if the value set is ID-validated) or value (if not ID-validated) of a segment where segment_code
identifies the segment. The data type of the bind value is the same as the data type of the segment's column.
For descriptive flexfields, if the segment is global, then the source segment (the segment with the WHERE clause) must be global. Otherwise, it must be in the same context as the source segment. For extensible flexfields, the segment must be in the same context as the source segment.
The source segment must have a sequence number that is less than the sequence number of the target segment (segment with this bind variable).
This bind variable is useful when the set of valid values depends on the value in another segment. For example, the values to select from a CITIES table might depend upon the selected country. If SEGMENT1 contains the country value, then the WHERE
clause for the CITIES table might be country_code = :{SEGMENT.SEGMENT1}
.
:{CONTEXT.
context_code
;SEGMENT.
segment_code
}
This bind variable, which is valid only for extensible flexfields, refers to the ID (if the value set is ID-validated) or value (if not ID-validated) of a segment that is in a different context than the target segment (the segment with the WHERE
clause). The context_code
identifies the context and segment_code
identifies the segment. The data type of the bind value is the same as the data type of the segment's column.
The source context must be a single-row context that is in the same category or ancestor category as the target segment.
Tip:
The target segment should appear in the UI after the source segment to ensure the source segment has a value. If the target segment's context is a single-row context, the source and target segments must be on separate pages and the target page must follow the source page.
This bind variable is useful when the set of valid values depends on the value of a segment in another context. For example, the values to select from a CERTIFICATION table for a segment in the Compliance and Certification context might depend on the value of the country segment in the Manufacturing context.
:{VALUESET.
value_set_code
}
This bind variable refers to the ID (if the value set is ID-validated) or value (if not ID-validated) of the segment that is assigned to the value set that is identified by the value_set_code
. The data type of the bind value is the same as the data type of the segment's column.
The segment must have a sequence number that is less than the sequence number of the segment with this bind variable. If more than one segment is assigned to the value set, the closest prior matching segment will be used to resolve the bind expression. A matching segment must exist in the current flexfield context.
This bind variable is useful when the set of valid values depends on the value in another segment and that segment code can vary, such as when the value set is used for more than one context or flexfield. For example, the values to select from a CITIES table might depend upon the selected country. If the value set for the segment that contains the country value is COUNTRIES, then the WHERE
clause for the CITIES table might be country_code = :{VALUESET.COUNTRIES}
.
:{FLEXFIELD.
internal_code
}
This bind variable refers to an internal code of the flexfield in which the value set is used, or to a validation date. The internal_code
must be one of the following:
APPLICATION_ID
— the application ID of the flexfield in which this value set is used. The data type of APPLICATION_ID
and its resulting bind value is NUMBER.
DESCRIPTIVE_FLEXFIELD_CODE
— the identifying code of the flexfield in which this value set is used. The data type of DESCRIPTIVE_FLEXFIELD_CODE
and its resulting bind value is VARCHAR2. Note that you use this string for both descriptive and extensible flexfields.
CONTEXT_CODE
— the context code of the flexfield context in which this value set is used. The data type of CONTEXT_CODE
and its resulting bind value is VARCHAR2.
SEGMENT_CODE
— the identifying code of the flexfield segment in which this value set is used. The data type of SEGMENT_CODE
and its resulting bind value is VARCHAR2.
VALIDATION_DATE
— the current database date. The data type of VALIDATION_DATE
and its resulting bind value is DATE.
:{PARAMETER.
parameter_code
}
This bind variable refers to the value of a flexfield parameter where parameter_code
identifies the parameter. The data type of the resulting bind value is the same as the parameter's data type.
Note:
You cannot assign a table value set to a context segment if the WHERE
clause uses VALUESET
.value_set_code or SEGMENT
.segment_code bind variables.
Task: Add Attributes to a Value Set
For independent, dependent, and subset value sets, you can use the FND_VS_VALUES_B descriptive flexfield to add the attributes to a value set. The additional attributes appear in the Manage Value Sets UI, and can be used to capture additional information about each valid value, such as its purpose. These attributes are typically used to capture internal information. If you need to display the attributes on an application page, you must modify the application to programmatically access them.
To add attributes to a value set, edit the FND_VS_VALUES_B flexfield from the Manage Descriptive Flexfields task, and then click Manage Contexts. Create a new context and use the value set code for the context code. Add the desired attributes as context-sensitive segments. Next, deploy the FND_VS_VALUES_B flexfield, sign out, and then sign back in to see the new attributes for that value set in the Manage Value Sets UI.
Task: Implement Value Set Data Security
If you need to control end user access to the values in an independent, dependent, subset, or table value set, then you can create data security policies for that value set. These policies enable you to specify what values each end user can enter and view, based on that user's role. End users will not be able to enter values for which they do not have access, and only the values they have access to appear in the list of values for the associated segments. Any security rules that you define for a value set affect every segment that uses the value set.
A data security resource identifies the data that must be secured by the policies, which in this case is the value set. Value set data security follows a "deny all, allow some" approach. This means that access to all of a resource's data is denied by default and, based on policies, end users have access only to the data that is appropriate for their role. Use conditions to define the data that can be accessed and use policies to identify the roles that have the authority to access the data that is identified by the condition.
You can implement value set security after you create the value set, or you can implement it later by editing the value set. To implement security, select the Security Enabled checkbox and then provide the data security resource name. You can enter the name of an existing resource or type the name of a data security resource that you want to create. This will be the name used for the data security resource in the data security system. The name typically matches the code value for the value set.
Note:
You cannot edit the data security resource name after you save your changes.
After you save your changes to the data security resource name, you can optionally click the Edit Data Security button to access the Edit Data Security page, provided that you have access to the Manage Database Security Policies task. On the Edit Data Security page, you can specify conditions, such as filters or SQL predicates, and you can define policies where you associate roles with conditions. You can use a filter for simple conditions. For more complex conditions, use a SQL predicate.
The data security conditions and policies that you define are similar to those that you can define for business objects. Value set data security policies differ in the following ways:
You can grant only read access to end users.You cannot specify any other action.
When defining a condition that is based on a SQL predicate, use VALUE
, VALUE_NUMBER
, VALUE_DATE
, VALUE_TIMESTAMP
, or VALUE_ID
to reference the value from a dependent, independent, or subset value set. For table value sets, use a table alias to define the table, such as &TABLE_ALIAS.category_id=70
.
For more information about data security resources, roles, conditions, and policies, see the "Managing Oracle Fusion Applications Data Security Policies" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).
Use the Manage Extensible Flexfields task to configure an extensible flexfield. For descriptive flexfields, use either the Manage Descriptive Flexfields task or the Quick Create dialogs.
Note:
Do not use JDeveloper to customize flexfields. If you require flexfield changes that you cannot accomplish using the Manage Flexfields tasks or the Manage Value Sets tasks as described in this chapter, contact My Oracle Support at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
Use the Manage Descriptive Flexfields task or the Quick Create dialogs to configure a descriptive flexfield. Both the Manage Descriptive Flexfield task and the Quick Create dialogs are available from the Highlight Flexfields UI. The Manage Descriptive Flexfields task is also available from the Setup and Maintenance work area.
When you configure a descriptive flexfield, you define the global segments, the context segment, and the context-sensitive segments. For each segment, you define its display properties and you specify how to validate its values.
If the descriptive flexfield has been enabled for Oracle Business Intelligence, you can enable segments for Oracle Business Intelligence and you can select segment labels for the segments. For more information, see Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
Note:
A descriptive flexfield might be used for more than one application table. For example, a flexfield might be associated with a USER table and a USER_HISTORY table. These associations are called flexfield usages. When you configure a flexfield, the configuration applies to all its usages.
If the Oracle Fusion applications are running in different locales, then you might want to provide different translations for the translatable text, such as prompts and descriptions. To create the translations, log in with each of the different locales (or choose Set Preferences from the Personalization menu in the global area to set the locale) and change the text to the translated text for that locale. For more information, see the "Translating Flexfield and Value Set Configurations" section in the Oracle Fusion Applications Extensibility Guide for Developers.
For more information about using the Manage Descriptive Flexfields task, see the "Manage Descriptive Flexfields" section in the Oracle Fusion Applications Common Implementation Guide.
For basic configurations, you can use the three Quick Create dialogs — Create Context Value, Quick Create: Global Segment, and Quick Create: Context-Sensitive Segment — to quickly add and configure a context value or segment from the page on which the flexfield appears. Figure 4-15 shows the Quick Create: Global Segment dialog.You access the Quick Create dialogs from the Highlight Flexfields UI.
When you use a Quick Create dialog to create a segment, the segment code, name, description, table column, and sequence number are set automatically.
To change any default configuration that is editable, such as sequence number, name, and description, or to configure advanced options such a business-intelligence label, click the segment's Edit Descriptive Flexfield (wrench) icon in the Highlight Flexfields UI to access the Manage Descriptive Flexfields task for the segment.
Before you begin:
You will need to do the following before you can begin configuring the descriptive flexfield:
Plan your flexfield configuration as described in Section 4.3.1, "Planning Descriptive Flexfields."
Compile a list of the UI pages that are affected by the descriptive flexfield as well as other artifacts in the Oracle Fusion Middleware technology stack. See Section 4.8, "Integrating Custom Attributes" for more information about how flexfield configuration affects these artifacts. Using this list, plan how you will integrate and test your flexfield configuration
Ensure that you have the necessary privileges to access the Highlight Flexfields UI. Contact your security administrator for details.
Open the page that contains the flexfield and choose Highlight Flexfields from the Administration menu to identify the flexfield and to display the Add global segment, Add new context, and Add context-sensitive segment icons, as shown in Figure 4-16.
Note:
Some Oracle Fusion applications provide product-specific tasks for configuring and managing certain flexfields, such as the Manage Purchasing Descriptive Flexfields task. See the product-specific documentation in Oracle Fusion Applications Help for information about product-specific flexfield management tasks.
Task: Use the Quick Create Dialogs to Add Basic Segments
To add a context value, click the Add new context icon that appears next to the Context field. To add a global segment, click the Add global segment icon. Click the Add context-sensitive segment icon to add a context sensitive segment.
Tip:
After you add a context value, refresh the page to see the new value.
A value set is created automatically for a segment. The type of value set that is created depends upon the display component that you select.
Radio button group, checkbox, dropdown list, list of values, or pop-up list of values: An independent value set is created for the segment. You can enter the valid values, their descriptions, and the default value for the set.
Text field, multi-line text area, or date picker: A format-only value set is created for the segment. You can specify the formatting constraints, such as minimum and maximum values.
Click Save and Deploy to save your changes and to deploy the flexfield configuration.
Use the Manage Descriptive Flexfield task to edit the segments that you create using Quick Create dialogs.
Note:
You must log out and log in again to see your changes.
The Manage Descriptive Flexfields task enables you to define the global segments, the context segment, and the context-sensitive segments. For each segment, you can define its display properties, its initial default value, and how to validate its values. You can also use this task to business-intelligence enable the flexfield and to configure BI labels.
You can access the Manage Descriptive Flexfields task from either the Highlight Flexfields UI or from the Setup and Maintenance work area.
Figure 4-17 shows the Edit Descriptive Flexfield page, which you use to define the context, add segments, and manage contexts, and manage segment labels.
Before you begin:
You will need to do the following before you can begin configuring the descriptive flexfield:
Plan your flexfield configuration as described in Section 4.3.1, "Planning Descriptive Flexfields."
Optionally, create the required value sets as described in Section 4.4, "Creating Custom Value Sets." If you do not create the value sets before hand, you can create them at the time that you add the segments.
Compile a list of the UI pages that are affected by the descriptive flexfield as well as other artifacts in the Oracle Fusion Middleware technology stack. See Section 4.8, "Integrating Custom Attributes" for more information about how flexfield configuration affects these artifacts. Using this list, plan how you will integrate and test your flexfield configuration
Ensure that you have the necessary privileges to access the Manage Descriptive Flexfields task. Contact your security administrator for details.
Access the Manage Descriptive Flexfields task by completing one of the following steps:
Choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the Manage Descriptive Flexfields task.
Access the page that contains the flexfield, choose Highlight Flexfields from the Administration menu, and click the Edit Descriptive Flexfield (wrench) icon for the highlighted flexfield.
Note:
Some Oracle Fusion applications provide product-specific tasks for configuring and managing certain flexfields, such as the Manage Purchasing Descriptive Flexfields task. See the product-specific documentation in Oracle Fusion Applications Help for information about product-specific flexfield management tasks.
Task: Create Segment Labels
If the descriptive flexfield has been enabled for Oracle Business Intelligence and you want to create segment labels for the flexfield, click Manage Segment Labels to create the labels. For more information, see Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
Task: Configure Global Segments
Using the information that you gathered in your planning stage, configure a global segment for every global attribute that you identified in Task: Plan the Descriptive Flexfield Structure in Section 4.3.1, "Planning Descriptive Flexfields." For each segment, provide the identifying information, the initial default value, and the display properties.
Tip:
A flexfield column is assigned to a new segment automatically, but you can change the assignment. If you need to set a specific column assignment for a segment, create that segment first to ensure that the intended column is not automatically assigned to a different segment.
If the value set to be used to validate the segment already exists, select it from the dropdown list. Otherwise, click Create Value Set and configure it.
Select BI Enabled if you want to make the segment available to Oracle Business Intelligence. Select a label from the BI Label dropdown list if you want to equalize the segment with segments in other contexts or you want to map the segment to a logical object as described in Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
Note:
The segment code is used in the flexfield's element in the XML schema for web services. You can maximize the readability of the schema by naming segment codes with a leading alphabetic character followed by alphanumeric characters. The use of spaces, underscores, multibyte characters, and leading numeric characters, which are all encoded in XML schemas, make the codes in the schema element difficult to read.
Tip:
When you create segments for your attributes, you specify the sequence number for the segment. This sequence affects the order in which the attribute is displayed on the page. Consider numbering the segments in multiples, such as 4, 5, or 10, to make it easy to insert new attributes.
Task: Configure the Context Segment
On the Edit Descriptive Flexfield page, specify the prompt for the context segment, whether the context segment should be displayed, and whether a value is required.
Select BI Enabled if you want to make the context segment available to Oracle Business Intelligence. Select a label from the BI Label dropdown list if you want to map the segment to a logical object as described in Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
As explained in Task: Define Validation Rules for Extensible Flexfield Custom Attributes in Section 4.3, "Planning Your Flexfields," you do not need to specify a value set if the set of valid values is the same as the set of context values. If you need to associate a context with a value set, then the value set must be an independent or table value set. The data type must be Character and the maximum length of the values being stored must not be larger than the context's column length.
If the value set to be used to validate the segment already exists, select it from the dropdown list. Otherwise, to create a value set, click Create Value Set and configure it.
Note:
You cannot assign a table value set to a context segment if the WHERE
clause uses VALUESET
.value_set_code or SEGMENT
.segment_code bind variables.
Task: Configure Contexts
Using the list of valid context values that you prepared in the planning stage, access the Manage Contexts page and specify for each context value a context code, description, and name, and add its context-sensitive segments.
For each context-sensitive segment that you add, provide the identifying information, the column assignment, the initial default value, and the display properties.
Tip:
A flexfield column is assigned to a new segment automatically, but you can change the assignment. If you need to set a specific column assignment for a segment, create that segment first to ensure that the intended column is not automatically assigned to a different segment.
If the value set to be used to validate the segment already exists, select it from the dropdown list. Otherwise, click Create Value Set and configure it.
Select BI Enabled if you want to make the segment available to Oracle Business Intelligence. Select a label from the BI Label dropdown list if you want to equalize the segment with segments in other contexts or you want to map the segment to a logical object as described in Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
Note:
The context and segment codes are used in the flexfield's element in the XML schema for web services. You can maximize the readability of the schema by naming context and segment codes with a leading alphabetic character followed by alphanumeric characters. The use of spaces, underscores, multibyte characters, and leading numeric characters, which are all encoded in XML schemas, make the codes in the schema element difficult to read.
Tip:
When you create segments for your attributes, you specify the sequence number for the segment. This sequence affects the order in which the attribute is displayed on the page. Before you begin creating segments, you might want to plan how you will number sequences. Consider numbering the segments in multiples, such as 4, 5, or 10, to make it easy to insert new attributes.
Use the Manage Extensible Flexfields task shown in Figure 4-18 to configure an extensible flexfield. You can access the Manage Extensible Flexfields task from the Highlight Flexfields UI as well as from the Setup and Maintenance work area.
Configure an extensible flexfield by defining its contexts and associated context-sensitive segments and usages, defining the access privileges for each usage, associating the context with categories and pages, and defining the display properties, initial value, and value validation for each context-sensitive segment.
If the Oracle Fusion applications are running in different locales, you might want to provide different translations for the translatable text, such as prompts and descriptions. To create the translations, log in with each of the different locales (or choose Personalization from the Set Preferences menu in the global area to set the locale) and change the text to the translated text for that locale. For more information, see the "Translating Flexfield and Value Set Configurations" section in the Oracle Fusion Applications Extensibility Guide for Developers.
For more information, see the "Manage Extensible Flexfields" section in the Oracle Fusion Applications Common Implementation Guide.
Before you begin:
You will need to do the following before you can begin configuring an extensible flexfield:
Plan your flexfield configuration as described in Section 4.3.2, "Planning Extensible Flexfields."
Optionally, create the required value sets as described in Section 4.4, "Creating Custom Value Sets." If you do not create the value sets before hand, you can create them at the time that you add the segments.
Compile a list of the UI pages that are affected by the extensible flexfield as well as other artifacts in the Oracle Fusion Middleware technology stack. See Section 4.8, "Integrating Custom Attributes" for more information about how flexfield configuration affects these artifacts. Using this list, plan how you will integrate and test your flexfield configuration
Ensure that you have the necessary privileges to access the Manage Extensible Flexfields task. Contact your security administrator for details.
Access the Manage Extensible Flexfields task by completing one of the following steps:
Choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the Manage Extensible Flexfields task.
Access the page that contains the flexfield, choose Highlight Flexfields from the Administration menu, and click the Configure Flexfield (wrench) icon for the highlighted flexfield.
Note:
Some Oracle Fusion applications provide product-specific tasks for configuring and managing certain flexfields, such as the Manage Orchestration Extensible Flexfields task. See the product-specific documentation in Oracle Fusion Applications Help for information about product-specific flexfield management tasks.
Task: Configure the Context
Using the list of contexts that you prepared in the planning stage, access the Manage Contexts page and create the desired contexts. Create the context-sensitive segments for each context and provide the identifying information, the column assignment, the initial default value, and the display properties.
Tip:
A flexfield column is assigned to a new segment automatically, but you can change the assignment. If you need to set a specific column assignment for a segment, create that segment first to ensure that the intended column is not automatically assigned to a different segment.
If the value set to be used to validate a segment already exists, select it from the dropdown list. Otherwise, click Create Value Set and configure it. If the value set is a table value set, independent value set, dependent value set, or subset value set, optionally select Show Value Description to display the description of the selected value to the right of the segment.
Some extensible flexfields have a Translatable option. If the context will be used to store free-form user-entered text in the language of the user's locale, and if different translations of that text can be stored for other languages, then select Translatable. If you select Translatable, then the context can have only format-only validated segments.
Note:
The context and segment codes are used in the flexfield's element in the XML schema for web services. You can maximize the readability of the schema by naming context and segment codes with a leading alphabetic character followed by alphanumeric characters. The use of spaces, underscores, multibyte characters, and leading numeric characters, which are all encoded in XML schemas, make the codes in the schema element difficult to read.
Tip:
When you create segments for your attributes, you specify the sequence number for the segment. This sequence affects the order in which the attribute is displayed on the page. Consider numbering the segments in multiples, such as 4, 5, or 10, to make it easy to insert new attributes.
Task: Configure Context Usages and Usage Security
Typically, an extensible flexfield has one usage. If a flexfield has more than one usage, you can associate a context with several usages. Consult the product-specific documentation in Oracle Fusion Applications Help to understand the purpose of each usage.
Using the usage security information that you gathered from Task: Plan Extensible Flexfield Security in Section 4.3, "Planning Your Flexfields," select the appropriate actions from the View Privileges and Edit Privileges dropdown lists for each usage that you associated with the context. Select None to specify that no special privileges should be enforced.
Note:
If you change a privilege for a usage after you deploy the flexfield, you must redeploy the flexfield for the change to take place.
Some flexfields might have other usage fields. Consult the product-specific documentation from Oracle Enterprise Repository for Oracle Fusion Applications for more information about the additional usage fields.
Task: Configure Categories and Category Details
While most extensible flexfields have a single category, some extensible flexfields have multiple categories. When an extensible flexfield has multiple categories, you can further group the contexts into categories. Some flexfields provide an activity or task for creating your own categories. Consult the product-specific documentation in Oracle Fusion Applications Help to determine whether you can create categories for the flexfield.
Task: Associate Contexts with a Category
Most extensible flexfields have a single category that contains all the flexfield's contexts. Some flexfields enable you to work with multiple categories. To associate contexts with a category, select the category on the Edit Extensible Flexfield page. Then, in the Associated Contexts tab, add the desired contexts to the selected category.
Task: Create Logical Pages for a Category
Using the information from your plan, group the contexts into logical pages and determine the sequence in which the logical pages should appear. To build the logical pages, select the category on the Edit Extensible Flexfield page. Then, in the Pages tab, add the desired contexts and specify their sequence.
You can verify that a flexfield's metadata is complete and correctly configured by choosing Validate Metadata from the Actions menu in either the Maintain Extensible Flexfields task or the Maintain Descriptive Flexfields task. The validations that this action performs are the same validations that are performed when you deploy a flexfield.
You must deploy a flexfield before you can access the custom attributes from the user interface and other parts of the Oracle Fusion Middleware technology stack. You use the appropriate flexfield management task — Manage Descriptive Flexfields or Manage Extensible Flexfields — to deploy a flexfield.
Note:
If you use the Quick Create dialogs to configure a flexfield, the flexfield is deployed when you click Save and Deploy.
When you deploy descriptive or extensible flexfields, the following occurs:
The deployment process validates the flexfield metadata. If any errors are found, then a popup window is displayed with a list of the errors that were encountered, and the flexfield is not deployed. Note that the flexfield's status is not changed if metadata errors are encountered.
The deployment process generates ADF Business Components and ADF Faces runtime artifacts that are based on the flexfield configurations.
The deployment process adds the custom attributes to the Web Services Description Language (WSDL) schemas that are exposed by Oracle ADF services and that are used by SOA composites. For information about SOA, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
If the flexfield is enabled for business intelligence, the deployment process redeploys the flexfield's business intelligence artifacts.
The web services that expose the business object's data also expose the business object's flexfield segment data.
End users see the new custom attributes the next time they log in to the application. The custom attributes will appear on all user interface pages that contain the flexfield, and in the search screens and Excel worksheets with ADF Desktop Integration in which they have been integrated.
Note:
Some products provide tasks for creating and maintaining categories for an extensible flexfield. Some of these tasks enable the end user to disable a category while they are setting it up. In the Edit Extensible Flexfield page, the Enabled column in the Category table indicates which categories are enabled. When you deploy an extensible flexfield that has a disabled category, that category and its descendant categories are not deployed. Contexts and their segments are deployed only if they belong to at least one enabled category.
Before you deploy the flexfield to the full test environment, deploy the flexfield configurations to the flexfield sandbox by choosing the Deploy Flexfield to Sandbox action. The changes that you deploy to a sandbox are isolated from the full test environment and can be seen only by those who make the flexfield sandbox active in their session. After you are satisfied with the changes in the sandbox, deploy the changes to the full test environment. Note that this feature if not available if you use the Quick Create dialogs to deploy the flexfield.
In addition to the Deploy Flexfield and Deploy Flexfield to Sandbox actions, extensible flexfields provide a Deploy Offline action. You must use this action to deploy extensible flexfields that have more than 30 categories. You can also use this action if you want to deploy several extensible flexfields, or if you want to continue working in your session without having to wait for a deployment to complete.
After deployment, the custom attributes are available for incorporating into the SOA infrastructure, such as business process and business rule integration. For example, you can now write business rules that depend on the custom attributes.
Descriptive flexfields that are enabled for business intelligence are available for integrating with business intelligence (BI) technology, such as Oracle BI Enterprise Edition (Oracle BI EE) and Oracle Essbase.
For more information about flexfield deployment and flexfield sandboxes, see the "Flexfield Deployment" section in the Oracle Fusion Applications Common Implementation Guide. For more information about integrating the deployed flexfield into the Oracle Fusion Middleware technology stack, see Section 4.8, "Integrating Custom Attributes."
Before you begin:
You will need to do the following before you can begin deploying a descriptive or extensible flexfield:
Configure the flexfield as described in Section 4.5, "Configuring Flexfields."
Ensure that you have the necessary privileges to access the flexfield management task. Contact your security administrator for details.
Access the appropriate flexfield management task — Manage Descriptive Flexfields or Manage Extensible Flexfields — by choosing Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and searching for the task.
Use the Search region to access the desired flexfield.
Task: Deploy a Flexfield to a Sandbox
Before you deploy the flexfield configuration to the full test environment, deploy the flexfield to the flexfield sandbox and test the configuration. To deploy a flexfield to a sandbox, select the flexfield in the Search Results region, and choose Deploy Flexfield to Sandbox from the Actions menu, as shown in Figure 4-19. A progress window shows when the process has completed and the completion status.
The sandbox to which you deploy the flexfield is different from the standard sandboxes that are described in Section 2.2, "Using the Sandbox Manager." Each flexfield has its own sandbox. You do not need to create a flexfield sandbox because the deployment process manages flexfield sandbox creation. When you deploy to the flexfield sandbox, a dialog box shows the name of the flexfield sandbox, and that flexfield sandbox is set as your current active sandbox.
Note:
When you deploy to the flexfield sandbox, the CreatedBy
value is set to FlexfieldDeployment
.
When you next log in to the application, you can see the updated flexfield configurations (you must log out and log back in to see the changes). The Oracle Fusion Applications global area displays your current session sandbox. When you hover over the sandbox name, the sandbox details appear. To exit a sandbox, hover over the sandbox name and click Exit Sandbox. To view additional details about the sandbox, hover over the sandbox name and click More Details.
To make an existing flexfield sandbox active for your session, access the flexfield sandbox from the Manage Sandboxes page, select the flexfield sandbox, and click Set as Active. For information about accessing this page, see Section 2.2, "Using the Sandbox Manager."
After you are satisfied with the changes, deploy the flexfield to the full test environment as described in Task: Deploy a Flexfield to the Full Test Environment.
Task: Deploy a Flexfield to the Full Test Environment
To deploy a flexfield to the full test environment, select the flexfield in the Search Results region, and choose Deploy Flexfield from the Actions menu.
A progress window shows when the process has completed and the completion status. If a sandbox exists for the flexfield, then this sandbox is deleted automatically after the flexfield successfully deploys to the full test environment.
When you next log in to the application, you can see the updated flexfield configurations (you must log out and log back in to see the changes).
Task: Deploy Extensible Flexfields Offline
When an extensible flexfield has more than 30 categories, you must deploy the flexfield offline. You can also use this action if you want to deploy several extensible flexfields, or if you want to continue working in your session without having to wait for a deployment to complete.
To add an extensible flexfield to your offline deployment queue, select the flexfield and click Deploy Offline. The Queued icon appears in the Offline Status column, as shown in the second row in Figure 4-20. You can add several flexfields to your queue, one after the other. The flexfields are deployed, one at a time, in the order that you deploy them to the queue. To remove an extensible flexfield from your queue, select the queued flexfield and click Cancel Offline. You cannot remove flexfields from other users' queues.
While an extensible flexfield is in an offline deployment process, the Deploying icon displays in the Offline Status column, as shown in the first row in Figure 4-20. After an extensible flexfield completes the offline deployment process, its offline status becomes blank and its deployment status indicates if the deployment was successful or not.
Note:
The Offline Status column does not refresh automatically when a queued flexfield begins the offline deployment process or when its offline deployment process completes. To display the current offline status, you must perform a new search in the Manage Extensible Flexfields task, or exit and reenter the task.
Task: Check Deployment Status
The Deployment Status column in the Search Results region shows the current status for each flexfield.
If a deployment error occurs, then the Deployment Error Message column in the Search Results region provides details about the error, as shown in Figure 4-21.
After you have deployed a flexfield, you can begin incorporating its custom attributes into the Oracle Fusion Middleware technology stack.
For information about the technology stack, see the "Oracle Fusion Middleware Components" chapter in the Oracle Fusion Applications Concepts Guide.
Task: Customize Flexfield Pages
After you deploy an extensible or descriptive flexfield, the new attributes appear on all pages that contain the flexfield. You can use Page Composer to configure the custom attribute properties on a page-by-page basis. For example, you can hide some custom attributes. For more information, see Chapter 3, "Customizing Existing Pages."
Note:
The custom attributes appear only on pages that include the flexfield. For information about adding flexfields to a page, see the "Adding Descriptive Flexfield UI Components to a Page" section or the "Employing an Extensible Flexfield on a User Interface Page" section in the Oracle Fusion Applications Developer's Guide.
Task: Incorporate Custom Attributes into Oracle Business Intelligence
If a descriptive flexfield is enabled for Oracle Business Intelligence, the Manage Descriptive Flexfields task displays a Manage Segment Labels button and displays BI Enabled checkboxes for the global, context, and context-sensitive segments. Select a segment's BI Enabled checkbox to specify that the segment is available for use in Oracle Business Intelligence. You can optionally select a value from the BI Label dropdown list to specify the logical object to which the segment should be mapped when the flexfield is imported into Oracle Business Intelligence. This mapping also equalizes context-sensitive segments across contexts, as explained later in this section. For more information, see Task: Plan Attribute Mapping to Oracle Business Intelligence Objects in Section 4.3.1, "Planning Descriptive Flexfields."
When you deploy a flexfield with business intelligence-enabled segments, the deployment process generates a set of flattened ADF Business Components in addition to the usual ADF Business Components and ADF Faces runtime artifacts that are generated during deployment. A flattened business component includes a single attribute for the context segment if it is business intelligence-enabled, as well as one attribute for each business intelligence-enabled global segment. For the business intelligence-enabled context-sensitive segments that have labels, the segments are equalized across contexts. That is, the flattened business component includes one attribute for each label. For example, a United States context might have a Passport segment and a Canada context might have Visa segment. If you assign the NationalID segment label to both the Passport and Visa segments, they are equalized into the same NationalID attribute in the flattened business component.
For the business intelligence-enabled context-sensitive segments that do not have labels, the business component includes a separate attribute for each non-labeled context-sensitive segment for each context value. Non-labeled context-sensitive segments are not equalized across context values.
After you deploy a business intelligence-enabled flexfield, import the flexfield changes into the Oracle Business Intelligence repository to make use of the newly flattened business components in business intelligence and then propagate the flex object changes. When you import the metadata into the Oracle Business Intelligence repository, you must do so as the FUSION_APPS_BI_APPID
user.
Note:
To import flexfield changes into the Oracle Business Intelligence repository in Oracle Cloud implementations, log a service request using My Oracle Support at https://support.oracle.com
.
Tip:
When you import a flexfield into the Oracle Business Intelligence repository, you see both name_ and name_c attributes for each segment, along with some other optional attributes. The name_ attribute contains the value. The name_c attribute contains the code of the value set that the value comes from, and is used for linking to "value dimension." You must import both attributes.
For more information about importing and propagating your flexfield changes, see Task: Configuring Descriptive Flexfields and Key Flexfields for Oracle Business Intelligence in Section 7.3.3, "Customizing the Oracle BI Repository (RPD)." For information about adding flexfields to an Oracle Business Intelligence Publisher data model, see the "Adding Flexfields" chapter in the Oracle Fusion Middleware Data Modeling Guide for Oracle Business Intelligence Publisher (Oracle Fusion Applications Edition).
Task: Incorporate Custom Attributes into Web Services and SOA Infrastructure
When an extensible or descriptive flexfield is deployed, the deployment process regenerates the XML schema definition (XSD), which makes the custom attributes available to web services and the SOA infrastructure.
After deploying a flexfield configuration, you must synchronize the updated XSD files in the MDS repositories for each SOA application. For more information, see "Customizing SOA Composite Applications" section in the Oracle Fusion Applications Extensibility Guide for Developers.
Note:
To synchronize the updated XSD files in the MDS repositories in Oracle Cloud implementations, log a service request using My Oracle Support at https://support.oracle.com
.
Task: Enable the Custom Attributes for Oracle Social Network
Use the Manage Oracle Social Network Objects task to enable the flexfield attributes for Oracle Social Network. To access the task, choose Setup and Maintenance from the Administration menu in the global area of Oracle Fusion Applications and search for the task. Next, search for the business object and select the attributes that you want to enable.