Skip to content

packages sess.apply_items

Jan Kvetina edited this page Sep 27, 2020 · 2 revisions

sess.apply_items

Repository spec: sess.apply_items, body: sess.apply_items


Signature

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;

Clone this wiki locally