You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX中结合授权方案与业务条件控制按钮显示

Oracle APEX:结合授权方案与业务条件控制按钮显隐

要实现页面加载时同时验证用户权限和业务条件来控制按钮显隐,按以下步骤操作:

1. 编写合并验证逻辑的PL/SQL代码

修改原有代码,加入对授权方案BFL_SUPER_USER_PREPROD的验证,只有当用户拥有该权限且业务条件满足时,才返回TRUE:

DECLARE
    l_complete_ind VARCHAR2(1);
BEGIN
    -- 查询业务条件
    SELECT COMPLETE_IND
    INTO l_complete_ind
    FROM BFL_CONTAINER_HEADER_V24
    WHERE CONTAINER_ID = :P322_CONTID;

    -- 同时验证授权方案和业务条件
    IF l_complete_ind = 'Y' 
       AND APEX_AUTHORIZATION.IS_AUTHORIZED('BFL_SUPER_USER_PREPROD') THEN
        RETURN TRUE;  -- 满足所有条件,显示按钮
    ELSE
        RETURN FALSE; -- 任一条件不满足,隐藏按钮
    END IF;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        RETURN FALSE; -- 无匹配记录时隐藏按钮
END;

代码说明:

  • APEX_AUTHORIZATION.IS_AUTHORIZED('授权方案名称'):Oracle APEX内置函数,用于检查当前登录用户是否符合指定授权方案的要求,返回布尔值
  • 两个条件需同时成立(逻辑AND)才会返回TRUE,确保只有授权用户且业务状态符合时才显示按钮

2. 配置页面加载动态动作

  1. 进入目标页面的动态动作页面,点击「创建」
  2. 触发时机选择「页面加载」
  3. 动作类型选择「执行PL/SQL代码」,将上述代码粘贴到代码区域
  4. 勾选「返回值」,并设置返回类型为「布尔值」
  5. 添加两个分支动作:
    • 分支1:条件设为「返回值 = TRUE」,动作类型选择「显示」,目标选择需要控制的按钮
    • 分支2:条件设为「返回值 = FALSE」,动作类型选择「隐藏」,目标选择同一个按钮

这样页面加载时就会自动执行验证逻辑,根据结果控制按钮的显示状态。

内容的提问来源于stack exchange,提问作者abi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:30:00