You are on page 1of 11

Value Sets in Oracle Navigation Path for Value Set Creation?

Navigation Path for Value Set Creation: Application-> Validation -> Set. Once we create Independent & Dependent valueset then we can attach values to the valueset by using the following Navigation. Application -> -> Validation -> Values (To create values for value set) NOTE: Once we attach any value to Independent & Dependent we cant delete that value, but we can disable that value. Duplicate values are not allowed in list of values. Develop a Report using Query and by creating valueset :Select USER_ID, USERNAME From FND_USER Where USER_ID Between :X AND :Y :$FLEX$ - It is One of the Oracle applications Key word which we use to get the prevents parameter value in current list of values WHERE Clause . We can be use Table Values in the Where Clause Box. Query Using: $FLEX$ Select VENDOR_SITE_ID From PO_VENDOR_SITE_ALL Where VENODR_ID = :$FLEX$.VEN_TABLE Note: We can give Where Clause Condition in creation of Second Value Set. Practical:Query: Select * From ORF_ORGANIZATION_DEFINATIONS Where ORGANIZATION_ID = :P_ORG_ID And BUSINESS_GROUP_ID = :P_BUSINESS_GROUP_ID In Where Clause write the statement as Where BUSINESS_GROUP_ID = :$FLEX$.BUISINESS_GROUP Range: When ever we have to restrict the user with in the given values we use Range. For example when ever our parameter is having From Date and To Date we have to use Range option to restrict the user to enter the values between Low and High. Note: Pre defined value set for date is FND_DATE and its default format is DD-MON-YY.Alias name is mandatory when we are specifying :$FLEX$ and Column Name in Additional Column.
Posted by Nil at 3:05 PM 0 comments Links to this post

Labels: Value Sets


JUL 22, 2008

What is Value Sets? What are Types Of Value Sets?


Oracle Application Object Library uses values; value sets and validation tables as important components of key FLEXFIELDs, descriptive FLEXFIELDs, and Standard Request Submission. This section helps you understand, use and change values, value sets, and validation tables. When you first define your FLEXFIELDs, you choose how many segments you want to use and what order you want them to appear. You also choose how you want to validate each of your segments. The decisions you make affect how you define your value sets and your values. You define your value sets first, either before or while you define your FLEXFIELD segment structures. You typically define your individual values only after your FLEXFIELD has been completely defined (and frozen and compiled). Depending on what type of value set you use, you may not need to predefine individual values at all before you can use your FLEXFIELD. You can share value sets among segments in different FLEXFIELDs, segments in different structures of the same FLEXFIELD, and even segments within the same FLEXFIELD structure. You can share value sets across key and descriptive FLEXFIELDs. You can also use value sets for report parameters for your reports that use the Standard Request Submission feature. Because the conditions you specify for your value sets determine what values you can use with them, you should plan both your values and your value sets at the same time. For example, if your values are 01, 02 instead of 1, 2, you would define the value set with Right Justify Zerofill set to Yes. Value set is nothing but List of Values with validations. We can use the Value Sets when ever the Concurrent Program has parameters and while defining the Flex Fields. We have to attach the value sets to the Concurrent Program. Validations are depending on Client Requirement. Value sets are of 8 types.There are several validation types that affect the way users enter and use segment or parameter values: 1. None (not validated at all) 2. Independent 3. Dependent 4. Table 5. Special (advanced) 6. Pair (advanced) 7. Translatable Independent 8. Translatable Dependent You cannot change the validation type of an existing value set, since your changes affect all FLEXFIELDs and report parameters that use the same value set. None: You use a None type value set when you want to allow users to enter any value so long as that value meets the value set formatting rules. That is, the value must not exceed the maximum length you define for your value set, and it must meet any format requirements for that value set. For example, if the value set does not allow alphabetic characters, your user could not enter the value ABC, but could enter the value 456 (for a value set with maximum length of three). The values of the segment using this value set are not otherwise validated, and they do not have descriptions. Because a NONE value set is not validated, a segment that uses this value set does not provide a list of values for your users. A segment that uses this value set (that is, a non validated segment) cannot use FLEXFIELD value security rules to restrict the values a user can enter. Independent > An Independent value set provides a predefined list of values for a segment. These values can have an associated description. For example, the value 01 could have a description of Company 01. The meaning of a value in this value set does not depend on the value of any other s egment. Independent values are stored in an Oracle Application Object Library table. You define independent values using an Oracle Applications window, Segment Values. Table > A tablevalidated value set provides a predefined list of values like an independent set, but its values are stored in an application table. You define which table you want to use, along with a WHERE cause to limit the values you want to use for your set. Typically, you use a table validated set when you have a table whose values are already maintained in an application table (for example, a table of vendor names maintained by a Define Vendors form). Table validation also provides some advanced features such as allowing a segment to depend upon multiple prior segments in the same structure. Dependent > A dependent value set is similar to an independent value set, except that the available values in the list and the meaning of a given value depend on which independent value was selected in a prior segment of the FLEXFIELD structure. You can think of a dependent value set as a collection of little value sets, with one little set for each independent value in the corresponding independent value set. You must define your independent value set before you define the dependent value set that depends on it. You define dependent values in the Segment Values windows, and your values are stored in an Oracle Application Object Library table. Special and Pair Value Sets: Special and pair value sets provide a mechanism to allow aFLEXFIELDwithinaFLEXFIELD. These value sets are primarily used for Standard Request Submission parameters. You do not generally use these value sets for normal FLEXFIELD segments. Special and Pair value sets use special validation routines you define. For example, you can define validation routines to provide another FLEXFIELD as a value set for a single segment or to provide a range FLEXFIELD as a value set for a pair of segments. Translatable Independent and Translatable Dependent : A Translatable Independent value set is similar to Independent value set in that it provides a predefined list of values for a segment. However, a translated value can be used. A Translatable Dependent value set is similar to Dependent value set in that the available values in the list and the meaning of a given value depend on which independent value was selected in a prior segment of the FLEXFIELD structure. However, a translated value can be used. FLEXFIELD Value Security cannot be used with Translatable Independent or Translatable Dependent value sets. For format validation, translatable value sets must use the format type Char. The maximum size must be no greater than 150. The Number Only option and the Right justify and ZeroFill Numbers option cannot be used with translatable value sets. Range FLEXFIELDs cannot use Translatable Independent or Translatable Dependent value sets. Please post your Comments.

What is Multi-Org? Its a feature used to store the data of multiple organization in a single instance by partitioning the data of human resource, financials, sales, purchases, assets and materials Examples of Multi Org are Tata Group, Reliance Group, Mahindra Group etc. Let us consider Tata Group to illustrate more on Multi Org

In the above illustration Tata Finance, TCS, Tata Motors are individual organizations. NOTE: The complete organization data are maintained at one place. Financial statements are to be created for individual organization separately this is achieved using E BUZ Suite. Multi-Org has been categorized into: 1. 2. 3. 4. 5. Business Group Ledger Legal Entities Operating Unit Inventory Org

1. Business Group: Business Group is a top level in the org structure. At this level we secure work structures (Job Structure, Position structure, Grades structure) and remuneration policy (Pay roll Policy). Structure for Jobs, Position, Grades may differ from organization to organization, say position structure in a organization may have clerk, senior clerk, manager, senior manager. Where as in another organization it may only have clerks and managers. Based on the Work Structure and remuneration the business group are created. If all the 3 organization (Tata Finance, TCS, and Tata Motors) have different Work Structure and remuneration then we need to define 3 business groups else if they have the same Work Structure and remuneration then only one business group is defined. Module involved is HR 2. Ledgers: Ledgers are used to secure journals and ledger balances of the company. A ledger is a collection of currency, calendar, chart of accounts and sub ledger accounting (SLA) methods.

Currency, here we setup the local currency for the organization where its business is defined say INR (INDIAN Rupee) this is used only to report the balances but the transaction can be done in other foreign currency also including INR. Calendar, the financial year is been defined to control the transactions and secure them. We divide the financial year into PERIODS, periods may be defined daily, Monthly, Quarterly this is only to restrict the transaction as transaction can happen only for the period thats open, say in July we can have transactions for the month of July and August as its open but we can restrict for September by keeping it closed. Chart of Accounts, here we define the accounts setup for an organization. For better understanding let us take an example where in we need to create an account when a rent has been paid. The account entry would be Rent A/c To Cash Now to differentiate this based on the organization say if the rent is for Tata Finance or TCS or Tata Motors. The entries can be

So for this when the transaction is recorded the entry in the system would be 01.1001

If there are any further division (category) then a new segment is created but if an organization is not having any division then a default segment is also defined.

Now the account for tata motors having division for cars in a particular location say hyd and for payables as an account would be 01.001.0001.1002, if tata finance has no division and location but with rent account then the entry would be 02.000.0000.1001 Note: An account that is defined for an organization is a combination of Company code and Account code, that are defined if there are no segments (Division, Location etc) been defined. We should have minimum two segments and a maximum of 30 segments when defining an account. Sub Ledger Accounting: (SLA), how to maintain the account is been defined in SLA, the accounts may be accrual based or cash based. Module involved is GL 3. Legal Entities: This is a legal business or a registered firm; at this level we prepare income tax reports. In our example we would be having 3 legal entities (Tata Motors, TCS, and Tata Finance) Legal Entries are used to report the Tax Reporting 4. Operating Unit: (OU) An operating unit is division of legal entity, at this level we secure the sales and purchase transactions. Now we also need to keep in mind that an OU can be set at the division level or location level or branches based on the sectors.

Here in the above illustration Cars and Trucks are division, Hyd, Pune and Bangalore are location. OU can be set at Division level or Location level or Branch Level. If the OU is set at branch 1 then branch 2 cannot see the details (Sales and purchases) of branch 1 and vice versa as they are secured. Similarly if set at the location then it is secured with that location and restricted from other locations. Module involved is AR, AP, PO, OM, CM etc 5. Inventory Org: This is used to secure the materials of an organization. Note: Legal Entity can also be an Operating Unit as there are no further division in a organization.

Multi Org Concept


Introduction Any enterprise has several organization structures. These organizations interact with each other for various purposes. While interacting with other organizations data has to be secure and should be transferred to the correct organization. What is Multi Org Multi Org is a feature, which helps us to classify and define various organizations in such a way that hierarchy is maintained and data is secure across organizations. It also decides how transactions flow through different organizations and how those organizations interact with each other. Types of Organizations The various organizations that can be defined within Oracle Applications are as follows: Business Group. The business group represents the highest level in the organization structure, such as the consolidated enterprise, a major division, or an operation company. Oracle Apps provides with a predefined Business Group Setup Business Group. Reliance Group of Companies is an example of Business Group.

GRE/Legal Entity. The company for which we prepare tax returns. You assign tax identifiers and other legal entity information to this type of organization. If there are several subsidiary companies for which tax returns are filed, each company is a separate legal entity. Reliance Group of Companies consists of several companies like Reliance Industries ltd, Reliance Info-comm, Reliance Energy ltd etc. Each company is a separate Legal Entity. Note: The Set of Book can contain multiple Legal Entities.

Operating Unit. Each group company will have several branch offices involved with purchasing, order management, shipping execution
etc. Each such branch will be an Operating Unit. It could be a sales office, a division, or a department. An operating unit is associated with a legal entity. For implementing Oracle Cash Management, Order Management and Shipping Execution, Oracle Payables, Oracle Projects, Oracle Purchasing, Oracle Property Manager, Oracle Receivables and Sales and Marketing Operating Unit is required. Information is secured by operating unit for these applications. Each user sees information only for their operating unit. Inventory Organization. An organization for which you track inventory transactions and balances, and/or an organization that manufactures or distributes products. Inventory organization is generally assigned to a manufacturing plant. An operating unit can also be an Inventory Organization. Many branches (operating units) might be Manufacturing Plants and will be attached to an Inventory/Warehouse. Such inventory/warehouses will be Inventory Organizations. HR Organization. HR organizations represent the basic work structure of any enterprise. They usually represent the functional management, or reporting groups that exist within a business group. Asset Organization. An asset organization is an organization that allows you to perform assetrelated activities for a specific Oracle Assets corporate depreciation book. Any organization (legal entity, operating unit, inventory organization), which has Fixed Assets can be classified as Asset Organization. For implementing Oracle Assets, this type of organization is used. Secure Access within Multi Org An individual Operating Unit is assigned to an individual application Responsibility. To see and work with data that is relevant to a specific Operating Unit, users choose the appropriate Responsibility after logging on to Oracle Applications. The current Multi-Org architecture utilizes database objects like Views to build a security layer that allows you to logically partition all your application data in one database, instead of physically partitioning data with multiple instances and even multiple application installations. In earlier versions of Oracle Applications data partitioning was done using multiple instances and therefore installation had to be done several times for various operating units. Note: All Multi Org tables in the database will be suffixed with _ALL. HRMS Organization Model The business group is the largest organization unit you set up in Human Resources to represent your enterprises as an employer. After defining one or more business groups for your enterprise, you set up one or more Government Reporting Entities (GREs) within each business group. The GRE is the organization that federal, state, and local governments recognize as the employer. Needless to say, HR does not require Operating Units, Inventory Organization and Asset Organization. Multi Org Setup The following are the summarized steps for implementing Multi-Org in Oracle Applications or when converting from a Non Multi-Org environment to a Multi-Org environment. 1.1 Develop an Organization Structure 1.2 Define Set of Books

1.3 Define Locations 1.4 Define Business Groups (Optional) 1.5 Define Responsibilities 1.6 Associate Responsibilities with Business Groups 1.7 Define Organizations 1.8 Define Organization Relationships 1.9 Set MO: Operating Unit Profile Option 1.10 Convert to Multi-Org Architecture 1.11 Define Inventory Organization Security 1.12 Define Inter-company Relations

Technical
How to set Org_id at back-end We have a API to set the org_id from the backend. begin fnd_client_info.set_org_context(); end; Note:- Org_id indicates the "Operating Unit" in the Business Structure. How to I know what Org_id is set at back-end We can use userenv function to know the Org_id set at backend. select userenv('CLIENT_INFO') from dual; Why we need to set org_id at back-end We usually, set org_id at back-end. So that we can get the org_id records from the Multi Organization views. What happens if I try to query records from Multi-Origination views without setting Org_id at back-end It will not fetch any records. As, "where" condition fails (org_id = Userenv('CLIENT_INFO')); Note:- If you set org_id from back-end, then you get org_id value populated by above userenv function. Is this Multi -Org concept is same for all the Oracle Application versions No. Above Technical points are applicable only till 11i version. It is different in Release 12.

Automous Transaction Question: What is the idea of an automous transaction in PL/SQL? I understand that there is the pragma automous transaction but I am unclear about when to use automous transactions. Answer: Autonomous transactions are used when you wan to roll-back some code while continuing to process an error logging procedure. The term "automous transaction" refers to the ability of PL/SQL temporarily suspend the current transaction and begin another, fully independent transaction (which will not be rolled-back if the outer code aborts). The second transaction is known as an autonomous transaction. The autonomous transaction functions independently from the parent code. An autonomous transaction has the following characteristics:

There are many times when you might want to use an autonomous transaction to commit or roll back some changes to a table independently of a primary transaction's final outcome. We use a compiler directive in PL/SQL (called a pragma) to tell Oracle that our transaction is autonomous. An autonomous transaction executes within an autonomous scope. The PL/SQL compiler is instructed to mark a routine as autonomous (i.e. independent) by the AUTONMOUS_TRANSACTIONS pragma from the calling code. As an example of autonomous transactions, let's assume that you need to log errors into a Oracle database log table. You need to roll back the core transaction because of the resulting error, but you dont want the error log code to rollback. Here is an example of a PL/SQL error log table used as an automous transaction:

As we can see, the error is logged in the autonomous transaction, but the main transaction is rolled back.

You might also like