-
Notifications
You must be signed in to change notification settings - Fork 1
packages sess.apply_items
Jan Kvetina edited this page Sep 27, 2020
·
2 revisions
Repository spec: sess.apply_items
,
body: sess.apply_items
PROCEDURE apply_items (
in_items sessions.apex_locals%TYPE
);
Show code (23 lines)
PROCEDURE apply_items (
in_items sessions.apex_locals%TYPE
) AS
payload_item sessions.contexts%TYPE;
payload_name sessions.contexts%TYPE;
payload_value sessions.contexts%TYPE;
BEGIN
IF in_items IS NULL THEN
RETURN;
END IF;
--
$IF $$APEX_INSTALLED $THEN
FOR i IN 1 .. REGEXP_COUNT(in_items, '[' || sess.splitter_rows || ']') + 1 LOOP
payload_item := REGEXP_SUBSTR(in_items, '[^' || sess.splitter_rows || ']+', 1, i);
payload_name := RTRIM(SUBSTR(payload_item, 1, INSTR(payload_item, sess.splitter_values) - 1));
payload_value := SUBSTR(payload_item, INSTR(payload_item, sess.splitter_values) + 1);
--
IF payload_name IS NOT NULL AND payload_value IS NOT NULL THEN
APEX_UTIL.SET_SESSION_STATE(payload_name, payload_value);
END IF;
END LOOP;
$END
END;