Alloy Standard MST Iud PKG

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

PRDCTION_ENTRY_DTL_IUD_PKG create or replace PACKAGE BODY

"ALLOY_STANDARD_MST_IUD_PKG" AS
--Created By:BHAVIK Creation Date:20-Apr-2022 14:37:35

--FOR INSERT OR UPDATE


PROCEDURE ALLOY_STANDARD_MST_INS_UPD (
P_ALLOY_STD_ID_AUTO ALLOY_STANDARD_MST.ALLOY_STD_ID_AUTO%TYPE,
P_DESCRIPTION ALLOY_STANDARD_MST.DESCRIPTION%TYPE,
P_STD_NO ALLOY_STANDARD_MST.STD_NO%TYPE,
P_COMPANY_ID IN NUMBER,
P_USER_ID IN NUMBER,
P_SESSION_ID IN VARCHAR2,
P_CUSTOMER_NAME IN VARCHAR2,
P_MODE IN VARCHAR2,
P_MESSAGE IN OUT VARCHAR2
) AS
P_PK ALLOY_STANDARD_MST.ALLOY_STD_ID_AUTO%TYPE;
DUP NUMBER;
BEGIN
IF
P_USER_ID IS NULL AND P_COMPANY_ID IS NULL
THEN
RAISE_APPLICATION_ERROR(-20000, 'Unidentified User/Company ,
Returning..');
END IF;

IF P_MODE = 'INSERT' THEN


--FOR CHECKSTD_NO DUPLICATION
SELECT
COUNT(STD_NO)
INTO DUP
FROM
ALLOY_STANDARD_MST
WHERE
UPPER(STD_NO) = UPPER(TRIM(P_STD_NO)) AND UPPER(STATUS) =
'ACTIVE';

IF DUP > 0 THEN


RAISE_APPLICATION_ERROR(-20000, 'STD NO -> ' || P_STD_NO || '
Already Exist');
END IF;

--FIND NEXT ALLOY_STD_ID_AUTO


SELECT
NVL(MAX(ALLOY_STD_ID_AUTO), 0) + 1
INTO P_PK
FROM
ALLOY_STANDARD_MST;

INSERT INTO ALLOY_STANDARD_MST VALUES (


P_PK,
P_DESCRIPTION,
P_STD_NO,
'ACTIVE',
NULL,
SYSDATE,
P_USER_ID,
NULL,
NULL,
NULL,
P_COMPANY_ID,
SYS_GUID(),
P_SESSION_ID
);

P_MESSAGE := 'Record Saved #' || P_PK;


ELSIF P_MODE = 'UPDATE' THEN
UPDATE ALLOY_STANDARD_MST
SET
DESCRIPTION = P_DESCRIPTION,
STD_NO = P_STD_NO,
LAST_UPDATED_BY_ID = P_USER_ID,
LAST_UPDATED_DATE = SYSDATE
WHERE
ALLOY_STD_ID_AUTO = TRIM(P_ALLOY_STD_ID_AUTO) AND COMPANY_ID
= P_COMPANY_ID AND UPPER(STATUS) = 'ACTIVE';

P_MESSAGE := 'Record Updated #' || TRIM(P_ALLOY_STD_ID_AUTO);


END IF;

USER_ACTIVITY_LOG_DTL_PKG.AUDIT_LOGGER(P_MODE, SYSDATE, P_COMPANY_ID,


P_USER_ID, P_SESSION_ID,
P_ALLOY_STD_ID_AUTO, NULL, NULL, $
$PLSQL_UNIT);

COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
USER_ACTIVITY_LOG_DTL_PKG.EXCEPTION_LOGGER(SQLERRM || ' ' || SQLCODE,
SYSDATE, P_COMPANY_ID, P_USER_ID, P_SESSION_ID,
$$PLSQL_UNIT);

COMMIT;
RAISE_APPLICATION_ERROR(-20000, SQLERRM || ' ' || SQLCODE);
END;

--FOR DELETE DATA


PROCEDURE ALLOY_STANDARD_MST_DEL (
P_ALLOY_STD_ID_AUTO IN ALLOY_STANDARD_MST.ALLOY_STD_ID_AUTO%TYPE,
P_COMPANY_ID NUMBER,
P_USER_ID NUMBER,
P_SESSION_ID VARCHAR2,
P_CUSTOMER_NAME IN VARCHAR2,
P_MESSAGE IN OUT VARCHAR2
) AS
BEGIN
IF P_COMPANY_ID IS NULL THEN
RAISE_APPLICATION_ERROR(-20000, 'Unidentified Company , Returning..');
END IF;
DELETE FROM ALLOY_STANDARD_MST
WHERE
ALLOY_STD_ID_AUTO = P_ALLOY_STD_ID_AUTO AND COMPANY_ID =
P_COMPANY_ID;
--
P_MESSAGE := 'Record Deleted #' || P_ALLOY_STD_ID_AUTO;
USER_ACTIVITY_LOG_DTL_PKG.AUDIT_LOGGER('DELETE', SYSDATE, P_COMPANY_ID,
P_USER_ID, P_SESSION_ID,
P_ALLOY_STD_ID_AUTO, NULL, NULL, $
$PLSQL_UNIT);

COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
USER_ACTIVITY_LOG_DTL_PKG.EXCEPTION_LOGGER(SQLERRM || ' ' || SQLCODE,
SYSDATE, P_COMPANY_ID, P_USER_ID, P_SESSION_ID,
$$PLSQL_UNIT);

COMMIT;
RAISE_APPLICATION_ERROR(-20000, SQLERRM || ' ' || SQLCODE);
END;

--FOR SELECT DATA


PROCEDURE ALLOY_STANDARD_MST_QUERY (
P_MST OUT SYS_REFCURSOR,
P_COMPANY_ID NUMBER,
P_SESSION_ID VARCHAR2,
P_CUSTOMER_NAME IN VARCHAR2,
P_USER_ID NUMBER
) AS
BEGIN
OPEN P_MST FOR SELECT
ALLOY_STD_ID_AUTO,
DESCRIPTION,
STD_NO
FROM
ALLOY_STANDARD_MST
WHERE
COMPANY_ID = P_COMPANY_ID AND UPPER(STATUS) =
'ACTIVE'
ORDER BY
ALLOY_STD_ID_AUTO DESC;

USER_ACTIVITY_LOG_DTL_PKG.AUDIT_LOGGER('BROWSE', SYSDATE, P_COMPANY_ID,


P_USER_ID, P_SESSION_ID,
NULL, NULL, NULL, $$PLSQL_UNIT);

COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
USER_ACTIVITY_LOG_DTL_PKG.EXCEPTION_LOGGER(SQLERRM || ' ' || SQLCODE,
SYSDATE, P_COMPANY_ID, P_USER_ID, P_SESSION_ID,
$$PLSQL_UNIT);

COMMIT;
RAISE_APPLICATION_ERROR(-20000, SQLERRM || ' ' || SQLCODE);
END;

--FOR CHECK DUPLICATE STD_NO


PROCEDURE CHECK_STD_NO_DUP (
P_STD_NO ALLOY_STANDARD_MST.STD_NO%TYPE,
P_COMPANY_ID NUMBER,
P_CUSTOMER_NAME IN VARCHAR2,
P_RESULT OUT NUMBER,
P_MESSAGE OUT VARCHAR2
) AS
BEGIN
SELECT
COUNT(*)
INTO P_RESULT
FROM
ALLOY_STANDARD_MST
WHERE
TRIM(STD_NO) = TRIM(P_STD_NO) AND COMPANY_ID = P_COMPANY_ID;

P_MESSAGE := 'OK';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
USER_ACTIVITY_LOG_DTL_PKG.EXCEPTION_LOGGER(SQLERRM || ' ' || SQLCODE,
SYSDATE, P_COMPANY_ID, '0', '0',
$$PLSQL_UNIT);

COMMIT;
RAISE_APPLICATION_ERROR(-20000, SQLERRM || ' ' || SQLCODE);
END CHECK_STD_NO_DUP;

END;= PRODUCTION_ENTRY_DTL_IUD_PKG

You might also like