MQSEND

MQSEND 関数は、指定の MQSeries® ロケーションにメッセージを送信します。

構文図を読む構文図をスキップする
>>-MQSEND--(--+----------------------------------------+--msg-data--+------------------+--)-><
              '-send-service--,--+-------------------+-'            |              (1) |      
                                 '-service-policy--,-'              '-,--correl-id-----'      

注:
  1. correl-id は、send-service および service-policy も指定されていない場合、指定できません。
MQSEND 関数は msg-data に入っているメッセージ・データを、service-policy で定義されたサービス品質ポリシーを使って、send-service で指定された MQSeries ロケーションに送信します。メッセージは、MQSeries 組み込みフォーマット MQFMT_STRING を使用して送信されます。
send-service
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の値は、空ストリング、または末尾ブランクを含むストリングであってはなりません。 式の実際の長さは、48 バイトを超えてはなりません。 この式の値は、SYSIBM.MQSERVICE 表に定義されたサービス・ポイントを参照している必要があります。 サービス・ポイントは、メッセージの送信元または受信相手側の論理エンドポイントです。 サービス・ポイントの定義には、MQSeries キュー・マネージャーの名前およびキューの名前が含まれます。 MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

send-service が指定されていないか NULL 値である場合、DB2®.DEFAULT.SERVICE が使用されます。

service-policy
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の値は、空ストリング、または末尾ブランクを含むストリングであってはなりません。 式の実際の長さは、48 バイトを超えてはなりません。 この式の値は、SYSIBM.MQPOLICY 表に定義されたサービス・ポリシーを参照している必要があります。 サービス・ポリシーは、このメッセージ処理に適用されるサービス品質オプションのセットを指定します。 これらのオプションには、メッセージ優先順位やメッセージ持続性などがあります。MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

service-policy が指定されていないか NULL 値である場合、DB2.DEFAULT.POLICY が使用されます。

msg-data
組み込み文字ストリング・データ・タイプの値を戻す式。 式が CLOB の場合、値の長さは 2 MB を超えてはなりません。式が CLOB でない場合、値の長さは 32000 バイトを超えてはなりません。式の値は、MQSeries を介して送られるメッセージ・データです。NULL 値、空ストリング、および末尾ブランクを含む固定長ストリングはすべて有効 な値と見なされます。
correl-id
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の実際の長さは、24 バイトを超えてはなりません。 式の値は、このメッセージに関連付けられている相関 ID を指定します。 相関 ID は、しばしば、要求を応答に関連付けるために「要求と応答」シナリオで指定されます。 MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

末尾ブランクを含む固定長ストリングは、有効な値として扱われます。ただし、correl-id を MQRECEIVE など他の要求で指定する場合、一致していると認識されるためには、同じ correl-id を指定する必要があります。例えば、MQSEND の correl-id に「test」という値を指定し、後続の MQRECEIVE 要求時に correl-id 値に「test」(末尾ブランクがある) を指定しても一致しません。

correl-id が、指定されていない、空ストリングである、または NULL 値である場合、相関 ID は送信されません。

この関数の結果は、長さ属性 1 の可変長ストリングです。NULL 値が 戻されることはありませんが、結果はNULL 可能です。 結果は、関数が正常に実行された場合は「1」、関数が正常に実行されなかった場合は「0」です。

結果の CCSID は、現行サーバーのデフォルトの SBCS CCSID になります。

前提条件: MQSeries の機能を使用するためには、IBM® MQSeries for IBM i がインストールおよび構成され、作動可能である必要があります。

  • この例は、デフォルト・ポリシー (DB2.DEFAULT.POLICY) を使って、相関 ID は使わずにストリング「Testing 123」をデフォルト・サービス (DB2.DEFAULT.SERVICE) に送信します。
      SELECT MQSEND ('Testing 123')
       FROM SYSIBM.SYSDUMMY1
        
  • この例は、ポリシー「MYPOLICY」を使って、相関 ID は使わずにストリング「Testing 345」をサービス「MYSERVICE」に送信します。
       SELECT MQSEND ('MYSERVICE','MYPOLICY','Testing 345')
        FROM SYSIBM.SYSDUMMY1
         
  • この例は、ポリシー「MYPOLICY」および相関 ID「TEST3」を使って、ストリング「Testing 678」をサービス「MYSERVICE」に送信します。
       SELECT MQSEND ('MYSERVICE','MYPOLICY','Testing 678','TEST3')
        FROM SYSIBM.SYSDUMMY1
         
  • この例は、デフォルト・ポリシー (DB2.DEFAULT.POLICY) を使って、相関 ID は使わずにストリング「Testing 901」をサービス「MYSERVICE」に送信します。
       SELECT MQSEND ('MYSERVICE','Testing 901')
        FROM SYSIBM.SYSDUMMY1