Sei sulla pagina 1di 14

Personalization for Control Master Items list

Purpose : Restrict Items LOV In All Form Using Security Rules

Create Function On Data Base - 1

----------------------------------------------------------------------
CREATE OR REPLACE function APPS.SH_SET_CLIENT_INFO (x in varchar2) return number is
BEGIN
MO_GLOBAL.set_policy_context( 'S' ,fnd_global.org_id );
DBMS_APPLICATION_INFO.SET_CLIENT_INFO( x );
return 1;
END;
----------------------------------------------------------------------
2 - Create List Of Value For Master Items Dependent On View

- Create View On Data Base

----------------------------------------------------------------------
DROP VIEW APPS.SH_M_ITEM;
CREATE OR REPLACE FORCE VIEW APPS.SH_M_ITEM
(
SEGMENT1,
DESCRIPTION,
ORGANIZATION_ID
,PURCHASING_ENABLED_FLAG
,PURCHASING_ITEM_FLAG
)
AS
SELECT SEGMENT1, description, organization_id,PURCHASING_ENABLED_FLAG
,PURCHASING_ITEM_FLAG FROM MTL_SYSTEM_ITEMS_b
UNION ALL
SELECT USERENV ('CLIENT_INFO') SEGMENT1,
USERENV ('CLIENT_INFO') description, -1
,null PURCHASING_ENABLED_FLAG
,null PURCHASING_ITEM_FLAG
FROM DUAL
WHERE USERENV ('CLIENT_INFO') NOT LIKE '% %';
------------------------------------------------------------------------
- Create List Of Value

Text Remarkes

Table Name SH_M_ITEM


Value SEGMENT1
Meaning DESCRIPTION
Where/Order By ORGANIZATION_ID IN (CASE WHEN :
$PROFILES$.LOG_FORMAPPL = 'PO' THEN NVL (:
$PROFILES$.MFG_ORGANIZATION_ID,
(SELECT INVENTORY_ORGANIZATION_ID FROM
AP.FINANCIALS_SYSTEM_PARAMS_ALL WHERE ORG_ID = :
$PROFILES$.DEFAULT_ORG_ID))
WHEN :$PROFILES$.LOG_FORMAPPL = 'INV' AND :
$PROFILES$.LOG_FORMNAME = 'INVIDITM'
THEN TO_CHAR((SELECT MASTER_ORGANIZATION_ID
FROM MTL_PARAMETERS
WHERE ORGANIZATION_ID = :
$PROFILES$.MFG_ORGANIZATION_ID))
WHEN :$PROFILES$.LOG_FORMAPPL = 'INV' THEN
TO_CHAR(:$PROFILES$.MFG_ORGANIZATION_ID)
WHEN :$PROFILES$.LOG_FORMAPPL = 'ONT' AND :
$PROFILES$.LOG_FORMNAME = 'OEXOEORD' THEN NVL(:
$PROFILES$.MFG_ORGANIZATION_ID,0)
WHEN :$PROFILES$.LOG_FORMAPPL = 'ONT' THEN
NVL(:$PROFILES$.MFG_ORGANIZATION_ID,0)
WHEN :$PROFILES$.LOG_FORMAPPL = 'FND' THEN
NVL(:$PROFILES$.MFG_ORGANIZATION_ID,0)
ELSE :$PROFILES$.MFG_ORGANIZATION_ID END)
and PURCHASING_ENABLED_FLAG = (CASE WHEN :
$PROFILES$.LOG_FORMAPPL = 'PO' THEN 'Y'
else PURCHASING_ENABLED_FLAG
end)
Assingment List Of Value To KFF (System Items)
Personalizations In Master Items Form
New Item Code Validation Menu
-:Condation

({SH_SET_CLIENT_INFO( ${item.mtl_system_items.inventory_item_mir.value =1
AND NOT EXISTS (SELECT 1 FROM APPS.SH_M_ITEM WHERE SEGMENT1=($
(({{item.mtl_system_items.inventory_item_mir.value

Massage Text:-

=(select 'the Item '|| USERENV('CLIENT_INFO') ||' is valied' from dual)


-: When Defining New Items You Must Follow This Steps

Write The code of the new item and Do not exit From Code Field - 1

Tools> Item Code Validation - 2


After That Continue Item Definition With Your Normal Steps

LOV LOV
Test In Inventory Responsibility
Test In Purchasing Responsibility

Requisition Form
Purchase Order Form
This Solution under test
Enter Requisitions GUI
"USE_ORG="Y
PROFILES$.MFG_ORGANIZATION_ID$

Potrebbero piacerti anche