6 Nov 2012

What is the difference between MTL_SYSTEM_ITEMS,MTL_SYSTEM_ITEMS_B tables?



What is the difference between MTL_SYSTEM_ITEMS,MTL_SYSTEM_ITEMS_B tables?
mtl_system_items is a synonym that points to mtl_system_items_b

mtl_system_items used to be the actual items table in older versions.
But in recent version the mtl_system_items_b is the items table. If any old code was using mtl_system_items, the synonym helps it compile and thus make this change backward compatible.

Oracle follows the following convention to handle multi-language.
The b stands for base table. And then there is a table called tl (e.g. mtlsystem_items_tl). In the _tl table, for each base record, you can find multiple records - one for each language that you use.

MTL_SYSTEMS_B is the base table and MTL_SYSTEM_ITEMS is a synonym for MTL_SYSTEM_ITEMS_B.Because of this synonym, old code written that used mtl_system_items still compiles without any problem. That is the sole purpose of the synonym.

What is
MTL_SYSTEM_ITEMS_B table?
MTL_SYSTEM_ITEMS_B is the definition table for items. This table holds the definitions for inventory items, engineering items, and purchasing items. You can specify item-related information in fields such as: Bill of Material, Costing, Purchasing, Receiving, Inventory, Physical attributes, General Planning, MPS/MRP Planning, Lead times, Work in Process, Order Management, and Invoicing.

You can set up the item with multiple segments, since it is implemented as a flexfield. Use the standard 'System Items' flexfield that is shipped with the product to configure your item flexfield.
The primary key for an item is the INVENTORY_ITEM_ID and ORGANIZATION_ID. Therefore, the same item can be defined in more than one organization.

Each item is initially defined in an item master organization. The user then assigns the item to other organizations that need to recognize this item. A row is inserted for each new organization the item is assigned to. Many columns such as MTL_TRANSACTIONS_ENABLED_FLAG and BOM_ENABLED_FLAG correspond to item attributes defined in the MTL_ITEM_ATTRIBUTES table.
Two unit of measure columns are stored in MTL_SYSTEM_ITEMS_B table. PRIMARY_UOM_CODE is the 3-character unit that is used throughout Oracle Manufacturing. PRIMARY_UNIT_OF_MEASURE is the 25-character Unit of Measure that is used throughout Oracle Purchasing. Unlike the PRIMARY_UOM_CODE, the Unit of Measure is language-dependent attribute, however, PRIMARY_UNIT_OF_MEASURE column stores value in the installation base language only.