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

Oracle Apex 如何发送带自定义工单跳转链接的邮件

Oracle Apex 邮件插入工单详情跳转链接实现方案

前置检查

  • 确认已创建工单详情页面,记录页面ID(例:第3页,ID为3)
  • 确认详情页存在用于接收工单ID的页面项,记录项名称(例:P3_WORK_ORDER_ID)

步骤1:调整页面项会话保护级别

Apex默认会拦截未授权的URL参数传递,需先调整目标页面项的安全配置:

  1. 进入应用「共享组件」→「安全性」→「会话状态保护」
  2. 找到详情页对应的工单ID接收项,将保护级别设置为无限制(测试阶段用,后续可根据安全需求调整为「受检查的URL级别」)

步骤2:用官方函数拼接合法跳转链接

不要手动拼接域名和路径,用Apex原生的APEX_UTIL.PREPARE_URL函数生成兼容当前实例的合法链接,避免环境迁移后链接失效。
你可以在发邮件的Process/Dynamic Action的PL/SQL代码块中直接使用如下逻辑:

DECLARE
    -- 变量替换为你实际的业务值
    l_work_order_id  NUMBER := :PXX_CUR_WORK_ORDER_ID; -- 当前待通知的工单ID,绑定页面项即可
    l_detail_page_id NUMBER := 3; -- 你的工单详情页ID
    l_jump_link      VARCHAR2(1000);
    l_email_content  VARCHAR2(2000);
BEGIN
    -- 生成带参数的有效跳转链接
    l_jump_link := APEX_UTIL.PREPARE_URL(
        p_url => 'f?p=' || :APP_ID || ':' || l_detail_page_id || ':' || :APP_SESSION || '::NO::P'||l_detail_page_id||'_WORK_ORDER_ID:' || l_work_order_id,
        p_checksum_type => 'PUBLIC' -- 仅登录用户可访问时改为'SESSION',安全性更高
    );

    -- 拼接邮件内容,发HTML格式邮件时链接可直接点击
    l_email_content := '新工单#' || l_work_order_id || '已分配至您的待办队列,请点击链接查看:<a href="' || l_jump_link || '">' || l_jump_link || '</a>';

    -- 此处插入你原有发邮件的逻辑,将l_email_content作为邮件内容传入即可
END;

步骤3:效果验证

  • 测试阶段可先将生成的l_jump_link输出到页面或调试日志,点击确认可正常跳转到对应工单详情、参数正确传递
  • 发邮件时需将邮件格式设置为HTML,否则链接无法直接点击,用户需手动复制到浏览器访问

可选优化

  • 开启应用友好URL配置,可生成更简洁的跳转链接,隐藏冗余参数
  • 安全要求高的场景将p_checksum_type改为SESSION,生成的链接仅当前登录用户在会话有效期内可访问,避免数据泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:15:03