Commit 780a2b2a authored by wansari's avatar wansari

W16ASUN022 added trigger and function for qc order lots location update


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101510 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 12cdd594
......@@ -41,3 +41,97 @@ CHG_TERM,ACTIVE,UDF_STR1) VALUES
('LOC_CODE_SUGG','W_PALLETOUT','REJECTED',' ITEM_SER__RG1_RJ','ITEM_SER__RG1_RJ',
SYSDATE,'BASE','BASE','Y','REJECTED');
-------------------------------------------------------PALLET_OUT_BOUND-----------------------------------------------------
-----------Please define site code as per your need for AWMS [START]-------------
Insert into disparm (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,DESCR,VAR_SUBS,CHG_DATE,CHG_USER,CHG_TERM)
values ('999999','AWMS_SITE_CODE','S','TA821,SP110,SQ130','AWMS Site Code',0,SYSDATE,'BASE','BASE');
update disparm set var_value = 'ddf_get_aprv_loc' where var_name = 'APR_LOC_UDF' and prd_code = '999999';
Insert into disparm (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,DESCR,VAR_SUBS,CHG_DATE,CHG_USER,CHG_TERM)
values ('999999','APR_LOC_UDF_INPUTS','S','LOC_CODE__ISS,SITE_CODE,ITEM_CODE','Input string for function',null,
sysdate,'BASE','BASE');
-----------Please define site code as per your need for AWMS [END]---------------
---------------------Changed by wasim on 04-05-2016 ddf_get_aprv_loc FUNCTION [START]-------------------------
create or replace
function ddf_get_aprv_loc(as_loccode in location.loc_code%type,as_siteCode in location.site_code%type,as_itemCode in item.item_code%type)
return varchar2 is
ls_loccode varchar2(8);
ls_awms_siteCode varchar2(50);
begin
begin
select VAR_VALUE INTO ls_awms_siteCode FROM DISPARM WHERE VAR_NAME = 'AWMS_SITE_CODE' AND PRD_CODE = '999999';
exception
when no_data_found then
ls_awms_siteCode := null;
end;
if ltrim(rtrim(as_loccode)) IN ('QUAR','REJ','RETEST') then
ls_loccode := 'FRSH';
ELSIF ltrim(rtrim(as_loccode)) = 'INTQ' then
ls_loccode := 'INTF';
ELSIF ltrim(rtrim(as_loccode)) = 'RDPK' then
ls_loccode := 'RDPK';
ELSIf substr(rtrim(as_loccode),length(rtrim(as_loccode)),length(rtrim(as_loccode)))='Q' THEN
ls_loccode := substr(rtrim(as_loccode),1,length(rtrim(as_loccode)) - 1);
ELSIf substr(rtrim(as_loccode),length(rtrim(as_loccode)),length(rtrim(as_loccode)))='M' and trim(as_siteCode) = trim(SUBSTR(ls_awms_siteCode,INSTR(ls_awms_siteCode,trim(as_siteCode)),length(trim(as_siteCode)))) THEN
ls_loccode := substr(rtrim(as_loccode),1,length(rtrim(as_loccode)) - 1) || 'X';
ELSIf substr(rtrim(as_loccode),length(rtrim(as_loccode)),length(rtrim(as_loccode)))='S' and trim(as_siteCode) = trim(SUBSTR(ls_awms_siteCode,INSTR(ls_awms_siteCode,trim(as_siteCode)),length(trim(as_siteCode)))) THEN
ls_loccode := substr(rtrim(as_loccode),1,length(rtrim(as_loccode)) - 1) || 'B';
ELSIf substr(rtrim(as_loccode),length(rtrim(as_loccode)),length(rtrim(as_loccode)))='U' and trim(as_siteCode) = trim(SUBSTR(ls_awms_siteCode,INSTR(ls_awms_siteCode,trim(as_siteCode)),length(trim(as_siteCode)))) THEN
ls_loccode := substr(rtrim(as_loccode),1,length(rtrim(as_loccode)) - 1) || 'P';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOM' then
ls_loccode := 'BSR';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOM25X' then
ls_loccode := 'BSR25X';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMC25' then
ls_loccode := 'BSRC25';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMC30' then
ls_loccode := 'BSRC30';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMC8' then
ls_loccode := 'BSRC8';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMC8X' then
ls_loccode := 'BSRC8X';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMF' then
ls_loccode := 'BSRF';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMS8' then
ls_loccode := 'BSRS8';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMX' then
ls_loccode := 'BSRX';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMX25' then
ls_loccode := 'BSRX25';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMS8X' then
ls_loccode := 'BSRS8';
ELSIF ltrim(rtrim(as_loccode)) = 'FROOMPN' then
ls_loccode := 'BSRPN';
else
ls_loccode:='FRSH';
end if;
return ls_loccode;
end;
---------------------Changed by wasim on 04-05-2016 ddf_get_aprv_loc FUNCTION [END]-------------------------
---------------------Changed by wasim on 04-05-2016 for trigger [START]---------------------
create or replace
TRIGGER DT_UPD_QCREJ_LOC_CODE
BEFORE UPDATE OF loctype ON qc_order_lots referencing old as old new as new FOR EACH ROW
DECLARE
ls_sitecode site.site_code%type;
ls_awms_siteCode varchar2(50);
BEGIN
select VAR_VALUE INTO ls_awms_siteCode FROM DISPARM WHERE VAR_NAME = 'AWMS_SITE_CODE' AND PRD_CODE = '999999';
begin
select site_code into ls_sitecode from qc_order where qorder_no = :old.QC_ORDER;
exception when others then
ls_sitecode := ' ';
end;
if trim(ls_sitecode) = trim(SUBSTR(ls_awms_siteCode,INSTR(ls_awms_siteCode,trim(ls_sitecode)),length(trim(ls_sitecode)))) then
if :new.loctype = 'R' then
:new.loc_code := substr(trim(:old.loc_code__issue),1,length(trim(:old.loc_code__issue))-1) || 'R';
end if;
end if;
end;
---------------------Changed by wasim on 04-05-2016 for trigger [END]---------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment