SlideShare a Scribd company logo
1 of 17
Custom Lot Generation
Prerequisites:
1- Create Custom Table to Store Lot and ORG and Item Type
Create Table GNP_LOT_SEQ1 --Create custome Table
(
SEQ number unique
,ITEM_TYPE NVARCHAR2(10)
,LOT_NO NVARCHAR2(30)
,LOT_DATE Date
,ORG NVARCHAR2(10)
,ITEM NVARCHAR2(50)
)
2- Create Sequence :
CREATE SEQUENCE GNP_L_SEQ -- to Create Sequence
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 2;
// to Reset Sequence use below Command
alter sequence GNP_L_SEQ restart start with 1 -- to Reset Sequence
3- Create Personalization for Both PO Receipts and Toll Receipts
Personalization:
1- Generate Custom LOT for RAW and TRAW-GNP_GPI_GAP “for RAW”
WHEN-NEW-ITEM-INSTANCE
LOT_ENTRY.LOT_NUMBER
Condition:
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID
and I.ORGANIZATION_ID = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW') )is not NULL
and :LOT_ENTRY.LOT_NUMBER is NULL
Action:
Item
LOT_ENTRY.LOT_NUMBER
Value
To Read from Custom Table:
=Select 'R'||(substr(L.LOT_NO,2,100)+1)
from GNP_LOT_SEQ1 L
Where L.SEQ =(Select MAX(L1.SEQ)
from GNP_LOT_SEQ1 L1
Where
L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L1.ITEM_TYPE in ('RM','TRAW'))
and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L.ITEM_TYPE in ('RM','TRAW')
Modification:
)
1
)+
''
,
Z]'
-
A
-
'[
||(regexp_replace(LOT_NO,
'R'
=765 then
.ORG
L
Case When
=Select
)
1
)+
''
,
Z]'
-
A
-
'[
(regexp_replace(LOT_NO,
to_char
then
977
=
.ORG
L
When
)
1
)+
''
,
Z]'
-
A
-
'[
(regexp_replace(LOT_NO,
to_char
.ORG=767 then
When L
End
from GNP_LOT_SEQ1 L
Where L.SEQ =(Select MAX(L1.SEQ)
from GNP_LOT_SEQ1 L1
Where
L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L1.ITEM_TYPE in ('RM','TRAW'))
and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L.ITEM_TYPE in ('RM','TRAW')
To Read from Seeded Lot Table: Optional
=Select 'R'||(substr(L.LOT_NUMBER,2,100)+1)
from MTL_LOT_NUMBERS L, MTL_SYSTEM_ITEMS_B i
Where L.CREATION_DATE =(Select MAX(L.CREATION_DATE)
from MTL_LOT_NUMBERS L, MTL_SYSTEM_ITEMS_B i
Where I.INVENTORY_ITEM_ID = L.INVENTORY_ITEM_ID
and I.ORGANIZATION_ID = L.ORGANIZATION_ID
and I.ORGANIZATION_ID = 765
and L.ORIGINATION_TYPE in (3,4)
and I.ITEM_TYPE in ('RM','TRAW'))
and I.INVENTORY_ITEM_ID = L.INVENTORY_ITEM_ID
and I.ORGANIZATION_ID = L.ORGANIZATION_ID
and I.ORGANIZATION_ID = 765
and I.ITEM_TYPE in ('RM','TRAW')
For Packaging
2- Generate Custom LOT for PACK and TPACK-GNP-GAP-GPI
WHEN-NEW-ITEM-INSTANCE
LOT_ENTRY.LOT_NUMBER
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('PM','TPACK') )is not NULL
and :LOT_ENTRY.LOT_NUMBER is NULL
Action
Item
LOT_ENTRY.LOT_NUMBER
)
1
)+
''
,
Z]'
-
A
-
'[
||(regexp_replace(LOT_NO,
'P'
=765 then
.ORG
Case When L
Select
=
)
1
)+
''
,
Z]'
-
A
-
'[
(regexp_replace(LOT_NO,
then to_char
977
=
.ORG
L
When
)
1
)+
''
,
Z]'
-
A
-
'[
(regexp_replace(LOT_NO,
When L.ORG=767 then to_char
End
from GNP_LOT_SEQ1 L
Where L.SEQ =(Select MAX(L1.SEQ)
from GNP_LOT_SEQ1 L1
Where
L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L1.ITEM_TYPE in ('RM','TRAW'))
and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L.ITEM_TYPE in ('PM','TPACK')
3- Insert Lot to LOT Custom Table for RAW and PACK
WHEN-VALIDATE-RECORD
LOT_ENTRY
Condition:
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID
and I.ORGANIZATION_ID=(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW','PM','TPACK') )is not NULL
Action:
Built-in
Execute Procedure:
='declare
C number:=GNP_L_SEQ.NEXTVAL;
F NVARCHAR2(10);
G NVARCHAR2(30):='''||${item.lot_entry.lot_number.value}||''';
H Date:=sysdate;
O NVARCHAR2(10):='''||${item.rcv_transaction.to_organization_id.value}||''';
M NVARCHAR2(50):='''||${item.LOT_CONTEXT.ITEM.value}||''';
begin
Select I.item_type into F from MTL_system_items_b I Where I.inventory_item_id='${item.rcv_transaction.item_id.value}'and
I.organization_id ='${item.rcv_transaction.to_organization_id.value}';
Insert into GNP_LOT_SEQ1 (SEQ,ITEM_TYPE,LOT_NO,LOT_DATE,ORG,ITEM) Select C,F,G,H,O,M from Dual where not exists (Select *
from GNP_LOT_SEQ1 Where (ITEM='${item.LOT_CONTEXT.ITEM.value}' and ORG='${item.rcv_transaction.to_organization_id.value}'
and LOT_NO='${item.lot_entry.lot_number.value}'));
end;
Commit'
4- Disable Lot Field for GNP-GAP-GPI
WHEN-NEW-ITEM-INSTANCE
LOT_ENTRY.LOT_NUMBER
Condition:
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW','PM','TPACK') )is not NULL
Action:
Item
LOT_ENTRY.LOT_NUMBER
ENABLED (APPLICATIONS COVER)
False
UPDATE_ALLOWED (ITEM-INSTANCE)
False
Scenario: PO Receipt
Example : PO : 22104940
Open Lot Entry
Lot Generated Automatic and Inserted to New Custom Table
Receipt anew Quantity
Lot Generated Automatic and Inserted to New Custom Table
Scenario TOLL Receipts:
Enter Lot/Serial
Lot Inserted in Custom table
Customization:
1- Close Lot Field at TRANS LINE GNP-GAP-GPI
Condition:
WHEN-NEW-ITEM-INSTANCE
MTL_TRX_LINE.LOT_NUMBER
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW') )is not NULL
Action
Item
MTL_TRX_LINE.LOT_NUMBER
INSERT_ALLOWED
False
UPDATE_ALLOWED
False
2- Disable Lot Field at Lot Entry Level
Condition:
LOT_ENTRY.LOT_NUMBER
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW') )is not NULL
Action:
Item
LOT_ENTRY.LOT_NUMBER
INSERT_ALLOWED
False
UPDATE_ALLOWED
False
3- Generate Custom LOT for RAW and TRAW-GNP-GPI-GAP
WHEN-NEW-ITEM-INSTANCE
LOT_ENTRY.LOT_NUMBER
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW') )is not NULL
and :lot_entry.lot_number is NULL
Action
Item
LOT_ENTRY.LOT_NUMBER
Value
= Select Case When L.ORG=765 then 'R'||(regexp_replace(LOT_NO, '[-A-Z]', '')+1)
When L.ORG =977 then to_char(regexp_replace(LOT_NO, '[-A-Z]', '')+1)
When L.ORG=767 then to_char(regexp_replace(LOT_NO, '[-A-Z]', '')+1)
End
from GNP_LOT_SEQ1 L
Where L.SEQ =(Select MAX(L1.SEQ)
from GNP_LOT_SEQ1 L1
Where
L1.ORG =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L1.ITEM_TYPE in ('PM','TPACK'))
and L.ORG=(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and L.ITEM_TYPE in ('PM','TPACK')
4- Insert LOT to GNP Custom Table
Condition:
WHEN-VALIDATE-RECORD
LOT_ENTRY
(Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
Where
I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id
and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977
when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767
end from dual )
and I.ITEM_TYPE in ('RM','TRAW') )is not NULL
and :LOT_ENTRY.LOT_NUMBER is not NULL
Action
Built in
Execute Procedure
='declare
C number:=GNP_L_SEQ.NEXTVAL;
F NVARCHAR2(10);
G NVARCHAR2(30):='''||${item.lot_entry.lot_number.value}||''';
H Date:=sysdate;
O NVARCHAR2(10):='''||${item.mtl_trx_line.organization_id.value}||''';
M NVARCHAR2(50):='''||${item.LOT_CONTEXT.ITEM.value}||''';
begin
Select I.item_type into F from MTL_system_items_b I Where
I.inventory_item_id='${item.mtl_trx_line.inventory_item_id.value}'and I.organization_id
='${item.mtl_trx_line.organization_id.value}';
Insert into GNP_LOT_SEQ1 (SEQ,ITEM_TYPE,LOT_NO,LOT_DATE,ORG,ITEM) Select C,F,G,H,O,M
from Dual where not exists (Select * from GNP_LOT_SEQ1 Where
(ITEM='${item.LOT_CONTEXT.ITEM.value}' and ORG='${item.mtl_trx_line.organization_id.value}'))
;
end;
Commit'

More Related Content

More from Mina Lotfy

Oracle Ebs Enterprise Asset Management.docx
Oracle Ebs Enterprise Asset Management.docxOracle Ebs Enterprise Asset Management.docx
Oracle Ebs Enterprise Asset Management.docxMina Lotfy
 
EBS-OPM Costing.docx
EBS-OPM Costing.docxEBS-OPM Costing.docx
EBS-OPM Costing.docxMina Lotfy
 
iproc setup.docx
iproc setup.docxiproc setup.docx
iproc setup.docxMina Lotfy
 
Oracle Quality setup
Oracle Quality setupOracle Quality setup
Oracle Quality setupMina Lotfy
 
Oracle Advanced Supply chain Planning Setup
Oracle Advanced Supply chain Planning SetupOracle Advanced Supply chain Planning Setup
Oracle Advanced Supply chain Planning SetupMina Lotfy
 
Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Mina Lotfy
 

More from Mina Lotfy (6)

Oracle Ebs Enterprise Asset Management.docx
Oracle Ebs Enterprise Asset Management.docxOracle Ebs Enterprise Asset Management.docx
Oracle Ebs Enterprise Asset Management.docx
 
EBS-OPM Costing.docx
EBS-OPM Costing.docxEBS-OPM Costing.docx
EBS-OPM Costing.docx
 
iproc setup.docx
iproc setup.docxiproc setup.docx
iproc setup.docx
 
Oracle Quality setup
Oracle Quality setupOracle Quality setup
Oracle Quality setup
 
Oracle Advanced Supply chain Planning Setup
Oracle Advanced Supply chain Planning SetupOracle Advanced Supply chain Planning Setup
Oracle Advanced Supply chain Planning Setup
 
Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2Oracle Process Manufacturing Setup EBS12.2
Oracle Process Manufacturing Setup EBS12.2
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Custom Lot Generation .docx

  • 1. Custom Lot Generation Prerequisites: 1- Create Custom Table to Store Lot and ORG and Item Type Create Table GNP_LOT_SEQ1 --Create custome Table ( SEQ number unique ,ITEM_TYPE NVARCHAR2(10) ,LOT_NO NVARCHAR2(30) ,LOT_DATE Date ,ORG NVARCHAR2(10) ,ITEM NVARCHAR2(50) ) 2- Create Sequence : CREATE SEQUENCE GNP_L_SEQ -- to Create Sequence MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 2; // to Reset Sequence use below Command alter sequence GNP_L_SEQ restart start with 1 -- to Reset Sequence
  • 2. 3- Create Personalization for Both PO Receipts and Toll Receipts Personalization:
  • 3. 1- Generate Custom LOT for RAW and TRAW-GNP_GPI_GAP “for RAW” WHEN-NEW-ITEM-INSTANCE LOT_ENTRY.LOT_NUMBER Condition: (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID and I.ORGANIZATION_ID = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW') )is not NULL and :LOT_ENTRY.LOT_NUMBER is NULL Action: Item LOT_ENTRY.LOT_NUMBER Value To Read from Custom Table: =Select 'R'||(substr(L.LOT_NO,2,100)+1) from GNP_LOT_SEQ1 L Where L.SEQ =(Select MAX(L1.SEQ) from GNP_LOT_SEQ1 L1 Where L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L1.ITEM_TYPE in ('RM','TRAW')) and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L.ITEM_TYPE in ('RM','TRAW')
  • 4. Modification: ) 1 )+ '' , Z]' - A - '[ ||(regexp_replace(LOT_NO, 'R' =765 then .ORG L Case When =Select ) 1 )+ '' , Z]' - A - '[ (regexp_replace(LOT_NO, to_char then 977 = .ORG L When ) 1 )+ '' , Z]' - A - '[ (regexp_replace(LOT_NO, to_char .ORG=767 then When L End from GNP_LOT_SEQ1 L Where L.SEQ =(Select MAX(L1.SEQ) from GNP_LOT_SEQ1 L1 Where L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L1.ITEM_TYPE in ('RM','TRAW')) and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L.ITEM_TYPE in ('RM','TRAW')
  • 5. To Read from Seeded Lot Table: Optional =Select 'R'||(substr(L.LOT_NUMBER,2,100)+1) from MTL_LOT_NUMBERS L, MTL_SYSTEM_ITEMS_B i Where L.CREATION_DATE =(Select MAX(L.CREATION_DATE) from MTL_LOT_NUMBERS L, MTL_SYSTEM_ITEMS_B i Where I.INVENTORY_ITEM_ID = L.INVENTORY_ITEM_ID and I.ORGANIZATION_ID = L.ORGANIZATION_ID and I.ORGANIZATION_ID = 765 and L.ORIGINATION_TYPE in (3,4) and I.ITEM_TYPE in ('RM','TRAW')) and I.INVENTORY_ITEM_ID = L.INVENTORY_ITEM_ID and I.ORGANIZATION_ID = L.ORGANIZATION_ID and I.ORGANIZATION_ID = 765 and I.ITEM_TYPE in ('RM','TRAW')
  • 6. For Packaging 2- Generate Custom LOT for PACK and TPACK-GNP-GAP-GPI WHEN-NEW-ITEM-INSTANCE LOT_ENTRY.LOT_NUMBER (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('PM','TPACK') )is not NULL and :LOT_ENTRY.LOT_NUMBER is NULL Action Item LOT_ENTRY.LOT_NUMBER ) 1 )+ '' , Z]' - A - '[ ||(regexp_replace(LOT_NO, 'P' =765 then .ORG Case When L Select = ) 1 )+ '' , Z]' - A - '[ (regexp_replace(LOT_NO, then to_char 977 = .ORG L When ) 1 )+ '' , Z]' - A - '[ (regexp_replace(LOT_NO, When L.ORG=767 then to_char
  • 7. End from GNP_LOT_SEQ1 L Where L.SEQ =(Select MAX(L1.SEQ) from GNP_LOT_SEQ1 L1 Where L1.ORG = (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L1.ITEM_TYPE in ('RM','TRAW')) and L.ORG= (Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L.ITEM_TYPE in ('PM','TPACK') 3- Insert Lot to LOT Custom Table for RAW and PACK WHEN-VALIDATE-RECORD LOT_ENTRY Condition: (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID and I.ORGANIZATION_ID=(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765
  • 8. When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW','PM','TPACK') )is not NULL Action: Built-in Execute Procedure: ='declare C number:=GNP_L_SEQ.NEXTVAL; F NVARCHAR2(10); G NVARCHAR2(30):='''||${item.lot_entry.lot_number.value}||'''; H Date:=sysdate; O NVARCHAR2(10):='''||${item.rcv_transaction.to_organization_id.value}||'''; M NVARCHAR2(50):='''||${item.LOT_CONTEXT.ITEM.value}||'''; begin Select I.item_type into F from MTL_system_items_b I Where I.inventory_item_id='${item.rcv_transaction.item_id.value}'and I.organization_id ='${item.rcv_transaction.to_organization_id.value}'; Insert into GNP_LOT_SEQ1 (SEQ,ITEM_TYPE,LOT_NO,LOT_DATE,ORG,ITEM) Select C,F,G,H,O,M from Dual where not exists (Select * from GNP_LOT_SEQ1 Where (ITEM='${item.LOT_CONTEXT.ITEM.value}' and ORG='${item.rcv_transaction.to_organization_id.value}' and LOT_NO='${item.lot_entry.lot_number.value}')); end; Commit' 4- Disable Lot Field for GNP-GAP-GPI WHEN-NEW-ITEM-INSTANCE LOT_ENTRY.LOT_NUMBER Condition: (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I
  • 9. Where I.INVENTORY_ITEM_ID =:RCV_TRANSACTION.ITEM_ID and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW','PM','TPACK') )is not NULL Action: Item LOT_ENTRY.LOT_NUMBER ENABLED (APPLICATIONS COVER) False UPDATE_ALLOWED (ITEM-INSTANCE) False Scenario: PO Receipt Example : PO : 22104940
  • 11. Lot Generated Automatic and Inserted to New Custom Table Receipt anew Quantity
  • 12. Lot Generated Automatic and Inserted to New Custom Table
  • 13. Scenario TOLL Receipts: Enter Lot/Serial Lot Inserted in Custom table
  • 14. Customization: 1- Close Lot Field at TRANS LINE GNP-GAP-GPI Condition: WHEN-NEW-ITEM-INSTANCE MTL_TRX_LINE.LOT_NUMBER (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW') )is not NULL Action Item MTL_TRX_LINE.LOT_NUMBER INSERT_ALLOWED False UPDATE_ALLOWED False
  • 15. 2- Disable Lot Field at Lot Entry Level Condition: LOT_ENTRY.LOT_NUMBER (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW') )is not NULL Action: Item LOT_ENTRY.LOT_NUMBER INSERT_ALLOWED False UPDATE_ALLOWED False 3- Generate Custom LOT for RAW and TRAW-GNP-GPI-GAP WHEN-NEW-ITEM-INSTANCE LOT_ENTRY.LOT_NUMBER (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW') )is not NULL and :lot_entry.lot_number is NULL
  • 16. Action Item LOT_ENTRY.LOT_NUMBER Value = Select Case When L.ORG=765 then 'R'||(regexp_replace(LOT_NO, '[-A-Z]', '')+1) When L.ORG =977 then to_char(regexp_replace(LOT_NO, '[-A-Z]', '')+1) When L.ORG=767 then to_char(regexp_replace(LOT_NO, '[-A-Z]', '')+1) End from GNP_LOT_SEQ1 L Where L.SEQ =(Select MAX(L1.SEQ) from GNP_LOT_SEQ1 L1 Where L1.ORG =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L1.ITEM_TYPE in ('PM','TPACK')) and L.ORG=(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and L.ITEM_TYPE in ('PM','TPACK') 4- Insert LOT to GNP Custom Table Condition: WHEN-VALIDATE-RECORD LOT_ENTRY (Select I.INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B I Where I.INVENTORY_ITEM_ID =:mtl_trx_line.inventory_item_id and I.ORGANIZATION_ID =(Select Case When apps.FND_PROFILE.VALUE('ORG_ID')=23 then 765 When apps.FND_PROFILE.VALUE('ORG_ID') =956 then 977 when apps.FND_PROFILE.VALUE('ORG_ID') =283 then 767 end from dual ) and I.ITEM_TYPE in ('RM','TRAW') )is not NULL and :LOT_ENTRY.LOT_NUMBER is not NULL Action Built in
  • 17. Execute Procedure ='declare C number:=GNP_L_SEQ.NEXTVAL; F NVARCHAR2(10); G NVARCHAR2(30):='''||${item.lot_entry.lot_number.value}||'''; H Date:=sysdate; O NVARCHAR2(10):='''||${item.mtl_trx_line.organization_id.value}||'''; M NVARCHAR2(50):='''||${item.LOT_CONTEXT.ITEM.value}||'''; begin Select I.item_type into F from MTL_system_items_b I Where I.inventory_item_id='${item.mtl_trx_line.inventory_item_id.value}'and I.organization_id ='${item.mtl_trx_line.organization_id.value}'; Insert into GNP_LOT_SEQ1 (SEQ,ITEM_TYPE,LOT_NO,LOT_DATE,ORG,ITEM) Select C,F,G,H,O,M from Dual where not exists (Select * from GNP_LOT_SEQ1 Where (ITEM='${item.LOT_CONTEXT.ITEM.value}' and ORG='${item.mtl_trx_line.organization_id.value}')) ; end; Commit'