SlideShare a Scribd company logo
Validate Maximum Expiration Date For Items Lots
Purpose : Restrict Lot Expiration Date Within (Transaction Date + Constant Number)
Steps :
1- Apply Lot Expiration Control
- Master Item Form
You Can Define Different Number Of Days For Each Organization
Create Function On Data Base To Resolve Number Of Days For Each Item In Each Organization
CREATE OR REPLACE function APPS.GET_ITEM_SHELF_LIFE_DAYS(
P_ORG_ID in NUMBER,
P_ITEM_ID in NUMBER
) return VARCHAR is
X varchar2(3000);
begin
SELECT itemv.SHELF_LIFE_DAYS INTO X
-- ,itemv.INVENTORY_ITEM_ID,
-- itemv.SHELF_LIFE_CODE,
-- itemv.LOT_CONTROL_CODE
FROM MTL_SYSTEM_ITEMS_FVL itemv
WHERE itemv.ORGANIZATION_ID =P_ORG_ID
--AND (itemv.Segment1 =:pitem_code or :pitem_code is null)
AND itemv.INVENTORY_ITEM_ID = P_ITEM_ID
AND itemv.SHELF_LIFE_CODE = 4
AND itemv.LOT_CONTROL_CODE = 2;
return x;
exception when others then return null;
end;
/
Perform the following forms Personalization on Sales Order Form
1. Login to Oracle Apps with the specified user name and password
2. Navigate to Inventory Responsibility > Miscellaneous Transaction
3. Click Help > Diagnostics > Custom code > Click on the last selection:
'Personalize'
4. Under Conditions tab > Trigger Event = ' WHEN-NEW-ITEM-INSTANCE ', and
Trigger object = ' LOT_ENTRY.TRANSACTION_QUANTITY '
Condition =
1=1 AND :MTL_TRX_LINE.TRANSACTION_ACTION_ID IN (27)
AND :LOT_ENTRY.LOT_EXPIRATION_DATE>:MTL_TRX_LINE.TRANSACTION_DATE+((SELECT
GET_ITEM_SHELF_LIFE_DAYS(:MTL_TRX_LINE.ORGANIZATION_ID,:MTL_TRX_LINE.INVENTORY_ITE
M_ID) FROM DUAL))
6. Set the Context level to User and Value to
--Note: to simplify setup required, you can choose to set the condition context to responsibility.
This would allow you to assign a group of users to a responsibility, then the setup above would
only need completed once at the responsibility level. Otherwise this setup step would be required
for each user.
7. Click to Actions tab and define following actions -
Seq. Type Langua
ge
Message
Type
Message Text
10 Message All Show ='Maximum Expiration Date For This Lot Is :
'||':'||TO_CHAR(:MTL_TRX_LINE.TRANSACTION_DATE+((SEL
ECT
GET_ITEM_SHELF_LIFE_DAYS(:MTL_TRX_LINE.ORGANIZA
TION_ID,:MTL_TRX_LINE.INVENTORY_ITEM_ID) FROM
DUAL)))
8.Save the changes.
Seq. Type Language Builtin Type Argument
20 Builtin All DO_KEY CLEAR_RECORD
9.Close the Sales Order form and re-open it. Now test it.
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Seq. Type Langua
ge
Message
Type
Message Text
10 Message All Show ='Maximum Expiration Date For This Lot Is :
'||':'||TO_CHAR(:HEADER.RECEIPT_DATE+ ((SELECT
GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_OR
GANIZATION_ID,:RCV_TRANSACTION.ITEM_ID) FROM
DUAL)))
1=1
AND :LOT_ENTRY.LOT_EXPIRATION_DATE>(:HEADER.RECEIPT_DATE+(SELECT
GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_ORGANIZATION_ID,:RCV_
TRANSACTION.ITEM_ID)FROM DUAL))
Seq. Type Langua
ge
Message
Type
Message Text
10 Message All Show ='Maximum Expiration Date For This Lot Is :
'||':'||TO_CHAR(:RCV_TRANSACTION.TRANSACTION_DATE_N
B+ ((SELECT
GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_OR
GANIZATION_ID,:RCV_TRANSACTION.ITEM_ID) FROM
DUAL)))
1=1
AND
:LOT_ENTRY.LOT_EXPIRATION_DATE>(:RCV_TRANSACTION.TRANSACTION_DAT
E_NB+(SELECT
GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_ORGANIZATION_ID,:RCV_
TRANSACTION.ITEM_ID)FROM DUAL))
Done ‫هلل‬ ‫الحمد‬

More Related Content

DOCX
Oracle Process Manufacturing Setup EBS12.2
PDF
Accounting in Oracle Inventory
PDF
Oracle SCM Functional Interview Questions & Answers - Order Management Module...
PPTX
Oracle R12.1.3 Costing Overview
DOCX
Personalization to restrict subinventory lov in miscellaneous transaction to ...
DOC
Oracle ERP Personalization for control master items list
DOCX
Pick pack and ship confirm process in oracle apps
DOCX
Discrete Job Closure Process
Oracle Process Manufacturing Setup EBS12.2
Accounting in Oracle Inventory
Oracle SCM Functional Interview Questions & Answers - Order Management Module...
Oracle R12.1.3 Costing Overview
Personalization to restrict subinventory lov in miscellaneous transaction to ...
Oracle ERP Personalization for control master items list
Pick pack and ship confirm process in oracle apps
Discrete Job Closure Process

What's hot (20)

DOCX
EBS-OPM Costing.docx
PDF
Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...
DOCX
Personalization to restrict subinventory lov in interorganization transfer كي...
DOCX
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
DOCX
Oracle Personalization How To Restricting users from assigning items to diffe...
PDF
Oracle EBS R12 Order Management Notes
PPT
Sla and cost acctg
PDF
Inventory receiving processes for serial controlled items
DOCX
Personalization Validate Po Quantity With PR
PPTX
Transaction Numbering in Oracle Receivables
PPT
R12 inventory features
DOCX
Oracle Order Management (Assign freight cost on shipping transaction)
PPTX
Oracle EBS: Intercompany Invoicing
DOCX
Elshayeb Expense Subinventory And Items Scenario
DOCX
Oracle EBS R12 Sales order personalization
PPTX
Oracle R12 Work In Process
PDF
Oracle Purchasing ivas
DOCX
Oracle inventory R12 Setup Guide
DOCX
Alerts in r12
PDF
Oracle R12 Apps - Purchasing Module Setup Steps
EBS-OPM Costing.docx
Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...
Personalization to restrict subinventory lov in interorganization transfer كي...
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle EBS R12 Order Management Notes
Sla and cost acctg
Inventory receiving processes for serial controlled items
Personalization Validate Po Quantity With PR
Transaction Numbering in Oracle Receivables
R12 inventory features
Oracle Order Management (Assign freight cost on shipping transaction)
Oracle EBS: Intercompany Invoicing
Elshayeb Expense Subinventory And Items Scenario
Oracle EBS R12 Sales order personalization
Oracle R12 Work In Process
Oracle Purchasing ivas
Oracle inventory R12 Setup Guide
Alerts in r12
Oracle R12 Apps - Purchasing Module Setup Steps
Ad

Viewers also liked (20)

DOCX
Restrict user from use account aliases incompatible with transaction action
DOCX
Customize the login homepage For Oracle EBS R12
DOCX
Inventory aging report using oracle discoverer desktop
DOCX
Personalization how to restrict transaction type list of values
DOCX
Oracle Inventory Restrict user from update item attribute personalization
DOCX
How to remove disable and cancel shipment functionality in enter purchase or...
DOCX
Personalization to restrict values in customer name and number lov in sales o...
DOCX
Oracle Web Adi For upload item master
DOCX
Oracle EBS Tracking items costing return from customer
DOCX
Procedure To Store Database Object Size And Number Of Rows In Custom Table
DOC
Send mail with attached report layout
DOCX
Elshayeb Oracle R12 Order Management
DOCX
Oracle Purchasing R12 Setup Steps
DOC
moh_elshayeb_2
PPTX
Dynamics CRM 2013 Advanced Customizations
PPTX
Introduction to Custom Development in Microsoft Dynamics CRM 2015
PPTX
Plugins 101 In Microsoft Dynamics CRM 2015
PPTX
Views & Business Rules in Dynamics CRM 2015
PPTX
Javascript & OData Microsoft Dynamics CRM
PDF
All About Multi Organization Access
Restrict user from use account aliases incompatible with transaction action
Customize the login homepage For Oracle EBS R12
Inventory aging report using oracle discoverer desktop
Personalization how to restrict transaction type list of values
Oracle Inventory Restrict user from update item attribute personalization
How to remove disable and cancel shipment functionality in enter purchase or...
Personalization to restrict values in customer name and number lov in sales o...
Oracle Web Adi For upload item master
Oracle EBS Tracking items costing return from customer
Procedure To Store Database Object Size And Number Of Rows In Custom Table
Send mail with attached report layout
Elshayeb Oracle R12 Order Management
Oracle Purchasing R12 Setup Steps
moh_elshayeb_2
Dynamics CRM 2013 Advanced Customizations
Introduction to Custom Development in Microsoft Dynamics CRM 2015
Plugins 101 In Microsoft Dynamics CRM 2015
Views & Business Rules in Dynamics CRM 2015
Javascript & OData Microsoft Dynamics CRM
All About Multi Organization Access
Ad

More from Ahmed Elshayeb (15)

DOCX
Personalization who i can restrict subinventory locator to store one item only
DOCX
Oracle Purchasing Internal Requisition
DOC
Personalization select all record from menu for manage buyer work load
DOCX
Sales Order needs to be automatically reserved, shipped & invoiced without an...
DOCX
Customized security roles
DOCX
Cascading dependencies
DOCX
Select all record from menu for matching item type in ap invoice personalization
DOCX
Oracle Personalization Restrict Subinventory And Lot Number LOV Dependent On...
DOCX
How to configure LCM After receiving
DOCX
Select All Record From Tools Menu On Find Receipts For Matching Form
DOCX
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
DOCX
How to install a font using xml publisher administrator
DOC
Personalizations for control deliver to organizations in Purchase Requisition...
DOC
Items Subinventory Assignment كيفية ربط مخزن معين بعدة أصناف بإستخدام API
DOCX
Assign Freight Cost On Shipping Transaction
Personalization who i can restrict subinventory locator to store one item only
Oracle Purchasing Internal Requisition
Personalization select all record from menu for manage buyer work load
Sales Order needs to be automatically reserved, shipped & invoiced without an...
Customized security roles
Cascading dependencies
Select all record from menu for matching item type in ap invoice personalization
Oracle Personalization Restrict Subinventory And Lot Number LOV Dependent On...
How to configure LCM After receiving
Select All Record From Tools Menu On Find Receipts For Matching Form
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
How to install a font using xml publisher administrator
Personalizations for control deliver to organizations in Purchase Requisition...
Items Subinventory Assignment كيفية ربط مخزن معين بعدة أصناف بإستخدام API
Assign Freight Cost On Shipping Transaction

Recently uploaded (20)

PPTX
operations management : demand supply ch
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
PPTX
Sales & Distribution Management , LOGISTICS, Distribution, Sales Managers
PDF
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
PDF
1911 Gold Corporate Presentation Aug 2025.pdf
PDF
Keppel_Proposed Divestment of M1 Limited
PDF
Booking.com The Global AI Sentiment Report 2025
PPTX
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
PDF
Solaris Resources Presentation - Corporate August 2025.pdf
PDF
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
PDF
Deliverable file - Regulatory guideline analysis.pdf
PPTX
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
PDF
How to Get Funding for Your Trucking Business
PDF
How to Get Approval for Business Funding
PDF
Charisse Litchman: A Maverick Making Neurological Care More Accessible
PDF
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
PDF
TyAnn Osborn: A Visionary Leader Shaping Corporate Workforce Dynamics
PDF
Daniels 2024 Inclusive, Sustainable Development
PDF
Comments on Crystal Cloud and Energy Star.pdf
PPT
Lecture 3344;;,,(,(((((((((((((((((((((((
operations management : demand supply ch
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
Sales & Distribution Management , LOGISTICS, Distribution, Sales Managers
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
1911 Gold Corporate Presentation Aug 2025.pdf
Keppel_Proposed Divestment of M1 Limited
Booking.com The Global AI Sentiment Report 2025
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
Solaris Resources Presentation - Corporate August 2025.pdf
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
Deliverable file - Regulatory guideline analysis.pdf
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
How to Get Funding for Your Trucking Business
How to Get Approval for Business Funding
Charisse Litchman: A Maverick Making Neurological Care More Accessible
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
TyAnn Osborn: A Visionary Leader Shaping Corporate Workforce Dynamics
Daniels 2024 Inclusive, Sustainable Development
Comments on Crystal Cloud and Energy Star.pdf
Lecture 3344;;,,(,(((((((((((((((((((((((

Validate maximum expiration date for items lots

  • 1. Validate Maximum Expiration Date For Items Lots Purpose : Restrict Lot Expiration Date Within (Transaction Date + Constant Number) Steps : 1- Apply Lot Expiration Control - Master Item Form
  • 2. You Can Define Different Number Of Days For Each Organization
  • 3. Create Function On Data Base To Resolve Number Of Days For Each Item In Each Organization CREATE OR REPLACE function APPS.GET_ITEM_SHELF_LIFE_DAYS( P_ORG_ID in NUMBER, P_ITEM_ID in NUMBER ) return VARCHAR is X varchar2(3000); begin SELECT itemv.SHELF_LIFE_DAYS INTO X -- ,itemv.INVENTORY_ITEM_ID, -- itemv.SHELF_LIFE_CODE, -- itemv.LOT_CONTROL_CODE FROM MTL_SYSTEM_ITEMS_FVL itemv WHERE itemv.ORGANIZATION_ID =P_ORG_ID --AND (itemv.Segment1 =:pitem_code or :pitem_code is null) AND itemv.INVENTORY_ITEM_ID = P_ITEM_ID AND itemv.SHELF_LIFE_CODE = 4 AND itemv.LOT_CONTROL_CODE = 2; return x; exception when others then return null; end; /
  • 4. Perform the following forms Personalization on Sales Order Form 1. Login to Oracle Apps with the specified user name and password 2. Navigate to Inventory Responsibility > Miscellaneous Transaction 3. Click Help > Diagnostics > Custom code > Click on the last selection: 'Personalize' 4. Under Conditions tab > Trigger Event = ' WHEN-NEW-ITEM-INSTANCE ', and Trigger object = ' LOT_ENTRY.TRANSACTION_QUANTITY ' Condition = 1=1 AND :MTL_TRX_LINE.TRANSACTION_ACTION_ID IN (27) AND :LOT_ENTRY.LOT_EXPIRATION_DATE>:MTL_TRX_LINE.TRANSACTION_DATE+((SELECT GET_ITEM_SHELF_LIFE_DAYS(:MTL_TRX_LINE.ORGANIZATION_ID,:MTL_TRX_LINE.INVENTORY_ITE M_ID) FROM DUAL)) 6. Set the Context level to User and Value to
  • 5. --Note: to simplify setup required, you can choose to set the condition context to responsibility. This would allow you to assign a group of users to a responsibility, then the setup above would only need completed once at the responsibility level. Otherwise this setup step would be required for each user. 7. Click to Actions tab and define following actions - Seq. Type Langua ge Message Type Message Text 10 Message All Show ='Maximum Expiration Date For This Lot Is : '||':'||TO_CHAR(:MTL_TRX_LINE.TRANSACTION_DATE+((SEL ECT GET_ITEM_SHELF_LIFE_DAYS(:MTL_TRX_LINE.ORGANIZA TION_ID,:MTL_TRX_LINE.INVENTORY_ITEM_ID) FROM DUAL))) 8.Save the changes.
  • 6. Seq. Type Language Builtin Type Argument 20 Builtin All DO_KEY CLEAR_RECORD 9.Close the Sales Order form and re-open it. Now test it. ----------------------------------------------------------------------------------------------------------------------------------------------------------- Seq. Type Langua ge Message Type Message Text 10 Message All Show ='Maximum Expiration Date For This Lot Is : '||':'||TO_CHAR(:HEADER.RECEIPT_DATE+ ((SELECT GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_OR GANIZATION_ID,:RCV_TRANSACTION.ITEM_ID) FROM DUAL))) 1=1 AND :LOT_ENTRY.LOT_EXPIRATION_DATE>(:HEADER.RECEIPT_DATE+(SELECT GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_ORGANIZATION_ID,:RCV_ TRANSACTION.ITEM_ID)FROM DUAL))
  • 7. Seq. Type Langua ge Message Type Message Text 10 Message All Show ='Maximum Expiration Date For This Lot Is : '||':'||TO_CHAR(:RCV_TRANSACTION.TRANSACTION_DATE_N B+ ((SELECT GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_OR GANIZATION_ID,:RCV_TRANSACTION.ITEM_ID) FROM DUAL))) 1=1 AND :LOT_ENTRY.LOT_EXPIRATION_DATE>(:RCV_TRANSACTION.TRANSACTION_DAT E_NB+(SELECT GET_ITEM_SHELF_LIFE_DAYS(:RCV_TRANSACTION.TO_ORGANIZATION_ID,:RCV_ TRANSACTION.ITEM_ID)FROM DUAL)) Done ‫هلل‬ ‫الحمد‬