从 Oracle APEX 触发电子邮件时隐藏具有 NULL 值的项目
Hide the item with NULL value while triggering Email from Oracle APEX
我正在使用 APEX 5.0 开发应用程序
当我们点击一个按钮时会触发一封电子邮件。很少有项目具有空值,但仍然出现在电子邮件中,因为我已经链接了它们。如何在触发来自 Oracle APEX 的电子邮件时隐藏具有 NULL 值的项目。谢谢
根据您的要求使用 PLSQL 格式化电子邮件正文文本,然后将其设置为页面项目,然后可以使用替换字符串在电子邮件流程中引用。
根据您的评论,看起来您正在使用 PL/SQL 代码 流程类型而不是 发送电子邮件 流程输入您的提交流程。
假设您有 3 个可能具有 NULL 值的页面项目。按照以下方式修改您的代码以在正文中显示具有值的项目。
DECLARE
L_BODY VARCHAR2(32767);
L_FOOTER VARCHAR2(32767);
FUNCTION FORMAT_TEXT(
P_INPUT IN VARCHAR2,
P_TEMPLATE IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
IF P_INPUT IS NOT NULL THEN
RETURN P_TEMPLATE;
ELSE
RETURN NULL;
END IF;
END FORMAT_TEXT;
BEGIN
L_BODY := '<html> Here I give the HTML Code For Example <p>';
L_BODY := L_BODY || FORMAT_TEXT(:P1_ITEM, 'My Text 1: ' || :P1_ITEM || '<br>');
L_BODY := L_BODY || FORMAT_TEXT(:P2_ITEM, 'My Text 2: ' || :P2_ITEM || '<br>');
L_BODY := L_BODY || FORMAT_TEXT(:P3_ITEM, 'My Text 3: ' || :P3_ITEM || '<br>');
L_BODY := L_BODY || '</p> </html>';
L_FOOTER := '</br></br> Go to Link <a href="URL">link</a>';
APEX_MAIL.SEND(P_TO => '' || :P1_ITEM || ',' || 'abc@abc.com', P_FROM => 'abc.abc@abc.com', P_BODY => L_BODY || L_FOOTER, P_BODY_HTML=> L_BODY || L_FOOTER, P_SUBJ => 'Text ' || :P1_ITEM || ' ] ');
END;
我正在使用 APEX 5.0 开发应用程序
当我们点击一个按钮时会触发一封电子邮件。很少有项目具有空值,但仍然出现在电子邮件中,因为我已经链接了它们。如何在触发来自 Oracle APEX 的电子邮件时隐藏具有 NULL 值的项目。谢谢
根据您的要求使用 PLSQL 格式化电子邮件正文文本,然后将其设置为页面项目,然后可以使用替换字符串在电子邮件流程中引用。
根据您的评论,看起来您正在使用 PL/SQL 代码 流程类型而不是 发送电子邮件 流程输入您的提交流程。
假设您有 3 个可能具有 NULL 值的页面项目。按照以下方式修改您的代码以在正文中显示具有值的项目。
DECLARE
L_BODY VARCHAR2(32767);
L_FOOTER VARCHAR2(32767);
FUNCTION FORMAT_TEXT(
P_INPUT IN VARCHAR2,
P_TEMPLATE IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
IF P_INPUT IS NOT NULL THEN
RETURN P_TEMPLATE;
ELSE
RETURN NULL;
END IF;
END FORMAT_TEXT;
BEGIN
L_BODY := '<html> Here I give the HTML Code For Example <p>';
L_BODY := L_BODY || FORMAT_TEXT(:P1_ITEM, 'My Text 1: ' || :P1_ITEM || '<br>');
L_BODY := L_BODY || FORMAT_TEXT(:P2_ITEM, 'My Text 2: ' || :P2_ITEM || '<br>');
L_BODY := L_BODY || FORMAT_TEXT(:P3_ITEM, 'My Text 3: ' || :P3_ITEM || '<br>');
L_BODY := L_BODY || '</p> </html>';
L_FOOTER := '</br></br> Go to Link <a href="URL">link</a>';
APEX_MAIL.SEND(P_TO => '' || :P1_ITEM || ',' || 'abc@abc.com', P_FROM => 'abc.abc@abc.com', P_BODY => L_BODY || L_FOOTER, P_BODY_HTML=> L_BODY || L_FOOTER, P_SUBJ => 'Text ' || :P1_ITEM || ' ] ');
END;