How to Create Category and Category Set in Oracle Inventory?


Categories are the method by which the items in inventory can be separated logically and functionally for planning, purchasing and other activities.You can use categories and category sets to group your items for various reports and programs. A category is a logical classification of items that have similar characteristics. A category set is a distinct grouping scheme and consists of categories. The flexibility of category sets allows you to report and inquire on items in a way that best suits your needs. This article will describe how to create categories and category set in oracle inventory.

Suppose we need a category called ‘INV_COLORS’. We can define multiple colors in this category and then assign this category to an item.


  1. Item1 —- Black
  2. Item2 —- Red
  3. Item3 —- Green
  4. Item4 —- Orange

1] First we need to create a value set to hold these colors.

Navigation > Setup: Flexfields: Validation: Sets

Validation type Select: Independent

2] Next we need to enter our values in the INVENTORY_COLOR valueset


Navigation -> Setup: Flexfields: Validation: Values

Save and close the Screen.

3] Now we need to create a KFF Structure

Navigation Setup: Flexfields: Key: Segments

Create the structure name: In the “Code” field enter INV_COLORS

4] Click on the “Segments” button.

  • Enter the “Number” field: 10
  • Enter the Name field: Color
  • Enter the “Window Prompt”: Color (This value will appear on the screen)
  • Enter the “Column” field: Segment1 (you can choose any column)

Save and exit the form.

5] Check the Freeze flex field Definition, the following warning will appear.

Click OK.

6] The “Compile” button is now available to be selected. Click on the compile button.

Click Ok

Close the form.

7] Go to View -> Request and Verify that the new Category flexfield compiled successfully.

8] The new structure is ready for use. Now let’s create a category.

Navigation : Setup: Items: Categories: Category Codes

  • Enter the structure name: INV_COLORES
  • Enter the category: BLACK
  • (Note the form does not provide an LOV for the categories. You will need to use edit symbol at the top of the page or “ e “ to bring up the lov)
  • Enter the description.

9] Next we create our category set.

Navigation Setup: Items: Categories: Category Sets

  • Fill in the category set Name: INV_COLORS_SET
  • The description: Inventory color set
  • The Flex Structure: INV_COLORS
  • The Controlled: Org Level
  • Default Category: BLACK

10] After creating the category set, we can assign it to any items.

There are few category APIs that will be discussed in upcoming posts. Till then GOOD BYE………!! Have a nice day!

Reference: How to create a Category Set and Assign Items to Categories [MOS ID 423551.1]

How to assign an Item to a Catalog Group?


Use of Item catalog in Oracle Inventory is to Group items that share common characteristics. In order to define catalog, we can setup distinct catalog groups to partition the Item master. Each catalog group in turn has a set of unique characteristics called as Descriptive elements that describe the items belonging to the Group. Oracle Inventory provides item catalogs to help you quickly locate items based on key characteristics.


Once the process of defining and cataloging items is complete, you can:

  • Provide standard language in referring to items, enabling companies in the same industry to communicate effectively without needing to name their items identically.
  • Store a detailed description of what an item is without having to embed that meaning in the item number.
  • Use descriptive elements as search criteria for items.
  • Update the item description with a concatenated value of the item catalog group information.
  • Find common existing parts when developing an engineering prototype.

To assign an item to a catalog:

1] Navigate to the Master Items Summary window and select an item.

2] Click on Tools > Catalog of the Master Item Screen.

3] Enter a catalog group. The descriptive elements for this catalog group display in the Name field. Assigning the item to this group means the item shares these descriptive elements.

4] Enter a specific value for each descriptive element that pertains to the item.

5] Indicate whether to include a descriptive element in a catalog-derived item description.

6] Save your work.

To replace the existing item description with a catalog-derived item description:

Choose Update Description.

This creates an item description by concatenating the item catalog group description (default) or the catalog group name with the descriptive element values you defined. The concatenated item description displays in the Item Catalog Description field.

How to Import Item Catalog Descriptive Element Values?

Oracle has provided the below two public APIs to import Item Catalog Descriptive Element Values.

  1. inv_item_catalog_elem_pub.process_item_catalog_grp_recs
  2.  inv_item_catalog_elem_pub.process_item_descr_elements

The first API, process_item_catalog_grp_recs, is used in batch mode to import element values for a SET of items. The second API, process_item_descr_elements, is used to import element values for a SINGLE item.

Using Procedure process_item_catalog_grp_recs:

1] Get the Item Number.

2] Get the item_catalog_group_id from mtl_item_catalog_groups.

3] Get the Descriptive Element Names (element_name) from the table mtl_descriptive_elements for the above item_catalog_group_id.

4] Insert the data into mtl_desc_elem_val_interface table.

INSERT INTO mtl_desc_elem_val_interface (
       set_process_id )
       l_item_number, 	-- Derived in Step1
       l_element_name, 	-- Derived in Step3
       l_element_value,	-- Insert the Descriptive Element Value from data file
       10, 	            -- Insert the element sequence

5] Run loop to put all the data (element name-value pair) into the above interface table.

6] Run loop to put data for multiple items.

7] Finally run the below API.

          errbuf                 	=> l_errbuf,
          retcode                	=> l_retcode,
          p_rec_set_id           	=> 1,
          p_upload_rec_flag      	=> 1,
          p_delete_rec_flag      	=> 1,
          p_commit_flag          	=> 1,
          p_prog_appid           	=> NULL,
          p_prog_id              	=> NULL,
          p_request_id           	=> NULL,
          p_user_id              	=> NULL,
          p_login_id             	=> NULL

The parameters are described below:

Parameter Type Meaning
errbuf Out It holds the error message, if any.
retcode Out It should be zero if there were no errors
p_rec_set_id In Used to group the rows, should be set to value of “set_process_id” in mtl_desc_elem_val_interface table
p_upload_rec_flag In Whether the rows in interface table are to be uploaded to database. default 1
p_delete_rec_flag In Whether the rows in interface table are to be deleted after they have been uploaded to database. default 1
p_commit_flag In Whether the uploaded rows need to be committed to the database. default 1
p_prog_appid In default null
p_prog_id In default null
p_request_id In default null
p_user_id In default null
p_login_id In default null

Using Procedure process_item_descr_elements:

Define necessary values programmatically in PL/SQL variables and tables and call this API. Do not populate the interface table.

The declaration of this API:

PROCEDURE Process_item_descr_elements
        p_api_version        	   IN   NUMBER
     ,  p_init_msg_list      		IN   VARCHAR2
     ,  p_commit_flag        		IN   VARCHAR2
     ,  p_validation_level   		IN   NUMBER
     ,  p_inventory_item_id  		IN   NUMBER
     ,  p_item_number        		IN   VARCHAR2
     ,  p_item_desc_element_table 	IN  ITEM_DESC_ELEMENT_TABLE
     ,  x_generated_descr    		OUT NOCOPY VARCHAR2
     ,  x_return_status      		OUT NOCOPY VARCHAR2
     ,  x_msg_count          		OUT NOCOPY NUMBER
     ,  x_msg_data           		OUT NOCOPY VARCHAR2

The parameters are:

Parameter Meaning
p_api_version The version of this API. Value=1.0
p_init_msg_list If set to true initially, messages generated internally by the API will be captured.  Value = fnd_api.g_TRUE, if messages need to be captured, else accept default
p_commit_flag Whether the uploaded rows need to be committed to the database. Value = fnd_api.g_TRUE, to commit else accept default.
p_validation_level Determines if item_number is to be converted to item_id. If item_id is specified, set Value = g_VALIDATE_NONE, Else take default.
p_inventory_item_id Item id of the item for which the element values need to be uploaded.
p_item_number Item number of the item.
p_item_desc_element_table PL/SQL table of records; each record will hold element name, value and description.
x_generated_descr Element values are concatenated to generate item description.
x_return_status The return status of the API.
x_msg_count Count of messages generated.
x_msg_data Holds the messages generated.

Table Partitioning in Oracle:Divide and Conquer!

Partitioning is a divide-and-conquer approach to improving Oracle maintenance and SQL performance. As the number of rows in table increases, the performance impacts will increase and Backup and recovery process may take longer time than usual and sql queries that affecting entire table will take much longer time. We can reduce the performance issue causing by large tables through separating the rows of a single table into multiple parts. Dividing a table’s data in this manner is called partitioning the table. The table that is partitioned is called a partitioned table, and the parts are called partitions.

Important note here is that SQL queries and DML statements do not need to be modified in order to access partitioned tables. After partitions are defined, DDL statements can access and manipulate individual partitions rather than entire tables or indexes. This is how partitioning can simplify the manageability of large database objects. Also, partitioning is entirely transparent to applications.

Each partition of a table or index must have the same logical attributes, such as column names, datatypes, and constraints. But each partition can have separate physical attributes such as pctfree, pctused, and tablespaces.

Advantages of using Partition’s in Table

  • The performance of queries against the tables may improve because Oracle may have to search only one partition (one part of the table) instead of the entire table to resolve a query.
  • The table may be easier to manage. Because the partitioned table’s data is stored in multiple parts, it may be easier to load and delete data in the partitions than in the large table.
  • Backup and recovery operations may perform better. Because the partitions are smaller than the partitioned table, you may have more options for backing up and recovering the partitions than you would have for a single large table.

Types of Partitioning Methods

1] RANGE Partitioning

The most basic type of partitioning for a table is called range partitioning. Range partitioning divides a table into partitions based on a range of values. You can use one or more columns to define the range specification for the partitions. Oracle automatically uses the upper bound of the next lower VALUES LESS THAN value as the lower bound of a partition.


CREATE TABLE sales_range
(salesman_id  	 NUMBER(5),
salesman_name    VARCHAR2(30),
sales_amount  	 NUMBER(10),
sales_date   	 DATE)
PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY'))

2] HASH Partitioning

Under this type of partitioning, the records in a table are partitioned based of a Hash value found in the value of the column that is used for partitioning. “Hash Partitioning” does not have any logical meaning to the partitions as do the range partitioning.

To create a hash partition, use the PARTITION BY HASH clause in place of PARTITION BY RANGE.


CREATE TABLE sales_hash
(salesman_id  NUMBER(5),
salesman_name VARCHAR2(30),
sales_amount  NUMBER(10),
week_no       NUMBER(2))
PARTITION BY HASH(salesman_id)

Use hash partitioning if your data does not easily lend itself to range partitioning, but you would like to partition for performance and manageability reasons.

3] List Partitioning

List partitioning enables you to explicitly control how rows map to partitions by specifying a list of discrete values for the partitioning key in the description for each partition. The advantage of list partitioning is that you can group and organize unordered and unrelated sets of data in a natural way. For a table with a region_state column as the partitioning key, the sales_west partition might contain values like ‘California’, ‘Hawaii’ etc.


CREATE TABLE sales_list
(salesman_id  NUMBER(5),
salesman_name VARCHAR2(30),
sales_state   VARCHAR2(20),
sales_amount  NUMBER(10),
sales_date    DATE)
PARTITION BY LIST(sales_state)
PARTITION sales_west VALUES('California', 'Hawaii'),
PARTITION sales_east VALUES ('New York', 'Virginia', 'Florida'),
PARTITION sales_central VALUES('Texas', 'Illinois'),

Creating Subpartitions

You can create subpartitions—that is, partitions of partitions. You can use subpartitions to combine all types of partitions: range partitions, list partitions, and hash partitions. For example, you can use hash partitions in combination with range partitions, creating hash partitions of the range partitions. For very large tables, this composite partitioning may be an effective way of separating the data into manageable and tunable divisions.

Indexing a partitioned table:

When you index a table, you can partition the index just as you partition the table itself. This works because indexes are separate database objects. Partitioning the index generates the same benefits as a partitioned table–improved performance, reduced maintenance time, and increased availability. Many applications use a concept called equipartitioning to increase the total value of partitioned tables and indexes. With equipartitioning, you have the same partitions for an index as you have for its table–the same number, partitioning columns, and partition bounds. A partitioned table can have both partitioned and non-partitioned indexes on it.

Modify characteristics of partitions:

Add a partition ALTER TABLE ADD PARTITION partition_name VALUES LESS THAN value storage_parameters
Move a partition ALTER TABLE MOVE PARTITION tablespace
Rename a partition ALTER TABLE RENAME PARTITION original_partition_name TO new_partition_name
Drop a partition ALTER TABLE DROP PARTITION partition_name
Truncate a partition ALTER TABLE TRUNCATE PARTITION partition_name

The use of partition-extended table names has the following restrictions:

  • A partition-extended table name cannot refer to a remote schema object.
  • The partition-extended table name syntax is not supported by PL/SQL.
  • A partition extension must be specified with a base table. No synonyms, views, or any other schema objects are allowed.

Oracle vs. SAP in 5 key points!

As an ORACLE EBS consultant, we should aware of its counterpart –SAP and a few range of prospects that differentiate these two giants in today’s ERP market. Both SAP and Oracle eBusiness Suite (EBS) have strengths, weaknesses, and tradeoffs. Different clients have different needs, ranging from functional requirements, technical maturity, tolerance for risk, budget, and a host of other factors. 

So what are the differences between these two solutions? Although there are numerous variances in the detailed workflows and functionality of the solutions, there are five key high-level variables that we should aware of.

  1. Best of breed functionality vs. more tightly integrated modules. The software strategy of the two vendors could not be much different. While SAP has built a solution primarily from the ground up, Oracle has grown primarily through acquisition of best-of-breed point solutions. For example, Oracle has acquired Demantra for advanced sales and operations planning, Hyperion for financial reporting, and Siebel for CRM, while SAP has built much of this functionality into its core ECC and All in One ERP solutions.
  2. Product roadmap. SAP continues to build upon and enhance its core product offering, while Oracle is moving toward Fusion. While some may suggest that Oracle is more innovative or visionary in its technology direction, it also means that there may be more uncertainty with Oracle’s product lines. This is especially true for clients considering Oracle’s JD Edwards and Peoplesoft solutions.
  3. Flexibility. Although very powerful, SAP can be more difficult to change as a business evolves. This is both a strength and a weakness: it is tightly integrated and helps enforce standardized business processes across an enterprise, but it can be more difficult to modify the software to adjust to evolutions to core processes and requirements. Oracle’s best of breed approach, on the other hand, can allow for more flexibility to accommodate changing business needs, but this strength can become a weakness when it becomes harder to enforce standardized processes across a larger organization.
  4. Implementation cost, duration, and risk. Although both solutions typically cost more and take longer to implement than most Tier II ERP software, there are distinct differences between the two. Oracle has a slight advantage in average implementation duration and an even larger advantage in average implementation cost, at 20% less than SAP. SAP, on the other hand, has the lowest business risk of the two, measured via the probability of a material operational disruption at the time of go-live.
  5. Business benefits and satisfaction. This is perhaps SAP’s greatest strength. Although Oracle has the highest executive satisfaction level of all ERP vendors across the globe, SAP leads the pack in actual business benefits realized. Assuming the #1 reason most companies implement ERP software is to achieve tangible business benefits, this can be enough to justify SAP as a solid solution for many companies.

The key takeaway here is that, as with any ERP solution, SAP and Oracle both have their strengths and weaknesses. One solution may be the best fit for one organization, while not a good fit for others, even within the same industry. The only way to make sense of the pros and cons in a way that is meaningful to your organization is to engage in a robust ERP software selection process that considers your requirements, priorities, and competitive advantages to find the right fit.

The city of Pune from a HillTop

Everyone in Pune are enjoying this monsoon season and so do we. Few weekends back I, with few of friends went to a hilltop nearby to enjoy the fresh air and rain in the evening. The place was so cool and the view was so panoramic. Here are some pics for you all.


Facebook vs Google+:My thoughts

This is the era of social networking and we are the people who live by it. It all started when I was in my engineering. First Orkut made a strong foundation in India amongst the youth. I still remember those days when we were so addicted to Orkut for making new friends, getting number of scraps, changing  profile name and pictures the most unusual and interesting way and also changing the themes as well. Orkut was a huge success in India at that time. As time passed, we heard about twitter ,facebook, myspace and some other similar social forums. To be honest, I loved orkut so much that I never bothered about these other social forums at that time. One fine day, one of my friend asked-‘Hey do you know twitter? I simply replied ‘Ya I have heard about it, but have not explored yet…what’s interesting about it? ’…He said-‘You can follow anyone there and get updates of their life’…’Is it?’…..’Yes…even you can follow Sachin Tendulkar and Amitabh Bachchan’…He said. I got some interest at that time and explored the 140 character world. But the interest just finished in few months. ’Why do I need the updates of other people’s life?’….I mean if they did something worth knowing then we can get that piece of information easily in newspaper and other mediums. Then came the facebook era. Initially I found hard to understand the facebook. But slowly I analyzed that it comes up with so many few features that eventually drag me from orkut. The same might happen to many of my friends. Unlike the other social networks facebook’s growth was solid and it keeps the platform changing frequently so as to give the people something new and keeping them busy with them so that they will not feel bored and think of going outside facebook. Today facebook has set many new standards to social networking and now facebook’s standards have become as the current definitions of social networking.

Now Google has again entered into the social networking game with new strategies. Google’s new social networking platform Google plus has been released as an “Invite only” release and this is a popular marketing technique nowadays to intensify the users’ urge to join while doing the beta testing with a limited number of users. Now I am using G+ and I think it can give a very good competition to facebook, but will need serious innovations to virtually be a facebook killer.

Now what’s in Google Plus?

Circles:  — The groups of your life

Google Circles are groups of friends you organize by topic: Friends, Family, College Buddies, Roommates, etc. From your Circles page you drag and drop your contacts into each of these groups, which make it easier to share what you want with them.


Sparks – Your interest tracker

Sparks is like Google Reader, except it brings content to you automatically based on your interests. Each topic (ex tech, photography, whatever) will get its own “Spark” page and provide links to related articles, videos, photos, etc


Hangouts — Lets you video chat with all your buddies

Hangouts are virtual rooms where you can video chat with people in your circles. For example, if you’re not busy, you can start a talk with your pals. So, basically, it’s just video chat.


Huddles — A new group messaging app

Huddles are group messaging for people within your Circles. There’s a mobile app available for Android now that lets you send messages from your phone. Select your group and everyone can chat with each other.


Instant Upload shares your mobile photos


This one’s simple. When you snap a photo on your Android phone, it’s automatically uploaded to Google+.


Here is another beautiful comparison between the two taken from net.

Now whatever the competition is, at the end we are only the people who will be benefited. Social networking is a market that closely works on peoples’ psychology giving them a virtual world with an environment that they want. Now who knows facebook comes out with new innovations the next day, or some other will come out of a blue to change everything. Till then live in present and enjoy with whatever you like.

Vote here to see who likes what……….

Flexfields in Oracle Inventory

Oracle Inventory provides the following flexfields:

1] Account Aliases

Flexfield Code: MDSP



Comment: This key flexfield supports only one structure.

2] Item Catalogs

Flexfield Code: MICG



Comment: This key flexfield supports only one structure.

3] Item Categories

Flexfield Code: MCAT


Unique ID Column: CATEGORY_ID

Comment: You must design and configure your Item Categories Flexfield before you can start defining items since all items must be assigned to categories. You can define multiple structures for your Item Categories Flexfield, each structure corresponding to a different category grouping scheme. You can then associate these structures with the categories and category sets you define.

4] Sales Orders

Flexfield Code: MKTS


Unique ID Column: SALES_ORDER_ID

Comment: The Sales Order Flexfield is a key flexfield used by Oracle Inventory to uniquely identify sales order transactions Oracle Order Entry interfaces to Oracle Inventory. Your Sales Order Flexfield should be defined as Order Number, Order Type, and Order Source. This combination guarantees each transaction to Inventory is unique. You must define this flexfield before placing demand or making reservations in Oracle Order Entry. You must set up the OE: Source Code profile option to determine the source code you will use in for the third segment of this flexfield to guarantee that each transaction is unique. (Oracle Inventory defaults the value of the OE: Source Code profile option to ‘ORDER ENTRY’.)

5] Stock Locators

Flexfield Code: MTLL



Comment: You can use the Stock Locators Flexfield to capture more information about stock locators in inventory. If you do not have Oracle Inventory installed, or none of your items have locator control, it is not necessary to set up this flexfield. If you keep track of specific locators such as aisle, row, bin indicators for your items, you need to configure your Stock Locators Flexfield and implement locator control in your organization.  This key flexfield supports only one structure.

6] System Items

Flexfield Code: MSTK



Comment: You can use the System Items Flexfield (also called the Item Flexfield) for recording and reporting your item information. You must design and configure your Item Flexfield before you can start defining items. All Oracle Applications products that reference items share the Item Flexfield and support multiple-segment implementations. However, this flexfield supports only one structure. You must set up your OE: Item Flexfield profile option to specify the Item Flexfield structure that you will use for your Oracle applications. Users can also set up the OE: Item Flexfield Entry Method profile option to specify your preferred method of entry for this flexfield.

Key Tables in Oracle Inventory

Here is a brief description of the key tables in Oracle Inventory.


Table Description
MTL_PARAMETERS It maintains a set of default options like general ledger accounts; locator, lot, and serial controls, inter-organization options, costing method, etc. for each organization defined in Oracle Inventory. Each organization’s item master organization (MASTER_ORGANIZATION_ID) and costing organization (COST_ORGANIZATION_ID) are maintained here.
MTL_SYSTEM_ITEMS_B This is the definition table for items. This table holds the definitions for inventory items, engineering items, and purchasing items. 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. Items now support multilingual description. MLS is implemented with a pair of tables: MTL_SYSTEM_ITEMS_B and MTL_SYSTEM_ITEMS_TL. Translations table (MTL_SYSTEM_ITEMS_TL) holds item Description and Long Description in multiple languages.
MTL_ITEM_STATUS This is the definition table for material status codes. Status code is a required item attribute. It indicates the status of an item, i.e., Active, Pending, Obsolete.
MTL_UNITS_OF_MEASURE_TL This is the definition table for both the 25-character and the 3-character units of measure. The base_uom_flag indicates if the unit of measure is the primary unit of measure for the uom_class. Oracle Inventory uses this table to keep track of the units of measure used to transact an item.
MTL_ITEM_LOCATIONS This is the definition table for stock locators. The associated attributes describe which subinventory this locator belongs to, what the locator physical capacity is, etc.
MTL_ITEM_CATEGORIES This table stores inventory item assignments to categories within a category set. For each category assignment, this table stores the item, the category set, and the category. Items always may be assigned to multiple category sets. However, depending on the Multiple Assignments Allowed attribute value in a given category set definition, an item can be assigned to either many or only one category in that category set.
MTL_CATEGORIES_B This is the code combinations table for item categories. Items are grouped into categories within the context of a category set to provide flexible grouping schemes. Item categories now support multilingual category description. MLS is implemented with a pair of tables: MTL_CATEGORIES_B and MTL_CATEGORIES_TL. MTL_CATEGORIES_TL table holds translated Description for Categories.
MTL_CATEGORY_SETS_B It contains the entity definition for category sets. A category set is a categorization scheme for a group of items. Items may be assigned to different categories in different category sets to represent the different groupings of items used for different
purposes. An item may be assigned to only one category within a category set, however. STRUCTURE_ID identifies the flexfield structure associated with the category set. Category Sets now support multilingual category set name and description. MLS is implemented with a pair of tables: MTL_CATEGORY_SETS_B and MTL_CATEGORY_SETS_TL. MTL_CATEGORY_SETS_TL table holds translated Name and Description for Category Sets.
MTL_DEMAND This table stores demand and reservation information used in Available To Promise, Planning and other Manufacturing functions. There are three major row types stored in the table: Summary Demand rows,
Open Demand Rows, and Reservation Rows.
MTL_SECONDARY_INVENTORIES This is the definition table for the subinventory. A subinventory is a section of inventory, i.e., raw material, finished goods, etc. Subinventories are assigned to items (in a many to one relationship), indicating a list of valid places where this item will physically exist in inventory.


It stores quantity on hand information by control level and location. It is maintained as a stack of receipt records, which are consumed by issue transactions in FIFO order. The quantity on hand of an item at any particular control level and location can be found by summing TRANSACTION_QUANTITY for all records that match the criteria.
MTL_TRANSACTION_TYPES It contains seeded transaction types and the user defined ones. USER_DEFINED_FLAG will distinguish the two. The table also stores the TRANSACTION_ACTION_ID and TRANSACTION_SOURCE_TYPE_ID that is associated with each transaction type.
MTL_MATERIAL_TRANSACTIONS This table stores a record of every material transaction or cost update performed in Inventory. Records are inserted into this table either through the transaction processor or by the standard cost update program. The columns TRANSACTION_TYPE_ID, TRANSACTION_ACTION_ID, TRANSACTION_SOURCE_TYPE_ID, TRANSACTION_SOURCE_ID and TRANSACTION_SOURCE_NAME describe what the transaction is and against what entity it was performed.
MTL_ITEM_ATTRIBUTES This table stores information on item attributes. Each
row in the table corresponds to an attribute. The table stores the attribute name, the corresponding user-friendly name seen by the users, and the kind of validation enforced on the attribute.
MTL_ITEM_CATALOG_GROUPS_B This is the code combinations table for item catalog groups. An item catalog group consists of items that can be described by the same set of descriptive elements or item properties. When an item is associated with an item catalog group, the item inherits the descriptive elements for that group which then behave like additional item attributes.
MTL_ITEM_REVISIONS_B It stores revision levels for an inventory item. When an item is defined a starting revision record is written out to this table, so every item will at least have one starting revision.
MTL_ITEM_TEMPLATES_B This is the definition table for item templates. It
contains the user-defined name (TEMPLATE_NAME) and description (DESCRIPTION) ONLY for backward compatibility. You can use a template to set certain item attributes.
MTL_DESCRIPTIVE_ELEMENTS It stores the descriptive element definitions for an item catalog group. Descriptive elements are defining properties used to describe in the catalog group.
MTL_DESCR_ELEMENT_VALUES It stores the descriptive element values for a specific item. When an item is associated with a particular item catalog group, one row per descriptive element (for that catalog group) is inserted into this table.
ORG_ACCT_PERIODS It holds the open and closed financial periods for organizations.
MTL_CUSTOMER_ITEMS It stores customer item information for a specific customer. Each record can be defined at one of the following levels: Customer, Address Category, and Address. The customer item definition is organization independent.
MTL_SYSTEM_ITEMS_INTERFACE It temporarily stores the definitions for inventory items, engineering items and purchasing items before loading this information into Oracle Inventory.
MTL_TRANSACTIONS_INTERFACE It allows calling applications to post material transactions (movements, issues, receipts etc. to Oracle Inventory  transaction module.
MTL_ITEM_REVISIONS_INTERFACE It temporarily stores revision levels for an inventory item before loading this information into Oracle Inventory.
MTL_ITEM_CATEGORIES_INTERFACE This table temporarily stores data about inventory item assignments to category sets and categories before loading this information into Oracle Inventory.
MTL_DESC_ELEM_VAL_INTERFACE This table temporarily stores descriptive element values for an item that is associated with an item catalog group before loading this information into Oracle Inventory.
MTL_DEMAND_INTERFACE It is the interface point between non-Inventory applications and the Inventory demand module. Records inserted into this table are processed by the Demand Manager concurrent program.
MTL_INTERFACE_ERRORS It stores errors that occur during the item interface process reporting where the errors occurred along with the error messages.


Beautiful flowers of Assam!

Assam is a land where one can see unseen beauty of nature. You can find beautiful flowers in every corner of Assam. Here is a small collection collected by me during my recent visit to my native.

© Copyright for all images remains with the photographer.

Please DO NOT distribute, copy, publish or use the images or any part of the images in any way without express permission of the copyright holder.