Oracle EBS Material Status FAQ(Pan Tian)

  • 3,899 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,899
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
207
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MATERIAL STATUS FAQAuthor: PTIAN (tianpan@gmail.com)Creation Date: 16/04/2012Last Updated:Version: 1.0Status:Date Author Version Change Reference16-Apr- 12 Pan Tian Draft No previous document
  • 2. Material Status FAQ Contents Material Status FAQ.....................................................................................................................................................................1 What’s onhand status ...............................................................................................................................................................1 How to activate onhand level material status control.........................................................................................................1 What’s the relationship between Onhand Status and Sub/Loc/Lot Status Level...........................................................2 Which level status(Org/Sub/Loc/Lot Level) will be picked as default onhand status(In case doesn’t existing onhand).......................................................................................................................................................................................2 Which function is used to get default status id(Code Level)..............................................................................................3 How To modify onhand material status................................................................................................................................4 How To Inquire On Onhand Material Status Updates And History.................................................................................5 Onhand Status for Intransit Org-Transfer .............................................................................................................................6 Copy/Retain/Default Lot Status for Org-Transfer (Between Non-Onhand status tracking org) ................................7 What’s value of Status_ID in MOQD If Org is Non-Onhand status tracking .................................................................7 Which status_id is used to stamp into MTL_TRANSACTION_LOT_NUMBERS...........................................................7 For serial controlled item, What’s value of onhand status_id.............................................................................................7 In Material Status Form, The specific transaction type is not in the Allowed/Disallowed txn type list, How can I make my transaction type into Allowed/Disallowed txn type list?..................................................................................8 Cumulative Allowed/Disallowed Txn type ........................................................................................................................8 What’s the ‘Item Status‘............................................................................................................................................................9 Material Status Useful SQL Queries.....................................................................................................................................11 Material Status Validation Sample Query for Lot/Sub LOV ...........................................................................................12 ii
  • 3. Material Status FAQMaterial Status FAQWhat’s onhand status In R12 a new feature, called onhand status. It will take a location status to be material status. Once you enabled your organization as onhand status tracking then you should need to look for material status at onhand level and not at the individual level. The benefit of this is that if a portion of a pallet is crushed you can separate the pallet into two parts and assign the bad crushed part a status of throw away while assigning the good portion an acceptable status. The onhand status only persists as long as you have inventory onhand. Once your inventory goes to 0 for a certain lot or location the status no longer exists. An example of onhand in the material workbench showing statusHow to activate onhand level material status control Activate On-hand Level Material Status Tracking for one organization, Run concurrent request ‘Activate Onhand Level Material Status Tracking’ 1
  • 4. Material Status FAQ NOTE: Once an organization is activated as onhand status tracked it cannot be reverted back. If you have accidentally Run Activate On-Hand Material Status, Please refer to Note 1198443.1, The following Enhancement Request was logged suggesting that users should be allowed to deactivate the status: Bug 8626159 - ER to allow de-activate: Allow user to deactivate / de-activate 12.1 Feature: On-hand Status TrackingWhat’s the relationship between Onhand Status and Sub/Loc/Lot Status Level For onhand status tracked organization, status at subinventory, locator and lot level would ONLY be used to default onhand status. Once you enabled your organization as onhand status tracking then you should need to look for material status at onhand level and not at the individual level. All the status validations will happen considering status at onhand level.Which level status(Org/Sub/Loc/Lot Level) will be picked as default onhand status(In case doesn’t existingonhand) The default status comes from the lowest available default at the organization, subinventory, locator, lot (as determined by a PL/SQL call to INV_MATERIAL_STATUS_GRP.get_default_status) If Org is onhand tracking, and Org level default status is ‘Org_Status’, Sub level status is ‘Sub_Status’, Locator level status is ‘Locator_Status’, Item level status is ‘Item_Status’, Perform misc receipt for the item, you will see onhand status will pick item level status as default onhand status. Similarly, for lot controlled item, onhand status will pick default lot status as onhand 2
  • 5. Material Status FAQ status. If user does not set a default status at Item level or Lot level, onhand status will pick locator level status as default onhand status. There is priority order for onhand status picking, and like following… Item Status/Lot status > Locator Status > Sub status > Org status For lot controlled item, it can only set ‘Default Lot Status’, can NOT set ‘Default Material Status’. For plain item, it can only set ‘Default Material Status’, can NOT set ‘Default Lot Status’. So for a item, it’s impossible that item has item level status as well as has lot level status.Which function is used to get default status id(Code Level) Function: INV_MATERIAL_STATUS_GRP.get_default_status This function returns the default material status for an onhand record in the table MOQD 3
  • 6. Material Status FAQ Pseudo-Code: 1. Org is onhand tracking 1.1 Check whether there is already existing a onhand record, If existing a onhand record, then return status_id of MOQD as default status id. 1.2 If no onhand existing, Then get default status id from ‘Lot>Locator>Sub>Org’ level default statusHow To modify onhand material status Once clicking on the lower level onhand record then going to Tools > Status Update 4
  • 7. Material Status FAQHow To Inquire On Onhand Material Status Updates And History 1. For Lot controlled item, we can check onhand status update history via Lot Number Form > View Genealogy > Material Transaction Tab > Grade/Status 2. Material Status History Report 5
  • 8. Material Status FAQ 3. SQL query to check status history SELECT MSIB.ORGANIZATION_ID, MP.ORGANIZATION_CODE,MSIB.SEGMENT1,MMSH.PRIMARY_ONHAND,ML.MEANING UPDATE_METHOD,MTR.REASON_NAME,MMSH.* FROM MTL_MATERIAL_STATUS_HISTORY MMSH,MTL_SYSTEM_ITEMS_B MSIB,MFG_LOOKUPS ML,MTL_TRANSACTION_REASONS MTR,MTL_PARAMETERS MP WHERE MSIB.INVENTORY_ITEM_ID = MMSH.INVENTORY_ITEM_ID AND MSIB.ORGANIZATION_ID = MMSH.ORGANIZATION_ID AND MP.ORGANIZATION_ID = MMSH.ORGANIZATION_ID AND ML.LOOKUP_CODE = MMSH.UPDATE_METHOD AND ML.LOOKUP_TYPE = MTL_STATUS_UPDATE_METHOD AND MTR.REASON_ID(+) = MMSH.UPDATE_REASON_ID AND MSIB.SEGMENT1 LIKE &EnterYouritem% ORDER BY MSIB.SEGMENT1;Onhand Status for Intransit Org-Transfer In intransit Org-Transfer, if onhand not exists in the destination, the Onhand status was not carried over as it does for direct org-transfer(For Direct org-transfer, Status_ID can be carried over from source org to receiving org). Currently the status of the onhand created was using defaulting logic. Reference: NOTE: 1300203.1, Bug 11719987 For lot controlled item, onhand status is stamped on to lot transaction history. This can be used to default onhand status for intransit org transfer. (Version of QtyManager.java should be >= 120.26.12010000.25) 6
  • 9. Material Status FAQ For non-lot controlled, there’s no efficient way getting the status once item completely issued out, hence it is also not in the scope of this project.Copy/Retain/Default Lot Status for Org-Transfer (Between Non-Onhand status tracking org) Item is lot status enabled, Source Allow Different material Allow Different material Allow Different material org & Destination org are non- Status = Y Status = N Status = With Exception onhand enabled. Lot Does NOT Exist Intransit/Direct: Default Intransit: Default Status Intransit/Direct: Default in Destination Org Status from the from the organization Status from the organization item setup. item setup. organization item setup. (See Bug 11688000) Direct: Copy lot status from source org to destination org. Lot Exist In Destination org Retain lot status in Retain lot status in Retain lot status in destination organization destination organization. destination organization. (If lot status is different (If lot status is different between source org and between source org and destination org, Then user destination org, Then user can Not perform org can Not perform org transfer for the lot transfer for the lot number, Cannot select the number, Cannot select the lot while shipping) lot while shipping) Status_ID handle code logic see method createLotNumber in LotTrxManager.javaWhat’s value of Status_ID in MOQD If Org is Non-Onhand status tracking Status_ID should be NULL(In some customer’s cases, I saw it is -1) in MOQD, if organization is non-onhand status tracking.Which status_id is used to stamp into MTL_TRANSACTION_LOT_NUMBERS 1. If org is tracking status at onhand level, Whenever perform a transaction for a lot controlled item, we need to stamp status_id into the lot history table(MTL_TRANSACTION_LOT_NUMBERS), And this status_id in MTL_TRANSACTION_LOT_NUMBERS is populated with the value of status_id from MTL_ONHAND_QUANTITIES_DETAIL. 2. If org is not tracking status at onhand level, we will stamp status_id from mtl_lot_numbers into MTLN See bug: 10322629For serial controlled item, What’s value of onhand status_id In case organization is onhand status enabled, Other than plain item or lot controlled item, For serial controlled item, status_id in MOQD always stamp NULL value, We take 7
  • 10. Material Status FAQ status_id in MSN to be material status.In Material Status Form, The specific transaction type is not in the Allowed/Disallowed txn type list, How can Imake my transaction type into Allowed/Disallowed txn type list? You need enable ‘Status Control’ for the transaction type in Transaction Types Form.Cumulative Allowed/Disallowed Txn type A example, Misc receipt item into sub:pt_subb01, locator:55.55.55.., lot number:S00567 Subinv Status: s_sub01, It disallow transaction type: Sales Order issue Locator Status:s_loc01, It disallow transaction type: Transfer to Consigned Lot Status: s_lot01, It disallow transaction type: Transfer to Regular So for the item, it will disallow all above three transaction types. 8
  • 11. Material Status FAQWhat’s the ‘Item Status‘ This item status is different with ‘Material Status’. We use item statuses to provide default values for certain item attributes to control the functionality of an item. When you update the values for a status, all items to which it is assigned are also updated. Attention: When your current organization is not the Item Master organization, the 9
  • 12. Material Status FAQ organization is temporarily changed to the Item Master organization until you exit this window. You can use the statuses created here in all defined organizations. A status code controls certain item attributes designated as status attributes. The status attributes are: BOM Allowed Build in WIP Customer Orders Enabled Internal Orders Enabled Invoice Enabled Transactable Purchasable Stockable Process Execution Enabled Recipe Enabled Associated with each status attribute is a Status Setting option. This option determines whether a status attribute value is set by the status code and is not updatable, defaulted and updatable, or not used when you define an item. You choose a Status Setting for a status attribute with the Item Attributes Controls window. You assign a status code to an item when you define the item. 10
  • 13. Material Status FAQMaterial Status Useful SQL Queries Check whether the organization is onhand status tracking org SELECT DEFAULT_STATUS_ID FROM MTL_PARAMETERS WHERE ORGANIZATION_ID = 207; Query Material Status Definition Header Part SELECT B.* FROM MTL_MATERIAL_STATUSES_B B,MTL_MATERIAL_STATUSES_TL T WHERE B.STATUS_ID = T.STATUS_ID AND T.STATUS_CODE = &StatusCode; For specific status, Check whether specific transaction type is allowed SELECT IS_ALLOWED FROM MTL_STATUS_TRANSACTION_CONTROL WHERE STATUS_ID = &StatusID AND TRANSACTION_TYPE_ID = &TxnTypeID; Or use PL/SQL function to query IS_TRX_ALLOWED SELECT INV_MATERIAL_STATUS_GRP.IS_TRX_ALLOWED_WRAP(&StatusID,&TxnTypeID) FROM DUAL; Use location information to check IS_STATUS_APPLICABLE DECLARE result VARCHAR2 (2); v_user_id NUMBER := 1068; v_resp_id NUMBER := 20634; v_appl_id NUMBER := 401; BEGIN FND_GLOBAL.apps_initialize (v_user_id, v_resp_id, v_appl_id); fnd_global.set_nls_context (AMERICAN); SELECT INV_MATERIAL_STATUS_GRP.IS_STATUS_APPLICABLE (TRUE,1,18,Y,NULL,207,1416050,tp_sub,7919,test01,NULL,O) is_status_applicable INTO result FROM DUAL; DBMS_OUTPUT.put_line (is_status_applicable= || result); END; 11
  • 14. Material Status FAQMaterial Status Validation Sample Query for Lot/Sub LOV Lot Number LOV Sample SELECT MLN.LOT_NUMBER, MIN (MLN.EXPIRATION_DATE) EXPIRATION_DATE , PARENT_LOT_NUMBER, GRADE_CODE FROM MTL_LOT_NUMBERS MLN WHERE MLN.INVENTORY_ITEM_ID = :MTL_LOT_REFERENCE.INVENTORY_ITEM_ID AND MLN.ORGANIZATION_ID = :MTL_LOT_REFERENCE.ORG_ID AND NVL (MLN.DISABLE_FLAG, 2) = 2 AND INV_MATERIAL_STATUS_GRP.IS_STATUS_APPLICABLE ( :PARAMETER.WMS_INSTALLED , :MTL_LOT_REFERENCE.TRX_STATUS_ENABLED , :MTL_LOT_REFERENCE.TRANSACTION_TYPE_ID , :MTL_LOT_REFERENCE.LOT_STATUS_ENABLED , NULL , :PARAMETER.ORG_ID , :MTL_LOT_REFERENCE.INVENTORY_ITEM_ID , NULL , NULL , MLN.LOT_NUMBER , NULL , O ) = Y GROUP BY MLN.LOT_NUMBER, PARENT_LOT_NUMBER, GRADE_CODE ORDER BY 2, MLN.LOT_NUMBER Subinventory LOV Sample SELECT SECONDARY_INVENTORY_NAME ,DESCRIPTION, QUANTITY_TRACKED, ASSET_INVENTORY, LOCATOR_TYPE, MATERIAL_ACCOUNT FROM MTL_SUBINVENTORIES_VAL_V WHERE ORGANIZATION_ID = :PARAMETER.ORG_ID AND INV_MATERIAL_STATUS_GRP.IS_STATUS_APPLICABLE( :PARAMETER.WMS_INSTALLED , :MTL_TRX_HEADER.TRX_STATUS_ENABLED , DECODE(:MTL_TRX_HEADER.TRANSACTION_TYPE_ID,-99, :MTL_TRX_LINE.TRANSACTION_TYPE_ID,:MTL_TRX_HEADER.TRANSACTION_TYPE_ID) , NULL , NULL , :PARAMETER.ORG_ID , :MTL_TRX_LINE.INVENTORY_ITEM_ID , SECONDARY_INVENTORY_NAME , NULL , NULL , NULL , NVL(:MTL_TRX_HEADER.MATERIAL_STATUS_OBJECT_TYPE,Z) ) = Y ORDER BY SECONDARY_INVENTORY_NAME 12