Understand Multi Organizations and org_id

很多事情很多心情写了也就记下了; 不写,以后可能就忘了.
打印 被阅读次数

1. In multi org environment(like uk + france in one db), each Multi-Org Table will have a column named org_id. Tables like invoices are org sensitive, because UK has no purpose to see and modify french invoices. Hence a invoice table is a candidate for ORG_ID column.
By doing so, UK Responsibities will filter just UK Invoices. This is possible because in Apps, Invoice screens will use ap_invoices in their query and not AP_INVOICES_ALL.
2. Vendor Sites/Locations are partitined too, because UK will place its ordersfrom dell.co.uk whereas france will raise orders from dell.co.fr. These are called vendor sites in Oracle Terminology.
3. Any table that is mutli-org (has column named org_id), then such table name will end with _all
4. For each _all table , Oracle provides a correspondong view without _all. For examples create or replace view xx_invoices as select * from xx_invoices_all where org_id=fnd _profile.value('org_id').
5. At the time of inserting records in such table, org_id column will always be populated.
6. If you ever wish to report across all operating units, then select from _all table.
7. _all object in APPS will be a synonym to the corresponding _all table in actual schema. For example po_headers_all in apps schema is a synonym for po_headers_all in PO schema.
8. When you connect to SQL*Plus do the below
connect apps/apps@dbapps ;
--assuming 101 is French Org Id
execute dbms_application_info.set_client_info ( 101 );
select tax_code from ap_tax_codes ;
---Returns FRVAT

9. Define Organization process:

ORG_ID/Multi-Org/Operating Unit are the terminologies that get used interchangeably.

  1. Define organizations in apps with deferent names. This can be done by using organization definition screen.

    2. In Oracle Apps, an organization can be classified as HRMS Org, or Inventory Warehouse Org, or Business Group, Operating Unit Org or much more types. Remember, Organization type is just a mean of tagging a flag to an organization definition. E.g. Operating Unit.

    3. The organization will be assigned a org_id and available from table: HR_OPERATING_UNITS.

    4. Establish a relation between a responsibility and the organization.

By setting profile option MO : Operating unit to a value of the Org, against the responsibility.

10. To find the default org_id for certain responsibility, use: fnd_profile.value('org_id'). Alternately, use USERENV('CLIENT_INFO') .

Reference: http://oracle.forumcircle.com/viewtopic.php?p=14

登录后才可评论.