PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
22792 06/09/26 11:14:44 RE(2):PB7.0: ストアドからのメッセージをPB側で受けて出力したい By ichiko
22791 06/09/25 19:55:56 RE(1):PB7.0: ストアドからのメッセージをPB側で受けて出力したい By 梶
22790 06/09/25 18:32:06 PB7.0: ストアドからのメッセージをPB側で受けて出力したい By ichiko

カテゴリ:スクリプトの記述
日付:2006年09月25日 18:32 発信者:ichiko
題名:PB7.0: ストアドからのメッセージをPB側で受けて出力したい

こんばんは。キーワード「ストアド」や「OUT」で検索し、
1日過去ログ読みまくりましたが、どれもしっくりこず、
こんがらがるばかりで、ギブアップしました。
やりたいことは、PB側Functionにてストアドを実行し、
ストアド内で値を判断して、メッセージをユーザーに出力したいのです。
エラーではなく、メッセージです。

PB側オブジェクトFunction
[f_sp_test]  int  result
             string get_message
    DECLARE cur_sp PROCEDURE FOR sp_test
            @区分       = :para_kubun,
            @部署コード  = :para_hokan,
            @No         = :para_no,
   @result     = :result OUTPUT,
   @message    = :get_message OUTPUT
            ;
    EXECUTE cur_sp  ;

    IF sqlca.sqlcode = -1 THEN
MessageBox(\"sp_test error\",sqlca.sqlerrtext,StopSign!)
ROLLBACK ;
return FALSE
     ELSE
          Fetch cur_sp 
  Into :get_message;
          close cur_sp;
messagebox(\"sp_test\",get_message)
    END IF
-------------------------------------------------------------------
ストアドプロシジャ 
[sp_test]
CREATE PROCEDURE sp_test
    @区分            int
   ,@部署コード      char(6)
   ,@No             CODE
   ,@result          int=0        output
   ,@message         varchar(255) output
AS
begin
    declare @依頼区分 int

     select  @依頼区分  =  区分1
      from  部署マスタ
     where  部署コード   =  @部署コード
    if  @依頼区分  <>  2        
    begin
         select @result = 1
                ,@message = \'部署コード\' + @部署コード + \'は処理対象外です\'
        return
    end
一応こんな感じで試してはみたのですが、
PBデバックにて、どちらの変数にも値は入りませんでした。
本来ならば、SQLの掲示板に行くべきかもしれませんが、
PBとストアドの受け渡し方で約束事などあれば、教えてください。
よろしくお願いします。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Microsoft SQL Server Client 7.0
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Microsoft SQL Server 7.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.