create or replace trigger MM_PICKM_B_TG
before insert or update or DELETE on MM_PICKM_B FOR EACH ROW
declare
cursor WS is SELECT CODE AS WORKSHOP FROM org_dept_v O WHERE O.PK_VID = (SELECT CDEPTVID FROM MM_PICKM M WHERE m.dr = '0' and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1);
cursor ZZ is SELECT CODE AS ZZCODE FROM bd_material B WHERE B.PK_MATERIAL = (SELECT CMATERIALVID FROM MM_PICKM M WHERE m.dr = '0' and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1);
cursor CO is SELECT bd.name AS COLOR FROM BD_DEFDOC BD ,MM_PICKM m where m.dr = '0' and bd.dr = '0' and BD.PK_DEFDOC = m.vfree1 and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1 ;
cursor bm is SELECT B.CODE as ITEMCODE,b.NAME as ITEMNAME,b.GRAPHID as DRAWNUMBER,b.def8 as STOCKERCODE,b.def8 as STOCKERNAME FROM BD_MATERIAL B WHERE b.dr = '0' and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bd is SELECT d.code as CBPRODUCTORID FROM BD_DEFDOC D WHERE d.dr = '0' and D.PK_DEFDOC=:NEW.CBPRODUCTORID and rownum = 1;
cursor bs is SELECT s.CODE as SUPCODE,s.NAME as SUPNAME FROM bd_supplier S WHERE s.dr = '0' and S.pk_supplier=:NEW.vbfree2 and rownum = 1;
cursor bsd is SELECT bs.CODE as WHCODE ,bs.name as WHNAME from bd_materialstock bm,bd_stordoc bs where bm.dr = '0' and bs.dr = '0' and bm.pk_stordoc = bs.pk_stordoc and Bm.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
-- cursor bp is SELECT PS.CODE as STOCKERCODE,PS.name as STOCKERNAME FROM BD_PSNDOC PS WHERE PS.PK_PSNDOC=:NEW.CSTOCKMANID and rownum = 1;
cursor bb is SELECT bd.name as vdef1 FROM BD_MATERIAL bm,bd_defdoc bd WHERE bm.dr = '0' and bd.dr = '0' and bm.def14 = bd.pk_defdoc and Bm.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bdef is SELECT bd.CODE as pickercode,bd.name as pickername FROM bd_defdoc bd,BD_MATERIAL b WHERE bd.dr = '0' and b.dr = '0' and bd.pk_defdoc = b.def13 and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bb1 is SELECT bd.name as unit FROM bd_measdoc bd WHERE bd.dr = '0' and bd.pk_measdoc =:NEW.CBUNITID and rownum = 1;
cursor bb2 is SELECT bd.code as GETTYPE FROM BD_MATERIAL B ,bd_defdoc bd WHERE b.dr = '0'and bd.dr = '0' and b.def12 = bd.pk_defdoc and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
WORKSHOP1 varchar2(100);
ZZCODE1 varchar2(100);
COLOR1 varchar2(100);
ITEMCODE1 varchar2(100);
ITEMNAME1 varchar2(100);
DRAWNUMBER1 varchar2(100);
CBPRODUCTORID1 varchar2(100);
SUPCODE1 varchar2(100);
SUPNAME1 varchar2(100);
GETTYPE1 varchar2(100);
WHCODE1 varchar2(100);
WHNAME1 varchar2(100);
STOCKERCODE1 varchar2(100);
STOCKERNAME1 varchar2(100);
vdef11 varchar2(100);
pickercode1 varchar2(100);
pickername1 varchar2(100);
unit1 varchar2(100);
BEGIN
FOR V_EMP IN WS LOOP
WORKSHOP1 := V_EMP.WORKSHOP;
END LOOP;
FOR V_EMP IN ZZ LOOP
ZZCODE1 := V_EMP.ZZCODE;
END LOOP;
FOR V_EMP IN CO LOOP
COLOR1 := V_EMP.COLOR;
END LOOP;
FOR V_EMP IN bm LOOP
ITEMCODE1 := V_EMP.ITEMCODE;
ITEMNAME1 := V_EMP.ITEMNAME;
DRAWNUMBER1 := V_EMP.DRAWNUMBER;
STOCKERCODE1 := V_EMP.STOCKERCODE;
STOCKERNAME1 := V_EMP.STOCKERNAME;
END LOOP;
FOR V_EMP1 IN bd LOOP
CBPRODUCTORID1 := V_EMP1.CBPRODUCTORID;
END LOOP;
FOR V_EMP IN bs LOOP
SUPCODE1 := V_EMP.SUPCODE;
SUPNAME1 := V_EMP.SUPNAME;
END LOOP;
FOR V_EMP IN bsd LOOP
WHCODE1 := V_EMP.WHCODE;
WHNAME1 := V_EMP.WHNAME;
END LOOP;
FOR V_EMP IN bb LOOP
vdef11 := V_EMP.vdef1;
END LOOP;
FOR V_EMP IN bdef LOOP
pickercode1 := V_EMP.pickercode;
pickername1 := V_EMP.pickername;
END LOOP;
FOR V_EMP IN bb1 LOOP
unit1 := V_EMP.unit;
END LOOP;
FOR V_EMP IN bb2 LOOP
GETTYPE1 := V_EMP.GETTYPE;
END LOOP;
IF INSERTING THEN
INSERT INTO MES_NC_MATERIAL_PLAN (WORKSHOP,ZZCODE,COLOR,PLANDATE,ITEMCODE,ITEMNAME,DRAWNUMBER,STATIONCODE,SUPCODE,SUPNAME,UNIT,QTY,GETTYPE,WHCODE,WHNAME,STOCKERCODE,STOCKERNAME,PICKERCODE,PICKERNAME,vdef1,Pk)
VALUES
(WORKSHOP1,ZZCODE1,COLOR1,to_char(:new.DREQUIREDATE),ITEMCODE1,ITEMNAME1,DRAWNUMBER1,CBPRODUCTORID1,SUPCODE1,SUPNAME1,unit1,to_char(:new.NUNITUSENUM),GETTYPE1,WHCODE1,WHNAME1,STOCKERCODE1,STOCKERNAME1,pickercode1,pickername1,vdef11,to_char(:new.cpickm_bid));
END IF;
IF UPDATING THEN
if(:new.dr = '1') then
delete from MES_NC_MATERIAL_PLAN WHERE Pk=:NEW.cpickm_bid;
else
UPDATE MES_NC_MATERIAL_PLAN
SET WORKSHOP=WORKSHOP1,ZZCODE = ZZCODE1,COLOR = COLOR1,PLANDATE = to_char(:new.DREQUIREDATE),ITEMCODE = ITEMCODE1,ITEMNAME = ITEMNAME1,DRAWNUMBER = DRAWNUMBER1,STATIONCODE = CBPRODUCTORID1, SUPCODE = SUPCODE1, SUPNAME = SUPNAME1, UNIT = unit1, QTY = to_char(:new.NUNITUSENUM)
, GETTYPE = GETTYPE1, WHCODE = WHCODE1, WHNAME = WHNAME1, STOCKERCODE = STOCKERCODE1, STOCKERNAME = STOCKERNAME1, PICKERCODE = '', PICKERNAME = '', vdef1 = vdef11
WHERE pk=:NEW.cpickm_bid;
end if;
end if;
END;
create or replace trigger BD_MATERIAL_TG
before INSERT OR update OR DELETE ON BD_MATERIAL FOR EACH ROW
declare
BEGIN
IF INSERTING THEN
INSERT INTO MES_NC_MATERIAL_LIST (ITEMCODE,ITEMNAME,GETTYPE,pk)
VALUES(:new.code,:new.name,:new.def12,:NEW.PK_MATERIAL);
END IF;
IF UPDATING THEN
if(:new.dr = '1') then
delete from MES_NC_MATERIAL_LIST WHERE pk=:NEW.PK_MATERIAL;
else
UPDATE MES_NC_MATERIAL_LIST
SET ITEMCODE = :new.code, ITEMNAME = :new.name, GETTYPE = :new.def12
WHERE pk=:NEW.PK_MATERIAL;
end if;
end if;
END ;
before insert or update or DELETE on MM_PICKM_B FOR EACH ROW
declare
cursor WS is SELECT CODE AS WORKSHOP FROM org_dept_v O WHERE O.PK_VID = (SELECT CDEPTVID FROM MM_PICKM M WHERE m.dr = '0' and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1);
cursor ZZ is SELECT CODE AS ZZCODE FROM bd_material B WHERE B.PK_MATERIAL = (SELECT CMATERIALVID FROM MM_PICKM M WHERE m.dr = '0' and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1);
cursor CO is SELECT bd.name AS COLOR FROM BD_DEFDOC BD ,MM_PICKM m where m.dr = '0' and bd.dr = '0' and BD.PK_DEFDOC = m.vfree1 and M.CPICKMID =:NEW.CPICKMID AND ROWNUM = 1 ;
cursor bm is SELECT B.CODE as ITEMCODE,b.NAME as ITEMNAME,b.GRAPHID as DRAWNUMBER,b.def8 as STOCKERCODE,b.def8 as STOCKERNAME FROM BD_MATERIAL B WHERE b.dr = '0' and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bd is SELECT d.code as CBPRODUCTORID FROM BD_DEFDOC D WHERE d.dr = '0' and D.PK_DEFDOC=:NEW.CBPRODUCTORID and rownum = 1;
cursor bs is SELECT s.CODE as SUPCODE,s.NAME as SUPNAME FROM bd_supplier S WHERE s.dr = '0' and S.pk_supplier=:NEW.vbfree2 and rownum = 1;
cursor bsd is SELECT bs.CODE as WHCODE ,bs.name as WHNAME from bd_materialstock bm,bd_stordoc bs where bm.dr = '0' and bs.dr = '0' and bm.pk_stordoc = bs.pk_stordoc and Bm.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
-- cursor bp is SELECT PS.CODE as STOCKERCODE,PS.name as STOCKERNAME FROM BD_PSNDOC PS WHERE PS.PK_PSNDOC=:NEW.CSTOCKMANID and rownum = 1;
cursor bb is SELECT bd.name as vdef1 FROM BD_MATERIAL bm,bd_defdoc bd WHERE bm.dr = '0' and bd.dr = '0' and bm.def14 = bd.pk_defdoc and Bm.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bdef is SELECT bd.CODE as pickercode,bd.name as pickername FROM bd_defdoc bd,BD_MATERIAL b WHERE bd.dr = '0' and b.dr = '0' and bd.pk_defdoc = b.def13 and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
cursor bb1 is SELECT bd.name as unit FROM bd_measdoc bd WHERE bd.dr = '0' and bd.pk_measdoc =:NEW.CBUNITID and rownum = 1;
cursor bb2 is SELECT bd.code as GETTYPE FROM BD_MATERIAL B ,bd_defdoc bd WHERE b.dr = '0'and bd.dr = '0' and b.def12 = bd.pk_defdoc and B.PK_MATERIAL=:NEW.CBMATERIALVID and rownum = 1;
WORKSHOP1 varchar2(100);
ZZCODE1 varchar2(100);
COLOR1 varchar2(100);
ITEMCODE1 varchar2(100);
ITEMNAME1 varchar2(100);
DRAWNUMBER1 varchar2(100);
CBPRODUCTORID1 varchar2(100);
SUPCODE1 varchar2(100);
SUPNAME1 varchar2(100);
GETTYPE1 varchar2(100);
WHCODE1 varchar2(100);
WHNAME1 varchar2(100);
STOCKERCODE1 varchar2(100);
STOCKERNAME1 varchar2(100);
vdef11 varchar2(100);
pickercode1 varchar2(100);
pickername1 varchar2(100);
unit1 varchar2(100);
BEGIN
FOR V_EMP IN WS LOOP
WORKSHOP1 := V_EMP.WORKSHOP;
END LOOP;
FOR V_EMP IN ZZ LOOP
ZZCODE1 := V_EMP.ZZCODE;
END LOOP;
FOR V_EMP IN CO LOOP
COLOR1 := V_EMP.COLOR;
END LOOP;
FOR V_EMP IN bm LOOP
ITEMCODE1 := V_EMP.ITEMCODE;
ITEMNAME1 := V_EMP.ITEMNAME;
DRAWNUMBER1 := V_EMP.DRAWNUMBER;
STOCKERCODE1 := V_EMP.STOCKERCODE;
STOCKERNAME1 := V_EMP.STOCKERNAME;
END LOOP;
FOR V_EMP1 IN bd LOOP
CBPRODUCTORID1 := V_EMP1.CBPRODUCTORID;
END LOOP;
FOR V_EMP IN bs LOOP
SUPCODE1 := V_EMP.SUPCODE;
SUPNAME1 := V_EMP.SUPNAME;
END LOOP;
FOR V_EMP IN bsd LOOP
WHCODE1 := V_EMP.WHCODE;
WHNAME1 := V_EMP.WHNAME;
END LOOP;
FOR V_EMP IN bb LOOP
vdef11 := V_EMP.vdef1;
END LOOP;
FOR V_EMP IN bdef LOOP
pickercode1 := V_EMP.pickercode;
pickername1 := V_EMP.pickername;
END LOOP;
FOR V_EMP IN bb1 LOOP
unit1 := V_EMP.unit;
END LOOP;
FOR V_EMP IN bb2 LOOP
GETTYPE1 := V_EMP.GETTYPE;
END LOOP;
IF INSERTING THEN
INSERT INTO MES_NC_MATERIAL_PLAN (WORKSHOP,ZZCODE,COLOR,PLANDATE,ITEMCODE,ITEMNAME,DRAWNUMBER,STATIONCODE,SUPCODE,SUPNAME,UNIT,QTY,GETTYPE,WHCODE,WHNAME,STOCKERCODE,STOCKERNAME,PICKERCODE,PICKERNAME,vdef1,Pk)
VALUES
(WORKSHOP1,ZZCODE1,COLOR1,to_char(:new.DREQUIREDATE),ITEMCODE1,ITEMNAME1,DRAWNUMBER1,CBPRODUCTORID1,SUPCODE1,SUPNAME1,unit1,to_char(:new.NUNITUSENUM),GETTYPE1,WHCODE1,WHNAME1,STOCKERCODE1,STOCKERNAME1,pickercode1,pickername1,vdef11,to_char(:new.cpickm_bid));
END IF;
IF UPDATING THEN
if(:new.dr = '1') then
delete from MES_NC_MATERIAL_PLAN WHERE Pk=:NEW.cpickm_bid;
else
UPDATE MES_NC_MATERIAL_PLAN
SET WORKSHOP=WORKSHOP1,ZZCODE = ZZCODE1,COLOR = COLOR1,PLANDATE = to_char(:new.DREQUIREDATE),ITEMCODE = ITEMCODE1,ITEMNAME = ITEMNAME1,DRAWNUMBER = DRAWNUMBER1,STATIONCODE = CBPRODUCTORID1, SUPCODE = SUPCODE1, SUPNAME = SUPNAME1, UNIT = unit1, QTY = to_char(:new.NUNITUSENUM)
, GETTYPE = GETTYPE1, WHCODE = WHCODE1, WHNAME = WHNAME1, STOCKERCODE = STOCKERCODE1, STOCKERNAME = STOCKERNAME1, PICKERCODE = '', PICKERNAME = '', vdef1 = vdef11
WHERE pk=:NEW.cpickm_bid;
end if;
end if;
END;
create or replace trigger BD_MATERIAL_TG
before INSERT OR update OR DELETE ON BD_MATERIAL FOR EACH ROW
declare
BEGIN
IF INSERTING THEN
INSERT INTO MES_NC_MATERIAL_LIST (ITEMCODE,ITEMNAME,GETTYPE,pk)
VALUES(:new.code,:new.name,:new.def12,:NEW.PK_MATERIAL);
END IF;
IF UPDATING THEN
if(:new.dr = '1') then
delete from MES_NC_MATERIAL_LIST WHERE pk=:NEW.PK_MATERIAL;
else
UPDATE MES_NC_MATERIAL_LIST
SET ITEMCODE = :new.code, ITEMNAME = :new.name, GETTYPE = :new.def12
WHERE pk=:NEW.PK_MATERIAL;
end if;
end if;
END ;