2017-04-20 13 views
0

ストアドプロシージャからsend_email機能にHTMLメッセージを送信しています。 HTMLコンテンツはテンプレートとしてテーブルに格納され、動的値はこのテーブルに渡されて表示されます。 これは、SMTPオープン接続を呼び出すストアドプロシージャから実行されます。HTML内に条件を追加する

これは、本体がストアドプロシージャ内でどのように形成されるかを示します。ステータス=「DUE_SEND」のpmail_txt内のHTMLコンテンツは、次のようになります

SELECT REGEXP_REPLACE(
       REGEXP_REPLACE(
       REGEXP_REPLACE(
       REGEXP_REPLACE(
       REGEXP_REPLACE( 
       REGEXP_REPLACE(body, '<DUE_DAYS> business days',v_past_due)         
            , '<COMPANY_ADDRESS>', p_email(indx).address||'<BR/>' 
                 ||p_email(indx).city||', ' 
                 ||p_email(indx).state||' ' 
                 ||p_email(indx).zip)         
            , '<TAX_PIN>', TO_CHAR(p_email(indx).tax_pin,'$9G999G999G990D00')) 
            , '<TAX_AMT>', TO_CHAR(p_email(indx).tax_amt,'$9G999G999G990D00')) 
            , '<TAX_AMT_PEN>', TO_CHAR(p_email(indx).tax_amt_pen,'$9G999G999G990D00')) 
            , '<DUE_DATE>' , due_date) 
      INTO v_body 
      FROM pmail_txt 
      WHERE status = 'DUE_SEND'; 

<TABLE BORDER="0" WIDTH="75%;"><TBODY> 
<TR><TD WIDTH="40%">Overall Due Days:</TD><TD WIDTH="60%"><v_past_due></TD></TR> 
<TR><TD WIDTH="40%">Company Address:</TD><TD WIDTH="60%"><COMPANY_ADDRESS></TD></TR> 
<TR><TD WIDTH="40%">Pin Number:</TD><TD WIDTH="60%"><TAX_PIN></TD></TR> 
<TR><TD WIDTH="40%">Amount Due:</TD><TD WIDTH="60%"><TAX_AMT></TD></TR><TR> 
<TD WIDTH="40%">Ex Amount Due:</TD><TD WIDTH="60%"><EIND_AMT></TD></TR> 
<TR><TD WIDTH="40%"><STRONG>Pendign Amount Due</STRONG>:</TD><TD WIDTH="60%"><STRONG><TAX_AMT_PEN></STRONG></TD></TR> 
<TR><TD WIDTH="40%"><STRONG>Due DATE</STRONG>:</TD><TD WIDTH ="60%"><STRONG><DUE_DATE></STRONG></TD></TR> 
</TBODY> 
</TABLE> 

私は条件は値がnullの場合にフィールドを表示しないようにHTMLに追加することにしたいですメール本文に

以下のコメントごとにコードを変更しました。私はそれが空のフィールドのためのヌルフィールドのために働く/メッセージのヌルボディは全く表示されません。誰かが私がどこに間違っていたか教えてくれますか

<style> 
.hidden_v_past_due { 
display:none; 
} 
</style> 
    <TABLE BORDER="0" WIDTH="75%;"><TBODY> 
    <TR class="hidden_v_past_due<v_past_due>"><TD WIDTH="40%">Overall Due Days:</TD><TD WIDTH="60%"><v_past_due></TD></TR> 
    <TR><TD WIDTH="40%">Company Address:</TD><TD WIDTH="60%"><COMPANY_ADDRESS></TD></TR> 
    <TR><TD WIDTH="40%">Pin Number:</TD><TD WIDTH="60%"><TAX_PIN></TD></TR> 
    <TR><TD WIDTH="40%">Amount Due:</TD><TD WIDTH="60%"><TAX_AMT></TD></TR><TR> 
    <TR><TD WIDTH="40%">Ex Amount Due:</TD><TD WIDTH="60%"><EIND_AMT></TD></TR> 
    <TR><TD WIDTH="40%"><STRONG>Pendign Amount Due</STRONG>:</TD><TD WIDTH="60%"><STRONG><TAX_AMT_PEN></STRONG></TD></TR> 
    <TR><TD WIDTH="40%"><STRONG>Due DATE</STRONG>:</TD><TD WIDTH ="60%"><STRONG><DUE_DATE></STRONG></TD></TR> 
    </TBODY> 
    </TABLE> 

はまた

<TABLE BORDER="0" WIDTH="75%;"><TBODY> 
<%if(v_past_due != null){%> 
<TR><TD WIDTH="40%">Overall Due Days:</TD><TD WIDTH="60%"><v_past_due></TD></TR><%}%> 
<TR><TD WIDTH="40%">Company Address:</TD><TD WIDTH="60%"><COMPANY_ADDRESS></TD></TR> 
<TR><TD WIDTH="40%">Pin Number:</TD><TD WIDTH="60%"><TAX_PIN></TD></TR> 
<TR><TD WIDTH="40%">Amount Due:</TD><TD WIDTH="60%"><TAX_AMT></TD></TR><TR> 
<TR><TD WIDTH="40%">Ex Amount Due:</TD><TD WIDTH="60%"><EIND_AMT></TD></TR> 
<TR><TD WIDTH="40%"><STRONG>Pendign Amount Due</STRONG>:</TD><TD WIDTH="60%"><STRONG><TAX_AMT_PEN></STRONG></TD></TR> 
<TR><TD WIDTH="40%"><STRONG>Due DATE</STRONG>:</TD><TD WIDTH ="60%"><STRONG><DUE_DATE></STRONG></TD></TR> 
</TBODY> 
</TABLE> 

!ヌル条件の

<%if(<v_past_due>){%>....///......<%}%> 
<%if(v_past_due != null){%>....///......<%}%> 

あまりにもオプションの下にこれらのすべての作業を試してみましたが、すべてがヌルのために失敗し、以下のようなスクリプトレットを試してみました。

答えて

1

対応するフィールド値がnullの場合など、クラス属性を要素に追加すると、結果のクラス名によって要素が非表示になります。例えば。

<style> 
.hidde_v_past_due { 
display:none; 
} 
</style> 
... 
<TR class="hidde_v_past_due<v_past_due>"><TD WIDTH="40%">Overall Due Days:</TD><TD WIDTH="60%"><v_past_due></TD></TR> 

このように、v_past_dueが空の場合、クラス名はスタイル内のクラス名と一致し、TRは表示されません。

+0

返信いただきありがとうございます。しかし、これらのスクリプトはどこに追加しますか? DBに?それは許されるだろうか?それでもヌル状態を確認する必要があります。 – JNPW

+0

テンプレートの一部としてHTMLコンテンツに含めます。値が空の場合、結果のHTMLはスタイルルールの影響を受けるため、null条件をチェックする必要はありません。この例を確認してくださいhttps://jsfiddle.net/tzyctfvj/ –

+0

特定のフィールドは表示されませんが、すべての条件で非表示になっているため、ヌル状態では機能しません。理解の助け JNPW

関連する問題