我正在使用APEX 5.0开发应用程序
点击按钮时会触发电子邮件。很少有项目具有空值但仍然出现在电子邮件中,因为我已将它们链接起来。如何在从Oracle APEX触发电子邮件时隐藏具有NULL值的项目。谢谢
答案 0 :(得分:0)
根据您的要求使用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;