4. 1- Create Custom View
CREATE OR REPLACE VIEW XX_ORG_ITEMS_CAT
AS
SELECT DISTINCT item_CAT.ORGANIZATION_ID,CATS_V.CATEGORY_CONCAT_SEGMENTS,
CAT_TL.DESCRIPTION,
CATS_V.CATEGORY_SET_ID,
CATEGORY_SET_NAME
,CATS_V.CATEGORY_ID
,CAT_TL.LANGUAGE
FROM MTL_CATEGORY_SET_VALID_CATS_V CATS_V, MTL_CATEGORIES_TL CAT_TL,MTL_ITEM_CATEGORIES_VIEW item_CAT
WHERE 1=1
AND CAT_TL.CATEGORY_ID = CATS_V.CATEGORY_ID
AND CATS_V.CATEGORY_ID = item_CAT.CATEGORY_ID
AND CATS_V.CATEGORY_SET_ID=item_CAT.CATEGORY_SET_ID
-- AND item_CAT.ORGANIZATION_ID = 7851
-- AND CATS_V.CATEGORY_SET_ID = 27
AND CAT_TL.LANGUAGE = USERENV ('LANG')
-- AND item_CAT.CATEGORY_SET_ID = 27
5. ;
- Create Custom PROCEDURE
CREATE OR REPLACE PROCEDURE XX_Items_Subinventory (
ERRBUF OUT NOCOPY VARCHAR2,
RETCODE OUT NOCOPY VARCHAR2,
porg_id NUMBER,
P_sub_code VARCHAR2,
P_CATESet_ID NUMBER,
P_structure_id NUMBER,
P_CATE_ID NUMBER,
P_ITEM_TYPE VARCHAR2,
P_STATUS VARCHAR2,
P_FITEM VARCHAR2,
P_TITEM VARCHAR2,
P_FDATE IN VARCHAR2,
P_TDATE IN VARCHAR2)
IS
CURSOR C_ALL
IS
SELECT DISTINCT itemv.ORGANIZATION_ID,
P_sub_code SECONDARY_INVENTORY,
ITEM_CAT.CATEGORY_SET_ID,
ITEM_CAT.CATEGORY_ID,
itemv.INVENTORY_ITEM_ID,
itemv.SEGMENT1,
itemv.description,
itemv.INVENTORY_ITEM_STATUS_CODE,
itemv.ITEM_TYPE RESTRICT_LOCATORS_CODE,
RESTRICT_SUBINVENTORIES_CODE
FROM MTL_SYSTEM_ITEMS_B itemv, mtl_item_categories ITEM_CAT
WHERE 1 = 1
AND (itemv.ORGANIZATION_ID = porg_id)
AND ITEM_CAT.ORGANIZATION_ID = porg_id
AND (ITEM_CAT.CATEGORY_SET_ID = P_CATESet_ID)
AND (ITEM_CAT.CATEGORY_ID = P_CATE_ID OR P_CATE_ID IS NULL)
AND ITEM_CAT.ORGANIZATION_ID = itemv.ORGANIZATION_ID
AND ITEM_CAT.INVENTORY_ITEM_ID = itemv.INVENTORY_ITEM_ID
AND EXISTS
(SELECT *
FROM MTL_SECONDARY_INVENTORIES A
WHERE 1 = 1
AND A.ORGANIZATION_ID = porg_id
AND a.SECONDARY_INVENTORY_NAME = P_sub_code)
AND NOT EXISTS
6. (SELECT 1
FROM mtl_item_sub_inventories item_sub
WHERE itemv.ORGANIZATION_ID =
item_sub.ORGANIZATION_ID
AND itemv.inventory_item_id =
item_sub.inventory_item_id
AND secondary_inventory = P_sub_code)
AND (ITEM_TYPE = P_ITEM_TYPE OR P_ITEM_TYPE IS NULL)
AND (INVENTORY_ITEM_STATUS_CODE = P_STATUS OR P_STATUS IS NULL) -- AND itemv.inventory_item_id = 221961
AND (itemv.SEGMENT1 >= P_FITEM OR P_FITEM IS NULL)
AND (itemv.SEGMENT1 <= P_TITEM OR P_TITEM IS NULL)
AND ( TRUNC (itemv.CREATION_DATE) >=
fnd_date.canonical_to_date (P_FDATE)
OR P_FDATE IS NULL)
AND ( TRUNC (itemv.CREATION_DATE) <=
fnd_date.canonical_to_date (P_TDATE)
OR P_TDATE IS NULL);
BEGIN
FOR C1 IN C_ALL
LOOP
INSERT INTO INV.MTL_ITEM_SUB_INVENTORIES (ORGANIZATION_ID,
SECONDARY_INVENTORY,
INVENTORY_ITEM_ID,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
INVENTORY_PLANNING_CODE,
MIN_MINMAX_QUANTITY,
MAX_MINMAX_QUANTITY,
SOURCE_TYPE,
SOURCE_ORGANIZATION_ID,
SOURCE_SUBINVENTORY)
SELECT C1.ORGANIZATION_ID,
C1.SECONDARY_INVENTORY,
C1.INVENTORY_ITEM_ID,
fnd_global.user_id,
SYSDATE,
fnd_global.user_id,
SYSDATE,
6,
NULL,
NULL,
NULL,
NULL,
NULL
FROM DUAL commit;
7. END LOOP;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
2- Create Custom Value Set
- XX_Items_ORG_Cat
Value Set Name Description
Maximu
m Size
Validatio
n Type
Table Application
Table Columns
Name Type
Siz
e Where/Order By
XX_Items_ORG_
Cat
Items
Organization
Category
Codes 170 Table
XX_ORG_ITEMS_C
AT
CATEGORY_CONCAT_SEGM
ENTS Char 170
ORGANIZATION_ID = :
$PROFILES$.MFG_ORGANIZATIO
N_ID
AND CATEGORY_SET_ID = :
$FLEX$.INV_SRS_CATEGORY_SET
DESCRIPTION Varchar2 240
CATEGORY_ID Number 10
8. - XX_Items_List_High
Value Set Name Description
Maxi
mum
Size
Validation
Type
Table Application
Table Columns
Name Type Size Where/Order By
XX_Items_List_High
XX Items
List High 50 Table
MTL_SYSTEM_ITE
MS_FVL
itemv,MTL_SYSTE
M_ITEMS_TL TL
itemv.SEGMENT
1 Char 50
WHERE TL.LANGUAGE='US'
AND
ITEMV.INVENTORY_ITEM_ID=TL.INVE
NTORY_ITEM_ID
AND
ITEMV.ORGANIZATION_ID=TL.ORGANI
ZATION_ID
AND ITEMV.ORGANIZATION_ID=:
$PROFILES$.MFG_ORGANIZATION_ID
order by SEGMENT1TL.DESCRIPTION
Varc
har2 240
9. - XX_Items_List_LOW
Value Set Name Description
Maximum
Size
Validatio
n Type
Table Application
Table Columns
Name Type Size Where/Order By
10. XX_Items_List_LOW
XX Items
List Low 50 Table
MTL_SYSTEM_ITEMS_FVL
itemv,MTL_SYSTEM_ITEMS_TL
TL
itemv.SEGMENT
1 Char 50
WHERE TL.LANGUAGE='US'
AND ITEMV.INVENTORY_ITEM_ID=TL
AND ITEMV.ORGANIZATION_ID=TL.O
AND ITEMV.ORGANIZATION_ID=:
$PROFILES$.MFG_ORGANIZATION_ID
AND itemv.SEGMENT1> :$FLEX$.XX_I
ORDER BY itemv.SEGMENT1TL.DESCRIPTION Varchar2 240
11. 4- Create Concurrent Program
A - Concurrent Program Executable
Executable = Items Subinventory Assignment
Short Name = ITEMS_SUB ASSIGNMENT
Execution Method = PL/SQL Stord Procedure
Execution File Name = XX_Items_Subinventory
12. B - XX Items Subinventory Assignment
Program = XX Items Subinventory Assignment
Short Name = ITEMS_SUB_ASSIGNMENT
13. Parameters Table
Seq Parameter Description Value Set Default type Default Value Required Disp
5 Organization Organization INV_SRS_NUMBER Profile mfg_organization_id Y N
10 To Subinventories To Subinventories INV_SRS_SUBINV Y Y
20
Category Set Name Category set name INV_SRS_CATEGORY_SET SQL
Statement
select category_set_name from mtl_default_sets_view where
functional_area_id = 1 Y Y
25
Category Structure Category structure INV_SRS_NUMBER SQL
Statement
select min(structure_id) from mtl_category_sets where
category_set_id = nvl(:
$FLEX$.INV_SRS_CATEGORY_SET,category_set_id)
Y N
30 Categories Categories XX_Items_ORG_Cat
50 User Items Type User Items Type ItemTypeVS
55 Item Status Item Status INV_SRS_ITEM_STATUS
60 From Item From Item XX_Items_List_High
65 To Item To Item XX_Items_List_LOW
70 From Creation Date From Creation Date INV_SRS_DATE_STANDARD
75 To Creation Date To Creation Date INV_SRS_DATE_STANDARD
14.
15.
16.
17.
18.
19. 5- Assingment Concurrent Program To Requst Group
Find To
Group = All Inclusive GUI
Appllication = Inventory