Inventory Transactions Useful Information


/*In oracle Applications, the hierarchy of org's is given below.
 
   Set of Books => Legal Entities => Operating Units => Inventory Organization.
 
   The Set of Books is defined in the General Ledger application setups, Legal Entity 
   is defined in the HR while the Operating Units and Inventory Organization
   (organization) are defined in the Inventory App. 
 
   In Inventory, the items are stored in different subinventories, locations etc. 
   We can find what are all the subinventories that are available in the systems. 
   Generally we define subinventories corresponding to an inventory organization 
   and one inventory organization will have several subinventories associated 
   with it.(setup=>subinventories)
*/
 
SELECT secondary_inventory_name,description, organization_id,location_id ,a.* 
FROM   mtl_secondary_inventories a
WHERE  secondary_inventory_name LIKE 'MY%'
 
--select * from mtl_physical_inventories , mtl_physical_subinventories
 
/*  We can define the locations that these subinventories will be physically located 
using  the setup And associate these locations to a particular sub inventory,it 
can be seen from above query. */
 
   SELECT location_code, location_use, description descr,ship_to_Location_id, 
          ship_to_site_flag,inventory_organization_id 
   FROM   hr_locations
   WHERE  location_code LIKE 'MY%'
 
   /* The different types of transactions that are available in Inventory are given 
   below.They are like 
            Subinventory Transfer, 
        Move Order, 
     Container Pack etc. 
    A transaction type is a combination of transaction
   source type and transaction action. We can have a user-defined transaction 
   source types, but there are a predefined set of transaction actions(a user cannot 
   define anymore tranasction actions). So based on a pre-defined transaction actions 
   and source types, we have some predefined transaction types. However if we need to 
   have a new transaction type(apart from already provided ones), we have to create a 
   new transaction source type, and create a new transaction type based on the new 
   transaction source type and associating it with a any of the existing transaction 
   actions.
      
   Ex's of transaction action is "Issue from Stores", "Receipt into Stores" etc.
   Ex of a predefined txn source type is "Sales Order ". 
   So based on these two, the predefined transaction type is "Sales Order Issue".
   Another ex is we can have a predefined source type as "Goodwill" and transaction 
   action is "Issue from Stores" and Transaction type is "Goodwill Donation". 
      
   One more ex is transaction type "Subinventory Transfer" which corresponds to the 
   transaction action "Subinventory Transfer".
   */
      
   SELECT transaction_type_name, transaction_source_type_id, status_control_flag
   FROM mtl_transaction_types
   ORDER BY 1
      
   SELECT transaction_source_type_id, transaction_source_type_name, description
   FROM mtl_txn_source_types
   ORDER BY 1
 
   /* So we can see that items can participate in different kinds of transactions like 
   "Issue from stores" in which case they go out to the sales order, "Receipt into Stores" 
   coming into the inventory, moving across the subinventory which is called subinventory 
   transfer etc. So all these transactions are stored in the table mtl_material_transactions. 
   So given a item name, we can always find out in all the transactions that this item 
   has participated in, by using the following query. So all these transactions are called 
   Item Transactions or Material Transactions. It is interesting to see that the item's 
   transaction quantity having a negative balance as well as positive balance.*/
   */
      
   SELECT transaction_quantity, inventory_item_id,subinventory_code,source_code,
   transaction_type_id, transaction_action_id, transaction_source_type_id
   FROM mtl_material_transactions
   WHERE inventory_item_id =(SELECT inventory_item_id FROM mtl_system_items_b 
   WHERE organization_id= 1 AND segment1='CISCO TEST ITEM1'
   ) 
   
   /* Move Orders :- Move Orders are requests for the movement of material within 
   a single inventory organization. This will allow planners and facility managers 
   to request the movement of material within the warehouse/facility for purposes 
   like Replenishment, Material storage relocations and Quality Handling.
   Move Orders are restricted to only with in inventory organizations, and if you 
   want to move out of an organization, then we have to use the internal requisition process.
 
   Oracle provides for 3 types of Move Orders
 
   Move Order Requisitions :: Manually generated request for Move Order.
 
   Replenishment Move Order:: ex Preapproved automatic move order which can happen when a minimum quantity is
                reached in inventory.
   Pick Wave Move Order    ::  Preapproved requests for subinventory transfers to bring material from a source
                   location to a staging subinventory.
   The Move Order type refers to the entity that created the Move Order. For all Move orders the final result is
   either Subinventory Transfer or Account Process. Move Orders use Inventory picking rules to suggest
   source location, lot number, revisions for the material to be picked.
 
   So out of the 3 different move order types, two of them are typically pre-approved move orders while the 
   Move order requisition is a manual move order,which we can allocate and transact it manually.
   The different steps that a move order will go thru are given below.
 Move Order Creation.
 Move Order Approval.
 Move Order Allocation => At this stage, the Inventory will use picking rules defined to allocate the 
   Material to this particular Move order.At this point the material reservation is made.
   that is we can check the information in the table mtl_reservations.
   In this step, it will fill all the details like the from and to subinventory,but does not
   actually execute those steps.
 Print Pick Slip (optional) => This is an optional step to print the pick slip.
 Move Order Transaction. => Typically each Move order will consist of a header and lines. Each line
  will correspond to an item. We can transact one line at a time or all together.
  Now at this point the actual subinventory transfer will happen. That is we can see the records
  in the material transaction mtl_material_transactions.
   */
 
 
   /* Generally quantities of items are stored in subinventories corresponding to 
   an organization. An org can get a material qty from a transaction which can either 
   be a purchase , movement from another subinventory, manufactured etc. If we have 
   any material transaction like subinventory transfer of any particular item also
   we can see that from this query.  */
   
   SELECT b.inventory_item_id item_id, b.organization_id org, b.segment1 item_code,  
   a.transaction_quantity, subinventory_code subinvt,  cost_group_id
   FROM mtl_onhand_quantities_detail a, mtl_system_items_b b
   WHERE a.organization_id = b.organization_id
   AND  a.inventory_item_id = b.inventory_item_id
   AND  b.segment1 = 'CISCO TEST ITEM1'
 
 
  -- Givena a item code, query will give the organization name. 
   SELECT inventory_item_id, a.organization_id , b.name
   FROM mtl_system_items a, hr_organization_units b
   WHERE segment1='MARUTI 4000'
   AND a.organization_id = b.organization_id --707983616
 
   -- Given a item , we can find all the orders which have placed an order on these items
   SELECT header_id, line_id
   FROM oe_order_lines_all 
   WHERE ordered_item='MARUTI 4000'
 
   /* An Item onhand quantity is the total quantity of that item. We can see that 
   quantity in the mtl_onhand_quantities_detail table. Out of this amount, we can 
   place reservations for that item either on the order line itself or we can even 
   go to the Inventory and do this. In the latter case, we choose the "Reservations" 
   form to place a reservation on this item. Incidentally we need to provide the 
   order number and the line number which has this item, which creates a reservation 
   on that item.   In that case, the data goes into the mtl_reservations table. Hence 
   the available quantity of any item is  onhand minus the reserved quantity. So the 
   formula is
        onfiltered= Reserved + Available (to transact, reserve or sell).
   
   The below query will also give you the order line id (demand source line id) of an order which has placed 
   the reservation. */
 
   SELECT demand_source_header_id, demand_source_line_id,reservation_quantity
   ,supply_source_type_id,subinventory_code
   FROM mtl_reservations
   WHERE inventory_item_id = 
   (SELECT inventory_item_id FROM mtl_system_items WHERE segment1='TESTSTD1'
   AND organization_id =1)
   AND organization_id = 1
   
   /* To get all those order lines which have place a reservation on a particular 
   item, use this query.*/
   SELECT * 
   FROM oe_order_lines_all 
   WHERE line_id IN
       (SELECT demand_source_line_id
       FROM mtl_reservations
       WHERE inventory_item_id = 
    (SELECT inventory_item_id FROM mtl_system_items WHERE segment1='TESTSTD1'
       AND organization_id =1)
       AND organization_id = 1) 
 
 /* Generally any item when it is first created will be assigned a default
  category set, which can be defined as part of setup data. 
 */
      SELECT a.inventory_item_id,a.organization_id, b.category_set_name, c.segment1
      FROM mtl_item_categories a, mtl_category_sets b, mtl_categories c
      WHERE a.category_set_id = b.category_set_id
      AND a.category_id = c.category_id
      AND inventory_item_id = 
      (SELECT inventory_item_id FROM mtl_system_items_b WHERE segment1='LUCKYITEM'
      AND organization_id =1)
      AND organization_id = 1
 
      SELECT category_set_id,category_set_name,description,structure_id,validate_flag
      FROM mtl_category_sets
      WHERE description LIKE '%Item%'
       
      SELECT * --category_id,structure_id,segment1, description
      FROM mtl_categories
   
      SELECT a.inventory_item_id,a.organization_id, a.category_set_id, 
      a.category_id--,a.cms_replication_date
         ,b.segment1,b.description, c.category_set_name, c.description
      FROM mtl_item_categories a, mtl_categories b, mtl_category_sets c
      WHERE inventory_item_id = 
     (SELECT inventory_item_id FROM mtl_system_items 
       WHERE segment1='CISCO TEST ITEM1'
      AND organization_id = 1)
      AND a.category_id = b.category_id
      AND a.category_set_id = c.category_set_id 
 
   /* Item attributes and status codes : Item attributes are information 
   about an item for ex, lead time, revision control, order cost etc. We can have 
   2 kinds of control levels for these item attributes, which we set at the 
   time of defining the item. They are master level (which is centralized i.e 
   attributes defined at master level will have same values at all the org 
   levels. And in org level the values defined will have different values at 
   different orgs. ex UOM. 
 
   There are two kinds of item attributes, 
      --- Item Defining attributes
   --- Item Status attributes
   
   /* You cannot enable the status attribute, until you set the corresponding 
   item defining attribute to Yes */ 
   
   The Item Defining attributes are 
            Inventory Item
      Internal Ordered 
      Purchased
      MRP Planning Method
      Costing Enabled
      Engineering Item
      Customer Ordered
      Support Service 
      Invoiceable Item
   
   All the above item defining attributes are given by the below query.
   
     SELECT   inventory_item_flag, 
        purchasing_item_flag, 
     internal_order_flag,
     mrp_calculate_atp_flag,
          costing_enabled_flag,
     eng_item_flag, 
     customer_order_flag,
     serviceable_product_flag
     --serviceable_component_flag ,service_item_flag
     FROM   mtl_system_items_b
   
   THe Item status attribute are 8 and they are,
    
            BOM Allowed, 
       Build in WIP,
       Customer Orders Enabled, 
       Internal Orders Enabled, 
          Invoice Enabled, 
       Transactable, 
       Purchasable, 
       Stockable. 
   
   All these attributes are flags and the following query will give all those attributes. */
 
   SELECT inventory_item_id, organization_id,
       bom_enabled_flag, build_in_wip_flag, customer_order_enabled_flag,
    internal_order_enabled_flag,
       invoice_enabled_flag,mtl_transactions_enabled_flag, 
    purchasing_enabled_flag,stock_enabled_flag
   FROM  mtl_system_items_b  
   WHERE  inventory_item_id = 101177  
 
   Here is the mapping of the Item defining vs the Item status attributes
     
     Inventory Item   (stockable, transactable, BOM Allowed)          
         Internal Ordered (Internal Orders Enabled) 
  Purchased   (Purchasable)
         MRP Planning Method
         Costing Enabled  
         Engineering Item
         Customer Ordered  (Customer Orders Enabled)
         Support Service 
  Invoiceable Item (Invoice Enabled)
   
 /* Before we go further, let us briefly dwell about the functional area 
 and the default category sets in Inventory. In Inventory for every functional 
 area, there is a default category set associated. We can see this from the 
     setup => Items => Categories => Default Category Sets. 
 Alternatively we can see that from the database table as well, as given below. 
 The primary purpose of using the categories and category sets is reporting.
 We can generate reports based on them.*/
     
  SELECT ds.functional_area_id,
           ml.meaning functional_area_desc, ds.category_set_id,
            cst.category_set_name, cst.description category_set_description
   FROM mtl_default_category_sets ds,
           mfg_lookups ml,
           mtl_category_sets_tl cst
    WHERE  ml.lookup_type = 'MTL_FUNCTIONAL_AREAS'
      AND  ml.lookup_code = ds.functional_area_id
      AND  cst.category_set_id = ds.category_set_id
      AND  cst.LANGUAGE = USERENV ('LANG')
 
 /* Having defined the item defining attributes and the functional areas. 
 Whenever an item defining attribute is set to yes for an item, then the default 
 category set of the corresponding functional area is assigned to that item.
 
 Item Attribute Controls. You can choose to have centralized or decentralized 
 control of item attributes. Defining attribute controls does not determine 
 the value of an attribute ,only the level at which it is controlled.
 As mentioned before, there are 2 kinds of attribute controls, which are 
  a) item attributes controlling at the master/org level and 
 b) status attribute value control. 
 Both these things we can do from the form 
       setup => Items => Attribute Controls.
 */
 
 SELECT inventory_item_status_code,attribute_name, attribute_value
 FROM  mtl_status_attribute_values
 WHERE  inventory_item_status_code ='Active'
 
 /*From the below query we can see that if the status setting is 1 i.e 
 corresponding to "Sets Value",then it means it is status controlled. and if 
 the status setting is "Not Used", then that particular status attributes is
 not status controlled. The same thing shows up when we go to the form 
            setup => Items => Status Codes. 
  */
  SELECT user_attribute_name, user_attribute_name_gui,
   status_control_code, -- (1 for status setting "Sets Value", 3 for Status setting "Not Used") 
  control_level, -- (1 for master,2 for org)
  attribute_name,  
  level_updateable_flag ,attribute_group_id
 FROM  mtl_item_attributes
 WHERE  user_attribute_name IN 
   ('BOM Allowed','Build in WIP','Purchasable','Stockable','Invoice Enabled',
   'Customer Orders Enabled','Internal Orders Enabled','Transactable')
 
 /* Now let us see the form setup => Items => Status Codes, there we can group 
 a item status to  these set of 8 status attributes and then we can find that. */
 
 SELECT ROWID, inventory_item_status_code,attribute_name, attribute_value
 FROM  mtl_status_attribute_values
 WHERE  inventory_item_status_code ='Active'
  
 /*PICKING RULES : Typically the inventory items are stored in different 
 subinventories,will have different lot numbers and revisions.Which one needs 
 to be picked will be determined by the picking rules.
   We can define picking rules which basically define the order in which 
 revisions, lots , subinventories and locators are picked for sales orders.
 You can get the picking rules from the below query. When you define an 
  item, you can choose a picking rule that you have defined. When Oracle 
 Shipping Execution submits requests to Oracle Inventory, it uses the info in 
 picking rule to generate the picklists for sales orders.  
 
 A picking rule can be specified from the order management tab in the Item definition form*/ 
 
 SELECT picking_rule_id, picking_rule_name, description,
  revision_rule , 
  lot_rule, 
  serial_number_rule, 
  subinventory_rule,locator_rule
 FROM  mtl_picking_rules
  
 /*As mentioned , there can be various orders that you can define, like revision order, lot order, subinventory
 order,locator order. Now in the case of 
 revision order, you can choose to have the most recent revision or earliest revision effective date.
 lot order, pick the lowest lot number or earliest lot effective date
 subinventory order , pick by order defined by subinventory, or earliest subinventory receipt date.etc 
 Subinventory receipt date means, what is the earlies receipt date in that subinventory.*/
 
 /*Item templates. Since we know that there are hundreds of attributes which an item can have,(distributed 
 across various tabs in form), it can be tedious to enter all these attributes for each item. Hence we can 
 define a template (for frequently defined items) and then while defining an item, we can choose this template
 from Tools => copy from , and then all these attribute values will be defaulted immediately.*/
  
  SELECT rule_id, rule_name,description 
  FROM   mtl_atp_rules
 
 
  /* The stock locators are basically areas within the subinventory where the 
   inventory items are stored. Hence each stock locator will correspond to a 
   subinventory.You can set up an stock locator and assign it to the subinventory 
 from setup => Items => Stock Locators.*/
 
 SELECT inventory_location_id, organization_id,  inventory_location_type,subinventory_code,segment1,status_id,
 LENGTH,width,height -- and other dimensional attributes.
 FROM mtl_item_locations
 WHERE subinventory_code LIKE 'MY%'
 
 /* To know whether a particular inventory item is lot controlled or serial controlled we can run the 
 below query. Can a item be both lot and serial controlled ????? */
 
    SELECT lot_control_code,-- 1 for no control and 2 for full control.
    auto_lot_alpha_prefix, 
    default_lot_status_id, 
    fixed_lot_multiplier,
    start_auto_lot_number,
    std_lot_size
    --
    serial_number_control_code,
    serial_status_enabled,
    start_auto_serial_number
    FROM mtl_system_items_b 
 WHERE segment1 ='LUCKYITEM'
  
/*
Available to Promise (ATP)
  
ATP computation options :
ATP computations use the consumption and accumulate available features. 
Consumption resolves negative ATP after it is already determined that there is not enough 
available inventory.
Accumulation uses the excessive inventory from a period to determine where the new demand can be
placed.
Accumulate Available :
This option determines how the
To implement ATP, you have to define ATP rules. ATP rules let you tailor the ATP calculation to suit your business needs.
 
Each ATP rule is a combination of 
            ATP computation options
            Time fence options
            Supply and demand sources
*/
 
 
   SELECT  supply_type_code, supply_source_id,po_header_id, po_line_id, po_distribution_id,item_id,quantity,
      destination_type_code,to_organization_id
   FROM  mtl_supply 
   --where item_id = 207984204
 
 
   (SELECT DISTINCT item_id FROM mtl_supply)
   
   SELECT inventory_item_id FROM mtl_system_items_b 
   WHERE segment1='LUCKYITEM'
   
   SELECT COUNT(*) FROM mtl_demand
 
 
/* Just like GL,AR ,Inventory has its own periods as well & we can open period from 
setup => costs => cost periods .And the data goes into the org_acct_periods. 
 
Oracle Inventory --> Accounting Close Cycle --> Inventory Accounting Periods --> Change status 
 
In inventory only one period at any time, while in GL or PO any periods can be open.
 
This is the most trickiest part. Actually in inventory if you need to open 
any period, then the previous period needs to be already opened. That is 
if the previous period is not open yet, just open and close it.
 
Also ensure that the purchasing periods are open, however in this case 
more than one periods can be open simultaneously.
  
 Setup => Financials => Accounting =>  Control Purchasing Periods.   
  
If you do not have any item on hand, then you can do a subinventory transfer 
of that item and then have some quantity available in the subinventory.
*/
 
/*
In the general planning tab for an item in inventory, you enter the type of 
planner that you use, i.e Min-Max planning method, Reorder Point planning 
method or no plan at all.
 
In the case of Min-Max planning method, you enter the Min and Max amounts 
for that item. If a min is entered, you want atleast that amount of that 
item on-hand always and if that amount is reached, Oracle inventory will
suggest for placing a new order.
If a max is entered, then you don't want more than the max amount of that item.
 
Reorder Point Planning : An inventory planning method that is used to determine 
when and how much to order based on customer service level, safety stock, 
carrying cost,  order setup cost, Lead time and average demand.
 
Minimum Order Quantity : this is the amount of the item that the system 
places an order on, whenever it needs to reorder. Ex for discrete items, 
when the net requirements fall short of the minimum order quantity, the planning algorithms suggest the minimum order quantity.
 
Maximum Order Quantity :
 Or optionally you can have an item to be MRP/MPS planned.
 
If an item is vendor managed, then you should enter the planner for that item.*/ 
 
-- hr_organization_units is a view based on hr_all_organization_units and 
--hr_all_organization_units_tl.
    SELECT * 
 FROM hr_organization_units
    WHERE organization_id = 1
 
   SELECT * FROM hr_all_organization_units_tl
   
   SELECT * FROM hr_all_organization_units
   WHERE organization_id =1
 
  SELECT * FROM mtl_parameters_view
 
--Move Order Issue and Mover Order Transfer :  
 
/*Miscellaneous Receipt : 
 Transactions => Miscellaneous Transaction (type = Miscellaneous Receipt)
 Usually if we quickly want some amount of quantity for a particular item, 
 then we can either do the PO,and receive against that PO. Or we can do a 
 miscellaneous receipt for that particular item. Obviously when we do a miscellaneous 
 receipt, we receive that particular item into a particular inventory
 organization and into a particular subinventory. 
*/
 
-- Once we log into the Oracle Apps, the Operating unit is chosen by the 
 
 profile value 'MO:Operating Unit'.
 
 
 SELECT * FROM mtl_customer_item_xrefs  --_v
 
 /* What are customer items?. Is it same as inventory items with customer orders enabled - NO */
  SELECT customer_item_id, customer_id, address_id
    ,item_definition_level
  FROM mtl_customer_items
 
 
  -- Item Categories Stuff : 
  /**************************
  Usually we will have a lot of structures defined for this particular KFF "Item Categories".
  
  Here the data goes into a key columns of the 
  underlying table (not descriptive columns like attribute etc). The category id 
  is the primary key which is based on the unique values of the segment values. 
  */
 
  SELECT category_id, structure_id ,attribute_category, attribute2, 
     segment1, segment2, segment3
  FROM   mtl_categories_b
 
 /* When we define the category set,we use this particular KFF structure. That 
  is we can define any number of category sets corresponding to different structures. 
  Let us go thru the steps required to define a Item category KFF ,structure,
  codes and the associated stuff. 
 
  1. First step, we have a KFF "Item Categories" and we can define a structure
  corresonding to this KFF,using the menu,,
    setup => KFF=> Segments
 
  2. The next step is to create the Item Categories or the combinations corresponding
  to the Item Category Segment that is being created above. This process is creating
  Category Codes. This is done using the menu, 
       Setup => Items => Categories => Category Codes 
   And then choose "New". Now we have to start creating the Category Codes,by
   choosing the structure in the Structure Name field. This is the same  
   structure that we have created in step 1 . Now once we come to Category
   field, we enter the values corresponding to all the segments for this particular
   structure. Basically here we are enterting the combination of values. If each
   segment has a value set attached to it in the segment definition, then we 
   have to choose from the valueset, otherwise we can enter any values we want to.
   So like this, we define as many Item categories i.e combination of values as
   we want. So each such combination is a item category. A set of such 
   combinations is called a category set.
   
  3. The next step is we come to the Category Sets form, 
      Setup => Items => Categories => Category Sets 
 In this step we create a Category Set. that is, we form a set of combinations
 that we have created in the above step. 
 Hence in this from,we enter a Category Set name and description and in the 
 Flex structure field, we enter the same structure that is created in the 
 step 1. And in the below block, we enter all/some of the categories that are 
 created in the above step 2. We also specify what is the default category 
 for this item. 
  
 Hence a very important point to note here is that,out of all the structures we 
    choose the structure by category set. There is nothing like profile value which 
   choose the particular structure or the particular category set. We can use
   multiple category sets at the same time for multiple inventory items and
   hence there is no option to set a specific category set.
 
    This concludes the Item Category Setup. Having created different categories
 and category sets, we can now assign Items to Item Categories. 
 
  Essentially we assign items to category sets just for reporting and grouping purposes.
   Now we come to the item master,choose a particular item and from the menue
              Tools => Categories 
  
  We can assign this item to a particular category set. What we need to understand is that 
  when we assign item to a category set, we choose a specific value out of all the values 
  in that particular category set.
  This tells us that this item belongs to that particular category.  */ 
  
 SELECT * FROM mtl_categories
    where creation_date >= trunc(sysdate)
 
   SELECT * FROM mtl_category_sets_b
 
What are the different types of Miscellaneous transactions.
 
 
 
interorg transfer.
 
what are inventory picking rules (Verisign does not use the inventory picking rules)
 
 
 
 
Usually since the valid GL combination codes are already created in GL, using the Account generator , it
is handy to go to GL and keep such combination,which can be used for entering the acct info in transactions.
011.2120.0000.140060.0000.000.000000 - Asset
011.9000.0000.250010.0000.020.000000 - Liability
011.9000.0000.360010.0000.000.000000 - Owners Equity
 
I think the account receipt/issue is basically a Miscellaneous receipt/issue, with the exception that
we specify a gl account at the time of receipt/issue.
 
It is important to note that for everything that we do in the Purchasing or OM, has an impact in Inventory in the
form of transactions. That is if we do a sales order pick release, then immediately a inventory transaction 
happens with the corresonding trasacation type (Sales Order Pick). And also the onhand quantities etc will get  
reflected accordingly.
 
Now we want to see if we do an internal req, does it do a corresponding internal req trx type in Inventory and for 
that, create an internal req, and see whether it shows in the material transactions
 as po req relation transaction type. ???????????????
 req # 119035042
 
Make sure that the item that you are ordering is Internal Order enabled.
For any internal orders, the price is automatically defaulted to 0
Also make sure the bill to location is specified for the internal customer
 
WHY the delivery did not get created and i had to create a auto create delivery.  ????????????
 
*/
 
--We can try to see what kind of transactions did what amounts from,   
    SELECT b.transaction_type_name,COUNT(*) 
    FROM mtl_material_transactions a , mtl_transaction_types b
    WHERE a.transaction_type_id = b.transaction_type_id --and transaction_type_id = 64
    GROUP BY b.transaction_type_name
    
    SELECT * FROM mtl_material_transactions WHERE transaction_type_id = 64
 
 
/* For each type of inventory transaction we will have the accounting information. 
however for some of items like expense item, we may not have the accounting records 
in the mtl_transaction_accounts.
 
Why is that we are not seeing the mtl_transaction accounts records for all the 
transactions even though it is an inventory item, not expense item. ????????
 
Basically, the inventory classifies an item as an asset type item, based on the 
subinventory. If we place a sales order on an asset item which is stocked in 
an asset subinventory.   
Usually pick release process can use a pick release rule which tells it to go 
to which subinventory andget it from. However even with out the rule, we can 
choose at the time of pick release ,which subinventoryshould be chosen. 
Interestingly, when we place an order, we can tell which inventory org in the 
form of the warehouse. we can also see the subinventory field(but not able to 
select value in it). If the pick release process picks it from an asset subinventory, 
then it goes ahead and creates the transaction accounts in the table,
*/
  
    SELECT * FROM mtl_transaction_accounts.
 
/*And if the item is picked from the expense subinventory , then it does not find 
an entry in the transaction accounts.
 
In the case where an item is received both in expense and asset subinventory and 
there is no picking rule, when I try to pick release such kind of item, I 
encountered an error, this is probably because the system is confused to pick that 
item from which subinventory. Oracle is not designed to handle this kind of cases.
 
Even though you define an asset item, you have to receive that item (using PO, Misc trx) into an asset 
subinventory, otherwise the transaction accounts will not be generated. We can try to do a subinventory 
transfer of an asset item from asset subinventory to an expense subinventory. What this effectively
means that we are moving a specific amount of quantity of that asset item to the expense subinventory 
as it is of no use/damaged. So this effectively means that we do not have any items in our asset subinventory.
 
 
what happens when we post it to GL. ???????
*/  
 
 
1). What are shipping Networks ?
Shipping networks determine between which two organizations you can do an inventory
transfer. That is ,say if you want to do an inventory transfer between two inventory
organizations M1 and M2, then you must define a shipping network between these two
inventory organizations and specify whether you want this transfer to be 
  -- Direct Or
  -- Intransit 
 
2). Explain the Inter-org transfer?
 
Inter-org transfer is the transfer of items between two different inventory organizations.
Remember this is not a transfer between two subinventories of the same inventory 
organization, but it is between two inventory organizations. You can create an
inter-org transfer using the menu 
    Transactions => Inter-org Transfer 
 
The from Org is the current inventory Organization.
The LOV for the To org is determined by the shipping networks that you define between
 the from Org to different organization. The shipping networks are defined here
   Setup  => Organization  => Shipping Networks.
 
You will be able to do an inter-org transfer to a particular destination organization
only if the internal order enabled flag is not checked in the shipping networks.
  
    
3). what is the difference between transactable and oe transactable??
transactable means u can perform transactions on that item. i.e you can enter orders and book them.
oe transactable means that trasactions can be interfaced to oracle inventory, that means, some of the transactions like pick release (which involve inventory transactions) cannot be performed, if you don't set this flag. mostly if the shippable flag is set, oe transactable is set, but if shippable is not set, you could still set this flag, for forecasting purposes. 
 
4). How do you create a Kit in Inventory ?
 
Create an item in Inventory,set it as inventory item, standard BOM and set pick components to Yes. This constitutes a kit, say xyz.
So a kit is a standard BOM with only mandatory components 
 So basically all you do in a kit is to select items in the kit like (one cd, one hardware security token, one user manual). So the kit does not have a work in process (wip) involved,only picking. Another important point is that a kit by itself will not onhand in inventory. Which means you will have on hand for cd, token and manual but no onhand for the kit xyz. 
OR
More easily ,just create an item and set the item type template as KIT in the main tab,and in the template all the appropriate flags will have been set. 
One thing, interested I noticed is that when you create a kit item, the shippable flag is not set,although the kit itself is shipped right? May be what that means is that there are no delivery lines created for the kit itself,as opposed to the component items for which the delivery lines are created.
We're only shipping the components and the Kit item is a logical unit. however in the case of ATO, we make ATO shippable since we ship the entire assembly and not individual components there.
PTO configuration has the extra step of clicking on the configurator button to choose the items. 
 
5). What is the difference between Asset type and Expense Types ??
 
Asset Type and Expense Type are opposite:  (Expense account is also called as Charge Account)
Earlier we have mentioned that, move orders are the orders which are used for moving the items between the
subinventories. However if we need to move the items across inventory organizations ,then we can use the
Internal Requisition process. In the Internal Requisition process, we have a clear way of mentioning the destination
and the source inventory organizations. At the lowest level, each item is stored at the subinventory level.Each
subinventory is either of asset type or expense type.
     Hence there is no concept of inter-org transfer if we have only one inventory organization.
    
An item is created as an ASSET item by setting the flag in the tab
     Costing => Inventory Asset Value  (and also costing enabling)
 and you also mention the COGS account. An Asset item's cost is realized at the time of selling that item. All
 stockable items are asset items.(Stockable item means no expense, it is an asset)
 
An item is created as an EXPENSE by NOT setting the flag in the tab 
     Costing => Inventory Asset Value
 However in this case, we have to mention what is the Expense account. An expense item cost is realized
 at the time of purchasing that item. Expense item means small items like stationery, pencils etc.
    
6). What is the difference between subinventory transfer, move order 
 (transaction mover order) ??
   Both the Move order as well as the subinventory transfer do the same result, 
   i.e they move the item from one subinventory to another. However with the 
   Move order, we have more functionality available.
 Usually the system creates the Move order. Generally if we want to do a 
 subinventory transfer we would go ahead and do the transfer,however some of 
 the other modules like Manufacturing can potentially do the transfers. In that 
 case, they would create a Move order. However someone should open that Move order
 inspect it and approve that Move order,so that either subinventory transfer or 
 account issue will happen. So the move order is a two step process,where in we 
 first create,approve,allocate the move order and then transact it.
 Look at OM stuff for more information. 
 
7). How to setup a Master Organization ??
 First we create an organization using the hr responsibility. once an 
organization is created,then we can use the menu
  setup => organizations => parameters
 to set up that organization as a master organization. 
 In here, we can also set up the child organizations
 */
 So to setup each child organization ,go to the change organization menu option,choose 
 your inventory organization and after that,come to organization parameters and choose 
 your master organization. 
 
 
8). What is the difference between Item Cross Reference and Customer Item Cross Reference?
  Customer Item Cross Reference is a particular instance of Cross references. 
  Item Cross Reference is a generic term which can be used to define reference 
  with Customer's Items and Supplier's Items
  
For Item cross reference is used to track the old items or the supplier 
items. That is ,if the same item is referred by a different name by the 
supplier then, the item cross reference will map these two names.
  
  For Customer item cross reference,is probably used ,say for the sales guys to place the order on items, by
  which they remember. Thatisif a particular item 'Myitem" is referred to as 'abcd1' using the
  customer item cross reference, then we can go to the sales order from and in the line item
  we can refer to this 'abcd1' to place an order on that item. 
  But usually the customer item cross reference, is when you are loading the data from EDI 40 etc. That is 
  a customer sends an xml kind of file for placing a sales order and that file consists of all the customer 
  item references and not oracle item references.
  */
 
9). What is the difference between Operating Unit and Inventory Organization ? 
In some of the important modules like OM, Purchasing etc tables we find that 
there is and org_id. this is actually an operating unit id (and not to be 
confused with the inventory org id). And when we log into the applications, 
the operating unit is already set from the profile parameter 'MO:Operating Unit'.
However in the inventory module, the org id that we are always referring to 
is the inventory org id (and not the operating unit id).
 
When we enter the Inventory module, we are always prompted to choose a 
particular inventory org id.
 
Usually when we create an item, we always assign it to an org id, i.e what 
this means is that we can transact this item with in that particular 
inventory org id. That is particularly we can purchase, sell with in that
inventory org id.
 
When we create an org it is always associated with a location and hence it 
goes into the hr_organizations and hr_locations. It is important to know 
that both the employee locations and the inventory locations go into
the same table hr_locations.*/
    
10).  What are Organization attributes /
Organization Attributes : Usually we create an item in the Master org, set 
all its attributes and then assign that item to a different inventory 
organization. However it is important to note that some attributes may not 
be set into the new organization,so from the organization manager. 
 
We can click on the org attributes and set the attributes of the item accordingly.
 
11). What are item attributes?
   There are two kinds of item attributes, 
      --- Item Defining attributes
   --- Item Status attributes
  The following is the mapping between item defining and status attributes
     Inventory Item   (stockable, transactable, BOM Allowed)          
         Internal Ordered (Internal Orders Enabled) 
  Purchased   (Purchasable)
         MRP Planning Method
         Costing Enabled  
         Engineering Item
         Customer Ordered  (Customer Orders Enabled)
         Support Service 
  Invoiceable Item (Invoice Enabled)
 
 Build in WIP and Recipe enabled are status attributes for which there is no
 corresponding item defnining attirubtre.
 
 
12). What do you mean by when an item is in status control ?

Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. Hi,
    Nice article any one can easily understand and also Catch Experts offering http://www.catchexperts.com/oracle-certification-online-training Oracle Courses, Videos and Online and Classroom training.
    Thanks,
    David,
    Oracle developer

    ReplyDelete

Post a Comment

Popular posts from this blog

Oracle Purchasing Module Step by Step in R12

Sub Ledger Accounting SLA (Complete Functional Information)

Difference between ATO and PTO in oracle apps