------------------------------------------------------------------------------- PROCEDURE P_ProcPinVerifyExist ( aidm NUMBER, appid IN OUT VARCHAR2, vpin VARCHAR2 ) IS sabnstu_rec sabnstu%ROWTYPE; ----------------------------------------------------------------- -- Begin Messiah Customization 2009.05.18.01.EH-01 -- modify METAFORWARD to have a variable URL destination ----------------------------------------------------------------- -- url_pos integer; meta_url varchar2(500); http_referer varchar2(500); -- ----------------------------------------------------------------- -- End Messiah Customization 2009.05.18.01.EH-01 ----------------------------------------------------------------- BEGIN OPEN getsabnstuc (aidm); FETCH getsabnstuc INTO sabnstu_rec; -- IF getsabnstuc%NOTFOUND OR sabnstu_rec.sabnstu_appid <> appid THEN CLOSE getsabnstuc; msg.mlevel := 1; msg.text := g$_nls.get ( 'BWSKALO1-0636', 'SQL', 'Break-in attempt!!! Please login.' ); p_setsecuritycookie (force_login => TRUE); p_disploginnon; ELSIF sabnstu_rec.sabnstu_pin = vpin THEN CLOSE getsabnstuc; p_updateappidnon ( aidm => aidm, pin => vpin, appid => appid, reset_ind => 'RESET' ); p_setsecuritycookie (aidm => aidm, appid => appid); ----------------------------------------------------------------- -- Begin Messiah Customization 2009.05.18.01.EH-02 -- modify METAFORWARD to have a variable URL destination -------------------------------------------------------- ---------------------------------------------------------------------------------------------------- -- the following line is the original code ---------------------------------------------------------------------------------------------------- -- twbkwbis.p_metaforward (twbkwbis.f_cgibin || 'bwskalog.P_DispChoices'); ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- -- the following lines are the replacement code ---------------------------------------------------------------------------------------------------- http_referer := OWA_UTIL.get_cgi_env ('HTTP_REFERER'); IF http_referer IS NULL THEN meta_url := twbkwbis.f_cgibin || 'bwskalog.P_DispChoices'; ELSE url_pos := instr(http_referer,'&url=') + 5; IF url_pos = 5 THEN meta_url := twbkwbis.f_cgibin || 'bwskalog.P_DispChoices'; ELSE meta_url := substr(http_referer,url_pos, length(http_referer) - url_pos + 1); END IF; END IF; twbkwbis.p_metaforward (meta_url); ---------------------------------------------------------------------------------------------------- -- End Messiah Customization 2009.05.18.01.EH-02 ----------------------------------------------------------------- -- 'hwskalog.P_DispAdmsMnuNon'); p_getnames (aidm); RETURN; ELSIF sabnstu_rec.sabnstu_login_attempts + 1 >= twbklibs.twgbwrul_rec.twgbwrul_login_attempts THEN CLOSE getsabnstuc; UPDATE sabnstu SET sabnstu_locked_ind = 'Y', sabnstu_login_attempts = sabnstu_login_attempts + 1, sabnstu_activity_date = SYSDATE WHERE sabnstu_aidm = aidm; gb_common.p_commit; p_setsecuritycookie (force_login => TRUE); p_disppinlocked; RETURN; ELSE CLOSE getsabnstuc; UPDATE sabnstu SET sabnstu_login_attempts = sabnstu_login_attempts + 1, sabnstu_activity_date = SYSDATE WHERE sabnstu_aidm = aidm; gb_common.p_commit; msg.mlevel := 1; msg.text := g$_nls.get ( 'BWSKALO1-0228', 'SQL', 'An error occurred. Please try again.' ) || HTF.br || '' || g$_nls.get ('BWSKALO1-0729', 'SQL', 'PIN') || '' || ' ' || g$_nls.get ('BWSKALO1-0732', 'SQL', 'verification failed.'); p_setsecuritycookie (force_login => TRUE); p_disploginnon; RETURN; END IF; END P_ProcPinVerifyExist; ------------------------------------------------------------------------------- The 'HTTP_REFERER' environmental field from this line: http_referer := OWA_UTIL.get_cgi_env ('HTTP_REFERER'); takes on the contents of the Destination URL field in the Channel Manager: