2009. 10. 15. 18:12

Procedure 사용방법

String ls_argument1, ls_argument2
Long  ll_rtn
String ls_errmsg

Declare proc_call_name PROCEDURE FOR procedure_name( :ls_argument1, :ls_argument2 ) '
Execute  proc_call_name ;

Fetch proc_call_name Into :ll_rtn, :ls_errmsg ;
IF sqlca.sqlcode <> 0 THEN
    MessageBox('Error', ls_errmsg ) ;
    close porc_call_name ;
    RETURN
END IF
...
...

close proc_call_name ;

하지만, PowerBilder10부터는 위와 같이 사용하면, Fetch시 Return 값을 가져오지 못합니다.
이때.. 아래와 같이.. 약간만 수정을 한다면,

String ls_argument1, ls_argument2
Long  ll_rtn
String ls_errmsg

ls_errmsg = space(200)

Declare proc_call_name PROCEDURE FOR procedure_name( :ls_argument1, :ls_argument2 ) '
Execute  proc_call_name ;

Fetch proc_call_name Into :ll_rtn, :ls_errmsg ;
IF sqlca.sqlcode <> 0 THEN
    MessageBox('Error', ls_errmsg ) ;
    close porc_call_name ;
    RETURN
END IF
...
...

close proc_call_name ;

Posted by 옹니미