CREATE OR REPLACE FUNCTION HR.F_SSO_APP (P_APPLI IN VARCHAR2, P_LOGIN IN VARCHAR2)
RETURN VARCHAR2
IS
W_DATEX VARCHAR2(256);
W_ROWID VARCHAR2(256);
W_CPT NUMBER;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
W_DATEX := TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS');
SELECT COUNT(*)
INTO W_CPT
FROM ECRYSTA.SSO_APP
WHERE APPLI = P_APPLI
AND LOGIN_APP = P_LOGIN;
IF W_CPT = 1 THEN
SELECT ROWID
INTO W_ROWID
FROM ECRYSTA.SSO_APP
WHERE APPLI = P_APPLI
AND LOGIN_APP = P_LOGIN;
COMMIT;
RETURN W_ROWID;
END IF;
INSERT INTO ECRYSTA.SSO_APP
(IDENT, APPLI, LOGIN_APP)
VALUES (W_DATEX, P_APPLI, P_LOGIN);
SELECT ROWID
INTO W_ROWID
FROM ECRYSTA.SSO_APP
WHERE IDENT = W_DATEX
AND APPLI = P_APPLI
AND LOGIN_APP = P_LOGIN;
UPDATE ECRYSTA.SSO_APP
SET IDENT = W_ROWID
WHERE IDENT = W_DATEX
AND APPLI = P_APPLI
AND LOGIN_APP = P_LOGIN;
COMMIT;
RETURN W_ROWID;
END;
/
Partager