Simplify processing (no context, based on name, no ROWID)
This commit is contained in:
parent
2103fda90f
commit
6333047257
@ -154,15 +154,15 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
|||||||
-- Store/update settings
|
-- Store/update settings
|
||||||
--
|
--
|
||||||
PROCEDURE set_setting (
|
PROCEDURE set_setting (
|
||||||
in_action CHAR,
|
in_action CHAR,
|
||||||
in_out_rowid IN OUT NOCOPY VARCHAR2,
|
in_setting_name_old settings.setting_name%TYPE,
|
||||||
in_name settings.setting_name%TYPE,
|
in_setting_name settings.setting_name%TYPE,
|
||||||
in_context settings.setting_context%TYPE := NULL,
|
in_setting_group settings.setting_group%TYPE := NULL,
|
||||||
in_group settings.setting_group%TYPE := NULL,
|
in_setting_value settings.setting_value%TYPE := NULL,
|
||||||
in_value settings.setting_value%TYPE := NULL,
|
in_is_numeric settings.is_numeric%TYPE := NULL,
|
||||||
in_description settings.description_%TYPE := NULL,
|
in_is_date settings.is_date%TYPE := NULL,
|
||||||
in_is_numeric settings.is_numeric%TYPE := NULL,
|
in_description settings.description_%TYPE := NULL
|
||||||
in_is_date settings.is_date%TYPE := NULL
|
);
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
|||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
--
|
-- Prepare pivot for Settings page
|
||||||
--
|
--
|
||||||
PROCEDURE prep_settings_pivot (
|
PROCEDURE prep_settings_pivot (
|
||||||
in_page_id apex_application_pages.page_id%TYPE
|
in_page_id apex_application_pages.page_id%TYPE
|
||||||
|
|||||||
@ -370,37 +370,36 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
|||||||
|
|
||||||
|
|
||||||
PROCEDURE set_setting (
|
PROCEDURE set_setting (
|
||||||
in_action CHAR,
|
in_action CHAR,
|
||||||
in_out_rowid IN OUT NOCOPY VARCHAR2,
|
in_setting_name_old settings.setting_name%TYPE,
|
||||||
in_name settings.setting_name%TYPE,
|
in_setting_name settings.setting_name%TYPE,
|
||||||
in_context settings.setting_context%TYPE := NULL,
|
in_setting_group settings.setting_group%TYPE := NULL,
|
||||||
in_group settings.setting_group%TYPE := NULL,
|
in_setting_value settings.setting_value%TYPE := NULL,
|
||||||
in_value settings.setting_value%TYPE := NULL,
|
in_is_numeric settings.is_numeric%TYPE := NULL,
|
||||||
in_description settings.description_%TYPE := NULL,
|
in_is_date settings.is_date%TYPE := NULL,
|
||||||
in_is_numeric settings.is_numeric%TYPE := NULL,
|
in_description settings.description_%TYPE := NULL
|
||||||
in_is_date settings.is_date%TYPE := NULL
|
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
rec settings%ROWTYPE;
|
rec settings%ROWTYPE;
|
||||||
BEGIN
|
BEGIN
|
||||||
app.log_module(app.get_json_object(
|
app.log_module(in_args => app.get_json_object(
|
||||||
'in_action', in_action,
|
'in_action', in_action,
|
||||||
'in_rowid', in_out_rowid,
|
'in_name_old', in_setting_name_old,
|
||||||
'in_name', in_name,
|
'in_name', in_setting_name,
|
||||||
'in_context', in_context,
|
'in_value', in_setting_value,
|
||||||
'in_value', in_value,
|
'in_group', in_setting_group,
|
||||||
'in_is_numeric', in_is_numeric,
|
'in_is_numeric', in_is_numeric,
|
||||||
'in_is_date', in_is_date
|
'in_is_date', in_is_date
|
||||||
));
|
));
|
||||||
--
|
--
|
||||||
rec.app_id := app.get_app_id();
|
rec.app_id := app.get_app_id();
|
||||||
rec.setting_name := RTRIM(RTRIM(UPPER(in_name)));
|
rec.setting_name := UPPER(in_setting_name);
|
||||||
rec.setting_context := RTRIM(RTRIM(in_context));
|
rec.setting_value := in_setting_value;
|
||||||
rec.setting_group := in_group;
|
rec.setting_context := NULL;
|
||||||
rec.setting_value := in_value;
|
rec.setting_group := in_setting_group;
|
||||||
rec.description_ := in_description;
|
|
||||||
rec.is_numeric := in_is_numeric;
|
rec.is_numeric := in_is_numeric;
|
||||||
rec.is_date := in_is_date;
|
rec.is_date := in_is_date;
|
||||||
|
rec.description_ := in_description;
|
||||||
rec.updated_by := app.get_user_id();
|
rec.updated_by := app.get_user_id();
|
||||||
rec.updated_at := SYSDATE;
|
rec.updated_at := SYSDATE;
|
||||||
--
|
--
|
||||||
@ -408,22 +407,27 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
|||||||
WHEN 'D' THEN
|
WHEN 'D' THEN
|
||||||
DELETE FROM settings s
|
DELETE FROM settings s
|
||||||
WHERE s.app_id = rec.app_id
|
WHERE s.app_id = rec.app_id
|
||||||
AND ROWID = in_out_rowid;
|
AND s.setting_name = in_setting_name_old;
|
||||||
--
|
--
|
||||||
WHEN 'U' THEN
|
WHEN 'U' THEN
|
||||||
UPDATE settings s
|
UPDATE settings s
|
||||||
SET ROW = rec
|
SET ROW = rec
|
||||||
WHERE s.app_id = rec.app_id
|
WHERE s.app_id = rec.app_id
|
||||||
AND ROWID = in_out_rowid;
|
AND s.setting_name = in_setting_name_old
|
||||||
|
AND s.setting_context IS NULL;
|
||||||
--
|
--
|
||||||
IF SQL%ROWCOUNT = 0 THEN
|
IF SQL%ROWCOUNT = 0 THEN
|
||||||
app.raise_error('SETTINGS_UPDATE_FAILED');
|
app.raise_error('SETTINGS_UPDATE_FAILED');
|
||||||
END IF;
|
END IF;
|
||||||
|
--
|
||||||
|
UPDATE settings s
|
||||||
|
SET s.setting_name = rec.setting_name
|
||||||
|
WHERE s.app_id = rec.app_id
|
||||||
|
AND s.setting_name = in_setting_name_old;
|
||||||
--
|
--
|
||||||
ELSE
|
ELSE
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO settings VALUES rec
|
INSERT INTO settings VALUES rec;
|
||||||
RETURNING ROWID INTO in_out_rowid;
|
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN DUP_VAL_ON_INDEX THEN
|
WHEN DUP_VAL_ON_INDEX THEN
|
||||||
app.raise_error('SETTINGS_EXISTS');
|
app.raise_error('SETTINGS_EXISTS');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user