CREATE OR REPLACE PROCEDURE "USP_DFTEST_BI" (
V_FABID MIDAS.MIDAS_DFTEST.FABID%TYPE,
V_EQCODE MIDAS.MIDAS_DFTEST.EQCODE%TYPE,
V_TESTNAME MIDAS.MIDAS_DFTEST.TESTNAME%TYPE,
V_TESTDATE MIDAS.MIDAS_DFTEST_DAILY.TESTDATE%TYPE,
V_LOTID MIDAS.MIDAS_DFTEST.LOTID%TYPE,
V_SETUPID MIDAS.MIDAS_DFTEST.SETUPID%TYPE,
V_STEPID MIDAS.MIDAS_DFTEST.STEPID%TYPE,
V_SLOTNO MIDAS.MIDAS_DFTEST.SLOTNO%TYPE,
V_DIEPITCHX VARCHAR2,
V_DIEPITCHY VARCHAR2,
V_TESTID_OUT OUT NUMBER,
V_ISEXIST_OUT OUT NUMBER
)
IS
vCnt NUMBER(10);
vGROUPID VARCHAR2(10);
BEGIN
-- AdoptDate 삭제됨..
SELECT NVL(COUNT(*),0) INTO vCnt
FROM MIDAS_DFTEST
WHERE FABID=V_FABID AND EQCODE=V_EQCODE AND TESTNAME=V_TESTNAME;
IF vCnt<1 THEN
V_ISEXIST_OUT := 0;
SELECT NVL(MAX(TESTID), 0)+1 INTO V_TESTID_OUT FROM MIDAS_DFTEST;
SELECT NVL(MAX(GROUPID),'Unknown') INTO vGROUPID FROM MIDAS_EQUIPMENT
WHERE FABID=V_FABID AND EQCODE=V_EQCODE;
INSERT INTO MIDAS_DFTEST ( TESTID, FABID, EQCODE, TESTNAME, GROUPID, LOTID, SETUPID
, STEPID, SLOTNO, REGUSERID, REGUSERNAME, TESTSTATE, DIEPITCHX, DIEPITCHY )
VALUES
( V_TESTID_OUT, V_FABID, V_EQCODE, V_TESTNAME, vGROUPID, V_LOTID, V_SETUPID
, V_STEPID, V_SLOTNO, 'SYSTEM', '관리자', 2, TO_NUMBER(V_DIEPITCHX), TO_NUMBER(V_DIEPITCHY) );
ELSE
V_ISEXIST_OUT := 1;
UPDATE MIDAS_DFTEST SET
DIEPITCHX = TO_NUMBER(V_DIEPITCHX),
DIEPITCHY = TO_NUMBER(V_DIEPITCHY)
WHERE FABID=V_FABID AND EQCODE=V_EQCODE AND TESTNAME=V_TESTNAME;
SELECT NVL(MAX(TESTID),0) INTO V_TESTID_OUT
FROM MIDAS_DFTEST
WHERE FABID=V_FABID AND EQCODE=V_EQCODE AND TESTNAME=V_TESTNAME ;
END IF;
END USP_DFTEST_BI;
/